From 738834be9448a05f7d83ddaedb566612429293d5 Mon Sep 17 00:00:00 2001 From: Duc Date: Thu, 13 Mar 2025 18:24:10 -0700 Subject: [PATCH] Initial check-in --- .gitattributes | 63 + .gitignore | 377 +- .../All_Purpose_Auto_Setup.csproj | 211 + .../All_Purpose_Auto_Setup.sln | 31 + AllPurposeAutoSetup/App.config | 24 + AllPurposeAutoSetup/Common.cs | 339 ++ AllPurposeAutoSetup/ConfigFileManager.cs | 502 +++ AllPurposeAutoSetup/DLL/CommonLib.dll | Bin 0 -> 115712 bytes ...tomated Windows Installer (AWI) - SDD.pptx | Bin 0 -> 687825 bytes .../DotNet2Pt0FrameworkManager.cs | 285 ++ .../FileFolderRemovalManager.cs | 350 ++ .../FilePackageTransferManager.cs | 1945 ++++++++ AllPurposeAutoSetup/FoldersManager.cs | 501 +++ AllPurposeAutoSetup/GutsConfigFileManager.cs | 448 ++ .../GutsSoftwareBuildAssistant.cs | 698 +++ .../Examples/Config_Files/config_MK698.ini | 663 +++ .../Examples/Config_Files/config_NGI.ini | 452 ++ .../Config_Files/config_control_pc.ini | 599 +++ .../Examples/Config_Files/config_dev_pc.ini | 596 +++ .../Config_Files/config_engineering.ini | 636 +++ .../XML/Control_PC_Software_Package.xml | 110 + .../XML/Control_PC_Support_Package.xml | 134 + .../Examples/XML/Dev_PC_Software_Package.xml | 111 + .../Examples/XML/Dev_PC_Support_package.xml | 119 + .../XML/Engineering_PC_Software_Package.xml | 110 + .../XML/Engineering_PC_Support_Package.xml | 118 + .../Examples/XML/NGI_CTS_File_Package.xml | 116 + .../Examples/XML/PackagesFromCD.xml | 13 + AllPurposeAutoSetup/NetworkAdapterManager.cs | 746 ++++ AllPurposeAutoSetup/Program.cs | 22 + .../Properties/AssemblyInfo.cs | 36 + .../Properties/Resources.Designer.cs | 73 + AllPurposeAutoSetup/Properties/Resources.resx | 124 + .../Properties/Settings.Designer.cs | 62 + .../Properties/Settings.settings | 15 + AllPurposeAutoSetup/Resources/sm3missile.jpg | Bin 0 -> 44160 bytes AllPurposeAutoSetup/RunApplicationsManager.cs | 911 ++++ AllPurposeAutoSetup/SetupMiscellaneous.cs | 453 ++ AllPurposeAutoSetup/SoftwareInstallManager.cs | 1513 +++++++ AllPurposeAutoSetup/WindowFeaturesManager.cs | 555 +++ AllPurposeAutoSetup/WindowsRegistryManager.cs | 604 +++ AllPurposeAutoSetup/WindowsShortcutManager.cs | 331 ++ AllPurposeAutoSetup/app.manifest | 53 + AllPurposeAutoSetup/frmAbout.Designer.cs | 117 + AllPurposeAutoSetup/frmAbout.cs | 38 + AllPurposeAutoSetup/frmAbout.resx | 3895 ++++++++++++++++ AllPurposeAutoSetup/frmMain.Designer.cs | 170 + AllPurposeAutoSetup/frmMain.cs | 395 ++ AllPurposeAutoSetup/frmMain.resx | 3898 +++++++++++++++++ .../frmSetupStatusDisplay.Designer.cs | 81 + AllPurposeAutoSetup/frmSetupStatusDisplay.cs | 753 ++++ .../frmSetupStatusDisplay.resx | 3895 ++++++++++++++++ AllPurposeAutoSetup/frmUserInput.Designer.cs | 88 + AllPurposeAutoSetup/frmUserInput.cs | 65 + AllPurposeAutoSetup/frmUserInput.resx | 120 + AllPurposeAutoSetup/packages.config | 4 + AllPurposeAutoSetup/sm3_setup.ico | Bin 0 -> 226172 bytes 57 files changed, 28548 insertions(+), 20 deletions(-) create mode 100644 .gitattributes create mode 100644 AllPurposeAutoSetup/All_Purpose_Auto_Setup.csproj create mode 100644 AllPurposeAutoSetup/All_Purpose_Auto_Setup.sln create mode 100644 AllPurposeAutoSetup/App.config create mode 100644 AllPurposeAutoSetup/Common.cs create mode 100644 AllPurposeAutoSetup/ConfigFileManager.cs create mode 100644 AllPurposeAutoSetup/DLL/CommonLib.dll create mode 100644 AllPurposeAutoSetup/Docs/Automated Windows Installer (AWI) - SDD.pptx create mode 100644 AllPurposeAutoSetup/DotNet2Pt0FrameworkManager.cs create mode 100644 AllPurposeAutoSetup/FileFolderRemovalManager.cs create mode 100644 AllPurposeAutoSetup/FilePackageTransferManager.cs create mode 100644 AllPurposeAutoSetup/FoldersManager.cs create mode 100644 AllPurposeAutoSetup/GutsConfigFileManager.cs create mode 100644 AllPurposeAutoSetup/GutsSoftwareBuildAssistant.cs create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_MK698.ini create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_NGI.ini create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_control_pc.ini create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_dev_pc.ini create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_engineering.ini create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Software_Package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Support_Package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Software_Package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Support_package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Software_Package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Support_Package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/NGI_CTS_File_Package.xml create mode 100644 AllPurposeAutoSetup/Important_Files/Examples/XML/PackagesFromCD.xml create mode 100644 AllPurposeAutoSetup/NetworkAdapterManager.cs create mode 100644 AllPurposeAutoSetup/Program.cs create mode 100644 AllPurposeAutoSetup/Properties/AssemblyInfo.cs create mode 100644 AllPurposeAutoSetup/Properties/Resources.Designer.cs create mode 100644 AllPurposeAutoSetup/Properties/Resources.resx create mode 100644 AllPurposeAutoSetup/Properties/Settings.Designer.cs create mode 100644 AllPurposeAutoSetup/Properties/Settings.settings create mode 100644 AllPurposeAutoSetup/Resources/sm3missile.jpg create mode 100644 AllPurposeAutoSetup/RunApplicationsManager.cs create mode 100644 AllPurposeAutoSetup/SetupMiscellaneous.cs create mode 100644 AllPurposeAutoSetup/SoftwareInstallManager.cs create mode 100644 AllPurposeAutoSetup/WindowFeaturesManager.cs create mode 100644 AllPurposeAutoSetup/WindowsRegistryManager.cs create mode 100644 AllPurposeAutoSetup/WindowsShortcutManager.cs create mode 100644 AllPurposeAutoSetup/app.manifest create mode 100644 AllPurposeAutoSetup/frmAbout.Designer.cs create mode 100644 AllPurposeAutoSetup/frmAbout.cs create mode 100644 AllPurposeAutoSetup/frmAbout.resx create mode 100644 AllPurposeAutoSetup/frmMain.Designer.cs create mode 100644 AllPurposeAutoSetup/frmMain.cs create mode 100644 AllPurposeAutoSetup/frmMain.resx create mode 100644 AllPurposeAutoSetup/frmSetupStatusDisplay.Designer.cs create mode 100644 AllPurposeAutoSetup/frmSetupStatusDisplay.cs create mode 100644 AllPurposeAutoSetup/frmSetupStatusDisplay.resx create mode 100644 AllPurposeAutoSetup/frmUserInput.Designer.cs create mode 100644 AllPurposeAutoSetup/frmUserInput.cs create mode 100644 AllPurposeAutoSetup/frmUserInput.resx create mode 100644 AllPurposeAutoSetup/packages.config create mode 100644 AllPurposeAutoSetup/sm3_setup.ico diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore index 7f91721..9491a2f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,363 @@ -# ---> Windows -# Windows thumbnail cache files -Thumbs.db -Thumbs.db:encryptable -ehthumbs.db -ehthumbs_vista.db +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore -# Dump file -*.stackdump +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates -# Folder config file -[Dd]esktop.ini +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs -# Recycle Bin used on file shares -$RECYCLE.BIN/ +# Mono auto generated files +mono_crash.* -# Windows Installer files -*.cab -*.msi -*.msix -*.msm -*.msp +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Oo]ut/ +[Ll]og/ +[Ll]ogs/ -# Windows shortcuts -*.lnk +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd \ No newline at end of file diff --git a/AllPurposeAutoSetup/All_Purpose_Auto_Setup.csproj b/AllPurposeAutoSetup/All_Purpose_Auto_Setup.csproj new file mode 100644 index 0000000..a47d656 --- /dev/null +++ b/AllPurposeAutoSetup/All_Purpose_Auto_Setup.csproj @@ -0,0 +1,211 @@ + + + + + Debug + AnyCPU + {8EFC377F-70B4-468B-BF30-B637C5857AA7} + WinExe + Properties + All_Purpose_Auto_Setup + All_Purpose_Auto_Setup + v4.7.2 + 512 + false + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + true + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + sm3_setup.ico + + + app.manifest + + + true + bin\x64\Debug\ + DEBUG;TRACE + full + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + bin\x64\Release\ + TRACE + true + pdbonly + x64 + prompt + MinimumRecommendedRules.ruleset + true + + + + DLL\CommonLib.dll + + + packages\TaskScheduler.2.5.28\lib\net40\JetBrains.Annotations.dll + + + packages\TaskScheduler.2.5.28\lib\net40\Microsoft.Win32.TaskScheduler.dll + TaskSchedulerAlias + + + + + + + + + + + + + + + + + + + + Form + + + frmAbout.cs + + + Form + + + frmMain.cs + + + Form + + + frmSetupStatusDisplay.cs + + + + Form + + + frmUserInput.cs + + + + + + + + + + + + + + + frmAbout.cs + Designer + + + frmMain.cs + Designer + + + frmSetupStatusDisplay.cs + + + frmUserInput.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + False + Microsoft .NET Framework 4.5 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/All_Purpose_Auto_Setup.sln b/AllPurposeAutoSetup/All_Purpose_Auto_Setup.sln new file mode 100644 index 0000000..c508992 --- /dev/null +++ b/AllPurposeAutoSetup/All_Purpose_Auto_Setup.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34408.163 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "All_Purpose_Auto_Setup", "All_Purpose_Auto_Setup.csproj", "{8EFC377F-70B4-468B-BF30-B637C5857AA7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Debug|x64.ActiveCfg = Debug|x64 + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Debug|x64.Build.0 = Debug|x64 + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Release|Any CPU.Build.0 = Release|Any CPU + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Release|x64.ActiveCfg = Release|x64 + {8EFC377F-70B4-468B-BF30-B637C5857AA7}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D478406A-C7B7-40FA-9C5B-9CD4D5AB67F1} + EndGlobalSection +EndGlobal diff --git a/AllPurposeAutoSetup/App.config b/AllPurposeAutoSetup/App.config new file mode 100644 index 0000000..f7c13d4 --- /dev/null +++ b/AllPurposeAutoSetup/App.config @@ -0,0 +1,24 @@ + + + + +
+ + + + + + + + + + + + False + + + -1 + + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Common.cs b/AllPurposeAutoSetup/Common.cs new file mode 100644 index 0000000..9ea1669 --- /dev/null +++ b/AllPurposeAutoSetup/Common.cs @@ -0,0 +1,339 @@ +// this alias is used for Microsoft.Win32.TaskScheduler.dll because +// this dll defines the same type in the same namespace as the one defined in +// mscorlib.dll, mainly namespace of System.Collection.Generic, and types: IReadOnlyList, IReadOnlyCollection. +// By using this alias this the TaskScheduler dll, we avoid the +// warning of conflict of the same type in the same namespace being defined in +// more than one assemblies. +extern alias TaskSchedulerAlias; + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; +using System.Windows.Forms; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; + +namespace All_Purpose_Auto_Setup +{ + class Common + { + delegate string GetWindowPathDelegate(); + + static Dictionary getWindowPathDel = new Dictionary(StringComparer.OrdinalIgnoreCase) + { { PathManip.enumWindowsDesignatedPaths.USER_DESKTOP.ToString(), PathManip.GetUserDesktopPath}, + { PathManip.enumWindowsDesignatedPaths.USER_PROFILE.ToString(), PathManip.GetUserProfilePath}, + { PathManip.enumWindowsDesignatedPaths.ALL_USER_DESKTOP.ToString(), PathManip.GetAllUserDesktopPath}, + { PathManip.enumWindowsDesignatedPaths.USER_STARTUP_FOLDER.ToString(), PathManip.GetUserStartupFolderPath}, + { PathManip.enumWindowsDesignatedPaths.ALL_USER_STARTUP_FOLDER.ToString(), PathManip.GetAllUserStartupFolderPath}, + { PathManip.enumWindowsDesignatedPaths.USER_TEMP_FOLDER.ToString(), PathManip.GetUserTempPath} + }; + + public enum enum_SETUP_STEPS + { + NOT_VALID_STEP, // for initialization purposes + INSTALL_SOFTWARE_PACKAGES, + ENABLE_INTERNET_INFORMATION_SERVICES, + CREATE_DIRECTORIES, + CREATE_NETWORK_SHARES, + SET_ENVIRONMENT_VARIABLES, + SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS, + PROCESS_GUTS_CONFIG_FILE, + CREATE_WINDOWS_SHORTCUTS, + ASSIST_BUILDING_GUTS_APP, + TRANSFER_FILE_PACKAGES, + REMOVE_FILES_FOLDERS, + RUN_APPLICATIONS, + MODIFY_WINDOWS_REGISTRY, + CONFIGURE_NETWORK_ADAPTERS, + PROMPT_USER + } + + public enum EXECUTION_STATUS + { + SUCCESS, + FAILURE, + SYSTEM_SKIP, + USER_SKIP // user decides to skip execution, in which cas, the action is neither successful or failed + } + + public static bool pathContainsMacro(string path) + { + bool pathHasMacro = false; + + foreach (PathManip.enumWindowsDesignatedPaths winPath in Enum.GetValues(typeof(PathManip.enumWindowsDesignatedPaths))) + { + string pattern = @"^\{" + winPath.ToString() + @"\}.*"; + + if (Regex.IsMatch(path, pattern, RegexOptions.IgnoreCase)) + { + pathHasMacro = true; + break; + } + } + + return pathHasMacro; + } + + public static bool pathContainsCdDriveMacro(string path) + { + bool pathHasCdMacro = false; + + Match regExMatch = Regex.Match(path, @"^\{([^\{\}]+)\}.*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + if (String.Equals(regExMatch.Groups[1].Value, PathManip.enumWindowsDesignatedPaths.CD_DRIVE.ToString(), StringComparison.OrdinalIgnoreCase)) + pathHasCdMacro = true; + } + + return pathHasCdMacro; + } + + public static string resolveMacroPath(string path) + { + string resolvedPath = path; + Match regExMatch; + + regExMatch = Regex.Match(path, @"^\{([^\{\}]+)\}.*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + if (getWindowPathDel.ContainsKey(regExMatch.Groups[1].Value)) + { + resolvedPath = Regex.Replace(path, @"\{([^\{\}]+)\}", getWindowPathDel[regExMatch.Groups[1].Value].Invoke(), RegexOptions.IgnoreCase); + } + // if cd drive macro is define then we have to process it a little bit differently, since there can be multiple cd drives in the system + else if (String.Equals(PathManip.enumWindowsDesignatedPaths.CD_DRIVE.ToString(), regExMatch.Groups[1].Value, StringComparison.OrdinalIgnoreCase)) + { + resolvedPath = getValidatedCdPath(path); + } + } + + return resolvedPath; + } + + public static bool validatePathInCdDrive(string path, Form parentForm) + { + bool successful = true; + string msg = ""; + DriveInfo drive = new DriveInfo(path.Substring(0, 1)); + while (!drive.IsReady || (!File.Exists(path) && !Directory.Exists(path))) + { + Hardware.OpenCdDrive(drive.Name); + + msg = ((frmSetupStatusDisplay)parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, "Please insert a disc into drive " + + drive.Name + " that has the following path:\n" + path + "\n\n Click OK to proceed", "Info", -1); + + if (String.Equals(msg, "cancel", StringComparison.OrdinalIgnoreCase)) + { + successful = false; + break; + } + } + + return successful; + } + + // if user specifies a path with a cd drive prefix macro (i.e. {cd_drive}\hey.txt, then we want to find the cd drive with the path (file or directory) specified + public static string getValidatedCdPath(string path = "") + { + string cdPath = ""; + string emptyDrivePath = ""; + + List cdDrives = Hardware.GetAllCdDrives(); + + foreach (string drive in cdDrives) + { + if (path.Length == 0) + { + cdPath = drive; + break; + } + else + { + string tempPath = Regex.Replace(path, @"\{([^\{\}]+)\}", PathManip.RemoveTrailingSlashInPath(drive), RegexOptions.IgnoreCase); + DriveInfo driveInfo = new DriveInfo(tempPath.Substring(0, 1)); + + if (File.Exists(tempPath) || Directory.Exists(tempPath)) + { + cdPath = tempPath; + break; + } + else if (!driveInfo.IsReady && emptyDrivePath.Length == 0) + { + emptyDrivePath = tempPath; + } + } + } + + if (cdPath.Length == 0 && cdDrives.Count > 0) + { + if (emptyDrivePath.Length > 0) + cdPath = emptyDrivePath; + else + cdPath = Regex.Replace(path, @"\{([^\{\}]+)\}", PathManip.RemoveTrailingSlashInPath(cdDrives[0]), RegexOptions.IgnoreCase); + } + + return cdPath; + } + + // return indentation in spaces + public static string getIndentation(int indentMultiples) + { + string indentUnit = " "; + string indentation = String.Empty; + + for (int i = 1; i <= indentMultiples; i++) + indentation += indentUnit; + + return indentation; + } + + public static Color getSetupStatusColor(EXECUTION_STATUS status) + { + if (status == EXECUTION_STATUS.SUCCESS) + return Color.Green; + else if (status == EXECUTION_STATUS.FAILURE) + return Color.Red; + else + return Color.FromArgb(224, 154, 14); + } + + public static Color getSetupStepTitleColor() + { + return Color.FromArgb(125, 143, 128); + } + + public static void formatConfigIniFailureMessage(string message, List textPropList) + { + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.textColor = getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 10); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(message, "File:"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(message, "Section:"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + if (StringManip.GetPhraseWordIndexInText(message, "Key:") > -1) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(message, "Key:"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + + if (StringManip.GetPhraseWordIndexInText(message, "Value:") > -1) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(message, "Value:"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(message, "Description:") - 1; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + + public static void enableAutoRunAfterReboot(string taskSchedulerName, string appPath) + { + Properties.Settings.Default["AutoRunOnStartup"] = true; + + createTaskSchedulerForAutoRunAfterReboot(taskSchedulerName, appPath); + } + + private static void createTaskSchedulerForAutoRunAfterReboot(string taskSchedulerName, string appPath) + { + using (TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskService ts = new TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskService()) + { + if (ts.GetTask(taskSchedulerName) == null) + { + TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskDefinition td = ts.NewTask(); + td.RegistrationInfo.Description = taskSchedulerName; + + // when running task, use the following account + td.Principal.UserId = String.Concat(Environment.UserDomainName, "\\", Environment.UserName); + + // only run after user has logged on + td.Principal.LogonType = TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskLogonType.InteractiveToken; + + // run this task with highest privileges + td.Principal.RunLevel = TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskRunLevel.Highest; + + // creating the trigger, this actually executes the task + TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.LogonTrigger trigger = new TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.LogonTrigger(); + trigger.UserId = String.Concat(Environment.UserDomainName, "\\", Environment.UserName); + trigger.Delay = TimeSpan.FromSeconds(60.0); + td.Triggers.Add(trigger); + + td.Actions.Add(new TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.ExecAction(appPath, null, null)); + ts.RootFolder.RegisterTaskDefinition(taskSchedulerName, td); + } + } + } + + public static void deleteTaskSchedulerForAutoRunAfterReboot(string taskSchedulerName) + { + using (TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskService ts = new TaskSchedulerAlias::Microsoft.Win32.TaskScheduler.TaskService()) + { + if (ts.GetTask(taskSchedulerName) != null) + { + ts.RootFolder.DeleteTask(taskSchedulerName); + } + } + } + } +} diff --git a/AllPurposeAutoSetup/ConfigFileManager.cs b/AllPurposeAutoSetup/ConfigFileManager.cs new file mode 100644 index 0000000..1fffcb4 --- /dev/null +++ b/AllPurposeAutoSetup/ConfigFileManager.cs @@ -0,0 +1,502 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class ConfigFileManager + { + // each of the enumeration in here should match a section name in the INI file + public enum enum_INI_SECTION_NAMES + { + General, + Global_Settings, + GUTS_Info, + Install_Software, + Paths_Creation, + Paths_Sharing, + Env_Variables, + Setup_Step_Manager, + GUTS_Pre_Build_Assistance, + Files_Transfer_Packages, + GUTS_Config_File, + Windows_Shortcuts, + Files_Folders_Removal, + Run_Applications, + Windows_Features, + Windows_Registry + } + + // this is used to verify INI file and flag errors in the INI file for user to fix + public struct Ini_KeyValue + { + public string iniSectionName; + public string iniKeyName; + public string iniValue; + public T alternateValue; // user-defined value, this could be a bool, int, anything + + public Ini_KeyValue(T tvar) + { + iniSectionName = String.Empty; + iniKeyName = String.Empty; + iniValue = String.Empty; + alternateValue = tvar; + } + } + + public struct ConfigGeneralInfo + { + public IniFileManip iniFile; + public string pathAndNameOfConfigFile; + + public bool is64BitPlatform; + public bool is32BitPlatform; + + public Ini_KeyValue programName; + public Ini_KeyValue applicationPlatform; + } + + public struct ConfigGlobalSettings + { + public Ini_KeyValue suppressAllPrompts; + } + + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + //public event Action> UpdateStatusDisplayAndLogEvent; + + Form m_parentForm; + public static ConfigGeneralInfo ms_configGeneralInfo; + public static ConfigGlobalSettings ms_configGlobalSettings; + + public ConfigFileManager(Form parentForm, string configFile) + { + m_parentForm = parentForm; + + ms_configGeneralInfo.pathAndNameOfConfigFile = configFile; + ms_configGeneralInfo.programName = new Ini_KeyValue(""); + ms_configGeneralInfo.applicationPlatform = new Ini_KeyValue(""); + + ms_configGeneralInfo.is32BitPlatform = false; + ms_configGeneralInfo.is64BitPlatform = false; + + ms_configGeneralInfo.iniFile = new IniFileManip(ms_configGeneralInfo.pathAndNameOfConfigFile); + + ms_configGlobalSettings.suppressAllPrompts = new Ini_KeyValue(false); + + parseConfigInfo(); + } + + private void parseConfigInfo() + { + readGeneralSection(ms_configGeneralInfo.iniFile); + readGlobalSection(ms_configGeneralInfo.iniFile); + } + + public static void parseConfigInfo(string iniSectionName, List> configInfo) + { + string[] keyDataPair; + string[] sectionData; + Ini_KeyValue iniVal = new Ini_KeyValue(""); + + if (configInfo == null) + configInfo = new List>(); + + sectionData = ms_configGeneralInfo.iniFile.ReadSectionData(iniSectionName); + foreach (string line in sectionData) + { + keyDataPair = line.Split('='); + + if (keyDataPair.Length == 2) + { + iniVal.iniSectionName = iniSectionName; + iniVal.iniKeyName = keyDataPair[0]; + iniVal.iniValue = keyDataPair[1]; + + configInfo.Add(iniVal) ; + } + } + } + + public static void parseConfigInfo(string iniSectionName, Dictionary configInfo) + { + string[] keyDataPair; + string[] sectionData; + + if (configInfo == null) + configInfo = new Dictionary(); + + sectionData = ms_configGeneralInfo.iniFile.ReadSectionData(iniSectionName); + foreach (string line in sectionData) + { + keyDataPair = line.Split('='); + + if (keyDataPair.Length == 2) + configInfo[keyDataPair[0]] = keyDataPair[1]; + } + } + + public void readGeneralSection(IniFileManip iniFile) + { + string[] keyDataPair; + Dictionary keyAndValuePair = new Dictionary(); + Dictionary keyAndValuePair2 = new Dictionary(); + Ini_KeyValue bIniVal = new Ini_KeyValue(false); + Ini_KeyValue iniVal = new Ini_KeyValue(""); + Ini_KeyValue iniVal2 = new Ini_KeyValue(""); + + string sectionName; + + string[] sectionData; + + sectionName = enum_INI_SECTION_NAMES.General.ToString(); + sectionData = iniFile.ReadSectionData(sectionName); + + ms_configGeneralInfo.programName.iniKeyName = "program_name"; + ms_configGeneralInfo.programName.iniSectionName = sectionName; + + ms_configGeneralInfo.applicationPlatform.iniKeyName = "Application_Platform"; + ms_configGeneralInfo.applicationPlatform.iniSectionName = sectionName; + + foreach (string line in sectionData) + { + keyDataPair = line.Split('='); + + if (String.Equals(keyDataPair[0], ms_configGeneralInfo.programName.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + if (keyDataPair.Length == 2) + { + ms_configGeneralInfo.programName.iniValue = keyDataPair[1]; + } + } + else if (String.Equals(keyDataPair[0], ms_configGeneralInfo.applicationPlatform.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + if (keyDataPair.Length == 2) + { + ms_configGeneralInfo.applicationPlatform.iniValue = keyDataPair[1]; + } + if (String.Equals(ms_configGeneralInfo.applicationPlatform.iniValue, "32", StringComparison.OrdinalIgnoreCase)) + ms_configGeneralInfo.is32BitPlatform = true; + else if (String.Equals(ms_configGeneralInfo.applicationPlatform.iniValue, "64", StringComparison.OrdinalIgnoreCase)) + ms_configGeneralInfo.is64BitPlatform = true; + else + ms_configGeneralInfo.is64BitPlatform = true; + } + } + } + + public void readGlobalSection(IniFileManip iniFile) + { + string[] keyDataPair; + Dictionary keyAndValuePair = new Dictionary(); + Dictionary keyAndValuePair2 = new Dictionary(); + Ini_KeyValue bIniVal = new Ini_KeyValue(false); + Ini_KeyValue iniVal = new Ini_KeyValue(""); + Ini_KeyValue iniVal2 = new Ini_KeyValue(""); + + string sectionName; + + string[] sectionData; + + sectionName = enum_INI_SECTION_NAMES.Global_Settings.ToString(); + sectionData = iniFile.ReadSectionData(sectionName); + + ms_configGlobalSettings.suppressAllPrompts.iniKeyName = "Suppress_All_Prompts"; + ms_configGlobalSettings.suppressAllPrompts.iniSectionName = sectionName; + + foreach (string line in sectionData) + { + keyDataPair = line.Split('='); + + if (String.Equals(keyDataPair[0], ms_configGlobalSettings.suppressAllPrompts.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + if (keyDataPair.Length == 2) + { + ms_configGlobalSettings.suppressAllPrompts.iniValue = keyDataPair[1]; + } + + if (String.Equals(ms_configGlobalSettings.suppressAllPrompts.iniValue, "true", StringComparison.OrdinalIgnoreCase) + || + String.Equals(ms_configGlobalSettings.suppressAllPrompts.iniValue, "yes", StringComparison.OrdinalIgnoreCase)) + ms_configGlobalSettings.suppressAllPrompts.alternateValue = true; + else + ms_configGlobalSettings.suppressAllPrompts.alternateValue = false; + } + } + } + + public static void readOneToManyDictionary(IniFileManip iniFile, string sectionName, string leftDictPattern, string rightDictPattern, Dictionary, List>> dict) + { + string[] keyDataPair, splitStrings, splitStrings2; + Match regExMatch; + Dictionary keyAndValuePair = new Dictionary(); + Dictionary keyAndValuePair2 = new Dictionary(); + Ini_KeyValue bIniVal = new Ini_KeyValue(false); + Ini_KeyValue iniVal = new Ini_KeyValue(""); + Ini_KeyValue iniVal2 = new Ini_KeyValue(""); + + string[] sectionData; + + string iniEntryDelimiter = "[ini_entry_separator]"; + string iniKeyValueDelimiter = "[key_value_separator]"; + + sectionData = iniFile.ReadSectionData(sectionName); + foreach (string line in sectionData) + { + keyDataPair = line.Split('='); + + if (keyDataPair.Length == 2) + keyDataPair[1] = Regex.Replace(keyDataPair[1], @"\{equal_sign\}", "="); + + regExMatch = Regex.Match(keyDataPair[0], leftDictPattern, RegexOptions.IgnoreCase); + + // if item belongs to the left side of the dictionary + if (regExMatch.Success && keyDataPair.Length == 2) + { + // if there's not already an item that exists in the dictionary + if (!keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value) && keyDataPair[1].Length > 0) + { + // generate the key information + iniVal.iniSectionName = sectionName; + iniVal.iniKeyName = keyDataPair[0]; + iniVal.iniValue = keyDataPair[1]; + + // if there are items on the right of the dictionary that's associated with the item on the left side + if (keyAndValuePair2.ContainsKey(regExMatch.Groups[1].Value)) + { + splitStrings = keyAndValuePair2[regExMatch.Groups[1].Value].Split(new string[] { iniEntryDelimiter }, StringSplitOptions.RemoveEmptyEntries); + + foreach (string keyValuePairItem in splitStrings) + { + splitStrings2 = keyValuePairItem.Split(new string[] { iniKeyValueDelimiter }, StringSplitOptions.None); + + // generate value information + iniVal2.iniSectionName = sectionName; + iniVal2.iniKeyName = splitStrings2[0]; + iniVal2.iniValue = splitStrings2[1]; + + if (dict.ContainsKey(iniVal)) + dict[iniVal].Add(iniVal2); + else + dict[iniVal] = new List>() { iniVal2 }; + + if (!keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value)) + { + keyAndValuePair[regExMatch.Groups[1].Value] = keyDataPair[0] + iniKeyValueDelimiter + keyDataPair[1]; + } + } + + keyAndValuePair2.Remove(regExMatch.Groups[1].Value); + } + else // store the Ini struct of the left hand side of the dictionary + keyAndValuePair[regExMatch.Groups[1].Value] = keyDataPair[0] + iniKeyValueDelimiter + keyDataPair[1]; + } + } + else + { + regExMatch = Regex.Match(keyDataPair[0], rightDictPattern, RegexOptions.IgnoreCase); + + // if the item belong to the right side of the dictionary + if (regExMatch.Success && keyDataPair.Length == 2) + { + // is this key/value is associated with the corresponding value of the left hand side of the dictionary + if (keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value)) + { + // get the ini properties of the left side of the dictionary + splitStrings2 = keyAndValuePair[regExMatch.Groups[1].Value].Split(new string[] { iniKeyValueDelimiter }, StringSplitOptions.RemoveEmptyEntries); + + // generate the key information + iniVal.iniSectionName = sectionName; + iniVal.iniKeyName = splitStrings2[0]; + iniVal.iniValue = splitStrings2[1]; + + // generate value information + iniVal2.iniSectionName = sectionName; + iniVal2.iniKeyName = keyDataPair[0]; + iniVal2.iniValue = keyDataPair[1]; + + // save the key/value for this app name + if (dict.ContainsKey(iniVal)) + dict[iniVal].Add(iniVal2); + else + dict[iniVal] = new List>() { iniVal2 }; + } + else + { + if (keyAndValuePair2.ContainsKey(regExMatch.Groups[1].Value)) + { + keyAndValuePair2[regExMatch.Groups[1].Value] += iniEntryDelimiter + keyDataPair[0] + iniKeyValueDelimiter + keyDataPair[1]; + } + else + keyAndValuePair2[regExMatch.Groups[1].Value] = keyDataPair[0] + iniKeyValueDelimiter + keyDataPair[1]; + } + } + } + } + + if (keyAndValuePair.Count > 0) + { + // remove entries in keyAndValuePair that have already been saved in the dictionary + foreach (KeyValuePair, List>> entry in dict) + { + regExMatch = Regex.Match(entry.Key.iniKeyName, leftDictPattern, RegexOptions.IgnoreCase); + // if item belongs to the left side of the dictionary + if (regExMatch.Success) + { + if (keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value)) + keyAndValuePair.Remove(regExMatch.Groups[1].Value); + } + } + + // for each group of items, if only the left side of the dictionary is defined, add it to the dictionary anyway + foreach (KeyValuePair entry in keyAndValuePair) + { + // break down the elements of the left side of dictionary + splitStrings2 = entry.Value.Split(new string[] { iniKeyValueDelimiter }, StringSplitOptions.RemoveEmptyEntries); + + // generate the key information + iniVal.iniSectionName = sectionName; + iniVal.iniKeyName = splitStrings2[0]; + iniVal.iniValue = splitStrings2[1]; + + if (!dict.ContainsKey(iniVal)) + dict[iniVal] = new List>(); + } + } + } + + public void readOneToOneDictionary(IniFileManip iniFile, string sectionName, string leftDictPattern, string rightDictPattern, Dictionary, Ini_KeyValue> dict) + { + string[] keyDataPair, splitStrings2; + Match regExMatch; + Dictionary keyAndValuePair = new Dictionary(); + Dictionary keyAndValuePair2 = new Dictionary(); + Ini_KeyValue bIniVal = new Ini_KeyValue(false); + Ini_KeyValue iniVal = new Ini_KeyValue(""); + Ini_KeyValue iniVal2 = new Ini_KeyValue(""); + + string[] sectionData; + + sectionData = iniFile.ReadSectionData(sectionName); + foreach (string path in sectionData) + { + keyDataPair = path.Split('='); + + if (keyDataPair.Length == 2) + keyDataPair[1] = Regex.Replace(keyDataPair[1], @"\{equal_sign\}", "="); + + regExMatch = Regex.Match(keyDataPair[0], leftDictPattern, RegexOptions.IgnoreCase); + + // if item belongs to the left side of the dictionary + if (regExMatch.Success && keyDataPair.Length == 2) + { + // if there's not an existing item already in the dictionary + if (!keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value)) + { + // if the item on the right side is associated to the item on the left side of the dictionary + if (keyAndValuePair2.ContainsKey(regExMatch.Groups[1].Value)) + { + // generate the key information + iniVal.iniSectionName = sectionName; + iniVal.iniKeyName = keyDataPair[0]; + iniVal.iniValue = keyDataPair[1]; + + splitStrings2 = keyAndValuePair2[regExMatch.Groups[1].Value].Split('|'); + + // generate the value information + iniVal2.iniSectionName = sectionName; + iniVal2.iniKeyName = splitStrings2[0]; + iniVal2.iniValue = splitStrings2[1]; + + dict[iniVal] = iniVal2; + keyAndValuePair2.Remove(regExMatch.Groups[1].Value); + } + else + keyAndValuePair[regExMatch.Groups[1].Value] = keyDataPair[0] + "|" + keyDataPair[1]; + } + } + + regExMatch = Regex.Match(keyDataPair[0], rightDictPattern, RegexOptions.IgnoreCase); + + // if item belongs to the right side of the dictionary + if (regExMatch.Success && keyDataPair.Length == 2) + { + // if item on the left is associated with the item on the right side of the dictionary + if (keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value)) + { + // get the ini properties of the left side of the dictionary + splitStrings2 = keyAndValuePair[regExMatch.Groups[1].Value].Split('|'); + + // generate the key information + iniVal.iniSectionName = sectionName; + iniVal.iniKeyName = splitStrings2[0]; + iniVal.iniValue = splitStrings2[1]; + + // generate the value information + iniVal2.iniSectionName = sectionName; + iniVal2.iniKeyName = keyDataPair[0]; + iniVal2.iniValue = keyDataPair[1]; + + // create a new entry in the dictionary + dict[iniVal] = iniVal2; + } + else + { + keyAndValuePair2[regExMatch.Groups[1].Value] = keyDataPair[0] + "|" + keyDataPair[1]; + } + } + } + + if (keyAndValuePair.Count > 0) + { + // remove entries in keyAndValuePair that have already been saved in the dictionary + foreach (KeyValuePair, ConfigFileManager.Ini_KeyValue> entry in dict) + { + regExMatch = Regex.Match(entry.Key.iniKeyName, leftDictPattern, RegexOptions.IgnoreCase); + // if item belongs to the left side of the dictionary + if (regExMatch.Success) + { + if (keyAndValuePair.ContainsKey(regExMatch.Groups[1].Value)) + keyAndValuePair.Remove(regExMatch.Groups[1].Value); + } + } + + // for each group of items, if only the left side of the dictionary is defined, add it to the dictionary anyway + foreach (KeyValuePair entry in keyAndValuePair) + { + // break down the elements of the left side of dictionary + splitStrings2 = entry.Value.Split('|'); + + // generate the key information + iniVal.iniSectionName = sectionName; + iniVal.iniKeyName = splitStrings2[0]; + iniVal.iniValue = splitStrings2[1]; + + iniVal2.iniSectionName = ""; + iniVal2.iniKeyName = ""; + iniVal2.iniValue = ""; + + if (!dict.ContainsKey(iniVal)) + dict[iniVal] = iniVal2; + } + } + } + } +} diff --git a/AllPurposeAutoSetup/DLL/CommonLib.dll b/AllPurposeAutoSetup/DLL/CommonLib.dll new file mode 100644 index 0000000000000000000000000000000000000000..91e2e33e591ed34bbf5a482185f653049ab945de GIT binary patch literal 115712 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

+0`=8C)@V? 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

fT%ar>af+ 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 UpdateStatusDisplayAndLogEvent; + + Form m_parentForm; + + private bool dotNetSecurityZoneSettingSuccessful; + + public DotNet2Pt0FrameworkManager(Form parentForm) + { + m_parentForm = parentForm; + } + + // modify trust levels for security zones + public bool adjustZoneSecurityForDotNetFrameWork2Pt0(string sectionName) + { + bool setupSuccessful = true; + string indentation = String.Empty, platformStr; + + string dotNetFrameWork2_32bit_Path = @"C:\Windows\Microsoft.NET\Framework\v2.0.50727"; + string dotNetFrameWork2_64bit_Path = @"C:\Windows\Microsoft.NET\Framework64\v2.0.50727"; + string dotNetFrameWork2_Bin_Path; + string caspolApp = String.Empty; + + List securityZoneNames = new List() { "My_Computer_Zone", "LocalIntranet_Zone", "Internet_Zone", "Trusted_Zone", "Restricted_Zone" }; + List trustLevels = new List() { "FullTrust", "LocalIntranet", "Internet", "Nothing" }; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string msg; + + if (ConfigFileManager.ms_configGeneralInfo.is32BitPlatform) + { + platformStr = "32-bit"; + dotNetFrameWork2_Bin_Path = dotNetFrameWork2_32bit_Path; + } + else + { + platformStr = "64-bit"; + dotNetFrameWork2_Bin_Path = dotNetFrameWork2_64bit_Path; + } + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Setting .NET Framework 2.0 (" + platformStr + ") Security Zone Trust Level=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + if (setupSuccessful) + { + caspolApp = dotNetFrameWork2_Bin_Path + "\\caspol.exe"; + + if (!Directory.Exists(dotNetFrameWork2_32bit_Path)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. .NET Framework 2.0 (" + platformStr + ") is not installed."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.ERROR, null, "Unable to detect the presence .NET Framework 2.0 (" + platformStr + ").\n\n Please install .NET Framework 2.0 before continuing...", "ERROR!!!", -1); + setupSuccessful = false; + } + else if (!File.Exists(caspolApp)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + caspolApp + " not found."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.ERROR, null, "Unable to detect the presence .NET Framework 2.0 (" + platformStr + ").\n\n Please install .NET Framework 2.0 before continuing...", "ERROR!!!", -1); + setupSuccessful = false; + } + else + { + dotNetSecurityZoneSettingSuccessful = false; + ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); + cmdStartInfo.FileName = @"C:\Windows\System32\cmd.exe"; + cmdStartInfo.RedirectStandardOutput = true; + cmdStartInfo.RedirectStandardError = true; + cmdStartInfo.RedirectStandardInput = true; + cmdStartInfo.UseShellExecute = false; + cmdStartInfo.CreateNoWindow = true; + + Process cmdProcess; + //cmdProcess.StandardInput.WriteLine("Dism /online /disable-feature /featurename:IIS-FTPSvc /norestart"); //Execute command + + cmdProcess = new Process(); + cmdProcess.StartInfo = cmdStartInfo; + cmdProcess.ErrorDataReceived += cmd_Error; + cmdProcess.OutputDataReceived += cmd_SecurityZone_DataReceived; + cmdProcess.EnableRaisingEvents = true; + cmdProcess.Start(); + cmdProcess.BeginOutputReadLine(); + cmdProcess.BeginErrorReadLine(); + + // turn prompts off + cmdProcess.StandardInput.WriteLine(caspolApp + " -pp off"); //Execute command + + cmdProcess.StandardInput.WriteLine("exit"); //Execute exit. + + cmdProcess.WaitForExit(); + cmdProcess.Close(); + + if (!dotNetSecurityZoneSettingSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. Access denied from running .NET Framework Caspol 2.0."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.ERROR, null, "Access denied from running .NET Framework Caspol 2.0.\n\n Make sure to run application as Administrator...", "ERROR!!!", -1); + setupSuccessful = false; + } + + foreach (string zone in securityZoneNames) + { + cmdProcess = new Process(); + cmdProcess.StartInfo = cmdStartInfo; + cmdProcess.ErrorDataReceived += cmd_Error; + cmdProcess.OutputDataReceived += cmd_SecurityZone_DataReceived; + cmdProcess.EnableRaisingEvents = true; + cmdProcess.Start(); + cmdProcess.BeginOutputReadLine(); + cmdProcess.BeginErrorReadLine(); + + dotNetSecurityZoneSettingSuccessful = false; + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "" + zone + "=" + trustLevels[0]; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set trust level for security zone + cmdProcess.StandardInput.WriteLine(caspolApp + " -m -cg " + zone + " " + trustLevels[0]); //Execute command + //cmdProcess.StandardInput.WriteLine(""); + + //count++; + + cmdProcess.StandardInput.WriteLine("exit"); //Execute exit. + + cmdProcess.WaitForExit(); + cmdProcess.Close(); + + if (dotNetSecurityZoneSettingSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = " - FAILED"; + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + cmdProcess = new Process(); + cmdProcess.StartInfo = cmdStartInfo; + //cmdProcess.ErrorDataReceived += cmd_Error; + //cmdProcess.OutputDataReceived += cmd_SecurityZone_DataReceived; + cmdProcess.EnableRaisingEvents = true; + cmdProcess.Start(); + cmdProcess.BeginOutputReadLine(); + cmdProcess.BeginErrorReadLine(); + + // turn policy change prompt back on. THIS IS VERY IMPORTANT + // if this is not turned back on, the Windows Firewall might block some functionality of an application + cmdProcess.StandardInput.WriteLine(caspolApp + " -pp on"); //Execute command + + cmdProcess.StandardInput.WriteLine("exit"); //Execute exit. + + cmdProcess.WaitForExit(); + cmdProcess.Close(); + } + } + return setupSuccessful; + } + + void cmd_SecurityZone_DataReceived(object sender, DataReceivedEventArgs e) + { + Match regExMatch; + + if (e.Data == null) + { + return; + } + + regExMatch = Regex.Match(e.Data, @".*success.*", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + dotNetSecurityZoneSettingSuccessful = true; + } + } + + void cmd_Error(object sender, DataReceivedEventArgs e) + { + //Console.WriteLine("Error from other process"); + //Console.WriteLine(e.Data); + } + } +} diff --git a/AllPurposeAutoSetup/FileFolderRemovalManager.cs b/AllPurposeAutoSetup/FileFolderRemovalManager.cs new file mode 100644 index 0000000..44a72ec --- /dev/null +++ b/AllPurposeAutoSetup/FileFolderRemovalManager.cs @@ -0,0 +1,350 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; +using System.Xml; +using System.Xml.XPath; +using System.Net; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class FileFolderRemovalManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public event Action> UpdateStatusDisplayAtLine; + + public List> filesFoldersToBeRemoved = new List>(); + + Form m_parentForm; + + public FileFolderRemovalManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool removeFilesFolders(string sectionName) + { + bool setupSuccessful = true; + string msg, indentation = String.Empty, displayMsg = "", logMsg = ""; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Removing Files/Folders=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + filesFoldersToBeRemoved.Clear(); + + parseConfigInfo(sectionName); + + if (setupSuccessful) + { + int filesDeletedCount = 0, foldersDeletedCount = 0, filesSkipped = 0, foldersSkipped = 0; + frmSetupStatusDisplay displayFrm = (frmSetupStatusDisplay)m_parentForm; + int itemCountLineIndex = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + int deleteItemLineIndex = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + + List filesAndFoldersToBeRemoved = new List(); + + foreach (ConfigFileManager.Ini_KeyValue item in filesFoldersToBeRemoved) + { + string path = ""; + path = Path.GetFullPath(Common.resolveMacroPath(item.iniValue)); + + if (File.Exists(path)) + { + filesAndFoldersToBeRemoved.Add(path); + } + else if (Directory.Exists(path)) + { + // delete folder recursively + if (item.alternateValue) + { + filesAndFoldersToBeRemoved.Add(path); + } + else + { + string[] files = Directory.GetFiles(path, "*.*", SearchOption.TopDirectoryOnly); + filesAndFoldersToBeRemoved.AddRange(files.ToList()); + } + } + else + { + string what = ""; + + if (PathManip.PathIsFile(path)) + { + filesSkipped++; + what = "File"; + } + else + { + foldersSkipped++; + what = "Folder"; + } + + indentation = Common.getIndentation(1); + logMsg = "\n" + indentation + "Deleting " + path + " - SKIPPED. " + what + " does not exist"; + UpdateStatusDisplayAndLogEvent("", logMsg, textPropList); + } + + } + + foreach (string item in filesAndFoldersToBeRemoved) + { + indentation = Common.getIndentation(1); + msg = indentation + "Files Deleted: " + filesDeletedCount.ToString() + " Folders Deleted: " + foldersDeletedCount.ToString(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 2; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 10, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "Folders deleted:"); + textProp.wordCount = 2; + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "Folders deleted:") + 2; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 10, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAtLine(msg, itemCountLineIndex, textPropList); + + //tempTextPropList = new List(textPropList); + + if (File.Exists(item) || Directory.Exists(item)) + { + displayMsg = indentation + "Deleting " + StringManip.ShortenStringToSize(item, 65); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + //textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = 0; + textProp.wordCount = 1; + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(255, 60, 0); + textProp.wordIndex = 1; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAtLine(displayMsg, deleteItemLineIndex, textPropList); + + if (Directory.Exists(item)) + { + try + { + PathManip.DeleteFoldersRecursive(item); + foldersDeletedCount++; + logMsg = "\n" + indentation + "Deleting " + item + " - SUCCESS"; + } + catch (Exception e) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + displayMsg = "\n" + indentation + "- FAILED. Error deleting folder\n" + indentation + "Folder: " + item + "\n" + indentation + "Error description: " + e.Message; + logMsg = "\n" + indentation + "Deleting " + item + " - FAILED"; + setupSuccessful = false; + } + } + else + { + try + { + File.SetAttributes(item, FileAttributes.Normal); + File.Delete(item); + filesDeletedCount++; + logMsg = "\n" + indentation + "Deleting " + item + " - SUCCESS"; + } + catch (Exception e) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + displayMsg = "\n" + indentation + "- FAILED. Error deleting file\n" + indentation + "File: " + item + "\n" + indentation + "Error description: " + e.Message; + logMsg = "\n" + indentation + "Deleting " + item + " - FAILED"; + setupSuccessful = false; + } + } + + if (!setupSuccessful) + { + break; + } + + UpdateStatusDisplayAndLogEvent("", logMsg, textPropList); + } + + Thread.Sleep(2000); + } + + // delete the very first line that is the start of the progress update + // all the lines below the first starting lines will get deleted too + for (int i = 1; i <= 2; i++) + { + displayFrm.removeStatusDisplayLine(itemCountLineIndex, true); + } + + if (!setupSuccessful) + { + UpdateStatusDisplayAndLogEvent(displayMsg, logMsg, textPropList); + } + + if (setupSuccessful) + { + if (filesFoldersToBeRemoved.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. No file/folder to delete"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SUCCESS. (Files Deleted: " + filesDeletedCount + " ) (Folders Deleted: " + foldersDeletedCount + " )" + " (Files skipped: " + filesSkipped + " )" + " (Folders skipped: " + foldersSkipped + " )"; + UpdateStatusDisplayAndLogEvent(msg, "", textPropList); + } + } + + msg = "\n" + Common.getIndentation(1) + "Files Deleted: " + filesDeletedCount + " | Folders Deleted: " + foldersDeletedCount + " | Files Skipped: " + filesSkipped + " | Folders Skipped: " + foldersSkipped; + UpdateStatusDisplayAndLogEvent("", msg, textPropList); + + } + + return setupSuccessful; + } + + private void parseConfigInfo(string sectionName) + { + string[] keyDataPair; + Match regExMatch; + ConfigFileManager.Ini_KeyValue bIniVal = new ConfigFileManager.Ini_KeyValue(false); + + string[] sectionData; + + sectionData = ConfigFileManager.ms_configGeneralInfo.iniFile.ReadSectionData(sectionName); + + foreach (string path in sectionData) + { + keyDataPair = path.Split('='); + + if (keyDataPair.Length == 2) + { + bIniVal.iniSectionName = sectionName; + bIniVal.iniKeyName = keyDataPair[0]; + bIniVal.iniValue = keyDataPair[1]; + + regExMatch = Regex.Match(bIniVal.iniValue, @"^([^,]+),.*recursive.*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + bIniVal.alternateValue = true; + bIniVal.iniValue = regExMatch.Groups[1].Value; + } + else + bIniVal.alternateValue = false; + + filesFoldersToBeRemoved.Add(bIniVal); + } + } + } + } +} diff --git a/AllPurposeAutoSetup/FilePackageTransferManager.cs b/AllPurposeAutoSetup/FilePackageTransferManager.cs new file mode 100644 index 0000000..ccdda17 --- /dev/null +++ b/AllPurposeAutoSetup/FilePackageTransferManager.cs @@ -0,0 +1,1945 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; +using System.Xml; +using System.Xml.XPath; +using System.Net; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class FilePackageTransferManager + { + public enum eFileAction + { + None + }; + public enum eFileCopyStatus { FAIL, SUCCESS }; + + public enum eCopyType { FOLDERS, FILES }; + + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public event Action> UpdateStatusDisplayAtLine; + + // event for thread to notify other threads that it has exited + private AutoResetEvent _resetEvent = new AutoResetEvent(false); + + public List> fileTransferPackages = new List>(); + + private List sourceFiles = new List(); + + FileManip.FileDownloadProgressTracker downloadProgressTracker = new FileManip.FileDownloadProgressTracker(); + + int m_copyProgressLineIndex = 0; + + Form m_parentForm; + + bool m_filePackageProcessedSuccessful = false; + + int m_fileCreatedCount = 0; + + int m_fileCopyCount = 0; + + public FilePackageTransferManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool manageFilePackageTransfer(string sectionName) + { + bool setupSuccessful = true; + string msg, indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Copying File Packages=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + XPathDocument doc = null; + + fileTransferPackages.Clear(); + + ConfigFileManager.parseConfigInfo(sectionName, fileTransferPackages); + + setupSuccessful = verifyFilePackagesInfo(); + + if (setupSuccessful) + { + foreach (ConfigFileManager.Ini_KeyValue filePackage in fileTransferPackages) + { + try + { + XmlReaderSettings readerSettings = new XmlReaderSettings(); + // tells the xmlreader to ignore comment in XML file + readerSettings.IgnoreComments = true; + using (XmlReader reader = XmlReader.Create(filePackage.iniValue, readerSettings)) + { + // load the XML file + doc = new XPathDocument(reader); + } + } + catch (Exception e) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. Unable to parse file " + filePackage.iniValue + ". " + e.Message; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + XPathNavigator nav = doc.CreateNavigator(); + + // move to root node + nav.MoveToRoot(); + + // move to 1st level node + if (nav.MoveToFirstChild()) + { + // move to 2nd level node + if (nav.MoveToFirstChild()) + { + if (!ProcessXML2ndLevelNodes(nav, Path.GetDirectoryName(filePackage.iniValue))) + { + setupSuccessful = false; + } + } + } + } + + if (!setupSuccessful) + break; + } + + if (setupSuccessful) + { + if (!m_filePackageProcessedSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to be copied from the provided information."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + } + return setupSuccessful; + } + + private void DownloadProgressHandler(UInt64 totalBytesCopied, UInt64 totalBytesFile) + { + string totalSizeDescription = FileManip.DescribeFileSize(totalBytesFile, FileManip.eFileSizeResolution.AUTO); + double totalPercentageReceived = ((double)totalBytesCopied / (double)totalBytesFile) * 100; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + if (!downloadProgressTracker.stopwatchForFileDownload.IsRunning) + { + downloadProgressTracker.stopwatchForFileDownload.Start(); + } + + if (!downloadProgressTracker.stopwatchForUpdateInterval.IsRunning) + { + downloadProgressTracker.stopwatchForUpdateInterval.Start(); + } + + // when an interval is reached, update download progress + if (downloadProgressTracker.stopwatchForUpdateInterval.ElapsedMilliseconds >= downloadProgressTracker.updateIntervalInMs) + { + downloadProgressTracker.stopwatchForUpdateInterval.Reset(); + + if (downloadProgressTracker.averageBytesReceivedPerUpdateInterval == 0) + downloadProgressTracker.averageBytesReceivedPerUpdateInterval = totalBytesCopied - downloadProgressTracker.totalBytesReceived; + else + { + downloadProgressTracker.averageBytesReceivedPerUpdateInterval += totalBytesCopied - downloadProgressTracker.totalBytesReceived; + downloadProgressTracker.averageBytesReceivedPerUpdateInterval /= 2; + } + downloadProgressTracker.totalBytesReceived = totalBytesCopied; + + downloadProgressTracker.millisecondsCount += downloadProgressTracker.updateIntervalInMs; + + string receivedSizeDescription = FileManip.DescribeFileSize(totalBytesCopied, downloadProgressTracker.fileSizeResolution); + + if (downloadProgressTracker.strTotalBytesReceived.Length > 0) + { + // determine what the highest resolution transfer rate change + FileManip.eFileSizeResolution res = FileManip.GetFileResolutionOfTransferRate(receivedSizeDescription, downloadProgressTracker.strTotalBytesReceived); + // increate the count for this resolution + downloadProgressTracker.unitCount[res]++; + } + + // every 2 seconds, we determine which resolution change the most, and use the resolution + // that's changed the most as the update progress + if (downloadProgressTracker.millisecondsCount >= 2000) + { + FileManip.eFileSizeResolution res = downloadProgressTracker.getResolutionWithHighestCount(); + + if (res != FileManip.eFileSizeResolution.AUTO) + downloadProgressTracker.fileSizeResolution = res; + + downloadProgressTracker.millisecondsCount = 0; + downloadProgressTracker.resetUnitCount(); + } + + receivedSizeDescription = FileManip.DescribeFileSize(totalBytesCopied, downloadProgressTracker.fileSizeResolution); + + downloadProgressTracker.strTotalBytesReceived = receivedSizeDescription; + + // shorten the size description + receivedSizeDescription = FileManip.ShortenFileSizeDescription(receivedSizeDescription); + + long downloadSpeed = (long)Math.Ceiling((double)downloadProgressTracker.averageBytesReceivedPerUpdateInterval / ((double)downloadProgressTracker.updateIntervalInMs / 1000.0)); + string downloadSpeedDesc = FileManip.DescribeFileSize((UInt64)downloadSpeed, FileManip.eFileSizeResolution.AUTO); + downloadSpeedDesc = Regex.Replace(downloadSpeedDesc, @"(\d+)\.\d+(.+)", "$1$2", RegexOptions.IgnoreCase); + + string msg = Common.getIndentation(1) + "Progress: " + string.Format("{0:N2}%", totalPercentageReceived) + + " Speed: " + downloadSpeedDesc + "/s Copied: " + receivedSizeDescription + " Total Size: " + totalSizeDescription + + " Elapsed time: " + DateTimeManip.DescribeTimeElapsed(downloadProgressTracker.stopwatchForFileDownload.Elapsed); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(0, 82, 204); + textProp.wordIndex = 1; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(0, 82, 204); + textProp.wordIndex = 3; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(0, 82, 204); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "copied:") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "total size:") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(0, 82, 204); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "total size:") + 2; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(0, 82, 204); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "elapsed time:") + 2; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAtLine(msg, m_copyProgressLineIndex, textPropList); + } + } + + bool processFilePackage() + { + bool setupSuccessful = true; + string msg = "", msg2 = "", displayMsg = "", logMsg = "", indentation = String.Empty, errMsg = "", sourcePath = "", destPath = "", tempMsg = ""; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + List tempTextPropList; + + bool overwriteDestinationFile = false; + bool overwriteDestinationFileAlways = false; + bool promptForOverwriteConfirmation = true; + + frmSetupStatusDisplay displayFrm = (frmSetupStatusDisplay)m_parentForm; + + int fileCountLineIndex = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + int sourceFileLineIndex = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + int destFileLineIndex = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + m_copyProgressLineIndex = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + + foreach (SourceFile file in sourceFiles) + { + indentation = Common.getIndentation(1); + msg = indentation + "Files Copied: " + m_fileCopyCount.ToString() + " Files Created: " + m_fileCreatedCount.ToString(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 2; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 10, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "files created:"); + textProp.wordCount = 2; + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "files created:") + 2; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 10, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAtLine(msg, fileCountLineIndex, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + //textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = 0; + textProp.wordCount = 1; + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(255, 60, 0); + textProp.wordIndex = 1; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + tempTextPropList = new List(textPropList); + + sourcePath = file.SourcePath; + destPath = file.destPath; + + if (sourcePath.Length > 0 && !PathManip.PathContainsAtLeastOneFolder(sourcePath)) + sourcePath = PathManip.AddTrailingSlashToPath(sourcePath); + + if (!PathManip.PathContainsAtLeastOneFolder(destPath)) + destPath = PathManip.AddTrailingSlashToPath(destPath); + + string destFileName; + // get the actual path and filename letter casing + string sourceFilePathAndName = PathManip.GetProperFilePathCapitalization(Path.Combine(sourcePath, file.FileName)); + string sourceFileName = Path.GetFileName(sourceFilePathAndName); + string sourceFilePath = Path.GetDirectoryName(sourceFilePathAndName); + + // if the source file is to be save as a different at the destination + if (file.FileNameSaveAs.Length > 0) + destFileName = file.FileNameSaveAs; + else + destFileName = sourceFileName; + + indentation = Common.getIndentation(1); + if (file.SourcePath.Length > 0) + { + msg = indentation + "Copying " + StringManip.ShortenStringToSize(sourceFilePathAndName, 65); + msg2 = indentation + "To " + StringManip.ShortenStringToSize(Path.Combine(destPath, destFileName), 65); + } + else + msg = indentation + "Creating " + StringManip.ShortenStringToSize(Path.Combine(destPath, destFileName), 65); + + UpdateStatusDisplayAtLine(msg, sourceFileLineIndex, textPropList); + + if (msg2.Length > 0) + { + textPropList = new List(tempTextPropList); + UpdateStatusDisplayAtLine(msg2, destFileLineIndex, textPropList); + } + + if (file.individualOverwrite.Length != 0) + { + promptForOverwriteConfirmation = false; + if (String.Equals(file.individualOverwrite, "yes", StringComparison.OrdinalIgnoreCase) || String.Equals(file.individualOverwrite, "true", StringComparison.OrdinalIgnoreCase)) + { + overwriteDestinationFile = true; + } + else + overwriteDestinationFile = false; + } + + if (promptForOverwriteConfirmation && File.Exists(Path.Combine(destPath, destFileName))) + { + MessageBoxCustom.clsCustomButton button1 = new MessageBoxCustom.clsCustomButton("YES - This File", "YesOneTime"); + MessageBoxCustom.clsCustomButton button2 = new MessageBoxCustom.clsCustomButton("NO - This File", "NoOneTime"); + MessageBoxCustom.clsCustomButton button3 = new MessageBoxCustom.clsCustomButton("YES - All Files", "YesAlways"); + MessageBoxCustom.clsCustomButton button4 = new MessageBoxCustom.clsCustomButton("No - All Files", "NoAlways"); + + List options = new List() { button1, button2, button3, button4 }; + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.CUSTOMQUESTION, options, + "File " + Path.Combine(destPath, destFileName) + "\nalready exists. Would you like to overwrite?", "Warning!!!", -1); + + if (String.Equals(msg, "YesOneTime", StringComparison.OrdinalIgnoreCase)) + { + overwriteDestinationFile = true; + } + else if (String.Equals(msg, "YesAlways", StringComparison.OrdinalIgnoreCase)) + { + overwriteDestinationFileAlways = true; + overwriteDestinationFile = true; + promptForOverwriteConfirmation = false; + } + else if (String.Equals(msg, "NoAlways", StringComparison.OrdinalIgnoreCase)) + { + promptForOverwriteConfirmation = false; + } + } + + if (m_fileCopyCount == 0 && m_fileCreatedCount == 0) + UpdateStatusDisplayAtLine(indentation + "Initializing. Please wait...", m_copyProgressLineIndex, textPropList); + + // if the file to be created already exists + if (file.SourcePath.Length == 0 && File.Exists(Path.Combine(destPath, destFileName))) + { + logMsg = "\n" + Common.getIndentation(2) + "Create " + Path.Combine(destPath, destFileName) + " - SKIPPED. File already exists at destination"; + } + else if (file.SourcePath.Length > 0 && File.Exists(Path.Combine(destPath, destFileName)) && !overwriteDestinationFile) + { + logMsg = "\n" + Common.getIndentation(2) + "Copy " + sourceFilePathAndName + " --> " + Path.Combine(destPath, destFileName) + " - SKIPPED. File already exists at destination"; + } + else + { + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(sourceFilePathAndName, @"^" + Regex.Escape(PathManip.RemoveTrailingSlashInPath(drive.Name)) + @".*", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !File.Exists(sourceFilePathAndName)) + { + Hardware.OpenCdDrive(drive.Name); + + tempMsg = "Please insert a disc"; + + if (file.cdLabel.Length > 0) + tempMsg += " labeled \"" + file.cdLabel + "\""; + + tempMsg += " into drive " + drive.Name + " that has the following file:\n" + sourceFilePathAndName + "\n\n Click OK to proceed"; + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, + tempMsg, "Info", -1); + + if (String.Equals(msg, "cancel", StringComparison.OrdinalIgnoreCase)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + + logMsg = "\n" + Common.getIndentation(2) + "Copy " + sourceFilePathAndName + " --> " + Path.Combine(destPath, destFileName) + " - FAILED"; + displayMsg = "\n" + indentation + "- FAILED. Unable to locate file: " + sourceFilePathAndName; + + setupSuccessful = false; + break; + } + } + + break; + } + } + + if (setupSuccessful) + { + if (FileManip.CopyFileWithProgress(sourceFilePath, sourceFileName, file.destPath, destFileName, + true, FileAttributes.Normal, + new FileManip.FileCopyProgressChangeDelegate(DownloadProgressHandler), downloadProgressTracker)) + { + indentation = Common.getIndentation(2); + if (file.SourcePath.Length > 0) + { + logMsg = "\n" + indentation + "Copy " + sourceFilePathAndName + " --> " + Path.Combine(destPath, destFileName) + " - SUCCESS"; + m_fileCopyCount++; + } + else + { + logMsg = "\n" + indentation + "Create " + Path.Combine(destPath, destFileName) + " - SUCCESS"; + m_fileCreatedCount++; + } + } + else + { + errMsg = downloadProgressTracker.errorMsg; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + + if (file.SourcePath.Length > 0) + { + logMsg = "\n" + Common.getIndentation(2) + "Copy " + sourceFilePathAndName + " --> " + Path.Combine(destPath, destFileName) + " - FAILED"; + displayMsg = "\n" + indentation + "- FAILED. Copying file failed. " + Regex.Replace(errMsg, @"\r\n", "", RegexOptions.IgnoreCase) + "\n" + indentation + "From: " + sourceFilePathAndName + "\n" + indentation + "To: " + Path.Combine(destPath, destFileName); + } + else + { + logMsg = "\n" + Common.getIndentation(2) + "Create " + Path.Combine(destPath, destFileName) + " - FAILED"; + displayMsg = "\n" + indentation + "- FAILED. Creating file failed. " + Regex.Replace(errMsg, @"\r\n", "", RegexOptions.IgnoreCase) + "\n" + indentation + "File to be created: " + Path.Combine(destPath, destFileName); + } + + setupSuccessful = false; + } + } + } + + // blank out the line + displayFrm.removeStatusDisplayLine(fileCountLineIndex, false); + + // blank out the line + displayFrm.removeStatusDisplayLine(m_copyProgressLineIndex, false); + + if (!overwriteDestinationFileAlways) + overwriteDestinationFile = false; + + if (!setupSuccessful) + { + break; + } + + UpdateStatusDisplayAndLogEvent("", logMsg, textPropList); + } + + for (int i = 1; i <= 4; i++) + { + // delete the very first line that is the start of the progress update + // all the lines below the first starting lines will get deleted too + displayFrm.removeStatusDisplayLine(fileCountLineIndex, true); + } + + if (!setupSuccessful) + { + UpdateStatusDisplayAndLogEvent(displayMsg, logMsg, textPropList); + } + + return setupSuccessful; + } + + ///=================================================================================== + /// ProcessXML2ndLevelNodes + ///=================================================================================== + ///

+ /// Process the child nodes of the 2nd level node + /// in the XML file. + /// + /// navigator object for traversing XML tree + /// + /// info about software package in source control + /// + /// file actions associated with source files + /// file name to be saved as at destination + /// backgroundworker + /// backgroundworker event arguments + /// true if processing node successfully, otherwise false + ///=================================================================================== + private bool ProcessXML2ndLevelNodes(XPathNavigator nav, string defaultStartingSourcePath) + { + bool setupSuccessful = true; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string msg, indentation = String.Empty; + string startingSourcePath = ""; + Match regexMatch; + + if (nav == null) + setupSuccessful = false; + + SourceFile sourceFile = new SourceFile(""); + + if (setupSuccessful) + { + do + { + string packageName = nav.GetAttribute("name", String.Empty); + + if (packageName.Length == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. Attribute \"name\" not found or has invalid value in node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 3; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Copying File Package " + packageName; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + + string customStartingSourcePath = nav.GetAttribute("startingsourcepath", string.Empty); + string startingDestPath = nav.GetAttribute("startingdestpath", string.Empty); + + // match macro defined in the value of they key, macro is in the form of {xxxxx} such as {user_desktop}, {user_temp_folder}, {cd_drive} + regexMatch = Regex.Match(customStartingSourcePath, @"^\{([^\{\}]+)\}.*", RegexOptions.IgnoreCase); + + // if rootpath is ., then we take the path of the XML package as the root path + if (string.Equals(customStartingSourcePath, ".")) + customStartingSourcePath = defaultStartingSourcePath; + else if (regexMatch.Success) + { + if (Common.pathContainsMacro(regexMatch.Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(regexMatch.Groups[0].Value); + + if (Common.pathContainsCdDriveMacro(regexMatch.Groups[0].Value)) + { + if (resolvedPath.Length == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + regexMatch.Groups[0].Value + " macro was defined. But no CD drive is found in the system" + ". XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + + sourceFile.cdLabel = nav.GetAttribute("cdlabel", string.Empty); + } + + customStartingSourcePath = resolvedPath; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"startingsourcepath\" specifies an invalid macro in the path. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + if (setupSuccessful && customStartingSourcePath.Length > 0) + { + // if path is not absolute path + if (!Path.IsPathRooted(customStartingSourcePath) && !Regex.IsMatch(customStartingSourcePath, @"^\{([^\{\}]+)\}", RegexOptions.IgnoreCase)) + customStartingSourcePath = Path.GetFullPath(Path.Combine(defaultStartingSourcePath, customStartingSourcePath)); + + if (!Hardware.IsCdDrive(customStartingSourcePath) && !Directory.Exists(customStartingSourcePath)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"startingsourcepath\" specifies a path that does not exist. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + // match macro defined in the value of they key, macro is in the form of {xxxxx} such as {user_desktop}, {user_temp_folder}, {cd_drive} + regexMatch = Regex.Match(startingDestPath, @"^\{([^\{\}]+)\}.*", RegexOptions.IgnoreCase); + + if (regexMatch.Success) + { + if (Common.pathContainsMacro(regexMatch.Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(regexMatch.Groups[0].Value); + + if (Common.pathContainsCdDriveMacro(regexMatch.Groups[0].Value)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + regexMatch.Groups[0].Value + " macro is not allowed to be specified for attribute \"startingdestpath\"" + ". XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + + startingDestPath = resolvedPath; + + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"startingdestpath\" specifies an invalid macro in the path. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + // if path is not absolute path + else if (startingDestPath.Length > 0 && !Path.IsPathRooted(startingDestPath)) + startingDestPath = Path.GetFullPath(Path.Combine(defaultStartingSourcePath, startingDestPath)); + + if (!Directory.Exists(startingDestPath)) + { + if (startingDestPath.Length > 0) + { + if (!PathManip.PathIsWritable(startingDestPath)) + setupSuccessful = false; + } + else + setupSuccessful = false; + + if (!setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + if (startingDestPath.Length == 0) + msg = "\n" + indentation + "- FAILED. Attribute \"startingdestpath\" is missing or has no value. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + else + msg = "\n" + indentation + "- FAILED. Attribute \"startingdestpath\" specifies a path that is invalid or not accessible. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + break; + } + } + + if (customStartingSourcePath.Length > 0) + startingSourcePath = customStartingSourcePath; + + // move to 3rd level node + if (nav.MoveToFirstChild()) + { + m_fileCreatedCount = 0; + m_fileCopyCount = 0; + if (!ProcessXML3rdLevelNodes(nav, defaultStartingSourcePath, startingSourcePath, startingDestPath, sourceFile)) + setupSuccessful = false; + + // move back to 2nd level node + nav.MoveToParent(); + } + + if (setupSuccessful) + { + if (!m_filePackageProcessedSuccessful) + m_filePackageProcessedSuccessful = true; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + + if (m_fileCreatedCount == 0 && m_fileCopyCount == 0) + { + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + msg = " - SKIPPED. (Files Created: " + m_fileCreatedCount + " ) " + "(Files Copied: " + m_fileCopyCount + " ) "; + } + else + { + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + msg = " - SUCCESS. (Files Created: " + m_fileCreatedCount + " ) " + "(Files Copied: " + m_fileCopyCount + " ) "; + } + textPropList.Add(textProp); + UpdateStatusDisplayAndLogEvent(msg, "", textPropList); + + msg = "\n" + Common.getIndentation(2) + "Total Files Created: " + m_fileCreatedCount + " | Total Files Copied: " + m_fileCopyCount; + UpdateStatusDisplayAndLogEvent("", msg, textPropList); + } + + if (!setupSuccessful) + break; + } + + } while (nav.MoveToNext()); // move to next software package + } + + return setupSuccessful; + } + + ///=================================================================================== + /// ProcessXML3rdLevelNodes + ///=================================================================================== + /// + /// Process the child nodes of the 3rd level node + /// in the XML file. + /// + /// navigator object for traversing XML tree + /// + /// + /// + /// true if processing node successfully, otherwise false + ///=================================================================================== + private bool ProcessXML3rdLevelNodes(XPathNavigator nav, string defaultStartingSourcePath, string startingSourcePath, string startingDestPath, SourceFile sourceFile) + { + bool setupSuccessful = true; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string msg, indentation = String.Empty, errMsg = "", tempStr = ""; + + Match regExMatch; + + eCopyType copyType = eCopyType.FILES; + + do + { + sourceFiles.Clear(); + sourceFile.SourcePath = ""; + sourceFile.destPath = ""; + + if (string.Equals(nav.Name, "filescopy", StringComparison.CurrentCultureIgnoreCase)) + { + copyType = eCopyType.FILES; + } + else if (string.Equals(nav.Name, "folderscopy", StringComparison.CurrentCultureIgnoreCase)) + { + copyType = eCopyType.FOLDERS; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Invalid tag name specified. XML Node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + + // do not force sourcedir to be specified to allow user to be able to create a new file at the destination + sourceFile.SourcePath = nav.GetAttribute("sourcedir", string.Empty); + sourceFile.SourcePath = sourceFile.SourcePath.Trim(' '); + + // match macro defined in the value of they key, macro is in the form of {xxxxx} such as {user_desktop}, {user_temp_folder}, {cd_drive} + regExMatch = Regex.Match(sourceFile.SourcePath, @"^\{([^\{\}]+)\}.*", RegexOptions.IgnoreCase); + + if (string.Equals(sourceFile.SourcePath, ".")) + { + if (startingSourcePath.Length > 0) + sourceFile.SourcePath = startingSourcePath; + else + sourceFile.SourcePath = defaultStartingSourcePath; + } + else if (regExMatch.Success) + { + if (Common.pathContainsMacro(regExMatch.Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(regExMatch.Groups[0].Value); + + if (Common.pathContainsCdDriveMacro(regExMatch.Groups[0].Value)) + { + if (resolvedPath.Length == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + regExMatch.Groups[0].Value + " macro was defined. But no CD drive is found in the system" + ". XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + sourceFile.SourcePath = resolvedPath; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"sourcedir\" specifies an invalid macro in the path. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + tempStr = nav.GetAttribute("cdlabel", string.Empty); + + if (tempStr.Length > 0) + { + sourceFile.cdLabel = tempStr; + } + + if (sourceFile.SourcePath.Length > 0) + { + // if path is not absolute path + if (!Path.IsPathRooted(sourceFile.SourcePath)) + { + if (startingSourcePath.Length > 0) + { + if (!PathManip.PathContainsAtLeastOneFolder(startingSourcePath)) + startingSourcePath = PathManip.AddTrailingSlashToPath(startingSourcePath); + + sourceFile.SourcePath = Path.GetFullPath(Path.Combine(startingSourcePath, sourceFile.SourcePath)); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"sourcedir\" cannot specify a relative path here since there's no absolute path defined in the parent node. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + } + + if (setupSuccessful && sourceFile.SourcePath.Length > 0 && !Hardware.IsCdDrive(sourceFile.SourcePath) && !Directory.Exists(sourceFile.SourcePath)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + + // the directory exists but the account being used by application is denied access + if (PathManip.DirectoryVisible(sourceFile.SourcePath, ref errMsg)) + { + msg = "\n" + indentation + "- FAILED. " + errMsg + "."; + + if (PathManip.PathIsNetworkPath(sourceFile.SourcePath)) + { + msg += "\n" + indentation + "This error is caused by the fact that this application is run as an account that does not have access privileges to the network path. " + + "\n" + indentation + "Run this application using an account that is allowed by the network path you're trying to access. XML Node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + } + } + else + { + msg = "\n" + indentation + "- FAILED. Attribute \"sourcedir\" specifies a relative/absolute path that does not exist in file system. XML Node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + setupSuccessful = false; + break; + + } + + sourceFile.destPath = nav.GetAttribute("destdir", string.Empty).TrimEnd('\\'); + sourceFile.destPath = sourceFile.destPath.Trim(' '); + + // match macro defined in the value of they key, macro is in the form of {xxxxx} such as {user_desktop}, {user_temp_folder}, {cd_drive} + regExMatch = Regex.Match(sourceFile.destPath, @"^\{([^\{\}]+)\}.*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + if (Common.pathContainsMacro(regExMatch.Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(regExMatch.Groups[0].Value); + + if (Common.pathContainsCdDriveMacro(regExMatch.Groups[0].Value)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + regExMatch.Groups[0].Value + " macro is not allowed to be specified for attribute \"destdir\"" + ". XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + + sourceFile.destPath = resolvedPath; + + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"destdir\" specifies an invalid macro in the path. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + else if (string.Equals(sourceFile.destPath, ".")) + { + if (startingDestPath.Length > 0) + sourceFile.destPath = startingDestPath; + else + sourceFile.destPath = defaultStartingSourcePath; + } + + if (sourceFile.destPath.Length > 0) + { + // if path is not absolute path + if (!Path.IsPathRooted(sourceFile.destPath)) + { + if (startingDestPath.Length > 0) + { + string absPathFiltered = sourceFile.destPath; + // remove unwated characters at beginning of relative path + regExMatch = Regex.Match(sourceFile.destPath, @"^[\\\.]+(.+)", RegexOptions.IgnoreCase); + if (regExMatch.Success) + absPathFiltered = regExMatch.Groups[1].Value; + + if (!PathManip.PathContainsAtLeastOneFolder(startingDestPath)) + startingDestPath = PathManip.AddTrailingSlashToPath(startingDestPath); + + sourceFile.destPath = Path.Combine(startingDestPath, absPathFiltered); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"destdir\" cannot specify a relative path here since there's no absolute path defined in the parent node. XML node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Attribute \"destdir\" is missing or has no value in node " + nav.OuterXml.Substring(0, nav.OuterXml.IndexOf(">") + 1) + " on line " + ((IXmlLineInfo)nav).LineNumber.ToString(); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + + sourceFile.masterOverwrite = nav.GetAttribute("overwriteallfiles", string.Empty).TrimEnd('\\'); + sourceFile.Recursive = nav.GetAttribute("recursive", string.Empty).TrimEnd('\\'); + + if (!ProcessXML4thLevelNodes(nav, sourceFile, copyType)) + setupSuccessful = false; + + // after processing a package, perform file transfer + if (setupSuccessful && sourceFiles.Count > 0) + { + setupSuccessful = processFilePackage(); + } + + } while (nav.MoveToNext()); + + return setupSuccessful; + } + + ///=================================================================================== + /// ProcessXML4thLevelNodes + ///=================================================================================== + /// + /// Process the child nodes of the 4th level node + /// in the XML file. Get all the files to be built + /// + /// navigator object for traversing XML tree + /// + /// true if processing node successfully, otherwise false + ///=================================================================================== + private bool ProcessXML4thLevelNodes(XPathNavigator nav, SourceFile sourceFile, eCopyType copyType) + { + List fileActions = new List(); + List filesSaveAs = new List(); + List listOverwriteFiles = new List(); + string fileInclude = "", fileExclude = ""; + string[,] fileAction = new string[1, 2]; + string[,] fileSaveAs = new string[1, 2]; + string[,] overwriteFiles = new string[1, 2]; + string msg = "", tempMsg = ""; + bool setupSuccessful = true; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string indentation = String.Empty; + + if (nav.MoveToFirstChild()) + { + // extract all the files and actions for files + do + { + fileAction[0, 0] = ""; + fileAction[0, 1] = ""; + + fileSaveAs[0, 0] = ""; + fileSaveAs[0, 1] = ""; + + overwriteFiles[0, 0] = ""; + overwriteFiles[0, 1] = ""; + + if (string.Equals(nav.Name, "fileinclude", StringComparison.CurrentCultureIgnoreCase)) + { + if (nav.Value.Length > 0) + { + if (fileInclude == string.Empty) + fileInclude = nav.Value.Trim(); + else if (nav.Value.Trim() == "*.*") + fileInclude = nav.Value.Trim(); + else if (fileInclude != "*.*") + fileInclude += "," + nav.Value.Trim(); + + // check to see if this file needs to be renamed at the destination + overwriteFiles[0, 0] = nav.GetAttribute("overwritefile", string.Empty); + + if (overwriteFiles[0, 0].Length > 0) + { + // this is the file + overwriteFiles[0, 1] = nav.Value; + } + + if (overwriteFiles[0, 0] != string.Empty && overwriteFiles[0, 1] != string.Empty) + { + listOverwriteFiles.Add(new string[,] { { overwriteFiles[0, 0], overwriteFiles[0, 1] } }); + } + + if (fileInclude != "*.*") + { + // check to see if this file needs to be renamed at the destination + fileSaveAs[0, 0] = nav.GetAttribute("saveas", string.Empty); + + if (fileSaveAs[0, 0].Length > 0) + { + // this is the file + fileSaveAs[0, 1] = nav.Value; + } + } + + if (fileSaveAs[0, 0] != string.Empty && fileSaveAs[0, 1] != string.Empty && sourceFile.SourcePath.Length > 0) + filesSaveAs.Add(new string[,] { { fileSaveAs[0, 0], fileSaveAs[0, 1] } }); + + // as long as the file specified doesn't contain wildcard + if (!Regex.IsMatch(nav.Value, @"\*", RegexOptions.IgnoreCase)) + { + // check if there are any actions specified for this file + string attr = nav.GetAttribute("actions", string.Empty); + + if (attr.Length > 0) + { + string[] actions = attr.Split(','); + + if (actions.Length > 0) + { + foreach (string action in actions) + fileActions.Add(new string[,] { { action, nav.Value } }); + } + } + } + } + } + else if (string.Equals(nav.Name, "fileexclude", StringComparison.CurrentCultureIgnoreCase)) + { + if (nav.Value.Length > 0) + { + if (fileExclude == string.Empty) + fileExclude += nav.Value; + else + fileExclude += "," + nav.Value; + } + } + } while (nav.MoveToNext()); + + nav.MoveToParent(); + } + + Match regExMatch; + + string[] filesToExclude = new string[] { }; + + if (fileExclude.Length > 0) + { + List paths = new List(); + string[] files = fileExclude.Split(','); + string[] files2; + + foreach (string file in files) + { + regExMatch = Regex.Match(file, @"\*\.[^\*,]+"); + if (regExMatch.Success) + { + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(sourceFile.SourcePath, @"^" + Regex.Escape(PathManip.RemoveTrailingSlashInPath(drive.Name)) + @".*", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !Directory.Exists(sourceFile.SourcePath)) + { + Hardware.OpenCdDrive(drive.Name); + + tempMsg = "Please insert a disc"; + + if (sourceFile.cdLabel.Length > 0) + tempMsg += " labeled \"" + sourceFile.cdLabel + "\""; + + tempMsg += " into drive " + drive.Name + " that has the following path:\n" + sourceFile.SourcePath + "\n\n Click OK to proceed"; + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, + tempMsg, "Info", -1); + + if (String.Equals(msg, "cancel", StringComparison.OrdinalIgnoreCase)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Unable to locate path: " + sourceFile.SourcePath; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + break; + } + } + + if (setupSuccessful) + { + if (copyType == eCopyType.FILES) + { + if (String.Equals(sourceFile.Recursive, "yes", StringComparison.OrdinalIgnoreCase) || String.Equals(sourceFile.Recursive, "true", StringComparison.OrdinalIgnoreCase)) + { + files2 = Directory.GetFiles(sourceFile.SourcePath, regExMatch.Value, SearchOption.AllDirectories); + } + else + files2 = Directory.GetFiles(sourceFile.SourcePath, regExMatch.Value, SearchOption.TopDirectoryOnly); + } + else + files2 = Directory.GetFiles(sourceFile.SourcePath, regExMatch.Value, SearchOption.AllDirectories); + + paths.AddRange(files2.ToList()); + } + } + else + { + paths.Add(sourceFile.SourcePath + @"\" + file); + } + } + + filesToExclude = paths.ToArray(); + } + + string[] filesToInclude = new string[] { }; + + if (setupSuccessful) + { + // look for wildcard search for files + regExMatch = Regex.Match(fileInclude, @"^\*\.\*$"); + + // if file to be copied is defined as *.*, then we want to include all files in the source directory + if (regExMatch.Success && sourceFile.SourcePath.Length > 0) + { + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(sourceFile.SourcePath, @"^" + Regex.Escape(PathManip.RemoveTrailingSlashInPath(drive.Name)) + @".*", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !Directory.Exists(sourceFile.SourcePath)) + { + Hardware.OpenCdDrive(drive.Name); + + tempMsg = "Please insert a disc"; + + if (sourceFile.cdLabel.Length > 0) + tempMsg += " labeled \"" + sourceFile.cdLabel + "\""; + + tempMsg += " into drive " + drive.Name + " that has the following path:\n" + sourceFile.SourcePath + "\n\n Click OK to proceed"; + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, + tempMsg, "Info", -1); + + if (String.Equals(msg, "cancel", StringComparison.OrdinalIgnoreCase)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Unable to locate path: " + sourceFile.SourcePath; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + break; + } + } + + if (setupSuccessful) + { + if (copyType == eCopyType.FOLDERS) + { + filesToInclude = Directory.GetFiles(sourceFile.SourcePath, fileInclude, SearchOption.AllDirectories); + } + else + { + if (String.Equals(sourceFile.Recursive, "yes", StringComparison.OrdinalIgnoreCase) || String.Equals(sourceFile.Recursive, "true", StringComparison.OrdinalIgnoreCase)) + { + filesToInclude = Directory.GetFiles(sourceFile.SourcePath, fileInclude, SearchOption.AllDirectories); + } + else + filesToInclude = Directory.GetFiles(sourceFile.SourcePath, fileInclude, SearchOption.TopDirectoryOnly); + + // save overwrite file flag + foreach (string[,] overwriteFlag in listOverwriteFiles) + { + // if there's an overwrite flag associated with this file + if (string.Equals(overwriteFlag[0, 1], fileInclude, StringComparison.CurrentCultureIgnoreCase)) + { + sourceFile.masterOverwrite = overwriteFlag[0, 0]; + break; + } + } + } + } + } + else if (fileInclude.Length > 0) // get the individual files specified in the XML file + { + List paths = new List(); + string[] files = fileInclude.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + string[] files2; + foreach (string file in files) + { + regExMatch = Regex.Match(file, @"\*\.[^\*,]+"); + if (regExMatch.Success) + { + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(sourceFile.SourcePath, @"^" + Regex.Escape(PathManip.RemoveTrailingSlashInPath(drive.Name)) + @".*", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !Directory.Exists(sourceFile.SourcePath)) + { + Hardware.OpenCdDrive(drive.Name); + + tempMsg = "Please insert a disc"; + + if (sourceFile.cdLabel.Length > 0) + tempMsg += " labeled \"" + sourceFile.cdLabel + "\""; + + tempMsg += " into drive " + drive.Name + " that has the following path:\n" + sourceFile.SourcePath + "\n\n Click OK to proceed"; + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, + tempMsg, "Info", -1); + + if (String.Equals(msg, "cancel", StringComparison.OrdinalIgnoreCase)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Unable to locate path: " + sourceFile.SourcePath; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + break; + } + } + + if (setupSuccessful) + { + if (String.Equals(sourceFile.Recursive, "yes", StringComparison.OrdinalIgnoreCase) || String.Equals(sourceFile.Recursive, "true", StringComparison.OrdinalIgnoreCase)) + { + files2 = Directory.GetFiles(sourceFile.SourcePath, regExMatch.Value, SearchOption.AllDirectories); + } + else + files2 = Directory.GetFiles(sourceFile.SourcePath, regExMatch.Value, SearchOption.TopDirectoryOnly); + + if (files2.Length > 0) + { + string overwriteFlag = ""; + // save overwrite file flag + foreach (string[,] overwriteFlag2 in listOverwriteFiles) + { + // if there's an overwrite flag associated with this file + if (string.Equals(overwriteFlag2[0, 1], file, StringComparison.CurrentCultureIgnoreCase)) + { + overwriteFlag = overwriteFlag2[0, 0]; + break; + } + } + + if (overwriteFlag.Length > 0) + { + for (int i = 0; i < files2.Length; i++) + { + files2[i] += "," + overwriteFlag; + } + } + } + + paths.AddRange(files2.ToList()); + } + } + else + { + if (sourceFile.SourcePath.Length > 0) + paths.Add(sourceFile.SourcePath + @"\" + file); + else + paths.Add(file); + } + } + + filesToInclude = paths.ToArray(); + } + } + + if (setupSuccessful) + { + if (filesToInclude.Length == 0 && copyType == eCopyType.FOLDERS) + { + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(sourceFile.SourcePath, @"^" + Regex.Escape(PathManip.RemoveTrailingSlashInPath(drive.Name)) + @".*", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !Directory.Exists(sourceFile.SourcePath)) + { + Hardware.OpenCdDrive(drive.Name); + + tempMsg = "Please insert a disc"; + + if (sourceFile.cdLabel.Length > 0) + tempMsg += " labeled \"" + sourceFile.cdLabel + "\""; + + tempMsg += " into drive " + drive.Name + " that has the following path:\n" + sourceFile.SourcePath + "\n\n Click OK to proceed"; + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, + tempMsg, "Info", -1); + + if (String.Equals(msg, "cancel", StringComparison.OrdinalIgnoreCase)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. Unable to locate path: " + sourceFile.SourcePath; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + break; + } + } + + break; + } + } + + if (setupSuccessful) + filesToInclude = Directory.GetFiles(sourceFile.SourcePath, "*.*", SearchOption.AllDirectories); + } + } + + if (setupSuccessful) + { + // remove files that are excluded from build + if (filesToExclude.Length > 0 && filesToInclude.Length > 0 && sourceFile.SourcePath.Length > 0) + { + List filesToIncludeList = filesToInclude.ToList(); + List filesToExcludeList = filesToExclude.ToList(); + + foreach (string excludePath in filesToExcludeList) + { + string pathToRemove = ""; + foreach (string includePath in filesToIncludeList) + { + if (Regex.IsMatch(includePath, Regex.Escape(excludePath) + @"(,.+)*", RegexOptions.IgnoreCase)) + { + pathToRemove = includePath; + break; + } + } + + if (pathToRemove.Length > 0) + { + filesToIncludeList.Remove(pathToRemove); + } + } + + filesToInclude = filesToIncludeList.ToArray(); + } + } + + string baseSourceFolder = sourceFile.SourcePath; + string baseDestFolder = sourceFile.destPath; + + if (setupSuccessful) + { + // for each file to be copied, determine if there's an action associated with it + // or that it needs to be renamed, etc + foreach (string file in filesToInclude) + { + string[] fileParts = file.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + sourceFile.FileName = Path.GetFileName(fileParts[0]); + sourceFile.FileNameSaveAs = ""; + sourceFile.Actions = new List(); + sourceFile.individualOverwrite = ""; + + if (sourceFile.masterOverwrite.Length > 0) + sourceFile.individualOverwrite = sourceFile.masterOverwrite; + + if (fileParts.Length == 1) + { + // save overwrite file flag + foreach (string[,] overwriteFlag in listOverwriteFiles) + { + // if there's an overwrite flag associated with this file + if (string.Equals(overwriteFlag[0, 1], sourceFile.FileName, StringComparison.CurrentCultureIgnoreCase)) + { + sourceFile.individualOverwrite = overwriteFlag[0, 0]; + break; + } + } + } + else + { + sourceFile.individualOverwrite = fileParts[1]; + } + + // save all the actions needed to be perform for this file + foreach (string[,] action in fileActions) + { + // if there's an action associated with this file + if (string.Equals(action[0, 1], sourceFile.FileName, StringComparison.CurrentCultureIgnoreCase)) + { + //if (string.Equals(action[0, 0], eFileAction.CreateSWBuildIDEntries.ToString(), StringComparison.CurrentCultureIgnoreCase)) + // sourceFile.Actions.Add(eFileAction.CreateSWBuildIDEntries); + //else if (string.Equals(action[0, 0], eFileAction.BuildProjectUsingVS2010Compiler.ToString(), StringComparison.CurrentCultureIgnoreCase)) + // sourceFile.Actions.Add(eFileAction.BuildProjectUsingVS2010Compiler); + //else if (string.Equals(action[0, 0], eFileAction.BuildProjectUsingVS2009Compiler.ToString(), StringComparison.CurrentCultureIgnoreCase)) + // sourceFile.Actions.Add(eFileAction.BuildProjectUsingVS2009Compiler); + //else if (string.Equals(action[0, 0], eFileAction.BuildProjectInDebug.ToString(), StringComparison.CurrentCultureIgnoreCase)) + // sourceFile.Actions.Add(eFileAction.BuildProjectInDebug); + //else if (string.Equals(action[0, 0], eFileAction.BuildProjectInRelease.ToString(), StringComparison.CurrentCultureIgnoreCase)) + // sourceFile.Actions.Add(eFileAction.BuildProjectInRelease); + } + } + + foreach (string[,] fileRename in filesSaveAs) + { + // if a source file is to be renamed at the destination + if (string.Equals(fileRename[0, 1], sourceFile.FileName, StringComparison.CurrentCultureIgnoreCase) && sourceFile.SourcePath.Length > 0) + { + sourceFile.FileNameSaveAs = fileRename[0, 0]; + break; + } + else if (Regex.IsMatch(fileRename[0, 1], @"^\*\.\w+$", RegexOptions.IgnoreCase)) // if the file to be renamed has a wildcard in it + { + regExMatch = Regex.Match(fileRename[0, 1], @".+(\.\w+)$", RegexOptions.IgnoreCase); + + if (regExMatch.Success && regExMatch.Groups.Count > 1) + { + string pattern = Regex.Escape(regExMatch.Groups[1].Value) + @"$"; + + if (Regex.IsMatch(sourceFile.FileName, pattern, RegexOptions.IgnoreCase)) + { + sourceFile.FileNameSaveAs = fileRename[0, 0]; + break; + } + } + } + } + + string fileSourcePath = Path.GetDirectoryName(file); + string regexPattern = Regex.Escape(baseSourceFolder) + @"\\(.+)"; + if (copyType == eCopyType.FOLDERS) + { + regExMatch = Regex.Match(fileSourcePath, regexPattern, RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + sourceFile.SourcePath = fileSourcePath; + sourceFile.destPath = baseDestFolder + @"\" + regExMatch.Groups[1].Value; + } + } + else + sourceFile.SourcePath = fileSourcePath; + + sourceFiles.Add(sourceFile); + } + } + + return setupSuccessful; + } + + bool verifyFilePackagesInfo() + { + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg; + + List textPropList = new List(); + + for (int i = 0; i < fileTransferPackages.Count; i++) + { + if (fileTransferPackages[i].iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + fileTransferPackages[i].iniSectionName + + "\n" + indentation + "Key: " + fileTransferPackages[i].iniKeyName + + "\n" + indentation + "Value: " + fileTransferPackages[i].iniValue + + "\n" + indentation + "Error Description: The value is missing for the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + setupSuccessful = false; + break; + } + else + { + iniVal = fileTransferPackages[i]; + iniVal.iniValue = Path.GetFullPath(fileTransferPackages[i].iniValue); + + fileTransferPackages[i] = iniVal; + + if (!File.Exists(iniVal.iniValue)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + fileTransferPackages[i].iniSectionName + + "\n" + indentation + "Key: " + fileTransferPackages[i].iniKeyName + + "\n" + indentation + "Value: " + fileTransferPackages[i].iniValue + + "\n" + indentation + "Error Description: The value indicates an invalid path in the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + setupSuccessful = false; + break; + } + } + } + + return setupSuccessful; + } + + public struct SourceFile + { + public string FileName + { + get; + set; + } + + public string FileNameSaveAs + { + get; + set; + } + + // specify whether to include files recursively + public string Recursive + { + get; + set; + } + + // specify that all files will be overwritten + public string masterOverwrite + { + get; + set; + } + + // specify that a particular file will be overwritten + public string individualOverwrite + { + get; + set; + } + + public string SourcePath + { + get; + set; + } + + public string destPath + { + get; + set; + } + + public string cdLabel + { + get; + set; + } + + public string SoftwareProduct + { + get; + set; + } + + public List Actions + { + get; + set; + } + + public SourceFile(string str) + : this() + { + FileName = ""; + FileNameSaveAs = ""; + SourcePath = ""; + destPath = ""; + cdLabel = ""; + SoftwareProduct = ""; + Recursive = ""; + masterOverwrite = ""; + individualOverwrite = ""; + } + + } + } +} diff --git a/AllPurposeAutoSetup/FoldersManager.cs b/AllPurposeAutoSetup/FoldersManager.cs new file mode 100644 index 0000000..54f2874 --- /dev/null +++ b/AllPurposeAutoSetup/FoldersManager.cs @@ -0,0 +1,501 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.Windows.Misc; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class FoldersManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public List> dirsToCreate = new List>(); + + // this dictionary stores path and its associated share names + // it would look like this: + // [ path1 ] -> List[sharenames accounts_to_share] + // [ path2 ] -> List[sharenames accounts_to_share] + public Dictionary, List>> pathAndShareNames = new Dictionary, List>>(); + + Form m_parentForm; + + public FoldersManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool shareFolders(string sectionName) + { + string indentation = String.Empty; + bool setupSuccessful = true; + string msg, errorMsg = ""; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Configuring network shares=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + pathAndShareNames.Clear(); + + ConfigFileManager.readOneToManyDictionary(ConfigFileManager.ms_configGeneralInfo.iniFile, + sectionName, @"(path\d+)$", @"(path\d+)[^\d].+$", pathAndShareNames); + + setupSuccessful = verifyNetworkSharesInfo(); + + if (setupSuccessful) + { + if (pathAndShareNames.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to share"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + foreach (KeyValuePair, List>> entry in pathAndShareNames) + { + int autoShareNameKeyIndex = entry.Value.FindIndex(x => Regex.IsMatch(x.iniKeyName, @"auto-generated", RegexOptions.IgnoreCase)); + int shareNameKeyIndex = entry.Value.FindIndex(x => Regex.IsMatch(x.iniKeyName, @"path\d+_additional.+", RegexOptions.IgnoreCase)); + int allowedAccountKeyIndex = entry.Value.FindIndex(x => Regex.IsMatch(x.iniKeyName, @"path\d+_allowed.+", RegexOptions.IgnoreCase)); + + List accounts = new List(); + List shareNames = new List(); + + if (allowedAccountKeyIndex >= 0) + { + accounts = new List(entry.Value[allowedAccountKeyIndex].iniValue.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); + } + + if (accounts.Count == 0) + { + accounts.Add("Everyone"); + } + + if (shareNameKeyIndex >= 0) + { + shareNames = new List(entry.Value[shareNameKeyIndex].iniValue.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); + } + else if (autoShareNameKeyIndex >= 0) + { + shareNames = new List(entry.Value[autoShareNameKeyIndex].iniValue.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); + } + + foreach (string name in shareNames) + { + string nameFormatted = name.Trim(); + + if (nameFormatted.Length == 1) + nameFormatted = nameFormatted.ToUpper(); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Sharing " + entry.Key.iniValue + " as " + nameFormatted; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "sharing") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "as") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + if (Directory.Exists("\\\\" + Environment.MachineName + '\\' + nameFormatted)) + { + msg += " - SKIPPED. Share name already exists"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SKIPPED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "as") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "- skipped.") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + setupSuccessful = NetworkSharing.EnableNetworkFolderSharing(entry.Key.iniValue, nameFormatted, "", ref errorMsg); + + if (!setupSuccessful) + { + msg += " - FAILED. " + errorMsg; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "as") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "- failed.") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "as") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "- success.") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + foreach (string account in accounts) + { + string accountFormatted = account.Trim(); + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Giving account " + accountFormatted + " Full Permission to network share " + nameFormatted; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "giving account") + 2; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "full permission") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = NetworkSharing.addAccountToNetworkShare(entry.Key.iniValue, nameFormatted, accountFormatted, "", ref errorMsg); + + if (!setupSuccessful) + { + msg += " - FAILED. " + errorMsg; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "network share") + 2; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "- failed.") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "network share") + 2; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg, "- success.") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + if (!setupSuccessful) + break; + } + + if (!setupSuccessful) + break; + } + } + } + return setupSuccessful; + } + + bool verifyNetworkSharesInfo() + { + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg, str; + string[] splitStrings; + + Dictionary, List>> tempOneToManyDict = new Dictionary, List>>(); + List textPropList = new List(); + + // for every folder to be shared, extract the folder name and use it as a share name + foreach (KeyValuePair, List>> entry in pathAndShareNames) + { + int shareNameKeyIndex = entry.Value.FindIndex(x => Regex.IsMatch(x.iniKeyName, @"path\d+_additional.+", RegexOptions.IgnoreCase)); + + str = PathManip.RemoveTrailingSlashInPath(entry.Key.iniValue); + splitStrings = str.Split(new string[] { "\\", "/", ":" }, StringSplitOptions.RemoveEmptyEntries); + + // get the name of folder to be shared + if (splitStrings.Length > 0 && splitStrings[splitStrings.Length - 1].Length > 0) + { + if (!tempOneToManyDict.ContainsKey(entry.Key)) + { + tempOneToManyDict[entry.Key] = new List>(pathAndShareNames[entry.Key]); + } + + if (shareNameKeyIndex >= 0 && tempOneToManyDict[entry.Key][shareNameKeyIndex].iniValue.Length == 0) + { + tempOneToManyDict[entry.Key].RemoveAt(shareNameKeyIndex); + shareNameKeyIndex = -1; + } + + if (shareNameKeyIndex < 0) + { + // get the folder name of the path and save it as default share name + iniVal.iniSectionName = "Auto-Generated"; + iniVal.iniKeyName = "Auto-Generated-Share-Name"; + iniVal.iniValue = splitStrings[splitStrings.Length - 1]; + + // add default share name to path + tempOneToManyDict[entry.Key].Add(iniVal); + } + else + { + iniVal = tempOneToManyDict[entry.Key][shareNameKeyIndex]; + iniVal.iniValue += ", " + splitStrings[splitStrings.Length - 1]; + tempOneToManyDict[entry.Key][shareNameKeyIndex] = iniVal; + } + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Key: " + entry.Key.iniKeyName + + "\n" + indentation + "Value: " + entry.Key.iniValue + + "\n" + indentation + "Error Description: The value above is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + + pathAndShareNames = new Dictionary, List>>(tempOneToManyDict); + + if (setupSuccessful) + pathAndShareNames = new Dictionary, List>>(tempOneToManyDict); + + return setupSuccessful; + } + + public bool createDirectories(string sectionName) + { + bool setupSuccessful = true; + + DirectoryInfo di; + string msg, indentation; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + + textPropList.Add(textProp); + msg = "\n\n-=Creating Directories=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + dirsToCreate.Clear(); + + ConfigFileManager.parseConfigInfo(sectionName, dirsToCreate); + + if (setupSuccessful) + { + if (dirsToCreate.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing create"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + foreach (ConfigFileManager.Ini_KeyValue dir in dirsToCreate) + { + di = new DirectoryInfo(Path.GetFullPath(dir.iniValue)); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + di.ToString(); + // Create the directory only if it does not already exist. + if (di.Exists == false) + { + try + { + di.Create(); + + msg += " - SUCCESS"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS"); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + } + else + { + msg += " - SKIPPED. ( Directory already exists )"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SKIPPED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + if (!setupSuccessful) + break; + } + } + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/GutsConfigFileManager.cs b/AllPurposeAutoSetup/GutsConfigFileManager.cs new file mode 100644 index 0000000..7ae1ccc --- /dev/null +++ b/AllPurposeAutoSetup/GutsConfigFileManager.cs @@ -0,0 +1,448 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class GutsConfigFileManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + // dictionary that stores key value pair for each entry in the GUTS config file + public List> gutsConfigEntries = new List>(); + + public ConfigFileManager.Ini_KeyValue sm3seekerConfigFile = new ConfigFileManager.Ini_KeyValue(""); + public ConfigFileManager.Ini_KeyValue gutsBinariesLocation = new ConfigFileManager.Ini_KeyValue(""); + + Form m_parentForm; + + public GutsConfigFileManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool processGutsConfigFile(string sectionName) + { + bool setupSuccessful = true; + string msg, errMsg = String.Empty, sourceFile, destFile = ""; + string indentation = String.Empty; + bool performFileCopying = true; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Processing GUTS Config File=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + gutsConfigEntries.Clear(); + + ConfigFileManager.parseConfigInfo(sectionName, gutsConfigEntries); + + readGutsInfo(); + + setupSuccessful = verifyConfigInfo(); + + if (setupSuccessful) + { + + destFile = PathManip.RemoveTrailingSlashInPath(gutsBinariesLocation.iniValue) + "\\Sm3Seeker.cfg"; + + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 1; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Copying " + Path.GetFileName(sm3seekerConfigFile.iniValue); + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + performFileCopying = true; + + sourceFile = sm3seekerConfigFile.iniValue; + sourceFile = PathManip.GetProperFilePathCapitalization(sourceFile); + + if (!File.Exists(sourceFile)) + { + msg = " - FAILED. File " + sourceFile + " not found"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + } + + if (File.Exists(destFile) && setupSuccessful) + { + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.YESNO, null, "File " + destFile + " already exists.\n\n Would you like to overwrite it?", "Info", -1); + + if (String.Equals(msg, "no", StringComparison.OrdinalIgnoreCase)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.USER_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- SKIPPED by user."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + performFileCopying = false; + } + } + + if (setupSuccessful && performFileCopying) + { + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- From: " + sourceFile; + msg += "\n" + indentation + "- To: " + destFile; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "From:"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "To:"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = FileManip.CopyFile(Path.GetDirectoryName(sourceFile), sourceFile, Path.GetDirectoryName(destFile), destFile, true, FileAttributes.Normal, ref errMsg); + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- SUCCESS."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set file to read-write access + if (FileManip.SetFileAttributeToReadAndWrite(destFile, ref errMsg)) + { + if (gutsConfigEntries.Count > 0) + { + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 2; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Modifying file " + destFile; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + string delimiter = "[,]"; + + // first we have to determine the correct keys based on the generic key provided in the INI file + // and add these dynamic keys to the existing dictionary of all the correct keys + foreach (ConfigFileManager.Ini_KeyValue configEntry in gutsConfigEntries) + { + List triplet = new List(configEntry.iniValue.Split(new string[] { delimiter }, StringSplitOptions.RemoveEmptyEntries)); + + if (triplet.Count > 0) + triplet[0] = triplet[0].Trim(); + + if (triplet.Count > 1) + triplet[1] = triplet[1].Trim(); + + if (triplet.Count > 2) + triplet[2] = triplet[2].Trim(); + + // section, key and value exist + if (triplet.Count == 3 && triplet[0].Length > 0 && triplet[1].Length > 0 && triplet[2].Length > 0) + { + setupSuccessful = modifyGutsConfigFile(destFile, triplet[0], triplet[1], triplet[2]); + + if (!setupSuccessful) + break; + } + } + } + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + errMsg; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + } + return setupSuccessful; + } + + public bool modifyGutsConfigFile(string configFile, string configSectionName, string configKey, string configValue) + { + bool setupSuccessful = true; + string msg, errMsg = String.Empty; + + string indentation = String.Empty; + Dictionary gutsSourceFileToDestFile = new Dictionary(); + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string pattern = @"(section +" + configSectionName + @"(?:(?!\nsection).)*\n" + configKey + @" +)[^;\r\n]+"; + string replacement = "${1}" + configValue; + + setupSuccessful = FileManip.ReplaceTextInFile(configFile, pattern, replacement, ref errMsg); + + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "Setting " + configKey + "=" + configValue + " in section " + configSectionName; + if (setupSuccessful) + { + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + msg += " - FAILED."; + if (errMsg.Length > 0) + msg += " " + errMsg; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + return setupSuccessful; + + } + + public void readGutsInfo() + { + string[] keyDataPair; + Dictionary keyAndValuePair = new Dictionary(); + + string sectionName; + + string[] sectionData; + + sectionName = ConfigFileManager.enum_INI_SECTION_NAMES.GUTS_Info.ToString(); + sectionData = ConfigFileManager.ms_configGeneralInfo.iniFile.ReadSectionData(sectionName); + + gutsBinariesLocation.iniKeyName = "Guts_Bin_Dir"; + gutsBinariesLocation.iniSectionName = sectionName; + + sm3seekerConfigFile.iniKeyName = "sm3seeker_config_file"; + sm3seekerConfigFile.iniSectionName = sectionName; + + foreach (string path in sectionData) + { + keyDataPair = path.Split('='); + + if (String.Equals(keyDataPair[0], gutsBinariesLocation.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + if (keyDataPair.Length == 2) + { + gutsBinariesLocation.iniValue = keyDataPair[1]; + } + } + else if (String.Equals(keyDataPair[0], sm3seekerConfigFile.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + if (keyDataPair.Length == 2 && keyDataPair[1].Length > 0) + { + sm3seekerConfigFile.iniValue = Path.GetFullPath(keyDataPair[1]); + } + } + } + } + + bool verifyConfigInfo() + { + bool setupSuccessful = true; + string indentation = String.Empty; + string msg, tempPath; + + List textPropList = new List(); + + if (gutsBinariesLocation.iniValue.Length == 0) + { + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + gutsBinariesLocation.iniSectionName + + "\n" + indentation + "Key: " + gutsBinariesLocation.iniKeyName + + "\n" + indentation + "Value: " + gutsBinariesLocation.iniValue + + "\n" + indentation + "Error Description: Either one or a combination of Section, Key, or Value is not defined in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + else if (sm3seekerConfigFile.iniValue.Length == 0) + { + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + sm3seekerConfigFile.iniSectionName + + "\n" + indentation + "Key: " + sm3seekerConfigFile.iniKeyName + + "\n" + indentation + "Value: " + sm3seekerConfigFile.iniValue + + "\n" + indentation + "Error Description: Either one or a combination of Section, Key, or Value is not defined in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + tempPath = Path.GetFullPath(gutsBinariesLocation.iniValue); + + if (!Directory.Exists(gutsBinariesLocation.iniValue)) + { + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + gutsBinariesLocation.iniSectionName + + "\n" + indentation + "Key: " + gutsBinariesLocation.iniKeyName + + "\n" + indentation + "Value: " + gutsBinariesLocation.iniValue + + "\n" + indentation + "Error Description: The path defined in the value above is invalid. Translated path " + tempPath; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + else + gutsBinariesLocation.iniValue = tempPath; + } + + if (setupSuccessful) + { + tempPath = Path.GetFullPath(sm3seekerConfigFile.iniValue); ; + + if (!File.Exists(sm3seekerConfigFile.iniValue)) + { + indentation = Common.getIndentation(2); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + sm3seekerConfigFile.iniSectionName + + "\n" + indentation + "Key: " + sm3seekerConfigFile.iniKeyName + + "\n" + indentation + "Value: " + sm3seekerConfigFile.iniValue + + "\n" + indentation + "Error Description: The path defined in the value above is invalid. Translated path " + tempPath; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + else + sm3seekerConfigFile.iniValue = tempPath; + } + + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/GutsSoftwareBuildAssistant.cs b/AllPurposeAutoSetup/GutsSoftwareBuildAssistant.cs new file mode 100644 index 0000000..e6390d0 --- /dev/null +++ b/AllPurposeAutoSetup/GutsSoftwareBuildAssistant.cs @@ -0,0 +1,698 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class GutsSoftwareBuildAssistant + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + public event Action RestartApplication; + + public List> gutsPrebuildParams = new List>(); + + Form m_parentForm; + + public GutsSoftwareBuildAssistant(Form parentForm) + { + m_parentForm = parentForm; + } + + // if one were to build GUTS from the files pulled from Synergy, the build will fail because + // additional files (source and headers) must be added to the GUTS project in order to build + // GUTS successfully. There's a perl script (dashboard.pl) that creates all the necessary files. + // But before the dashboard.pl can create all additional files, that path to the GUTS project + // must be specified in the windows environmental system variables and that the path to the Perl + // executable must be in the system Path variable. If these 2 things are not correct, the dashboard.pl + // will not be able to copy files to the GUTS project folder and GUTS will fail the build + // this function will ensure that everything is right to run the dashboard.pl and that it can create + // files and add them to the GUTS project folders. + public bool gutsPrebuildCheck(string sectionName) + { + string msg, indentation = String.Empty, gutsRootPath = ""; + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue gutsDevelopmentFolder = new ConfigFileManager.Ini_KeyValue(""); + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=GUTS Pre-build Check=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + gutsPrebuildParams.Clear(); + + ConfigFileManager.parseConfigInfo(sectionName, gutsPrebuildParams); + + if (setupSuccessful) + { + setupSuccessful = verifyGutsDirectoryStructure(ref gutsRootPath); + + if (setupSuccessful) + setupSuccessful = runGutsPrebuildScript(gutsRootPath); + } + + return setupSuccessful; + } + + bool verifyGutsDirectoryStructure(ref string gutsRootPath) + { + bool setupSuccessful = true; + string msg, indentation = String.Empty; + Match regExMatch; + ConfigFileManager.Ini_KeyValue gutsDevelopmentFolder = new ConfigFileManager.Ini_KeyValue(""); + List paths = new List(); + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + gutsRootPath = ""; + + gutsDevelopmentFolder = getGutsDevelopmentFolderIniInfo(); + if (gutsDevelopmentFolder.iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + gutsDevelopmentFolder.iniSectionName + + "\n" + indentation + "Key: " + gutsDevelopmentFolder.iniKeyName + + "\n" + indentation + "Value: " + gutsDevelopmentFolder.iniValue + + "\n" + indentation + "Error Description: The key or value is missing for the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + regExMatch = Regex.Match(gutsDevelopmentFolder.iniValue, @"(.+\\GUTS[^\\]*)\\?.*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + gutsRootPath = regExMatch.Groups[1].Value; + } + else + gutsRootPath = PathManip.RemoveTrailingSlashInPath(gutsDevelopmentFolder.iniValue) + "\\" + "GUTS"; + + paths.Add(gutsRootPath); + paths.Add(gutsRootPath + "\\SM3_Tools\\Dashboard"); + paths.Add(gutsRootPath + "\\SM3\\src\\app"); + + foreach (string path in paths) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Verify path \"" + PathManip.GetProperDirectoryCapitalization(path) + "\""; + + if (Directory.Exists(path)) + { + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + msg += " - FAILED."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + if (!setupSuccessful) + break; + } + } + + return setupSuccessful; + } + + bool runGutsPrebuildScript(string gutsRootPath) + { + bool environmentVarChanged = false; + string msg = "", additionalFileMissing = "", errMsg = "", indentation, dashboardScriptPath, currentPathEnvVar = "", currentSm3SeekerEnvVar = ""; + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue genericIniInfo = new ConfigFileManager.Ini_KeyValue(""); + ConfigFileManager.Ini_KeyValue pathAndNameOfAddtionalFilesList = new ConfigFileManager.Ini_KeyValue(""); + ConfigFileManager.Ini_KeyValue perlBinaryPath = new ConfigFileManager.Ini_KeyValue(""); + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + pathAndNameOfAddtionalFilesList = getPathAndNameOfAddtionalFileList(); + genericIniInfo = pathAndNameOfAddtionalFilesList; + + perlBinaryPath = getPerlBinaryPathIniInfo(); + if (genericIniInfo.iniValue.Length > 0) + genericIniInfo = perlBinaryPath; + + if (genericIniInfo.iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + genericIniInfo.iniSectionName + + "\n" + indentation + "Key: " + genericIniInfo.iniKeyName + + "\n" + indentation + "Value: " + genericIniInfo.iniValue + + "\n" + indentation + "Error Description: The key or value is missing for the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + if (File.Exists(pathAndNameOfAddtionalFilesList.iniValue)) + { + verifyAdditionalFilesAlreadyExistInGutsProject(gutsRootPath, pathAndNameOfAddtionalFilesList.iniValue, ref additionalFileMissing, ref errMsg); + + if (errMsg.Length > 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Parsing file \"" + pathAndNameOfAddtionalFilesList.iniValue + "\" - FAILED. " + errMsg; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + else if (additionalFileMissing.Length > 0) + { + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, "File \"" + additionalFileMissing + "\" is missing. \n\nProceeding with running pre-build script to create necessary files." , "Info", -1); + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Verify additional files already exist within \"" + gutsRootPath + "\" - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Verify file \"" + pathAndNameOfAddtionalFilesList.iniValue + "\" - FAILED."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + if ( msg.Length > 0 ) + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + // at least 1 required file is missing from the GUTS project folder, we must run script to copy all the necessary files to GUTS folder + if (setupSuccessful && additionalFileMissing.Length > 0) + { + dashboardScriptPath = gutsRootPath + @"\SM3_Tools\Dashboard\dashboard.pl"; + + if (!File.Exists(dashboardScriptPath)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Verify file \"" + dashboardScriptPath + "\" - FAILED. File does not exist"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + string perlAppPath = PathManip.AddTrailingSlashToPath(perlBinaryPath.iniValue) + "Perl.exe"; + if (!File.Exists(perlAppPath)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Verify file \"" + perlAppPath + "\" - FAILED. File does not exist. Please install Perl."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + try + { + currentPathEnvVar = System.Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Machine); + + perlBinaryPath.iniValue = PathManip.RemoveTrailingSlashInPath(perlBinaryPath.iniValue); + } + catch (Exception e) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Querying system environment variable \"Path\" - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + + if (setupSuccessful) + { + try + { + currentSm3SeekerEnvVar = System.Environment.GetEnvironmentVariable("SM3_SEEKER", EnvironmentVariableTarget.Machine); + } + catch (Exception e) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Querying system environment variable \"SM3_SEEKER\" - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + + if (setupSuccessful) + { + // if the perl binary path is not specified in the system environment variable "Path", we add it + if (!Regex.IsMatch(currentPathEnvVar, @".*" + Regex.Escape(perlBinaryPath.iniValue) + @".*", RegexOptions.IgnoreCase)) + { + currentPathEnvVar += ";" + perlBinaryPath.iniValue; + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting environment variable [Path=$Path;" + perlBinaryPath.iniValue + "]"; + try + { + System.Environment.SetEnvironmentVariable("Path", currentPathEnvVar, EnvironmentVariableTarget.Machine); + + environmentVarChanged = true; + + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + } + } + + if (setupSuccessful) + { + // if the SM3_SEEKR path does not match the GUTS Development Folder path, we change it + if (!Regex.IsMatch(currentSm3SeekerEnvVar, @"^" + Regex.Escape(gutsRootPath) + @"\\SM3$", RegexOptions.IgnoreCase)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting environment variable [SM3_SEEKER=" + gutsRootPath + @"\SM3]"; + try + { + System.Environment.SetEnvironmentVariable("SM3_SEEKER", gutsRootPath + @"\SM3", EnvironmentVariableTarget.Machine); + + environmentVarChanged = true; + + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + + if (environmentVarChanged) + { + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, "The application has made changes/additions to the System Environment Variables.\n\n The application must be restarted for the System Environment Variables to take effect.\n\n Click OK to close the application and run the application again.", "Info", -1); + + // raise the event to restart the application + RestartApplication(); + } + + if (setupSuccessful && !((frmSetupStatusDisplay)m_parentForm).applicationNeedsToBeRestarted()) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Regular); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Executing script to create required files to GUTS project folder"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + msg = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.YESNO, null, "Would you like to run the perl script to copy necessary files to GUTS folder?", "Info", -1); + + if (String.Equals(msg, "yes", StringComparison.OrdinalIgnoreCase)) + { + try + { + var process = Process.Start(perlAppPath, dashboardScriptPath); + process.WaitForExit(); + + verifyAdditionalFilesAlreadyExistInGutsProject(gutsRootPath, pathAndNameOfAddtionalFilesList.iniValue, ref additionalFileMissing, ref errMsg); + + if (errMsg.Length == 0 && additionalFileMissing.Length == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = " - SUCCESS"; + + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + if (errMsg.Length > 0 ) + msg = " - FAILED. " + errMsg; + else + msg = " - FAILED. " + additionalFileMissing + " not found."; + + setupSuccessful = false; + } + } + catch (Exception e) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = " - FAILED. Error executing file " + dashboardScriptPath + ". " + e.Message; + + setupSuccessful = false; + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = " - FAILED. User chooses to not run script."; + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + + return setupSuccessful; + } + + void verifyAdditionalFilesAlreadyExistInGutsProject(string gutsRootPath, string pathAndNameToListOfFiles, ref string fileMissing, ref string errMsg) + { + string line, filePart2, filePath; + Match regExMatch; + errMsg = ""; + fileMissing = ""; + FileStream fs = null; + StreamReader reader = null; + + try + { + fs = new FileStream(pathAndNameToListOfFiles, FileMode.Open, FileAccess.Read); + reader = new StreamReader(fs, Encoding.Default); + + while ((line = reader.ReadLine()) != null) + { + line = line.Trim(); + + if (line.Length > 0) + { + regExMatch = Regex.Match(line, @"(.*\\)?(SM3\\.+)", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + filePart2 = regExMatch.Groups[2].Value; + + filePath = gutsRootPath + "\\" + filePart2; + + if (!File.Exists(filePath)) + { + fileMissing = filePath; + break; + } + } + } + } + } + catch (Exception ex) + { + errMsg = ex.Message; + } + finally + { + if (reader != null) + { + reader.Close(); + fs.Close(); + } + } + + } + + ConfigFileManager.Ini_KeyValue getPerlBinaryPathIniInfo() + { + ConfigFileManager.Ini_KeyValue iniInfo = new ConfigFileManager.Ini_KeyValue(""); + iniInfo.iniKeyName = "perl_binary_path"; + iniInfo.iniSectionName = ConfigFileManager.enum_INI_SECTION_NAMES.GUTS_Pre_Build_Assistance.ToString(); + + foreach (ConfigFileManager.Ini_KeyValue iniParam in gutsPrebuildParams) + { + if (String.Equals(iniParam.iniKeyName, iniInfo.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + iniInfo = iniParam; + if (iniInfo.iniValue.Length > 0) + iniInfo.iniValue = Path.GetFullPath(iniInfo.iniValue); + break; + } + } + + return iniInfo; + } + + ConfigFileManager.Ini_KeyValue getGutsDevelopmentFolderIniInfo() + { + ConfigFileManager.Ini_KeyValue iniInfo = new ConfigFileManager.Ini_KeyValue(""); + iniInfo.iniKeyName = "GUTS_Development_Folder"; + iniInfo.iniSectionName = ConfigFileManager.enum_INI_SECTION_NAMES.GUTS_Pre_Build_Assistance.ToString(); + + foreach (ConfigFileManager.Ini_KeyValue iniParam in gutsPrebuildParams) + { + if (String.Equals(iniParam.iniKeyName, iniInfo.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + iniInfo = iniParam; + if (iniInfo.iniValue.Length > 0) + iniInfo.iniValue = Path.GetFullPath(iniInfo.iniValue); + break; + } + } + + return iniInfo; + } + + ConfigFileManager.Ini_KeyValue getPathAndNameOfAddtionalFileList() + { + ConfigFileManager.Ini_KeyValue iniInfo = new ConfigFileManager.Ini_KeyValue(""); + iniInfo.iniKeyName = "list_of_additional_files"; + iniInfo.iniSectionName = ConfigFileManager.enum_INI_SECTION_NAMES.GUTS_Pre_Build_Assistance.ToString(); + + foreach (ConfigFileManager.Ini_KeyValue iniParam in gutsPrebuildParams) + { + if (String.Equals(iniParam.iniKeyName, iniInfo.iniKeyName, StringComparison.OrdinalIgnoreCase)) + { + iniInfo = iniParam; + if (iniInfo.iniValue.Length > 0) + iniInfo.iniValue = Path.GetFullPath(iniInfo.iniValue); + break; + } + } + + return iniInfo; + } + } +} diff --git a/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_MK698.ini b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_MK698.ini new file mode 100644 index 0000000..cc090c2 --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_MK698.ini @@ -0,0 +1,663 @@ +; ************************************************* AUTO SETUP CONFIGURATION FILE ***************************************************** +; Description: +; This is an INI file which contains the configuration information for the automated setup of either an +; ENGINEERING or PRODUCTION environment in a Windows OS. +; +; Author: Duc Le +; +; ****************************************************************************************************************************** +; +; +; +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +[General] +Program_Name = SM3 +; 64-bit or 32-bit. Possible values: 32 or 64 +Application_Platform = 32 + +[Global_Settings] +Always_Run_Application_Using_Admin_Account = true +Suppress_All_Prompts = true +Provide_Windows_Password_For_Auto_Login = true + +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +; This section defines all the setup steps to be performed and allow the user the option of enabling/disabling each step +; The key can be anything. +; The value must define the setup step and its associated section name separated by comma: Setup_Step,Section_Name +; Below is a list of all possible setup steps: +; CONFIGURE_NETWORK_ADAPTERS +; RUN_APPLICATIONS +; INSTALL_SOFTWARE_PACKAGES +; ENABLE_INTERNET_INFORMATION_SERVICES +; CREATE_DIRECTORIES +; CREATE_NETWORK_SHARES +; SET_ENVIRONMENT_VARIABLES +; SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS +; TRANSFER_FILE_PACKAGES +; MODIFY_WINDOWS_REGISTRY +; PROCESS_GUTS_CONFIG_FILE +; CREATE_WINDOWS_SHORTCUTS +; ASSIST_BUILDING_GUTS_APP +; REMOVE_FILES_FOLDERS +; +; The setup setup can be run more than once by creating another key and assigned the setup step to it +; Each setup step needs a section name. Section name provides all the information necessary for the setup step +; The sequence of the execution of the setup steps will be in the same order as they are specified. +; ****************************************************************************************************************************** +[Setup_Step_Manager] +step = RUN_APPLICATIONS,Extract_Visual_Studio_Archives +step = TRANSFER_FILE_PACKAGES,DVD_Software_Suite +step = RUN_APPLICATIONS,Extract_Software_Suite +step = INSTALL_SOFTWARE_PACKAGES,Install_Microsoft_HotFix +step = RUN_APPLICATIONS,Import_Trusted_Publisher_Certificates +step = INSTALL_SOFTWARE_PACKAGES,Install_Software +step = RUN_APPLICATIONS,Shut_Down_National_Instrument_Processes +step = REMOVE_FILES_FOLDERS , Files_Folders_Removal + +;step = ENABLE_INTERNET_INFORMATION_SERVICES,Windows_Features +;step = CREATE_DIRECTORIES,Paths_Creation +;step = CREATE_NETWORK_SHARES,Paths_Sharing +;step = SET_ENVIRONMENT_VARIABLES,Env_Variables +;step = SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS +;step = TRANSFER_FILE_PACKAGES,Files_Transfer_Packages +;step = MODIFY_WINDOWS_REGISTRY,Windows_Registry +;step = PROCESS_GUTS_CONFIG_FILE,GUTS_Config_File +;step = CREATE_WINDOWS_SHORTCUTS,Windows_Shortcuts +;step = ASSIST_BUILDING_GUTS_APP,GUTS_Pre_Build_Assistance +;step = REMOVE_FILES_FOLDERS , Files_Folders_Removal + +[Install_Microsoft_HotFix] +app1_name = HotFix for Windows (KB2921916) +app1_setup_file = c:\windows\system32\wusa.exe +app1_setup_argument = "{user_temp_folder}\mk698\extraction\MS_HotFix\Windows6.1-KB2921916-x64.msu" /quiet /norestart +app1_reg_path = SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_2_for_KB2921916~31bf3856ad364e35~amd64~~6.1.1.0 +app1_reg_type = local_machine +app1_reboot_computer_at_completion = yes +app1_reboot_computer_immediately = yes + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to install various software application +; For each software application to be installed, 4 things can be defined: +; +; Possible keys: +; app#_name (REQUIRED. Name of the application to be installed/checked) +; app#_setup_file (OPTIONAL. Path and name of the installer) +; - the setup file can make use of macros. Look below for the available macros +; app#_setup_argument (OPTIONAL. Argument for the setup file. Usually to perform unattended install) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; app#_setup_confirm_prompt (OPTIONAL. Prompt user to confirm before installation starts.) +; - possible values: yes, no +; - yes: there will be prompt asking user confirm/refuse install +; - no: installation will start automatically ( this is the default ) +; app#_exe_file (REQUIRED only if app#_hklm_reg_key is not specified. +; This is used to verify that the software successfully installed) +; app#_reg_path (REQUIRED only if app#_exe_file is not specified. Registry folder path, not including valuename) +; app#_reg_type (REQUIRED only if app#_reg_key is specified) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; app#_reg_value (REQUIRED only if app#_reg_key is specified. Registry value name's value) +; app#_reg_name (REQUIRED only if app#_reg_key is specified. Registry value name) +; app#_reg_compare (REQUIRED only if app#_reg_key is specified. Compare operator between value name's value specified here versus actual value read from registry) +; - there are only six options for this key ( eq, lt, gt, lte, gte, ne ) +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; example 1: +; app1_name = Perl 5.6.1.638 +; app1_setup_file = {user_temp_folder}\Installer.bat +; app1_exe_file = C:\Perl\bin\perl.exe +; +; example 2: +; app1_reg_path = SOFTWARE\National Instruments\NI-488.2\CurrentVersion +; app1_reg_type = local_machine +; app1_reg_value = 15.0 +; app1_reg_name = Version +; app1_reg_compare = gte +; app1_name = National Instrument 488.2 (v15 or higher) +; app1_setup_file = C:\ni\setup.exe +; +; example 3: +; app1_exe_file = C:\Perl\bin\perl.exe +; app1_name = Perl 5.6.1.638 +; +; example 4: +; app1_name = Sapera LT 8.11 (x64) +; app1_setup_file = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\Software\TeledyneDalsa\Sapera_LT_8.11_RuntimeSetup.exe +; app1_setup_argument = -s -f1"{app1_setup_file}\sapera_setup.iss" +; app1_reg_path = SOFTWARE\Teledyne DALSA\Sapera LT +; app1_reg_type = local_machine +; app1_reg_name = IsSaperaFrameGrabberSupport +; +; ****************************************************************************************************************************** +; Visual Studio ClassRoot Registry Keys +; +; {"VS2005", "VisualStudio.DTE.8.0"}, +; {"VS2008", "VisualStudio.DTE.9.0"}, +; {"VS2010", "VisualStudio.DTE.10.0"}, +; {"VS2012", "VisualStudio.DTE.11.0"}, +; {"VS2013", "VisualStudio.DTE.12.0"}, +; {"VS2015", "VisualStudio.DTE.13.0"} +; +; Visual Studio Redistributable Local_Machine Registry Keys +; +; {"VS2005_x64", @"SOFTWARE\Classes\Installer\Products\1af2a8da7e60d0b429d7e6453b3d0182"}, +; {"VS2005_x86", @"SOFTWARE\Classes\Installer\Products\c1c4f01781cc94c4c8fb1542c0981a2a"}, +; {"VS2008_x64", @"SOFTWARE\Classes\Installer\Products\67D6ECF5CD5FBA732B8B22BAC8DE1B4D"}, +; {"VS2008_x86", @"SOFTWARE\Classes\Installer\Products\6E815EB96CCE9A53884E7857C57002F0"}, +; {"VS2010_x64", @"SOFTWARE\Classes\Installer\Products\1926E8D15D0BCE53481466615F760A7F"}, +; {"VS2010_x86", @"SOFTWARE\Classes\Installer\Products\1D5E3C0FEDA1E123187686FED06E995A"}, +; {"VS2012_x64", @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}"}, +; {"VS2012_x86", @"SOFTWARE\Classes\Installer\Dependencies\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}"}, +; {"VS2013_x64", @"SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020f}"}, +; {"VS2013_x86", @"SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1}"}, +; {"VS2015_x64", @"SOFTWARE\Classes\Installer\Dependencies\{3ee5e5bb-b7cc-4556-8861-a00a82977d6c}"}, +; {"VS2015_x86", @"SOFTWARE\Classes\Installer\Dependencies\{23daf363-3020-4059-b3ae-dc4ad39fed19}"} +; +; ****************************************************************************************************************************** +[Install_Software] +app1_name = Visual Studio 2012 +app1_setup_argument = /passive /norestart +app1_reg_path = VisualStudio.DTE.11.0 +app1_reg_type = classes_root +app1_setup_file = {user_temp_folder}\mk698\extraction\vs2012\vs_professional.exe + +app2_name = Visual Studio 2012 - Update 4 +app2_setup_file = {user_temp_folder}\mk698\extraction\vs2012_update4\VS2012.4.exe +app2_setup_argument = /passive /norestart +app2_reg_path = SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\11.0\CompilerCore\1033 +app2_reg_type = local_machine +app2_reg_value = 11.0.61030 +app2_reg_name = UpdateVersion +app2_reg_compare = eq + +app3_name = SSI Test Executive 6.42.1 (v1.0.0) +app3_setup_file = c:\windows\system32\msiexec.exe +app3_setup_argument = /i "{user_temp_folder}\mk698\extraction\SSI_Test_Exec_v6_42_1\win32\SSI Test Executive 6.42.1.msi" /passive /norestart ALLUSERS{equal_sign}1 +app3_reg_display_name = SSI Test Executive 6.42.1 +app3_reg_type = local_machine +app3_reg_value = 1.0.0 +app3_reg_name = DisplayVersion +app3_reg_compare = eq + +app4_name = ActivePerl 5.8.8 Build 817 +app4_setup_file = c:\windows\system32\msiexec.exe +app4_setup_argument = /i "{user_temp_folder}\mk698\extraction\ActivePerl_v5_8_8\ActivePerl-5.8.8.817-MSWin32-x86-257965.msi" /passive /norestart +app4_reg_display_name = ActivePerl 5.8.8 Build 817 +app4_reg_type = local_machine +app4_reg_value = 5.8.817 +app4_reg_name = DisplayVersion +app4_reg_compare = eq + +app5_name = Windows Software Development Kit for Windows 8.1 +app5_setup_file = {user_temp_folder}\mk698\extraction\WinSDK_v8_1\sdksetup.exe +app5_setup_argument = /quiet /norestart +app5_reg_display_name = Windows Software Development Kit +app5_reg_type = local_machine +app5_reg_value = 8.100.26936 +app5_reg_name = DisplayVersion +app5_reg_compare = eq +app5_reboot_computer_at_completion = yes + +; needed for National Instrument Drivers +app6_name = Microsoft .NET Framework 4.6.2 +app6_setup_file = {user_temp_folder}\mk698\extraction\DotNet_Framework_4_6_2\NDP462-KB3151800-x86-x64-AllOS-ENU.exe +app6_setup_argument = /passive /norestart +app6_reg_display_name = Microsoft .NET Framework 4.6.2 +app6_reg_type = local_machine +app6_reg_value = 4.6 +app6_reg_name = DisplayVersion +app6_reg_compare = gte + +; app61_name = NI LabWindows/CVI Runtime (v. 17) +; app61_setup_file = {user_temp_folder}\mk698\extraction\NI_LabWindows_CVI_Runtime_v17\setup.exe +; app61_setup_argument = /qb /r:n /AcceptLicenses yes +; app61_reg_display_name = NI LabWindows/CVI SxS Runtime 2017 +; app61_reg_type = local_machine +; app61_reg_value = 17 +; app61_reg_name = DisplayVersion +; app61_reg_compare = gte +; app61_setup_reboot_computer = yes + +app62_name = NI LabWindows/CVI (v. 17) +app62_setup_file = {user_temp_folder}\mk698\extraction\NI_LabWindows_CVI_v17\Distributions\CVI\setup.exe +app62_setup_argument = "{app62_setup_file}\specfile.txt" /qb /r:n /AcceptLicenses yes +app62_reg_display_name = NI LabWindows/CVI 2017 +app62_reg_type = local_machine +app62_reg_value = 17 +app62_reg_name = DisplayVersion +app62_reg_compare = gte +app62_reboot_computer_at_completion = yes + +app7_name = NI 488.2 (v. 17) +app7_setup_file = {user_temp_folder}\mk698\extraction\NI_4882_v17\setup.exe +app7_setup_argument = /qb /r:n /AcceptLicenses yes +app7_reg_display_name = NI-488.2 17.0 +app7_reg_type = local_machine +app7_reg_value = 17 +app7_reg_name = DisplayVersion +app7_reg_compare = gte +app7_reboot_computer_at_completion = yes + +app8_name = NI VXI (v. 16) +app8_setup_file = {user_temp_folder}\mk698\extraction\NI_VXI_v17\setup.exe +app8_setup_argument = /qb /r:n /AcceptLicenses yes +app8_reg_display_name = NI-VXI 16.0 +app8_reg_type = local_machine +app8_reg_value = 16 +app8_reg_name = DisplayVersion +app8_reg_compare = gte +app8_reboot_computer_at_completion = yes + +app9_name = NI IVI Compliance Package (v. 17) +app9_setup_file = {user_temp_folder}\mk698\extraction\NI_IVI_Compliance_Package_v17\setup.exe +app9_setup_argument = /qb /r:n /AcceptLicenses yes +app9_reg_display_name = NI IVI Compliance Package 17.0 +app9_reg_type = local_machine +app9_reg_value = 17 +app9_reg_name = DisplayVersion +app9_reg_compare = gte +app9_reboot_computer_at_completion = yes + +app10_name = NI Serial (v. 17) +app10_setup_file = {user_temp_folder}\mk698\extraction\NI_Serial_v17\setup.exe +app10_setup_argument = /qb /r:n /AcceptLicenses yes +app10_reg_display_name = NI-Serial Runtime 17.0 +app10_reg_type = local_machine +app10_reg_value = 17 +app10_reg_name = DisplayVersion +app10_reg_compare = gte + +app11_name = NI Switch (v. 17) +app11_setup_file = {user_temp_folder}\mk698\extraction\NI_Switch_v17\setup.exe +app11_setup_argument = /qb /r:n /AcceptLicenses yes +app11_reg_display_name = NI-SWITCH 17.0 +app11_reg_type = local_machine +app11_reg_value = 17 +app11_reg_name = DisplayVersion +app11_reg_compare = gte +app11_reboot_computer_at_completion = yes + +app12_name = Sealevel SeaMAX (v3.04) +app12_setup_file = {user_temp_folder}\mk698\extraction\SeaMAX_v3_04\sx03040001.exe +app12_setup_argument = -s -f1{user_temp_folder}\mk698\extraction\SeaMAX_v3_04\seamax_install_params.iss +app12_reg_display_name = SeaMAX +app12_reg_type = local_machine +app12_reg_value = 3.4.0.1 +app12_reg_name = DisplayVersion +app12_reg_compare = gte + +;app2_name = Sealevel SeaMACV5 (v5.0.23) +;app2_setup_file = {user_temp_folder}\mk698\extraction\SeaMACV5_v5_0_23\SM050023.exe +; app2_setup_argument = -s -f1{user_temp_folder}\mk698\extraction\SeaMACV5_v5_0_23\seamac_install_params.iss +; app2_reg_display_name = SeaMAC V5 +; app2_reg_type = local_machine +; app2_reg_value = 5.0.23 +; app2_reg_name = DisplayVersion +; app2_reg_compare = eq + +; app13_name = Sealevel SeaMAC (v5.0.24) +; app13_setup_file = {user_temp_folder}\mk698\extraction\SeaMAC_v5_0_24\SM050024RC4.exe +; app13_setup_argument = /S /v/qn +; app13_reg_display_name = SeaMAC +; app13_reg_type = local_machine +; app13_reg_value = 5.0.24 +; app13_reg_name = DisplayVersion +; app13_reg_compare = eq + +app13_name = Sealevel SeaMAC (v6) +app13_setup_file = {user_temp_folder}\mk698\extraction\SeaMAC_v6\SM060000.exe +app13_setup_argument = /S /v/qn +app13_reg_display_name = SeaMAC +app13_reg_type = local_machine +app13_reg_value = 6.0 +app13_reg_name = DisplayVersion +app13_reg_compare = eq + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to run various applications or scripts +; +; Possible keys: +; app#_description (OPTIONAL. Describe the purpose of running this application) +; app#_path (REQUIRED. Full path and name of the application to be run) +; - the path can take advantage of using macros. Look below for the available macros +; app#_is_console (REQUIRED. Specify if the application is a console application (i.e. DOS application) +; - value is either true/false +; app#_argument (OPTIONAL. Arguments to be passed to the application) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; - sometimes, the argument maybe include equal sign in them, but we can't have equal sign +; in the value of the INI. To make it possible, if an equal sign is needed in the ini file +; use in place of = +; +; app#_argument_path# - for each of these keys, there must be a corresponding {app#_argument_path#} defined in the value of app#_argument +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; Example 1: +; app1_path = C:\ReleaseIB_Production\app.exe +; app1_arguments = -role Datasrv -suite LSPS3 -production +; +; Example 2: +; app1_description = Extracting ActivePerl archive +; app1_path = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; +; Example 3: +; app1_description = Extracting ActivePerl archive +; app1_path = {cd_drive}\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; ****************************************************************************************************************************** +[Extract_Software_Suite] +app1_description = Extracting MK698 software suite +app1_path = {user_temp_folder}\mk698\7-Zip\7z.exe +app1_is_console = true +app1_argument = x "{user_temp_folder}\mk698\MK698Software.7z.001" -o"{user_temp_folder}\mk698\extraction" -aos -y + +[Extract_Visual_Studio_Archives] +app1_description = Extracting Visual Studio 2012 Archive +app1_cd_label = Visual Studio 2012 +app1_path = {cd_drive}\7-Zip\7z.exe +app1_is_console = true +app1_argument = x "{cd_drive}\msvs2012.7z" -o"{user_temp_folder}\mk698\extraction\vs2012" -aos -y + +app2_description = Extracting Visual Studio 2012 Update 4 Archive +app2_cd_label = Visual Studio 2012 +app2_path = {cd_drive}\7-Zip\7z.exe +app2_is_console = true +app2_argument = x "{cd_drive}\msvs2012_update4.7z" -o"{user_temp_folder}\mk698\extraction\vs2012_update4" -aos -y + +[Import_Trusted_Publisher_Certificates] +app1_description = Importing trusted publisher certificate for SeaLevel SeaMAX Driver +app1_path = c:\windows\system32\certutil.exe +app1_is_console = true +app1_argument = -addstore "TrustedPublisher" "{user_temp_folder}\mk698\extraction\SeaMax_v3_04\pubcert.cer" + +app2_description = Importing trusted publisher certificate for SeaLevel SeaMAC Driver +app2_path = c:\windows\system32\certutil.exe +app2_is_console = true +app2_argument = -addstore "TrustedPublisher" "{user_temp_folder}\mk698\extraction\SeaMAC_v6\pubcert.cer" + +[Shut_Down_National_Instrument_Processes] +app1_description = Killing process nierserver.exe +app1_path = c:\windows\system32\taskkill.exe +app1_is_console = true +app1_argument = /f /im nierserver.exe + +; +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Modify Network Adapter's settings +; +; Possible keys: +; nic#_pci_location ( REQUIRED.) +; - the value must be in the form of: #,#,# ( bus, device, function) +; i.e.: 0,25,0 - bus = 0, device = 25, function = 0 +; nic#_adapter_name (OPTIONAL. Set the name of the network adapter) +; nic#_ip_and_subnet (OPTIONAL. Set ip address and subnet mask of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,255.255.255.0 +; nic#_default_gateway# (OPTIONAL. Default gateway of the network adapter) +; - the value must be in the form of: #.#.#.# +; i.e.: 192.168.0.1 +; nic#_dns_servers (OPTIONAL. Set DNS servers of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,192.168.0.11 +; nic#_link_speed (OPTIONAL. Set the link speed of the network adapter) +; - Before using this option. Make sure that the network adapter supports link speed setting +; This is really a registry change for the network adapter. The registry name is *SpeedDuplex +; The value for *SpeedDuplex is usually a digit ranging from 0-5. +; Here's an example: +; 0 - Auto Negotiate +; 1 - 10Mbps Half Duplex +; 2 - 10Mbps Full Duplex +; 3 - 100Mpbs Half Duplex +; 4 - 100Mbps Full Duplex +; 6 - 1Gpbs Full Duplex +; There's no 5 defined because there's no 1Gpbs Half Duplex +; IMPORTANT: The above example was taken from a Intel network card. These numbers could +; mean something else different from one network card to the next. Refer to the network +; adapter's manufacturer manual for the actual numbers and their meanings. +; +; nic#_enable_dhcp (OPTIONAL. Set network adapter to use DHCP) +; - the value must be either: true/false +; - if this is set to true, all the other settings above, except link speed, will be ignored +; this will effectively set IP and DNS Servers to be obtained automatically +; +; Example 1: +; nic1_pci_location = 0,25, 0 +; nic1_link_speed = 2 +; nic1_adapter_name = My Connection +; nic1_enable_dhcp = false +; nic1_ip_and_subnet = 192.168.0.10 , 255.255.255.0 +; nic1_default_gateway = 192.168.0.1 +; nic1_dns_servers = 192.168.0.5, 192.168.0.6 +; +; ****************************************************************************************************************************** +[Network_Interface_Cards] + + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to remove/delete various files or folders +; +; Possible keys: +; item (REQUIRED. This is either a file or folder to be removed) +; +; If the item is a folder, user has the option to specify whether or not to delete the folder recursively. To specify to delete +; a folder recursively, add the word "recursive" right after the path separated by a comma +; +; The path can also include user desktop path or temporary folder +; for desktop path, use macro: {user_desktop} +; for temporary folder, use macro: {user_temp_folder} +; +; Example 1 - Delete a file: +; item = A:\test\test.hpp +; +; Example 2 - Delete a folder recursively: +; item = A:\test\test2,recursive +; +; Example 3 - Delete only the files contained in the folder: +; item = A:\test\test2 +; +; Example 4 - Delete a folder on the user's desktop: +; item = {user_desktop}\test2 +; +; Example 5 - Delete a folder in the user's temporary folder +; item = {user_temp_folder}\test2 +; ****************************************************************************************************************************** +[Files_Folders_Removal] +item = {user_temp_folder}\mk698,recursive + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to copy various packages of files from a source location to destination location +; Each XML file contains at least 1 package of files. Each file has a source and destination locations +; Key name can be anything +; Value must a be a path to a XML file +; +; example 1: +; file_package = package1.xml +; ****************************************************************************************************************************** +[DVD_Software_Suite] +file_package = .\PackagesFromCD.xml + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Specify all the paths to be created +; Possible keys: +; path (REQUIRED. Valid path to be created) +; +; example: +; path1 = C:\DataIIB\data\Block_IB\CV +; path2 = C:\DataIIB\data\Block_IB\General\Logs +; ****************************************************************************************************************************** +[Paths_Creation] +path = C:\ReleaseIB_Engineering\ +path = C:\ReleaseIB_Production\ +path = C:\DataIB\data\Block_IB\CV +path = C:\DataIB\data\Block_IB\General\Logs +path = C:\DataIB\data\Block_IB\General\Scripts +path = C:\DataIB\data\Block_IB\General\Temp\SingleStepScript + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; To share a folder, must provide path to a folder. +; Share names are optional as the folder name will be used as the default share name. +; Any share name defined here will be used as additional share name for its corresponding folder +; The # in "path#" must match in both keys. A folder can have more than one share name. +; Possible keys: +; path# (OPTIONAL. A valid path to be shared) +; path#_additional_share_names (OPTIONAL. Additional share names associated with a path) +; - Define one or more shares names separated by comma +; path#_allowed_accounts ( Windows Built-In, local or domain accounts to be added to the permission list for this share with Full Control ) +; - if this is not defined, this network share will be accessible to everyone with Full Control +; - if defined, the value must be in the following format: +; User1,User2,User3 (if more than one account is defined, separate by comma) +; The account name must either be a built-in window account or local/domain account +; if the account name is a built-in window account, it can only be one of the following: +; - everyone, authenticated users +; if the account name is a local/domain account it must be in this format: DOMAIN\UserAccountName +; +; example: +; path1 = C:\DataIIB\ +; path1_additional_share_names = DataIIB1, DataIIB2 +; path1_allowed_accounts = Authenticated Users,US\1117637 +; path2 = C:\DataIA +; path2__additional_share_names = DataIA_1 +; path2_allowed_accounts = MYCOMPUTERNAME\Duc +; path3 = C:\DataIC +; ****************************************************************************************************************************** +[Paths_Sharing] +path1 = C:\ReleaseIB_Engineering\ +path2_additional_share_names = Data +path2 = C:\DataIB\ +path3_additional_share_names = Release +path3 = C:\ReleaseIB_Production\ + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create windows system environment variables +; the key would be the system environment variable name. +; +; Note: +; Any key defined here will have its valued replaced, except for "path" because path is a window's system environment variable +; If a key's name is path, the value specified will be appendeding to existing value +; +; path can have one or more values separated by commas +; Example: +; path = C:\folder1 +; path = C:\folder1, C:\folder2 +; ****************************************************************************************************************************** +[Env_Variables] +SM3_SEEKER = C:\Development\GUTS\SM3 +; the address of the computer where all the data of each test is saved before being pushed to the network +SM3_SKR_SERVER = localhost +; the address of the computer where all test data are pushed to after testing +SM3_SKR_NETWORK = localhost +path = C:\Perl\bin\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Add/Modify or Delete registry's key +; +; Possible keys: +; reg#_action ( REQUIRED. What action to perform) +; - there are only 2 actions ( add/modify, delete) +; reg#_path (REQUIRED. Registry folder path, not including valuename) +; reg#_type (REQUIRED) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; reg#_name_value_pair# (Optional. Registry name values and their names) +; - the registry key defined by registry path can have multiple value names and their associated values +; - Format of the value: [name:***,value:***,type:***] - replace *** with actual text +; - name can be anything +; - value is either numeric or alphanumeric depending on type +; - type can only be 1 of 4: string, multi_string, dword, qword +; If type is dword or qword then value can only be numeric +; If type is multi-string, then format of the value must be: +; [name:***,:value:***:value:***...,type:multi_string] +; +; Example 1: +; reg1_action = add/modify +; reg1_path = SOFTWARE\MySoftware\ +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version,value:3,type:string] +; reg1_name_value_pair2 = [name:Version2,:value:3:value:34,type:multi-string] +; +; Example 2: +; reg1_action = add/modify +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; +; Example3: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version] +; +; Example4: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; ****************************************************************************************************************************** +[Windows_Registry] +;reg1_action = delete +;reg1_path = SOFTWARE\Duc\ +;reg1_type = local_machine +;reg1_name_value_pairs = Versionn[:]3[,]ginrl[:]boy + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create shortcuts on the user's desktop +; +; example: +; shortcut1_name = Data Server +; shortcut1_target_path = C:\ReleaseIB_Production\app.exe +; shortcut1_arguments = -role datasrv -suite lsps3 -production +; ****************************************************************************************************************************** +[Windows_Shortcuts] +shortcut1_name = Data Server +shortcut1_target_path = C:\ReleaseIB_Production\app.exe +shortcut1_arguments = -role datasrv -suite lsps3 -production -no_hw + +shortcut2_name = Guts Server +shortcut2_target_path = C:\ReleaseIB_Production\app.exe +shortcut2_arguments = -role gutssrv -suite lsps3 -production -no_hw + +shortcut3_name = Guts Auto +shortcut3_target_path = C:\ReleaseIB_Production\app.exe +shortcut3_arguments = -role auto1b -suite lsps3 -production -no_hw + +shortcut4_name = Guts Manual +shortcut4_target_path = C:\ReleaseIB_Production\app.exe +shortcut4_arguments = -role gutsman -suite lsps3 -production -no_hw + diff --git a/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_NGI.ini b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_NGI.ini new file mode 100644 index 0000000..c04b92c --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_NGI.ini @@ -0,0 +1,452 @@ +; ************************************************* SM3 CONFIGURATION FILE ***************************************************** +; Description: +; This is an INI file which contains the configuration information for the automated setup of either an +; ENGINEERING or PRODUCTION environment for developing or running SM3 GUTS (Guidance Unit Test Software) +; +; Author: Duc Le +; +; ****************************************************************************************************************************** +; +; +; +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +[General] +Program_Name = NGI - ComposableTestSoftware Standalone Build Setup +; 64-bit or 32-bit. Possible values: 32 or 64 +Application_Platform = 32 + +[Global_Settings] +Always_Run_Application_Using_Admin_Account = false +Suppress_All_Prompts = true +Provide_Windows_Password_For_Auto_Login = false + +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +; This section defines all the setup steps to be performed and allow the user the option of enabling/disabling each step +; The key can be anything. +; The value must define the setup step and its associated section name separated by comma: Setup_Step,Section_Name +; Below is a list of all possible setup steps: +; CONFIGURE_NETWORK_ADAPTERS +; RUN_APPLICATIONS +; INSTALL_SOFTWARE_PACKAGES +; ENABLE_INTERNET_INFORMATION_SERVICES +; CREATE_DIRECTORIES +; CREATE_NETWORK_SHARES +; SET_ENVIRONMENT_VARIABLES +; SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS +; TRANSFER_FILE_PACKAGES +; MODIFY_WINDOWS_REGISTRY +; PROCESS_GUTS_CONFIG_FILE +; CREATE_WINDOWS_SHORTCUTS +; ASSIST_BUILDING_GUTS_APP +; REMOVE_FILES_FOLDERS +; +; The setup setup can be run more than once by creating another key and assigned the setup step to it +; Each setup step needs a section name. Section name provides all the information necessary for the setup step +; The sequence of the execution of the setup steps will be in the same order as they are specified. +; ****************************************************************************************************************************** +[Setup_Step_Manager] +;step = RUN_APPLICATIONS,Extract_Software_Archives +step = INSTALL_SOFTWARE_PACKAGES,Install_Software +;step = CREATE_DIRECTORIES,Paths_Creation +;step = CREATE_NETWORK_SHARES,Paths_Sharing +;step = SET_ENVIRONMENT_VARIABLES,Env_Variables +;step = TRANSFER_FILE_PACKAGES,Files_Transfer_Packages +;step = CREATE_WINDOWS_SHORTCUTS,Windows_Shortcuts +;step = RUN_APPLICATIONS,Shut_Down_National_Instruments_Processes +;step = REMOVE_FILES_FOLDERS , Files_Folders_Removal + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to install various software application +; For each software application to be installed, 4 things can be defined: +; +; Possible keys: +; app#_name (REQUIRED. Name of the application to be installed/checked) +; app#_setup_file (OPTIONAL. Path and name of the installer) +; - the setup file can make use of macros. Look below for the available macros +; app#_setup_argument (OPTIONAL. Argument for the setup file. Usually to perform unattended install) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; app#_setup_confirm_prompt (OPTIONAL. Prompt user to confirm before installation starts.) +; - possible values: yes, no +; - yes: there will be prompt asking user confirm/refuse install +; - no: installation will start automatically ( this is the default ) +; app#_exe_file (REQUIRED only if app#_hklm_reg_key is not specified. +; This is used to verify that the software successfully installed) +; app#_reg_path (REQUIRED only if app#_exe_file is not specified. Registry folder path, not including valuename) +; app#_reg_type (REQUIRED only if app#_reg_key is specified) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; app#_reg_value (REQUIRED only if app#_reg_key is specified. Registry value name's value) +; app#_reg_name (REQUIRED only if app#_reg_key is specified. Registry value name) +; app#_reg_compare (REQUIRED only if app#_reg_key is specified. Compare operator between value name's value specified here versus actual value read from registry) +; - there are only six options for this key ( eq, lt, gt, lte, gte, ne ) +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; example 1: +; app1_name = Perl 5.6.1.638 +; app1_setup_file = {user_temp_folder}\Installer.bat +; app1_exe_file = C:\Perl\bin\perl.exe +; +; example 2: +; app1_reg_path = SOFTWARE\National Instruments\NI-488.2\CurrentVersion +; app1_reg_type = local_machine +; app1_reg_value = 15.0 +; app1_reg_name = Version +; app1_reg_compare = gte +; app1_name = National Instrument 488.2 (v15 or higher) +; app1_setup_file = C:\ni\setup.exe +; +; example 3: +; app1_exe_file = C:\Perl\bin\perl.exe +; app1_name = Perl 5.6.1.638 +; +; example 4: +; app1_name = Sapera LT 8.11 (x64) +; app1_setup_file = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\Software\TeledyneDalsa\Sapera_LT_8.11_RuntimeSetup.exe +; app1_setup_argument = -s -f1"{app1_setup_file}\sapera_setup.iss" +; app1_reg_path = SOFTWARE\Teledyne DALSA\Sapera LT +; app1_reg_type = local_machine +; app1_reg_name = IsSaperaFrameGrabberSupport +; +; ****************************************************************************************************************************** +; Visual Studio ClassRoot Registry Keys +; +; {"VS2005", "VisualStudio.DTE.8.0"}, +; {"VS2008", "VisualStudio.DTE.9.0"}, +; {"VS2010", "VisualStudio.DTE.10.0"}, +; {"VS2012", "VisualStudio.DTE.11.0"}, +; {"VS2013", "VisualStudio.DTE.12.0"}, +; {"VS2015", "VisualStudio.DTE.13.0"} +; +; Visual Studio Redistributable Local_Machine Registry Keys +; +; {"VS2005_x64", @"SOFTWARE\Classes\Installer\Products\1af2a8da7e60d0b429d7e6453b3d0182"}, +; {"VS2005_x86", @"SOFTWARE\Classes\Installer\Products\c1c4f01781cc94c4c8fb1542c0981a2a"}, +; {"VS2008_x64", @"SOFTWARE\Classes\Installer\Products\67D6ECF5CD5FBA732B8B22BAC8DE1B4D"}, +; {"VS2008_x86", @"SOFTWARE\Classes\Installer\Products\6E815EB96CCE9A53884E7857C57002F0"}, +; {"VS2010_x64", @"SOFTWARE\Classes\Installer\Products\1926E8D15D0BCE53481466615F760A7F"}, +; {"VS2010_x86", @"SOFTWARE\Classes\Installer\Products\1D5E3C0FEDA1E123187686FED06E995A"}, +; {"VS2012_x64", @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}"}, +; {"VS2012_x86", @"SOFTWARE\Classes\Installer\Dependencies\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}"}, +; {"VS2013_x64", @"SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020f}"}, +; {"VS2013_x86", @"SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1}"}, +; {"VS2015_x64", @"SOFTWARE\Classes\Installer\Dependencies\{3ee5e5bb-b7cc-4556-8861-a00a82977d6c}"}, +; {"VS2015_x86", @"SOFTWARE\Classes\Installer\Dependencies\{23daf363-3020-4059-b3ae-dc4ad39fed19}"} +; +; ****************************************************************************************************************************** +[Install_Software] +app5_name = Visual Studio 2022 +app5_setup_argument = -p --norestart --noweb --add Microsoft.VisualStudio.Workload.ManagedDesktop;includeRecommended Microsoft.VisualStudio.Workload.NativeDesktop;includeRecommended Microsoft.VisualStudio.Component.VC.ATLMFC Microsoft.VisualStudio.Component.VC.CLI.Support Microsoft.VisualStudio.Workload.VisualStudioExtension;includeRecommended +app5_reg_path = VisualStudio.DTE.17.0 +app5_reg_type = classes_root +app5_setup_file = D:\Windows_Stuff\Visual_Studio_2022.17.9.5\vs_setup.exe +app5_install_process_name = setup + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used for enabling windows features +; Only one thing needs to be defined for this section. +; - a text file that lists windows feature name line by line +; +; Possible keys: +; feature_list_file +; +; example: +; windows_feature_list_file = .\feature_list.txt +; ****************************************************************************************************************************** +[Windows_Features] +windows_feature_list_file = ..\Data\windows_feature_list.txt + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to run various applications or scripts +; +; Possible keys: +; app#_description (OPTIONAL. Describe the purpose of running this application) +; app#_path (REQUIRED. Full path and name of the application to be run) +; - the path can take advantage of using macros. Look below for the available macros +; app#_is_console (REQUIRED. Specify if the application is a console application (i.e. DOS application) +; - value is either true/false +; app#_argument (OPTIONAL. Arguments to be passed to the application) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; - sometimes, the argument maybe include equal sign in them, but we can't have equal sign +; in the value of the INI. To make it possible, if an equal sign is needed in the ini file +; use in place of = +; +; app#_argument_path# - for each of these keys, there must be a corresponding {app#_argument_path#} defined in the value of app#_argument +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; Example 1: +; app1_path = C:\ReleaseIB_Production\app.exe +; app1_arguments = -role Datasrv -suite LSPS3 -production +; +; Example 2: +; app1_description = Extracting ActivePerl archive +; app1_path = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; +; Example 3: +; app1_description = Extracting ActivePerl archive +; app1_path = {cd_drive}\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; ****************************************************************************************************************************** +[Extract_Software_Archives] +;app1_description = Extracting Visual Studio 2012 archive +;app1_cd_label = GUTS Support Appz 1/2 +;app1_path = {cd_drive}\DISK1\7-Zip\7z.exe +;app1_is_console = true +;app1_argument = x "{cd_drive}\DISK1\msvs2012.7z" -o"{user_temp_folder}\vs2012" -y + +; +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Modify Network Adapter's settings +; +; Possible keys: +; nic#_pci_location ( REQUIRED.) +; - the value must be in the form of: #,#,# ( bus, device, function) +; i.e.: 0,25,0 - bus = 0, device = 25, function = 0 +; nic#_adapter_name (OPTIONAL. Set the name of the network adapter) +; nic#_ip_and_subnet (OPTIONAL. Set ip address and subnet mask of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,255.255.255.0 +; nic#_default_gateway# (OPTIONAL. Default gateway of the network adapter) +; - the value must be in the form of: #.#.#.# +; i.e.: 192.168.0.1 +; nic#_dns_servers (OPTIONAL. Set DNS servers of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,192.168.0.11 +; nic#_link_speed (OPTIONAL. Set the link speed of the network adapter) +; - Before using this option. Make sure that the network adapter supports link speed setting +; This is really a registry change for the network adapter. The registry name is *SpeedDuplex +; The value for *SpeedDuplex is usually a digit ranging from 0-5. +; Here's an example: +; 0 - Auto Negotiate +; 1 - 10Mbps Half Duplex +; 2 - 10Mbps Full Duplex +; 3 - 100Mpbs Half Duplex +; 4 - 100Mbps Full Duplex +; 6 - 1Gpbs Full Duplex +; There's no 5 defined because there's no 1Gpbs Half Duplex +; IMPORTANT: The above example was taken from a Intel network card. These numbers could +; mean something else different from one network card to the next. Refer to the network +; adapter's manufacturer manual for the actual numbers and their meanings. +; +; nic#_enable_dhcp (OPTIONAL. Set network adapter to use DHCP) +; - the value must be either: true/false +; - if this is set to true, all the other settings above, except link speed, will be ignored +; this will effectively set IP and DNS Servers to be obtained automatically +; +; Example 1: +; nic1_pci_location = 0,25, 0 +; nic1_link_speed = 2 +; nic1_adapter_name = My Connection +; nic1_enable_dhcp = false +; nic1_ip_and_subnet = 192.168.0.10 , 255.255.255.0 +; nic1_default_gateway = 192.168.0.1 +; nic1_dns_servers = 192.168.0.5, 192.168.0.6 +; +; ****************************************************************************************************************************** +[Network_Interface_Cards] + + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to remove/delete various files or folders +; +; Possible keys: +; item (REQUIRED. This is either a file or folder to be removed) +; +; If the item is a folder, user has the option to specify whether or not to delete the folder recursively. To specify to delete +; a folder recursively, add the word "recursive" right after the path separated by a comma +; +; The path can also include user desktop path or temporary folder +; for desktop path, use macro: {user_desktop} +; for temporary folder, use macro: {user_temp_folder} +; +; Example 1 - Delete a file: +; item = A:\test\test.hpp +; +; Example 2 - Delete a folder recursively: +; item = A:\test\test2,recursive +; +; Example 3 - Delete only the files contained in the folder: +; item = A:\test\test2 +; +; Example 4 - Delete a folder on the user's desktop: +; item = {user_desktop}\test2 +; +; Example 5 - Delete a folder in the user's temporary folder +; item = {user_temp_folder}\test2 +; ****************************************************************************************************************************** +[Files_Folders_Removal] + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to copy various packages of files from a source location to destination location +; Each XML file contains at least 1 package of files. Each file has a source and destination locations +; Key name can be anything +; Value must a be a path to a XML file +; +; example 1: +; file_package = package1.xml +; ****************************************************************************************************************************** +[Files_Transfer_Packages] +file_package = ..\CTS\file_package.xml + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Specify all the paths to be created +; Possible keys: +; path (REQUIRED. Valid path to be created) +; +; example: +; path1 = C:\DataIIB\data\Block_IB\CV +; path2 = C:\DataIIB\data\Block_IB\General\Logs +; ****************************************************************************************************************************** +[Paths_Creation] +path = C:\ReleaseIB_Engineering\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; To share a folder, must provide path to a folder. +; Share names are optional as the folder name will be used as the default share name. +; Any share name defined here will be used as additional share name for its corresponding folder +; The # in "path#" must match in both keys. A folder can have more than one share name. +; Possible keys: +; path# (OPTIONAL. A valid path to be shared) +; path#_additional_share_names (OPTIONAL. Additional share names associated with a path) +; - Define one or more shares names separated by comma +; path#_allowed_accounts ( Windows Built-In, local or domain accounts to be added to the permission list for this share with Full Control ) +; - if this is not defined, this network share will be accessible to everyone with Full Control +; - if defined, the value must be in the following format: +; User1,User2,User3 (if more than one account is defined, separate by comma) +; The account name must either be a built-in window account or local/domain account +; if the account name is a built-in window account, it can only be one of the following: +; - everyone, authenticated users +; if the account name is a local/domain account it must be in this format: DOMAIN\UserAccountName +; +; example: +; path1 = C:\DataIIB\ +; path1_additional_share_names = DataIIB1, DataIIB2 +; path1_allowed_accounts = Authenticated Users,US\1117637 +; path2 = C:\DataIA +; path2__additional_share_names = DataIA_1 +; path2_allowed_accounts = MYCOMPUTERNAME\Duc +; path3 = C:\DataIC +; ****************************************************************************************************************************** +[Paths_Sharing] + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create windows system environment variables +; the key would be the system environment variable name. +; +; Note: +; Any key defined here will have its valued replaced, except for "path" because path is a window's system environment variable +; If a key's name is path, the value specified will be appendeding to existing value +; +; path can have one or more values separated by commas +; Example: +; path = C:\folder1 +; path = C:\folder1, C:\folder2 +; ****************************************************************************************************************************** +[Env_Variables] +SM3_SEEKER = C:\Development\GUTS\SM3 +; the address of the computer where all the data of each test is saved before being pushed to the network +SM3_SKR_SERVER = localhost +; the address of the computer where all test data are pushed to after testing +SM3_SKR_NETWORK = localhost +path = C:\Perl\bin\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Add/Modify or Delete registry's key +; +; Possible keys: +; reg#_action ( REQUIRED. What action to perform) +; - there are only 2 actions ( add/modify, delete) +; reg#_path (REQUIRED. Registry folder path, not including valuename) +; reg#_type (REQUIRED) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; reg#_name_value_pair# (Optional. Registry name values and their names) +; - the registry key defined by registry path can have multiple value names and their associated values +; - Format of the value: [name:***,value:***,type:***] - replace *** with actual text +; - name can be anything +; - value is either numeric or alphanumeric depending on type +; - type can only be 1 of 4: string, multi_string, dword, qword +; If type is dword or qword then value can only be numeric +; If type is multi-string, then format of the value must be: +; [name:***,:value:***:value:***...,type:multi_string] +; +; Example 1: +; reg1_action = add/modify +; reg1_path = SOFTWARE\MySoftware\ +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version,value:3,type:string] +; reg1_name_value_pair2 = [name:Version2,:value:3:value:34,type:multi-string] +; +; Example 2: +; reg1_action = add/modify +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; +; Example3: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version] +; +; Example4: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; ****************************************************************************************************************************** +[Windows_Registry] +;reg1_action = delete +;reg1_path = SOFTWARE\Duc\ +;reg1_type = local_machine +;reg1_name_value_pairs = Versionn[:]3[,]ginrl[:]boy + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create shortcuts on the user's desktop +; +; example: +; shortcut1_name = Data Server +; shortcut1_target_path = C:\ReleaseIB_Production\app.exe +; shortcut1_arguments = -role datasrv -suite lsps3 -production +; ****************************************************************************************************************************** +[Windows_Shortcuts] diff --git a/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_control_pc.ini b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_control_pc.ini new file mode 100644 index 0000000..f3b9492 --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_control_pc.ini @@ -0,0 +1,599 @@ +; ************************************************* SM3 CONFIGURATION FILE ***************************************************** +; Description: +; This is an INI file which contains the configuration information for the automated setup of either an +; ENGINEERING or PRODUCTION environment for developing or running SM3 GUTS (Guidance Unit Test Software) +; +; Author: Duc Le +; +; ****************************************************************************************************************************** +; +; +; +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +[General] +Program_Name = SM3 Block IB - Control PC +; 64-bit or 32-bit. Possible values: 32 or 64 +Application_Platform = 32 + +[Global_Settings] +Always_Run_Application_Using_Admin_Account = true +Suppress_All_Prompts = true +Provide_Windows_Password_For_Auto_Login = false + +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +; This section defines all the setup steps to be performed and allow the user the option of enabling/disabling each step +; The key can be anything. +; The value must define the setup step and its associated section name separated by comma: Setup_Step,Section_Name +; Below is a list of all possible setup steps: +; CONFIGURE_NETWORK_ADAPTERS +; RUN_APPLICATIONS +; INSTALL_SOFTWARE_PACKAGES +; ENABLE_INTERNET_INFORMATION_SERVICES +; CREATE_DIRECTORIES +; CREATE_NETWORK_SHARES +; SET_ENVIRONMENT_VARIABLES +; SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS +; TRANSFER_FILE_PACKAGES +; MODIFY_WINDOWS_REGISTRY +; PROCESS_GUTS_CONFIG_FILE +; CREATE_WINDOWS_SHORTCUTS +; ASSIST_BUILDING_GUTS_APP +; REMOVE_FILES_FOLDERS +; +; The setup setup can be run more than once by creating another key and assigned the setup step to it +; Each setup step needs a section name. Section name provides all the information necessary for the setup step +; The sequence of the execution of the setup steps will be in the same order as they are specified. +; ****************************************************************************************************************************** +[Setup_Step_Manager] +step = INSTALL_SOFTWARE_PACKAGES,Install_VS2012 +step = INSTALL_SOFTWARE_PACKAGES,Install_VS2012_Update4 +step = INSTALL_SOFTWARE_PACKAGES,Install_4882 +step = INSTALL_SOFTWARE_PACKAGES,Install_VXI +step = INSTALL_SOFTWARE_PACKAGES,Install_Perl +step = INSTALL_SOFTWARE_PACKAGES,Install_Redist2013 +step = RUN_APPLICATIONS,Enable_Network_Sharing +step = CREATE_DIRECTORIES,Paths_Creation +step = CREATE_NETWORK_SHARES,Paths_Sharing +step = SET_ENVIRONMENT_VARIABLES,Env_Variables +step = TRANSFER_FILE_PACKAGES,Files_Transfer_Packages +step = MODIFY_WINDOWS_REGISTRY,Windows_Registry +step = CONFIGURE_NETWORK_ADAPTERS,Network_Interface_Cards +step = CREATE_WINDOWS_SHORTCUTS,Windows_Shortcuts + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to install various software application +; For each software application to be installed, 4 things can be defined: +; +; Possible keys: +; app#_name (REQUIRED. Name of the application to be installed/checked) +; app#_setup_file (OPTIONAL. Path and name of the installer) +; - the setup file can make use of macros. Look below for the available macros +; app#_setup_argument (OPTIONAL. Argument for the setup file. Usually to perform unattended install) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; app#_setup_confirm_prompt (OPTIONAL. Prompt user to confirm before installation starts.) +; - possible values: yes, no +; - yes: there will be prompt asking user confirm/refuse install +; - no: installation will start automatically ( this is the default ) +; app#_exe_file (REQUIRED only if app#_hklm_reg_key is not specified. +; This is used to verify that the software successfully installed) +; app#_reg_path (REQUIRED only if app#_exe_file is not specified. Registry folder path, not including valuename) +; app#_reg_type (REQUIRED only if app#_reg_key is specified) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; app#_reg_value (REQUIRED only if app#_reg_key is specified. Registry value name's value) +; app#_reg_name (REQUIRED only if app#_reg_key is specified. Registry value name) +; app#_reg_compare (REQUIRED only if app#_reg_key is specified. Compare operator between value name's value specified here versus actual value read from registry) +; - there are only six options for this key ( eq, lt, gt, lte, gte, ne ) +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; example 1: +; app1_name = Perl 5.6.1.638 +; app1_setup_file = {user_temp_folder}\Installer.bat +; app1_exe_file = C:\Perl\bin\perl.exe +; +; example 2: +; app1_reg_path = SOFTWARE\National Instruments\NI-488.2\CurrentVersion +; app1_reg_type = local_machine +; app1_reg_value = 15.0 +; app1_reg_name = Version +; app1_reg_compare = gte +; app1_name = National Instrument 488.2 (v15 or higher) +; app1_setup_file = C:\ni\setup.exe +; +; example 3: +; app1_exe_file = C:\Perl\bin\perl.exe +; app1_name = Perl 5.6.1.638 +; +; example 4: +; app1_name = Sapera LT 8.11 (x64) +; app1_setup_file = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\Software\TeledyneDalsa\Sapera_LT_8.11_RuntimeSetup.exe +; app1_setup_argument = -s -f1"{app1_setup_file}\sapera_setup.iss" +; app1_reg_path = SOFTWARE\Teledyne DALSA\Sapera LT +; app1_reg_type = local_machine +; app1_reg_name = IsSaperaFrameGrabberSupport +; +; ****************************************************************************************************************************** +; Visual Studio ClassRoot Registry Keys +; +; {"VS2005", "VisualStudio.DTE.8.0"}, +; {"VS2008", "VisualStudio.DTE.9.0"}, +; {"VS2010", "VisualStudio.DTE.10.0"}, +; {"VS2012", "VisualStudio.DTE.11.0"}, +; {"VS2013", "VisualStudio.DTE.12.0"}, +; {"VS2015", "VisualStudio.DTE.13.0"} +; +; Visual Studio Redistributable Local_Machine Registry Keys +; +; {"VS2005_x64", @"SOFTWARE\Classes\Installer\Products\1af2a8da7e60d0b429d7e6453b3d0182"}, +; {"VS2005_x86", @"SOFTWARE\Classes\Installer\Products\c1c4f01781cc94c4c8fb1542c0981a2a"}, +; {"VS2008_x64", @"SOFTWARE\Classes\Installer\Products\67D6ECF5CD5FBA732B8B22BAC8DE1B4D"}, +; {"VS2008_x86", @"SOFTWARE\Classes\Installer\Products\6E815EB96CCE9A53884E7857C57002F0"}, +; {"VS2010_x64", @"SOFTWARE\Classes\Installer\Products\1926E8D15D0BCE53481466615F760A7F"}, +; {"VS2010_x86", @"SOFTWARE\Classes\Installer\Products\1D5E3C0FEDA1E123187686FED06E995A"}, +; {"VS2012_x64", @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}"}, +; {"VS2012_x86", @"SOFTWARE\Classes\Installer\Dependencies\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}"}, +; {"VS2013_x64", @"SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020f}"}, +; {"VS2013_x86", @"SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1}"}, +; {"VS2015_x64", @"SOFTWARE\Classes\Installer\Dependencies\{3ee5e5bb-b7cc-4556-8861-a00a82977d6c}"}, +; {"VS2015_x86", @"SOFTWARE\Classes\Installer\Dependencies\{23daf363-3020-4059-b3ae-dc4ad39fed19}"} +; +; ****************************************************************************************************************************** +[Install_VS2012] +app5_name = Visual Studio 2012 +app5_setup_argument = /passive /norestart +app5_reg_path = VisualStudio.DTE.11.0 +app5_reg_type = classes_root +app5_setup_file = ..\Data\software\Visual_Studio_2012\vs_professional.exe + +[Install_VS2012_Update4] +app6_name = Visual Studio 2012 - Update 4 +app6_setup_file = ..\Data\software\Visual_Studio_2012_Update_4\VS2012.4.exe +app6_setup_argument = /passive /norestart +app6_reg_path = SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\11.0\CompilerCore\1033 +app6_reg_type = local_machine +app6_reg_value = 11.0.61030 +app6_reg_name = UpdateVersion +app6_reg_compare = eq + +[Install_4882] +app2_name = National Instrument 488.2 (ver. 17) +app2_setup_file = ..\Data\software\NI_4882_v17\setup.exe +app2_setup_argument = /qb /r:n /AcceptLicenses yes +app2_reg_display_name = NI-488.2 17.0 +app2_reg_type = local_machine +app2_reg_value = 17 +app2_reg_name = DisplayVersion +app2_reg_compare = gte +app2_reboot_computer_at_completion = yes +app2_exit_codes_to_ignore = 3010 + +[Install_VXI] +app3_name = National Instrument VXI (ver. 16) +app3_setup_file = ..\Data\software\NI_VXI_v17\setup.exe +app3_setup_argument = /qb /r:n /AcceptLicenses yes +app3_reg_display_name = NI-VXI 16.0 +app3_reg_type = local_machine +app3_reg_value = 16 +app3_reg_name = DisplayVersion +app3_reg_compare = gte +app3_reboot_computer_at_completion = yes +app3_exit_codes_to_ignore = 3010 + +[Install_Perl] +;app1_setup_confirm_prompt = yes +app1_name = ActivePerl 5.6.1.638 +app1_setup_file = ..\Data\software\Perl_5_6\Installer_Silent.bat +app1_exe_file = C:\Perl\bin\perl.exe + +[Install_Redist2013] +app4_name = Visual Studio Redistributable 2013 (x86) +app4_setup_file = ..\Data\software\VS2013_Redistributable\vcredist_x86.EXE +app4_setup_argument = /install /passive /norestart +app4_reg_path = SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1} +app4_reg_type = local_machine + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used for enabling windows features +; Only one thing needs to be defined for this section. +; - a text file that lists windows feature name line by line +; +; Possible keys: +; feature_list_file +; +; example: +; windows_feature_list_file = .\feature_list.txt +; ****************************************************************************************************************************** +[Windows_Features] +windows_feature_list_file = .\Repository\windows_feature_list.txt + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to run various applications or scripts +; +; Possible keys: +; app#_description (OPTIONAL. Describe the purpose of running this application) +; app#_path (REQUIRED. Full path and name of the application to be run) +; - the path can take advantage of using macros. Look below for the available macros +; app#_is_console (REQUIRED. Specify if the application is a console application (i.e. DOS application) +; - value is either true/false +; app#_argument (OPTIONAL. Arguments to be passed to the application) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; - sometimes, the argument maybe include equal sign in them, but we can't have equal sign +; in the value of the INI. To make it possible, if an equal sign is needed in the ini file +; use in place of = +; +; app#_argument_path# - for each of these keys, there must be a corresponding {app#_argument_path#} defined in the value of app#_argument +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; Example 1: +; app1_path = C:\ReleaseIB_Production\app.exe +; app1_arguments = -role Datasrv -suite LSPS3 -production +; +; Example 2: +; app1_description = Extracting ActivePerl archive +; app1_path = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; +; Example 3: +; app1_description = Extracting ActivePerl archive +; app1_path = {cd_drive}\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; ****************************************************************************************************************************** +[Enable_Network_Sharing] +app3_description = Enabling Network Discovery +app3_path = c:\windows\system32\netsh.exe +app3_is_console = true +app3_argument = advfirewall firewall set rule group"Network Discovery" new enableYes + +app4_description = Enabling File and Printer Sharing +app4_path = c:\windows\system32\netsh.exe +app4_is_console = true +app4_argument = advfirewall firewall set rule group"File and Printer Sharing" new enableYes + +[Extract_Software_Archives] +app1_description = Extracting Visual Studio 2012 archive +app1_cd_label = GUTS Support Appz 1/2 +app1_path = {cd_drive}\DISK1\7-Zip\7z.exe +app1_is_console = true +app1_argument = x "{cd_drive}\DISK1\msvs2012.7z" -o"{user_temp_folder}\vs2012" -y + +app2_description = Extracting Visual Studio 2012 Update 4 archive +app2_cd_label = GUTS Support Appz 1/2 +app2_path = {cd_drive}\DISK1\7-Zip\7z.exe +app2_is_console = true +app2_argument = x "{cd_drive}\DISK1\msvs2012_update4.7z" -o"{user_temp_folder}\vs2012_update4" -y + +app3_description = Extracting NI 488.2 archive +app3_cd_label = GUTS Support Appz 1/2 +app3_path = {cd_drive}\DISK1\7-Zip\7z.exe +app3_is_console = true +app3_argument = x "{cd_drive}\DISK1\ni4882.7z" -o"{user_temp_folder}\ni4882" -y + +app4_description = Extracting NI VXI archive +app4_cd_label = GUTS Support Appz 1/2 +app4_path = {cd_drive}\DISK1\7-Zip\7z.exe +app4_is_console = true +app4_argument = x "{cd_drive}\DISK1\nivxi.7z" -o"{user_temp_folder}\nivxi" -y + +app5_description = Extracting ActivePerl archive +app5_cd_label = GUTS Support Appz 1/2 +app5_path = {cd_drive}\DISK1\7-Zip\7z.exe +app5_is_console = true +app5_argument = x "{cd_drive}\DISK1\Perl.7z" -o"{user_temp_folder}" -y + +[Shut_Down_National_Instruments_Processes] +app1_description = Killing process nierserver.exe +app1_path = C:\Windows\system32\taskkill.exe +app1_is_console = true +app1_argument = /f /im nierserver.exe + +; +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Modify Network Adapter's settings +; +; Possible keys: +; nic#_pci_location ( REQUIRED.) +; - the value must be in the form of: #,#,# ( bus, device, function) +; i.e.: 0,25,0 - bus = 0, device = 25, function = 0 +; nic#_adapter_name (OPTIONAL. Set the name of the network adapter) +; nic#_ip_and_subnet (OPTIONAL. Set ip address and subnet mask of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,255.255.255.0 +; nic#_default_gateway# (OPTIONAL. Default gateway of the network adapter) +; - the value must be in the form of: #.#.#.# +; i.e.: 192.168.0.1 +; nic#_dns_servers (OPTIONAL. Set DNS servers of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,192.168.0.11 +; nic#_link_speed (OPTIONAL. Set the link speed of the network adapter) +; - Before using this option. Make sure that the network adapter supports link speed setting +; This is really a registry change for the network adapter. The registry name is *SpeedDuplex +; The value for *SpeedDuplex is usually a digit ranging from 0-5. +; Here's an example: +; 0 - Auto Negotiate +; 1 - 10Mbps Half Duplex +; 2 - 10Mbps Full Duplex +; 3 - 100Mpbs Half Duplex +; 4 - 100Mbps Full Duplex +; 6 - 1Gpbs Full Duplex +; There's no 5 defined because there's no 1Gpbs Half Duplex +; IMPORTANT: The above example was taken from a Intel network card. These numbers could +; mean something else different from one network card to the next. Refer to the network +; adapter's manufacturer manual for the actual numbers and their meanings. +; +; nic#_enable_dhcp (OPTIONAL. Set network adapter to use DHCP) +; - the value must be either: true/false +; - if this is set to true, all the other settings above, except link speed, will be ignored +; this will effectively set IP and DNS Servers to be obtained automatically +; +; Example 1: +; nic1_pci_location = 0,25, 0 +; nic1_link_speed = 2 +; nic1_adapter_name = My Connection +; nic1_enable_dhcp = false +; nic1_ip_and_subnet = 192.168.0.10 , 255.255.255.0 +; nic1_default_gateway = 192.168.0.1 +; nic1_dns_servers = 192.168.0.5, 192.168.0.6 +; +; ****************************************************************************************************************************** +[Network_Interface_Cards] +nic1_pci_location = 20,0,0 +nic1_adapter_name = Private_top +nic1_ip_and_subnet = 192.168.1.12 , 255.255.255.0 + +nic2_pci_location = 20,0,1 +nic2_adapter_name = Public_bottom +nic2_enable_dhcp = true + +nic3_pci_location = 5,0,0 +nic3_adapter_name = Spare_side_port +nic3_enable_dhcp = true + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to remove/delete various files or folders +; +; Possible keys: +; item (REQUIRED. This is either a file or folder to be removed) +; +; If the item is a folder, user has the option to specify whether or not to delete the folder recursively. To specify to delete +; a folder recursively, add the word "recursive" right after the path separated by a comma +; +; The path can also include user desktop path or temporary folder +; for desktop path, use macro: {user_desktop} +; for temporary folder, use macro: {user_temp_folder} +; +; Example 1 - Delete a file: +; item = A:\test\test.hpp +; +; Example 2 - Delete a folder recursively: +; item = A:\test\test2,recursive +; +; Example 3 - Delete only the files contained in the folder: +; item = A:\test\test2 +; +; Example 4 - Delete a folder on the user's desktop: +; item = {user_desktop}\test2 +; +; Example 5 - Delete a folder in the user's temporary folder +; item = {user_temp_folder}\test2 +; ****************************************************************************************************************************** +[Files_Folders_Removal] +item = {user_temp_folder}\perl,recursive +item = {user_temp_folder}\vs2012,recursive +item = {user_temp_folder}\vs2012_update4,recursive +item = {user_temp_folder}\ni4882,recursive +item = {user_temp_folder}\nivxi,recursive + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to copy various packages of files from a source location to destination location +; Each XML file contains at least 1 package of files. Each file has a source and destination locations +; Key name can be anything +; Value must a be a path to a XML file +; +; example 1: +; file_package = package1.xml +; ****************************************************************************************************************************** +[Files_Transfer_Packages] +file_package = ..\Data\software\control_pc_software_package.xml +file_package = ..\Data\support_files\control_pc_support_package.xml + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Specify all the paths to be created +; Possible keys: +; path (REQUIRED. Valid path to be created) +; +; example: +; path = C:\DataIIB\data\Block_IB\CV +; path = C:\DataIIB\data\Block_IB\General\Logs +; ****************************************************************************************************************************** +[Paths_Creation] +path = D:\ReleaseIB_Engineering\ +path = D:\ReleaseIB_Production\ +path = D:\Development +path = D:\DataIB\data\Block_IB\CV +path = D:\DataIB\data\Block_IB\General\Logs +path = D:\DataIB\data\Block_IB\General\Scripts +path = D:\DataIB\data\Block_IB\General\Temp\SingleStepScript + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; To share a folder, must provide path to a folder. +; Share names are optional as the folder name will be used as the default share name. +; Any share name defined here will be used as additional share name for its corresponding folder +; The # in "path#" must match in both keys. A folder can have more than one share name. +; Possible keys: +; path# (OPTIONAL. A valid path to be shared) +; path#_additional_share_names (OPTIONAL. Additional share names associated with a path) +; - Define one or more shares names separated by comma +; path#_allowed_accounts ( Windows Built-In, local or domain accounts to be added to the permission list for this share with Full Control ) +; - if this is not defined, this network share will be accessible to everyone with Full Control +; - if defined, the value must be in the following format: +; User1,User2,User3 (if more than one account is defined, separate by comma) +; The account name must either be a built-in window account or local/domain account +; if the account name is a built-in window account, it can only be one of the following: +; - everyone, authenticated users +; if the account name is a local/domain account it must be in this format: DOMAIN\UserAccountName +; +; example: +; path1 = C:\DataIIB\ +; path1_additional_share_names = DataIIB1, DataIIB2 +; path1_allowed_accounts = Authenticated Users,US\1117637 +; path2 = C:\DataIA +; path2__additional_share_names = DataIA_1 +; path2_allowed_accounts = MYCOMPUTERNAME\Duc +; path3 = C:\DataIC +; ****************************************************************************************************************************** +[Paths_Sharing] +path1 = D:\ReleaseIB_Engineering\ +path1_allowed_accounts = Authenticated Users + +path2 = D:\DataIB\ +path2_allowed_accounts = Authenticated Users + +path3 = D:\ReleaseIB_Production\ +path3_allowed_accounts = Authenticated Users + +path4 = D:\Development\ +path4_allowed_accounts = Authenticated Users + +path5 = C:\ +path5_allowed_accounts = Authenticated Users + +path6 = D:\ +path6_allowed_accounts = Authenticated Users + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create windows system environment variables +; the key would be the system environment variable name. +; +; Note: +; Any key defined here will have its valued replaced, except for "path" because path is a window's system environment variable +; If a key's name is path, the value specified will be appending to existing value +; +; path can have one or more values separated by commas +; Example: +; path = C:\folder1 +; path = C:\folder1, C:\folder2 +; ****************************************************************************************************************************** +[Env_Variables] +; the address of the computer where all the data of each test is saved before being pushed to the network +SM3_SKR_SERVER = ste_control_local +; the address of the computer where all test data are pushed to after testing +SM3_SKR_NETWORK = sm3na02 +path = C:\Perl\bin\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Add/Modify or Delete registry's key +; +; Possible keys: +; reg#_action ( REQUIRED. What action to perform) +; - there are only 2 actions ( add/modify, delete) +; reg#_path (REQUIRED. Registry folder path, not including valuename) +; reg#_type (REQUIRED) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; reg#_name_value_pair# (Optional. Registry name values and their names) +; - the registry key defined by registry path can have multiple value names and their associated values +; - Format of the value: [name:***,value:***,type:***] - replace *** with actual text +; - name can be anything +; - value is either numeric or alphanumeric depending on type +; - type can only be 1 of 4: string, multi_string, dword, qword +; If type is dword or qword then value can only be numeric +; If type is multi-string, then format of the value must be: +; [name:***,:value:***:value:***...,type:multi_string] +; +; Example 1: +; reg1_action = add/modify +; reg1_path = SOFTWARE\MySoftware\ +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version,value:3,type:string] +; reg1_name_value_pair2 = [name:Version2,:value:3:value:34,type:multi-string] +; +; Example 2: +; reg1_action = add/modify +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; +; Example3: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version] +; +; Example4: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; ****************************************************************************************************************************** +[Windows_Registry] +reg1_action = add/modify +reg1_path = SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 +reg1_type = local_machine +reg1_name_value_pair1 = [name:BackConnectionHostNames,:value:ste_control_local,type:multi_string] + +reg2_action = add/modify +reg2_path = SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters +reg2_type = local_machine +reg2_name_value_pair1 = [name:DisableStrictNameChecking,value:1,type:dword] + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create shortcuts on the user's desktop +; +; example: +; shortcut1_name = Data Server +; shortcut1_target_path = C:\ReleaseIB_Production\app.exe +; shortcut1_arguments = -role datasrv -suite lsps3 -production +; ****************************************************************************************************************************** +[Windows_Shortcuts] +shortcut1_name = GUTS Startup +shortcut1_target_path = C:\Perl\bin\perl.exe +shortcut1_arguments = D:\ReleaseIB_Production\startup.pl +shortcut1_for_all_users = true + +shortcut2_name = WidebandAccount +shortcut2_target_path = D:\ReleaseIB_Production\WidebandAccount.bat +shortcut2_for_all_users = true + +shortcut3_name = Resman +shortcut3_target_path = C:\Program Files (x86)\National Instruments\VXI\Resman.exe +shortcut3_for_all_users = true + + diff --git a/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_dev_pc.ini b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_dev_pc.ini new file mode 100644 index 0000000..bcac99f --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_dev_pc.ini @@ -0,0 +1,596 @@ +; ************************************************* SM3 CONFIGURATION FILE ***************************************************** +; Description: +; This is an INI file which contains the configuration information for the automated setup of either an +; ENGINEERING or PRODUCTION environment for developing or running SM3 GUTS (Guidance Unit Test Software) +; +; Author: Duc Le +; +; ****************************************************************************************************************************** +; +; +; +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +[General] +Program_Name = SM3 Block IB - Dev PC +; 64-bit or 32-bit. Possible values: 32 or 64 +Application_Platform = 32 + +[Global_Settings] +Always_Run_Application_Using_Admin_Account = true +Suppress_All_Prompts = true +Provide_Windows_Password_For_Auto_Login = false + +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +; This section defines all the setup steps to be performed and allow the user the option of enabling/disabling each step +; The key can be anything. +; The value must define the setup step and its associated section name separated by comma: Setup_Step,Section_Name +; Below is a list of all possible setup steps: +; CONFIGURE_NETWORK_ADAPTERS +; RUN_APPLICATIONS +; INSTALL_SOFTWARE_PACKAGES +; ENABLE_INTERNET_INFORMATION_SERVICES +; CREATE_DIRECTORIES +; CREATE_NETWORK_SHARES +; SET_ENVIRONMENT_VARIABLES +; SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS +; TRANSFER_FILE_PACKAGES +; MODIFY_WINDOWS_REGISTRY +; PROCESS_GUTS_CONFIG_FILE +; CREATE_WINDOWS_SHORTCUTS +; ASSIST_BUILDING_GUTS_APP +; REMOVE_FILES_FOLDERS +; +; The setup setup can be run more than once by creating another key and assigned the setup step to it +; Each setup step needs a section name. Section name provides all the information necessary for the setup step +; The sequence of the execution of the setup steps will be in the same order as they are specified. +; ****************************************************************************************************************************** +[Setup_Step_Manager] +step = RUN_APPLICATIONS,Import_Trusted_Publisher_Certificates +step = INSTALL_SOFTWARE_PACKAGES,Install_VS2012 +step = INSTALL_SOFTWARE_PACKAGES,Install_VS2012_Update4 +step = INSTALL_SOFTWARE_PACKAGES,Install_Sapera +step = INSTALL_SOFTWARE_PACKAGES,Install_PX4_Driver +step = INSTALL_SOFTWARE_PACKAGES,Install_LabWindows_CVI +step = RUN_APPLICATIONS,Enable_Network_Sharing +step = CREATE_DIRECTORIES,Paths_Creation +step = CREATE_NETWORK_SHARES,Paths_Sharing +step = MODIFY_WINDOWS_REGISTRY,Windows_Registry +step = CONFIGURE_NETWORK_ADAPTERS,Network_Interface_Cards +step = TRANSFER_FILE_PACKAGES,Files_Transfer_Packages +step = CREATE_WINDOWS_SHORTCUTS,Windows_Shortcuts + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to install various software application +; For each software application to be installed, 4 things can be defined: +; +; Possible keys: +; app#_name (REQUIRED. Name of the application to be installed/checked) +; app#_setup_file (OPTIONAL. Path and name of the installer) +; - the setup file can make use of macros. Look below for the available macros +; app#_setup_argument (OPTIONAL. Argument for the setup file. Usually to perform unattended install) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; app#_setup_confirm_prompt (OPTIONAL. Prompt user to confirm before installation starts.) +; - possible values: yes, no +; - yes: there will be prompt asking user confirm/refuse install +; - no: installation will start automatically ( this is the default ) +; app#_exe_file (REQUIRED only if app#_hklm_reg_key is not specified. +; This is used to verify that the software successfully installed) +; app#_reg_path (REQUIRED only if app#_exe_file is not specified. Registry folder path, not including valuename) +; app#_reg_type (REQUIRED only if app#_reg_key is specified) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; app#_reg_value (REQUIRED only if app#_reg_key is specified. Registry value name's value) +; app#_reg_name (REQUIRED only if app#_reg_key is specified. Registry value name) +; app#_reg_compare (REQUIRED only if app#_reg_key is specified. Compare operator between value name's value specified here versus actual value read from registry) +; - there are only six options for this key ( eq, lt, gt, lte, gte, ne ) +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; example 1: +; app1_name = Perl 5.6.1.638 +; app1_setup_file = {user_temp_folder}\Installer.bat +; app1_exe_file = C:\Perl\bin\perl.exe +; +; example 2: +; app1_reg_path = SOFTWARE\National Instruments\NI-488.2\CurrentVersion +; app1_reg_type = local_machine +; app1_reg_value = 15.0 +; app1_reg_name = Version +; app1_reg_compare = gte +; app1_name = National Instrument 488.2 (v15 or higher) +; app1_setup_file = C:\ni\setup.exe +; +; example 3: +; app1_exe_file = C:\Perl\bin\perl.exe +; app1_name = Perl 5.6.1.638 +; +; example 4: +; app1_name = Sapera LT 8.11 (x64) +; app1_setup_file = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\Software\TeledyneDalsa\Sapera_LT_8.11_RuntimeSetup.exe +; app1_setup_argument = -s -f1"{app1_setup_file}\sapera_setup.iss" +; app1_reg_path = SOFTWARE\Teledyne DALSA\Sapera LT +; app1_reg_type = local_machine +; app1_reg_name = IsSaperaFrameGrabberSupport +; +; ****************************************************************************************************************************** +; Visual Studio ClassRoot Registry Keys +; +; {"VS2005", "VisualStudio.DTE.8.0"}, +; {"VS2008", "VisualStudio.DTE.9.0"}, +; {"VS2010", "VisualStudio.DTE.10.0"}, +; {"VS2012", "VisualStudio.DTE.11.0"}, +; {"VS2013", "VisualStudio.DTE.12.0"}, +; {"VS2015", "VisualStudio.DTE.13.0"} +; +; Visual Studio Redistributable Local_Machine Registry Keys +; +; {"VS2005_x64", @"SOFTWARE\Classes\Installer\Products\1af2a8da7e60d0b429d7e6453b3d0182"}, +; {"VS2005_x86", @"SOFTWARE\Classes\Installer\Products\c1c4f01781cc94c4c8fb1542c0981a2a"}, +; {"VS2008_x64", @"SOFTWARE\Classes\Installer\Products\67D6ECF5CD5FBA732B8B22BAC8DE1B4D"}, +; {"VS2008_x86", @"SOFTWARE\Classes\Installer\Products\6E815EB96CCE9A53884E7857C57002F0"}, +; {"VS2010_x64", @"SOFTWARE\Classes\Installer\Products\1926E8D15D0BCE53481466615F760A7F"}, +; {"VS2010_x86", @"SOFTWARE\Classes\Installer\Products\1D5E3C0FEDA1E123187686FED06E995A"}, +; {"VS2012_x64", @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}"}, +; {"VS2012_x86", @"SOFTWARE\Classes\Installer\Dependencies\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}"}, +; {"VS2013_x64", @"SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020f}"}, +; {"VS2013_x86", @"SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1}"}, +; {"VS2015_x64", @"SOFTWARE\Classes\Installer\Dependencies\{3ee5e5bb-b7cc-4556-8861-a00a82977d6c}"}, +; {"VS2015_x86", @"SOFTWARE\Classes\Installer\Dependencies\{23daf363-3020-4059-b3ae-dc4ad39fed19}"} +; +; ****************************************************************************************************************************** +[Install_VS2012] +app1_name = Visual Studio 2012 +app1_setup_argument = /passive /norestart +app1_reg_path = VisualStudio.DTE.11.0 +app1_reg_type = classes_root +app1_setup_file = ..\Data\software\Visual_Studio_2012\vs_professional.exe + +[Install_VS2012_Update4] +app2_name = Visual Studio 2012 - Update 4 +app2_setup_file = ..\Data\software\Visual_Studio_2012_Update_4\\VS2012.4.exe +app2_setup_argument = /passive /norestart +app2_reg_path = SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\11.0\CompilerCore\1033 +app2_reg_type = local_machine +app2_reg_value = 11.0.61030 +app2_reg_name = UpdateVersion +app2_reg_compare = eq + +[Install_Sapera] +app3_name = Sapera LT 8.11 (x64) +app3_setup_argument = -s -f1"{app3_setup_file}\sapera_setup.iss" +app3_setup_file = ..\Data\software\SaperaLT_Runtime_8_11\Sapera_LT_8.11_RuntimeSetup.exe +app3_reg_display_name = Teledyne DALSA Sapera LT Runtime 8.11.00.1621 (Frame grabbers and CameraLink cameras) +app3_reg_type = local_machine +app3_reg_value = 8.11 +app3_reg_name = DisplayVersion +app3_reg_compare = gte +app3_reboot_computer_at_completion = yes + +[Install_PX4_Driver] +app4_name = Xcelera-LVDS PX4 Device Driver (x64) +app4_setup_argument = -s -f1"{app4_setup_file}\px4_setup.iss" +app4_setup_file = ..\Data\software\TeledyneDalsa_FrameGrabber\X64_Xcelera-LVDS_PX4_1.10.01.0223.exe +app4_reg_path = SOFTWARE\Teledyne DALSA\X64 Xcelera-LVDS PX4 Device Driver +app4_reg_type = local_machine +app4_reg_name = Current Version +app4_reg_value = 1.10.01.0223 +app4_reg_compare = eq + +[Install_LabWindows_CVI] +app5_name = NI LabWindows/CVI Runtime (v. 17) +app5_setup_file = ..\Data\software\NI_LabWindows_CVI_Runtime_v17\setup.exe +app5_setup_argument = /qb /r:n /AcceptLicenses yes +app5_reg_display_name = NI LabWindows/CVI SxS Runtime 2017 +app5_reg_type = local_machine +app5_reg_value = 17 +app5_reg_name = DisplayVersion +app5_reg_compare = gte +app5_setup_reboot_computer = yes + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used for enabling windows features +; Only one thing needs to be defined for this section. +; - a text file that lists windows feature name line by line +; +; Possible keys: +; feature_list_file +; +; example: +; windows_feature_list_file = .\feature_list.txt +; ****************************************************************************************************************************** +[Windows_Features] +windows_feature_list_file = .\Repository\windows_feature_list.txt + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to run various applications or scripts +; +; Possible keys: +; app#_description (OPTIONAL. Describe the purpose of running this application) +; app#_path (REQUIRED. Full path and name of the application to be run) +; - the path can take advantage of using macros. Look below for the available macros +; app#_is_console (REQUIRED. Specify if the application is a console application (i.e. DOS application) +; - value is either true/false +; app#_argument (OPTIONAL. Arguments to be passed to the application) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; - sometimes, the argument maybe include equal sign in them, but we can't have equal sign +; in the value of the INI. To make it possible, if an equal sign is needed in the ini file +; use in place of = +; +; app#_argument_path# - for each of these keys, there must be a corresponding {app#_argument_path#} defined in the value of app#_argument +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; Example 1: +; app1_path = C:\ReleaseIB_Production\app.exe +; app1_arguments = -role Datasrv -suite LSPS3 -production +; +; Example 2: +; app1_description = Extracting ActivePerl archive +; app1_path = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; +; Example 3: +; app1_description = Extracting ActivePerl archive +; app1_path = {cd_drive}\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; ****************************************************************************************************************************** +[Enable_Network_Sharing] +app3_description = Enabling Network Discovery +app3_path = c:\windows\system32\netsh.exe +app3_is_console = true +app3_argument = advfirewall firewall set rule group"Network Discovery" new enableYes + +app4_description = Enabling File and Printer Sharing +app4_path = c:\windows\system32\netsh.exe +app4_is_console = true +app4_argument = advfirewall firewall set rule group"File and Printer Sharing" new enableYes + +[Extract_Software_Archives] +app1_description = Extracting Visual Studio 2012 archive +app1_cd_label = GUTS Support Appz 1/2 +app1_path = {cd_drive}\DISK1\7-Zip\7z.exe +app1_is_console = true +app1_argument = x "{cd_drive}\DISK1\msvs2012.7z" -o"{user_temp_folder}\vs2012" -y + +app2_description = Extracting Visual Studio 2012 Update 4 archive +app2_cd_label = GUTS Support Appz 1/2 +app2_path = {cd_drive}\DISK1\7-Zip\7z.exe +app2_is_console = true +app2_argument = x "{cd_drive}\DISK1\msvs2012_update4.7z" -o"{user_temp_folder}\vs2012_update4" -y + +app3_description = Extracting TeledyneDalsa archive +app3_cd_label = GUTS Support Appz 1/2 +app3_path = {cd_drive}\DISK1\7-Zip\7z.exe +app3_is_console = true +app3_argument = x "{cd_drive}\DISK1\TeledyneDalsa.7z" -o"{user_temp_folder}\TeledyneDalsa" -y + +app4_description = Extracting NI LabWindows/CVI Runtime 2017 archive +app4_cd_label = GUTS Support Appz 2/2 +app4_path = {cd_drive}\DISK2\7-Zip\7z.exe +app4_is_console = true +app4_argument = x "{cd_drive}\DISK2\NI_LabWindows_CVI_Runtime_2017.7z" -o"{user_temp_folder}\NI_LabWindows_CVI_Runtime_2017" -y + +[Import_Trusted_Publisher_Certificates] +app3_description = Importing trusted publisher certificate for Teledyne DALSA +app3_path = c:\windows\system32\certutil.exe +app3_is_console = true +app3_argument_path1 = ..\Data\software\TeledyneDalsa_FrameGrabber +app3_argument = -addstore "TrustedPublisher" "{app3_argument_path1}\teledyne_dalsa_trusted_publisher.cer" + +; +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Modify Network Adapter's settings +; +; Possible keys: +; nic#_pci_location ( REQUIRED.) +; - the value must be in the form of: #,#,# ( bus, device, function) +; i.e.: 0,25,0 - bus = 0, device = 25, function = 0 +; nic#_adapter_name (OPTIONAL. Set the name of the network adapter) +; nic#_ip_and_subnet (OPTIONAL. Set ip address and subnet mask of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,255.255.255.0 +; nic#_default_gateway# (OPTIONAL. Default gateway of the network adapter) +; - the value must be in the form of: #.#.#.# +; i.e.: 192.168.0.1 +; nic#_dns_servers (OPTIONAL. Set DNS servers of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,192.168.0.11 +; nic#_link_speed (OPTIONAL. Set the link speed of the network adapter) +; - Before using this option. Make sure that the network adapter supports link speed setting +; This is really a registry change for the network adapter. The registry name is *SpeedDuplex +; The value for *SpeedDuplex is usually a digit ranging from 0-5. +; Here's an example: +; 0 - Auto Negotiate +; 1 - 10Mbps Half Duplex +; 2 - 10Mbps Full Duplex +; 3 - 100Mpbs Half Duplex +; 4 - 100Mbps Full Duplex +; 6 - 1Gpbs Full Duplex +; There's no 5 defined because there's no 1Gpbs Half Duplex +; IMPORTANT: The above example was taken from a Intel network card. These numbers could +; mean something else different from one network card to the next. Refer to the network +; adapter's manufacturer manual for the actual numbers and their meanings. +; +; nic#_enable_dhcp (OPTIONAL. Set network adapter to use DHCP) +; - the value must be either: true/false +; - if this is set to true, all the other settings above, except link speed, will be ignored +; this will effectively set IP and DNS Servers to be obtained automatically +; +; Example 1: +; nic1_pci_location = 0,25, 0 +; nic1_link_speed = 2 +; nic1_adapter_name = My Connection +; nic1_enable_dhcp = false +; nic1_ip_and_subnet = 192.168.0.10 , 255.255.255.0 +; nic1_default_gateway = 192.168.0.1 +; nic1_dns_servers = 192.168.0.5, 192.168.0.6 +; +; ****************************************************************************************************************************** +[Network_Interface_Cards] +nic1_pci_location = 17,0,0 +nic1_adapter_name = Private_top +nic1_ip_and_subnet = 192.168.1.3 , 255.255.255.0 + +nic2_pci_location = 17,0,1 +nic2_adapter_name = Public_bottom +nic2_enable_dhcp = true + +nic3_pci_location = 5,0,0 +nic3_adapter_name = UUT_NodeA_side_port1 +nic3_ip_and_subnet = 192.168.10.201 , 255.255.255.0 +nic3_link_speed = 3 + +nic4_pci_location = 9,0,0 +nic4_adapter_name = UUT_NodeB_side_port2 +nic4_ip_and_subnet = 192.168.10.200 , 255.255.255.0 +nic4_link_speed = 3 + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to remove/delete various files or folders +; +; Possible keys: +; item (REQUIRED. This is either a file or folder to be removed) +; +; If the item is a folder, user has the option to specify whether or not to delete the folder recursively. To specify to delete +; a folder recursively, add the word "recursive" right after the path separated by a comma +; +; The path can also include user desktop path or temporary folder +; for desktop path, use macro: {user_desktop} +; for temporary folder, use macro: {user_temp_folder} +; +; Example 1 - Delete a file: +; item = A:\test\test.hpp +; +; Example 2 - Delete a folder recursively: +; item = A:\test\test2,recursive +; +; Example 3 - Delete only the files contained in the folder: +; item = A:\test\test2 +; +; Example 4 - Delete a folder on the user's desktop: +; item = {user_desktop}\test2 +; +; Example 5 - Delete a folder in the user's temporary folder +; item = {user_temp_folder}\test2 +; ****************************************************************************************************************************** +[Files_Folders_Removal] +item = {user_temp_folder}\vs2012,recursive +item = {user_temp_folder}\vs2012_update4,recursive +item = {user_temp_folder}\TeledyneDalsa,recursive +item = {user_temp_folder}\NI_LabWindows_CVI_Runtime_2017,recursive + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to copy various packages of files from a source location to destination location +; Each XML file contains at least 1 package of files. Each file has a source and destination locations +; Key name can be anything +; Value must a be a path to a XML file +; +; example 1: +; file_package = package1.xml +; ****************************************************************************************************************************** +[Files_Transfer_Packages] +file_package = ..\Data\software\Dev_PC_Software_Package.xml +file_package = ..\Data\support_files\Dev_PC_Support_Package.xml + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Specify all the paths to be created +; Possible keys: +; path (REQUIRED. Valid path to be created) +; +; example: +; path = C:\DataIIB\data\Block_IB\CV +; path = C:\DataIIB\data\Block_IB\General\Logs +; ****************************************************************************************************************************** +[Paths_Creation] +path = D:\ReleaseIB_Production +path = D:\ReleaseIB_Engineering +path = D:\Data +path = D:\Data\RealTimeTM_data +path = D:\Development +path = D:\ReleaseIB_Production\REAL_TIME_TM +path = D:\ReleaseIB_Production\CorecoFrameGrabber\Video_Captures + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; To share a folder, must provide path to a folder. +; Share names are optional as the folder name will be used as the default share name. +; Any share name defined here will be used as additional share name for its corresponding folder +; The # in "path#" must match in both keys. A folder can have more than one share name. +; Possible keys: +; path# (OPTIONAL. A valid path to be shared) +; path#_additional_share_names (OPTIONAL. Additional share names associated with a path) +; - Define one or more shares names separated by comma +; path#_allowed_accounts ( Windows Built-In, local or domain accounts to be added to the permission list for this share with Full Control ) +; - if this is not defined, this network share will be accessible to everyone with Full Control +; - if defined, the value must be in the following format: +; User1,User2,User3 (if more than one account is defined, separate by comma) +; The account name must either be a built-in window account or local/domain account +; if the account name is a built-in window account, it can only be one of the following: +; - everyone, authenticated users +; if the account name is a local/domain account it must be in this format: DOMAIN\UserAccountName +; +; example: +; path1 = C:\DataIIB\ +; path1_additional_share_names = DataIIB1, DataIIB2 +; path1_allowed_accounts = Authenticated Users,US\1117637 +; path2 = C:\DataIA +; path2__additional_share_names = DataIA_1 +; path2_allowed_accounts = MYCOMPUTERNAME\Duc +; path3 = C:\DataIC +; ****************************************************************************************************************************** +[Paths_Sharing] +path1 = D:\ReleaseIB_Production\ +path1_allowed_accounts = Authenticated Users + +path2 = D:\ReleaseIB_Engineering\ +path2_allowed_accounts = Authenticated Users + +path3 = D:\Data\ +path3_allowed_accounts = Authenticated Users + +path4 = D:\Development\ +path4_allowed_accounts = Authenticated Users + +path5 = D:\ReleaseIB_Production\REAL_TIME_TM +path5_allowed_accounts = Authenticated Users + +path6 = C:\ +path6_allowed_accounts = Authenticated Users + +path7 = D:\ +path7_allowed_accounts = Authenticated Users + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create windows system environment variables +; the key would be the system environment variable name. +; +; Note: +; Any key defined here will have its valued replaced, except for "path" because path is a window's system environment variable +; If a key's name is path, the value specified will be appendeding to existing value +; +; path can have one or more values separated by commas +; Example: +; path = C:\folder1 +; path = C:\folder1, C:\folder2 +; ****************************************************************************************************************************** +[Env_Variables] +;SM3_SEEKER = C:\Development\GUTS\SM3 +; the address of the computer where all the data of each test is saved before being pushed to the network +;SM3_SKR_SERVER = localhost +; the address of the computer where all test data are pushed to after testing +;SM3_SKR_NETWORK = localhost +;path = C:\Perl\bin\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Add/Modify or Delete registry's key +; +; Possible keys: +; reg#_action ( REQUIRED. What action to perform) +; - there are only 2 actions ( add/modify, delete) +; reg#_path (REQUIRED. Registry folder path, not including valuename) +; reg#_type (REQUIRED) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; reg#_name_value_pair# (Optional. Registry name values and their names) +; - the registry key defined by registry path can have multiple value names and their associated values +; - Format of the value: [name:***,value:***,type:***] - replace *** with actual text +; - name can be anything +; - value is either numeric or alphanumeric depending on type +; - type can only be 1 of 4: string, multi-string, dword, qword +; If type is dword or qword then value can only be numeric +; If type is multi-string, then format of the value must be: +; [name:***,:value:***:value:***...,type:multi-string] +; +; Example 1: +; reg1_action = add/modify +; reg1_path = SOFTWARE\MySoftware\ +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version,value:3,type:string] +; reg1_name_value_pair2 = [name:Version2,:value:3:value:34,type:multi-string] +; +; Example 2: +; reg1_action = add/modify +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; +; Example3: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version] +; +; Example4: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; ****************************************************************************************************************************** +[Windows_Registry] +reg1_action = add/modify +reg1_path = SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 +reg1_type = local_machine +reg1_name_value_pair1 = [name:BackConnectionHostNames,:value:ste_gu_dev_local,type:multi_string] + +reg2_action = add/modify +reg2_path = SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters +reg2_type = local_machine +reg2_name_value_pair1 = [name:DisableStrictNameChecking,value:1,type:dword] + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create shortcuts on the user's desktop +; +; example: +; shortcut1_name = Data Server +; shortcut1_target_path = C:\ReleaseIB_Production\app.exe +; shortcut1_arguments = -role datasrv -suite lsps3 -production +; ****************************************************************************************************************************** +[Windows_Shortcuts] +shortcut1_name = CorecoFrameGrabber +shortcut1_target_path = D:\ReleaseIB_Production\CorecoFrameGrabber\CorecoFrameGrabber.exe +shortcut1_for_all_users = true + +shortcut2_name = RealTime TM +shortcut2_target_path = D:\ReleaseIB_Production\REAL_TIME_TM\RealTimeTm.exe +shortcut2_for_all_users = true + +shortcut3_name = ASP Diagnostics GUI +shortcut3_target_path = D:\ReleaseIB_Production\ASP Diagnostics GUI\diag_64.exe +shortcut3_for_all_users = true + diff --git a/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_engineering.ini b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_engineering.ini new file mode 100644 index 0000000..1dff77c --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/Config_Files/config_engineering.ini @@ -0,0 +1,636 @@ +; ************************************************* SM3 CONFIGURATION FILE ***************************************************** +; Description: +; This is an INI file which contains the configuration information for the automated setup of either an +; ENGINEERING or PRODUCTION environment for developing or running SM3 GUTS (Guidance Unit Test Software) +; +; Author: Duc Le +; +; ****************************************************************************************************************************** +; +; +; +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +[General] +Program_Name = SM3 Block IB - Engineering Setup +; 64-bit or 32-bit. Possible values: 32 or 64 +Application_Platform = 32 + +[Global_Settings] +Always_Run_Application_Using_Admin_Account = true +Suppress_All_Prompts = true +Provide_Windows_Password_For_Auto_Login = false + +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +; This section defines all the setup steps to be performed and allow the user the option of enabling/disabling each step +; The key can be anything. +; The value must define the setup step and its associated section name separated by comma: Setup_Step,Section_Name +; Below is a list of all possible setup steps: +; CONFIGURE_NETWORK_ADAPTERS +; RUN_APPLICATIONS +; INSTALL_SOFTWARE_PACKAGES +; ENABLE_INTERNET_INFORMATION_SERVICES +; CREATE_DIRECTORIES +; CREATE_NETWORK_SHARES +; SET_ENVIRONMENT_VARIABLES +; SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS +; TRANSFER_FILE_PACKAGES +; MODIFY_WINDOWS_REGISTRY +; PROCESS_GUTS_CONFIG_FILE +; CREATE_WINDOWS_SHORTCUTS +; ASSIST_BUILDING_GUTS_APP +; REMOVE_FILES_FOLDERS +; +; The setup setup can be run more than once by creating another key and assigned the setup step to it +; Each setup step needs a section name. Section name provides all the information necessary for the setup step +; The sequence of the execution of the setup steps will be in the same order as they are specified. +; ****************************************************************************************************************************** +[Setup_Step_Manager] +;step = RUN_APPLICATIONS,Extract_Software_Archives +step = INSTALL_SOFTWARE_PACKAGES,Install_Software +step = CREATE_DIRECTORIES,Paths_Creation +step = CREATE_NETWORK_SHARES,Paths_Sharing +step = SET_ENVIRONMENT_VARIABLES,Env_Variables +step = TRANSFER_FILE_PACKAGES,Files_Transfer_Packages +step = CREATE_WINDOWS_SHORTCUTS,Windows_Shortcuts +;step = RUN_APPLICATIONS,Shut_Down_National_Instruments_Processes +;step = REMOVE_FILES_FOLDERS , Files_Folders_Removal + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to install various software application +; For each software application to be installed, 4 things can be defined: +; +; Possible keys: +; app#_name (REQUIRED. Name of the application to be installed/checked) +; app#_setup_file (OPTIONAL. Path and name of the installer) +; - the setup file can make use of macros. Look below for the available macros +; app#_setup_argument (OPTIONAL. Argument for the setup file. Usually to perform unattended install) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; app#_setup_confirm_prompt (OPTIONAL. Prompt user to confirm before installation starts.) +; - possible values: yes, no +; - yes: there will be prompt asking user confirm/refuse install +; - no: installation will start automatically ( this is the default ) +; app#_exe_file (REQUIRED only if app#_hklm_reg_key is not specified. +; This is used to verify that the software successfully installed) +; app#_reg_path (REQUIRED only if app#_exe_file is not specified. Registry folder path, not including valuename) +; app#_reg_type (REQUIRED only if app#_reg_key is specified) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; app#_reg_value (REQUIRED only if app#_reg_key is specified. Registry value name's value) +; app#_reg_name (REQUIRED only if app#_reg_key is specified. Registry value name) +; app#_reg_compare (REQUIRED only if app#_reg_key is specified. Compare operator between value name's value specified here versus actual value read from registry) +; - there are only six options for this key ( eq, lt, gt, lte, gte, ne ) +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; example 1: +; app1_name = Perl 5.6.1.638 +; app1_setup_file = {user_temp_folder}\Installer.bat +; app1_exe_file = C:\Perl\bin\perl.exe +; +; example 2: +; app1_reg_path = SOFTWARE\National Instruments\NI-488.2\CurrentVersion +; app1_reg_type = local_machine +; app1_reg_value = 15.0 +; app1_reg_name = Version +; app1_reg_compare = gte +; app1_name = National Instrument 488.2 (v15 or higher) +; app1_setup_file = C:\ni\setup.exe +; +; example 3: +; app1_exe_file = C:\Perl\bin\perl.exe +; app1_name = Perl 5.6.1.638 +; +; example 4: +; app1_name = Sapera LT 8.11 (x64) +; app1_setup_file = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\Software\TeledyneDalsa\Sapera_LT_8.11_RuntimeSetup.exe +; app1_setup_argument = -s -f1"{app1_setup_file}\sapera_setup.iss" +; app1_reg_path = SOFTWARE\Teledyne DALSA\Sapera LT +; app1_reg_type = local_machine +; app1_reg_name = IsSaperaFrameGrabberSupport +; +; ****************************************************************************************************************************** +; Visual Studio ClassRoot Registry Keys +; +; {"VS2005", "VisualStudio.DTE.8.0"}, +; {"VS2008", "VisualStudio.DTE.9.0"}, +; {"VS2010", "VisualStudio.DTE.10.0"}, +; {"VS2012", "VisualStudio.DTE.11.0"}, +; {"VS2013", "VisualStudio.DTE.12.0"}, +; {"VS2015", "VisualStudio.DTE.13.0"} +; +; Visual Studio Redistributable Local_Machine Registry Keys +; +; {"VS2005_x64", @"SOFTWARE\Classes\Installer\Products\1af2a8da7e60d0b429d7e6453b3d0182"}, +; {"VS2005_x86", @"SOFTWARE\Classes\Installer\Products\c1c4f01781cc94c4c8fb1542c0981a2a"}, +; {"VS2008_x64", @"SOFTWARE\Classes\Installer\Products\67D6ECF5CD5FBA732B8B22BAC8DE1B4D"}, +; {"VS2008_x86", @"SOFTWARE\Classes\Installer\Products\6E815EB96CCE9A53884E7857C57002F0"}, +; {"VS2010_x64", @"SOFTWARE\Classes\Installer\Products\1926E8D15D0BCE53481466615F760A7F"}, +; {"VS2010_x86", @"SOFTWARE\Classes\Installer\Products\1D5E3C0FEDA1E123187686FED06E995A"}, +; {"VS2012_x64", @"SOFTWARE\Classes\Installer\Dependencies\{ca67548a-5ebe-413a-b50c-4b9ceb6d66c6}"}, +; {"VS2012_x86", @"SOFTWARE\Classes\Installer\Dependencies\{33d1fd90-4274-48a1-9bc1-97e33d9c2d6f}"}, +; {"VS2013_x64", @"SOFTWARE\Classes\Installer\Dependencies\{050d4fc8-5d48-4b8f-8972-47c82c46020f}"}, +; {"VS2013_x86", @"SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1}"}, +; {"VS2015_x64", @"SOFTWARE\Classes\Installer\Dependencies\{3ee5e5bb-b7cc-4556-8861-a00a82977d6c}"}, +; {"VS2015_x86", @"SOFTWARE\Classes\Installer\Dependencies\{23daf363-3020-4059-b3ae-dc4ad39fed19}"} +; +; ****************************************************************************************************************************** +[Install_Software] +app5_name = Visual Studio 2012 +app5_setup_argument = /passive /norestart +app5_reg_path = VisualStudio.DTE.11.0 +app5_reg_type = classes_root +app5_setup_file = ..\Data\software\Visual_Studio_2012\vs_professional.exe + +app6_name = Visual Studio 2012 - Update 4 +app6_setup_file = ..\Data\software\Visual_Studio_2012_Update_4\VS2012.4.exe +app6_setup_argument = /passive /norestart +app6_reg_path = SOFTWARE\Wow6432Node\Microsoft\DevDiv\vc\Servicing\11.0\CompilerCore\1033 +app6_reg_type = local_machine +app6_reg_value = 11.0.61030 +app6_reg_name = UpdateVersion +app6_reg_compare = eq + +app2_name = National Instrument 488.2 (ver. 17) +app2_setup_file = ..\Data\software\NI_4882_v17\setup.exe +app2_setup_argument = /qb /r:n /AcceptLicenses yes +app2_reg_display_name = NI-488.2 17.0 +app2_reg_type = local_machine +app2_reg_value = 17 +app2_reg_name = DisplayVersion +app2_reg_compare = gte +app2_reboot_computer_at_completion = yes +app2_exit_codes_to_ignore = 3010 + +app3_name = National Instrument VXI (ver. 16) +app3_setup_file = ..\Data\software\NI_VXI_v17\setup.exe +app3_setup_argument = /qb /r:n /AcceptLicenses yes +app3_reg_display_name = NI-VXI 16.0 +app3_reg_type = local_machine +app3_reg_value = 16 +app3_reg_name = DisplayVersion +app3_reg_compare = gte +app3_reboot_computer_at_completion = yes +app3_exit_codes_to_ignore = 3010 + +app7_name = Sapera LT 8.11 (x64) +app7_setup_argument = -s -f1"{app7_setup_file}\sapera_setup.iss" +app7_setup_file = ..\Data\software\TeledyneDalsa_FrameGrabber\Sapera_LT_8.11_RuntimeSetup.exe +app7_reg_display_name = Teledyne DALSA Sapera LT Runtime 8.11.00.1621 (Frame grabbers and CameraLink cameras) +app7_reg_type = local_machine +app7_reg_value = 8.11 +app7_reg_name = DisplayVersion +app7_reg_compare = gte +app7_reboot_computer_at_completion = yes + +;app1_setup_confirm_prompt = yes +app1_name = ActivePerl 5.6.1.638 +app1_setup_file = ..\Data\software\Perl_5_6\Installer_Silent.bat +app1_exe_file = C:\Perl\bin\perl.exe + +app4_name = Visual Studio Redistributable 2013 (x86) +app4_setup_file = ..\Data\software\VS2013_Redistributable\vcredist_x86.EXE +app4_setup_argument = /install /passive /norestart +app4_reg_path = SOFTWARE\Classes\Installer\Dependencies\{f65db027-aff3-4070-886a-0d87064aabb1} +app4_reg_type = local_machine + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used for enabling windows features +; Only one thing needs to be defined for this section. +; - a text file that lists windows feature name line by line +; +; Possible keys: +; feature_list_file +; +; example: +; windows_feature_list_file = .\feature_list.txt +; ****************************************************************************************************************************** +[Windows_Features] +windows_feature_list_file = ..\Data\windows_feature_list.txt + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to run various applications or scripts +; +; Possible keys: +; app#_description (OPTIONAL. Describe the purpose of running this application) +; app#_path (REQUIRED. Full path and name of the application to be run) +; - the path can take advantage of using macros. Look below for the available macros +; app#_is_console (REQUIRED. Specify if the application is a console application (i.e. DOS application) +; - value is either true/false +; app#_argument (OPTIONAL. Arguments to be passed to the application) +; - sometimes the argument can include paths. Some programs will require absolute path while others allow relative paths +; the user has the option of specifying relative paths in the argument and have the program resolve them at runtime +; In order to make this possible, the user will have to specify a new key for each path to be resolved in the argument +; - the argument can specify {app#_path} +; - the argument can make use of macros. Look below for the available macros +; - the actual path being inserted in the argument will not have backslash at the end of the path +; - sometimes, the argument maybe include equal sign in them, but we can't have equal sign +; in the value of the INI. To make it possible, if an equal sign is needed in the ini file +; use in place of = +; +; app#_argument_path# - for each of these keys, there must be a corresponding {app#_argument_path#} defined in the value of app#_argument +; +; Available Path macros: +; {user_desktop}, {user_temp_folder}, {cd_drive} +; +; Example 1: +; app1_path = C:\ReleaseIB_Production\app.exe +; app1_arguments = -role Datasrv -suite LSPS3 -production +; +; Example 2: +; app1_description = Extracting ActivePerl archive +; app1_path = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; +; Example 3: +; app1_description = Extracting ActivePerl archive +; app1_path = {cd_drive}\7-Zip\7z.exe +; app1_argument_path1 = ..\..\..\..\..\Deployment\SM3_IB_Auto_Setup\Repository\software\ +; app1_argument = x "{app1_argument_path1}\Perl.7z" -o"{user_temp_folder}" -y +; ****************************************************************************************************************************** +[Extract_Software_Archives] +;app1_description = Extracting Visual Studio 2012 archive +;app1_cd_label = GUTS Support Appz 1/2 +;app1_path = {cd_drive}\DISK1\7-Zip\7z.exe +;app1_is_console = true +;app1_argument = x "{cd_drive}\DISK1\msvs2012.7z" -o"{user_temp_folder}\vs2012" -y + +;app2_description = Extracting Visual Studio 2012 Update 4 archive +;app2_cd_label = GUTS Support Appz 1/2 +;app2_path = {cd_drive}\DISK1\7-Zip\7z.exe +;app2_is_console = true +;app2_argument = x "{cd_drive}\DISK1\msvs2012_update4.7z" -o"{user_temp_folder}\vs2012_update4" -y + +app3_description = Extracting NI 488.2 v17 archive +app3_cd_label = GUTS Support Appz 1/2 +app3_path = E:\Duc\IB_Appz\DISK1\7-Zip\7z.exe +app3_is_console = true +app3_argument = x "E:\Duc\IB_Appz\DISK1\NI_4882_v17.7z" -o"{user_temp_folder}" -y + +app4_description = Extracting NI VXI v16 archive +app4_cd_label = GUTS Support Appz 1/2 +app4_path = E:\Duc\IB_Appz\DISK1\7-Zip\7z.exe +app4_is_console = true +app4_argument = x "E:\Duc\IB_Appz\DISK1\NI_VXI_v17.7z" -o"{user_temp_folder}" -y + +app5_description = Extracting ActivePerl 5.6 archive +app5_cd_label = GUTS Support Appz 1/2 +app5_path = E:\Duc\IB_Appz\DISK1\7-Zip\7z.exe +app5_is_console = true +app5_argument = x "E:\Duc\IB_Appz\DISK1\Perl_5_6.7z" -o"{user_temp_folder}" -y + +app6_description = Extracting Teledyne Dalsa SaperaLT Runtime 8.11 archive +app6_cd_label = GUTS Support Appz 1/2 +app6_path = E:\Duc\IB_Appz\DISK1\7-Zip\7z.exe +app6_is_console = true +app6_argument = x "E:\Duc\IB_Appz\DISK1\SaperaLT_Runtime_8_11.7z" -o"{user_temp_folder}" -y + +[Shut_Down_National_Instruments_Processes] +app1_description = Killing process nierserver.exe +app1_path = C:\Windows\system32\taskkill.exe +app1_is_console = true +app1_argument = /f /im nierserver.exe + +; +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Modify Network Adapter's settings +; +; Possible keys: +; nic#_pci_location ( REQUIRED.) +; - the value must be in the form of: #,#,# ( bus, device, function) +; i.e.: 0,25,0 - bus = 0, device = 25, function = 0 +; nic#_adapter_name (OPTIONAL. Set the name of the network adapter) +; nic#_ip_and_subnet (OPTIONAL. Set ip address and subnet mask of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,255.255.255.0 +; nic#_default_gateway# (OPTIONAL. Default gateway of the network adapter) +; - the value must be in the form of: #.#.#.# +; i.e.: 192.168.0.1 +; nic#_dns_servers (OPTIONAL. Set DNS servers of network adapter) +; - the value must be in the form of: #.#.#.#,#.#.#.# +; i.e.: 192.168.0.10,192.168.0.11 +; nic#_link_speed (OPTIONAL. Set the link speed of the network adapter) +; - Before using this option. Make sure that the network adapter supports link speed setting +; This is really a registry change for the network adapter. The registry name is *SpeedDuplex +; The value for *SpeedDuplex is usually a digit ranging from 0-5. +; Here's an example: +; 0 - Auto Negotiate +; 1 - 10Mbps Half Duplex +; 2 - 10Mbps Full Duplex +; 3 - 100Mpbs Half Duplex +; 4 - 100Mbps Full Duplex +; 6 - 1Gpbs Full Duplex +; There's no 5 defined because there's no 1Gpbs Half Duplex +; IMPORTANT: The above example was taken from a Intel network card. These numbers could +; mean something else different from one network card to the next. Refer to the network +; adapter's manufacturer manual for the actual numbers and their meanings. +; +; nic#_enable_dhcp (OPTIONAL. Set network adapter to use DHCP) +; - the value must be either: true/false +; - if this is set to true, all the other settings above, except link speed, will be ignored +; this will effectively set IP and DNS Servers to be obtained automatically +; +; Example 1: +; nic1_pci_location = 0,25, 0 +; nic1_link_speed = 2 +; nic1_adapter_name = My Connection +; nic1_enable_dhcp = false +; nic1_ip_and_subnet = 192.168.0.10 , 255.255.255.0 +; nic1_default_gateway = 192.168.0.1 +; nic1_dns_servers = 192.168.0.5, 192.168.0.6 +; +; ****************************************************************************************************************************** +[Network_Interface_Cards] + + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to remove/delete various files or folders +; +; Possible keys: +; item (REQUIRED. This is either a file or folder to be removed) +; +; If the item is a folder, user has the option to specify whether or not to delete the folder recursively. To specify to delete +; a folder recursively, add the word "recursive" right after the path separated by a comma +; +; The path can also include user desktop path or temporary folder +; for desktop path, use macro: {user_desktop} +; for temporary folder, use macro: {user_temp_folder} +; +; Example 1 - Delete a file: +; item = A:\test\test.hpp +; +; Example 2 - Delete a folder recursively: +; item = A:\test\test2,recursive +; +; Example 3 - Delete only the files contained in the folder: +; item = A:\test\test2 +; +; Example 4 - Delete a folder on the user's desktop: +; item = {user_desktop}\test2 +; +; Example 5 - Delete a folder in the user's temporary folder +; item = {user_temp_folder}\test2 +; ****************************************************************************************************************************** +[Files_Folders_Removal] +item = {user_temp_folder}\Perl_5_6,recursive +item = {user_temp_folder}\vs2012,recursive +item = {user_temp_folder}\vs2012_update4,recursive +item = {user_temp_folder}\NI_4882_v17,recursive +item = {user_temp_folder}\NI_VXI_v17,recursive +item = {user_temp_folder}\SaperaLT_Runtime_8_11,recursive + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is used to copy various packages of files from a source location to destination location +; Each XML file contains at least 1 package of files. Each file has a source and destination locations +; Key name can be anything +; Value must a be a path to a XML file +; +; example 1: +; file_package = package1.xml +; ****************************************************************************************************************************** +[Files_Transfer_Packages] +file_package = ..\Data\software\Engineering_PC_Software_Package.xml +file_package = ..\Data\support_files\Engineering_PC_Support_Package.xml + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Specify all the paths to be created +; Possible keys: +; path (REQUIRED. Valid path to be created) +; +; example: +; path1 = C:\DataIIB\data\Block_IB\CV +; path2 = C:\DataIIB\data\Block_IB\General\Logs +; ****************************************************************************************************************************** +[Paths_Creation] +path = C:\ReleaseIB_Engineering\ +path = C:\ReleaseIB_Production\ +path = C:\DataIB\data\Block_IB\CV +path = C:\DataIB\data\Block_IB\General\Logs +path = C:\DataIB\data\Block_IB\General\Scripts +path = C:\DataIB\data\Block_IB\General\Temp\SingleStepScript + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; To share a folder, must provide path to a folder. +; Share names are optional as the folder name will be used as the default share name. +; Any share name defined here will be used as additional share name for its corresponding folder +; The # in "path#" must match in both keys. A folder can have more than one share name. +; Possible keys: +; path# (OPTIONAL. A valid path to be shared) +; path#_additional_share_names (OPTIONAL. Additional share names associated with a path) +; - Define one or more shares names separated by comma +; path#_allowed_accounts ( Windows Built-In, local or domain accounts to be added to the permission list for this share with Full Control ) +; - if this is not defined, this network share will be accessible to everyone with Full Control +; - if defined, the value must be in the following format: +; User1,User2,User3 (if more than one account is defined, separate by comma) +; The account name must either be a built-in window account or local/domain account +; if the account name is a built-in window account, it can only be one of the following: +; - everyone, authenticated users +; if the account name is a local/domain account it must be in this format: DOMAIN\UserAccountName +; +; example: +; path1 = C:\DataIIB\ +; path1_additional_share_names = DataIIB1, DataIIB2 +; path1_allowed_accounts = Authenticated Users,US\1117637 +; path2 = C:\DataIA +; path2__additional_share_names = DataIA_1 +; path2_allowed_accounts = MYCOMPUTERNAME\Duc +; path3 = C:\DataIC +; ****************************************************************************************************************************** +[Paths_Sharing] +path1 = C:\ReleaseIB_Engineering\ +path2_additional_share_names = Data +path2 = C:\DataIB\ +path3_additional_share_names = Release +path3 = C:\ReleaseIB_Production\ + + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create windows system environment variables +; the key would be the system environment variable name. +; +; Note: +; Any key defined here will have its valued replaced, except for "path" because path is a window's system environment variable +; If a key's name is path, the value specified will be appendeding to existing value +; +; path can have one or more values separated by commas +; Example: +; path = C:\folder1 +; path = C:\folder1, C:\folder2 +; ****************************************************************************************************************************** +[Env_Variables] +SM3_SEEKER = C:\Development\GUTS\SM3 +; the address of the computer where all the data of each test is saved before being pushed to the network +SM3_SKR_SERVER = localhost +; the address of the computer where all test data are pushed to after testing +SM3_SKR_NETWORK = localhost +path = C:\Perl\bin\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Add/Modify or Delete registry's key +; +; Possible keys: +; reg#_action ( REQUIRED. What action to perform) +; - there are only 2 actions ( add/modify, delete) +; reg#_path (REQUIRED. Registry folder path, not including valuename) +; reg#_type (REQUIRED) +; - there are only three options for this key ( classes_root, current_user, local_machine) +; reg#_name_value_pair# (Optional. Registry name values and their names) +; - the registry key defined by registry path can have multiple value names and their associated values +; - Format of the value: [name:***,value:***,type:***] - replace *** with actual text +; - name can be anything +; - value is either numeric or alphanumeric depending on type +; - type can only be 1 of 4: string, multi_string, dword, qword +; If type is dword or qword then value can only be numeric +; If type is multi-string, then format of the value must be: +; [name:***,:value:***:value:***...,type:multi_string] +; +; Example 1: +; reg1_action = add/modify +; reg1_path = SOFTWARE\MySoftware\ +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version,value:3,type:string] +; reg1_name_value_pair2 = [name:Version2,:value:3:value:34,type:multi-string] +; +; Example 2: +; reg1_action = add/modify +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; +; Example3: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; reg1_name_value_pair1 = [name:Version] +; +; Example4: +; reg1_action = delete +; reg1_path = SOFTWARE\Duc\Sup +; reg1_type = local_machine +; ****************************************************************************************************************************** +[Windows_Registry] +;reg1_action = delete +;reg1_path = SOFTWARE\Duc\ +;reg1_type = local_machine +;reg1_name_value_pairs = Versionn[:]3[,]ginrl[:]boy + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Create shortcuts on the user's desktop +; +; example: +; shortcut1_name = Data Server +; shortcut1_target_path = C:\ReleaseIB_Production\app.exe +; shortcut1_arguments = -role datasrv -suite lsps3 -production +; ****************************************************************************************************************************** +[Windows_Shortcuts] +shortcut1_name = GUTS Startup - Dev +shortcut1_target_path = C:\Perl\bin\perl.exe +shortcut1_arguments = C:\ReleaseIB_Production\Utils\guts_startup_dev.pl + +shortcut2_name = CorecoFramegrabber +shortcut2_target_path = C:\ReleaseIB_Production\CorecoFrameGrabber\CorecoFrameGrabber.exe + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; Before building GUTS, the dashboard.pl must be executed to copy additional files to the GUTS project folder +; Before dashboard.pl can be run, 2 environment variables must be set: +; 1. Path to the GUTS development folder - this is where the script know to put the files in +; 2. Path to the Perl executable +; Possible keys: +; GUTS_Development_Folder - (REQUIRED. The path to where the GUTS Project is located) +; list_of_additional_files (REQUIRED. The full path and name of file that contains a complete list of files to be added by the dashboard.pl) +; perl_binary_path (REQUIRED. Path to where the perl executable is. This is necessary to run perl scripts) +; +; example: +; ****************************************************************************************************************************** +[GUTS_Pre_Build_Assistance] +GUTS_Development_Folder = C:\GUTS_31202_VS2012_Synergy_PostScriptRun1\GUTS\SM3 +list_of_additional_files = ..\..\..\..\GUTS\list_of_guts_additional_files.txt +perl_binary_path = C:\Perl\bin\ + +; ****************************************************************************************************************************** +; THIS SECTION IS REQUIRED +; ****************************************************************************************************************************** +; This section is mainly to configure the GUTS config file's settings and renaming to the right name for the GUTS app to use +; ****************************************************************************************************************************** +[GUTS_Info] +sm3seeker_config_file = .\Repository\support_files\All\sm3seeker.cfg +; folder where GUTS app and DLLs are located and run from +Guts_Bin_Dir = C:\ReleaseIB_Production\ + +; ****************************************************************************************************************************** +; THIS SECTION IS OPTIONAL +; ****************************************************************************************************************************** +; This section is responsible for changing the values of the keys in the GUTS Config File. +; The GUTS config file name and location are determined by the various settings in section [GUTS_Info], therefore there's no need to +; specify what and where the file is located at. It should be in the GUTS Bin directory and named according to the hardware +; type that is defined in section [GUTS_Info]. +; +; Key Format: Can be anything +; Value Format: the value should have a [,] as a delimiter between the Section, Key and Value in the GUTS' Config File +; +; Example: +; Setting = General[,]DATA_SRV_ADDR[,]localhost +; General - section name in the GUTS Config File +; DATA_SRV_ADDR - the key in the section in the GUTS Config File +; localhost - value associated with the key +; +; ****************************************************************************************************************************** +[GUTS_Config_File] +; IP address of the GUTS Data Server +Setting = General[,]DATA_SRV_ADDR[,]localhost + +; IP address of the GUTS Server +Setting = General[,]GUTS_SRV_ADDR[,]localhost + +; IP address of the GUTS GUOT Server +Setting = General[,]GUTS_GUOT_SRV_ADDR[,]localhost + +; IP address of the Coreco Framegrabber Server +Setting = General[,]CORECO_FRAMEGRABBER_SRV_ADDR[,]localhost + +; IP address of the Acroamatics server +Setting = General[,]TM_DECOM_ADDR[,]localhost + +; IP address of the wideband server +Setting = General[,]TM_DDR100_ADDR[,]localhost + +; IP address of the LSPS controller server +Setting = General[,]LSPS_ADDR[,]localhost + +; IP address of the vendor's guot server +Setting = UUT_CONTROLLER[,]VENDOR_GUOT_SRV_ADDR[,]localhost + +Setting = OPTICS[,]WAVELENGTH[,]2.2 \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Software_Package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Software_Package.xml new file mode 100644 index 0000000..a9a1bec --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Software_Package.xml @@ -0,0 +1,110 @@ + + + + + + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Support_Package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Support_Package.xml new file mode 100644 index 0000000..921a3e9 --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/Control_PC_Support_Package.xml @@ -0,0 +1,134 @@ + + + + + + PathLossLog.txt + + + DaqSetup.dat + + + SecretTlmMsg.dll + + + Sm3Seeker.cfg + + + startup.pl + + + startupConfig.ini + + + WidebandAccount.bat + + + + + hosts + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Software_Package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Software_Package.xml new file mode 100644 index 0000000..0d3e85e --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Software_Package.xml @@ -0,0 +1,111 @@ + + + + + + + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Support_package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Support_package.xml new file mode 100644 index 0000000..d7b8cbe --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/Dev_PC_Support_package.xml @@ -0,0 +1,119 @@ + + + + + + Grabber.cfg + + + *.* + + + + + hosts + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Software_Package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Software_Package.xml new file mode 100644 index 0000000..12bf9bc --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Software_Package.xml @@ -0,0 +1,110 @@ + + + + + + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Support_Package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Support_Package.xml new file mode 100644 index 0000000..35482f5 --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/Engineering_PC_Support_Package.xml @@ -0,0 +1,118 @@ + + + + + + PathLossLog.txt + + + guts_startup_dev.pl + guts_startup.ini + + + Sm3Seeker.cfg + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/NGI_CTS_File_Package.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/NGI_CTS_File_Package.xml new file mode 100644 index 0000000..12d53db --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/NGI_CTS_File_Package.xml @@ -0,0 +1,116 @@ + + + + + + nuget.config + + + + + *.nupkg + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Important_Files/Examples/XML/PackagesFromCD.xml b/AllPurposeAutoSetup/Important_Files/Examples/XML/PackagesFromCD.xml new file mode 100644 index 0000000..4d28d46 --- /dev/null +++ b/AllPurposeAutoSetup/Important_Files/Examples/XML/PackagesFromCD.xml @@ -0,0 +1,13 @@ + + + + + + + MK698Software.7z.001 + + + MK698Software.7z.002 + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/NetworkAdapterManager.cs b/AllPurposeAutoSetup/NetworkAdapterManager.cs new file mode 100644 index 0000000..89b3618 --- /dev/null +++ b/AllPurposeAutoSetup/NetworkAdapterManager.cs @@ -0,0 +1,746 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.Windows.Misc; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class NetworkAdapterManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + // this dictionary stores the application to be executed and the arguments associated with it + // it would look like this: + // [ c:\app1.exe ] -> [path arg arg_path] + // [ c:\app2.exe ] -> [path arg arg_path] + public Dictionary, List>> networkAdapterPciLocationToVarious = new Dictionary, List>>(); + + // event for thread to notify other threads that it has exited + private AutoResetEvent _resetEvent = new AutoResetEvent(false); + + Form m_parentForm; + + public NetworkAdapterManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool configureNetworkAdapters(string sectionName) + { + bool setupSuccessful = true; + string msg = "", msg2 = "", indentation = String.Empty, errMsg = ""; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + List textPropList2 = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Configuring Network Adapters=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + networkAdapterPciLocationToVarious.Clear(); + + ConfigFileManager.readOneToManyDictionary(ConfigFileManager.ms_configGeneralInfo.iniFile, + sectionName, @"(nic\d+)_pci_location$", @"(nic\d+)_.+$", networkAdapterPciLocationToVarious); + + setupSuccessful = verifyConfigInfo(); + + if (setupSuccessful) + { + if (networkAdapterPciLocationToVarious.Count == 0 || + (networkAdapterPciLocationToVarious.Count == 1 && networkAdapterPciLocationToVarious.First().Value.Count == 0)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to configure"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + // for every app to be run + foreach (KeyValuePair, List>> entry in networkAdapterPciLocationToVarious) + { + string pciLocation = entry.Key.iniValue; + string networkAdapterName = ""; + string networkAdapterIp = ""; + string networkAdapterSubnetMask = ""; + string networkAdapterDefaultGateway = ""; + string networkAdapterLinkSpeed = ""; + bool enableDhcp = false; + List dnsServers = new List(); + + getNicInfo(entry.Value, ref networkAdapterName, ref networkAdapterIp, + ref networkAdapterSubnetMask, ref networkAdapterDefaultGateway, + ref networkAdapterLinkSpeed, ref enableDhcp, ref dnsServers); + + ManagementObject networkAdapter = null; + ManagementObject networkAdapterConfiguration = null; + + setupSuccessful = NetworkManagement.GetNetworkAdapterAndConfigurationBasedOnPciLocation(ref networkAdapter, ref networkAdapterConfiguration, pciLocation, ref errMsg); + + if (!setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. No network card is associated with PCI Location: " + pciLocation; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + if (setupSuccessful && networkAdapterLinkSpeed.Length > 0) + { + setupSuccessful = NetworkManagement.SetNetworkAdapterLinkSpeed(networkAdapter, networkAdapterConfiguration, networkAdapterLinkSpeed, ref errMsg); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting link speed to " + networkAdapterLinkSpeed + " for network adapter at PCI Location " + pciLocation; + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + + if (setupSuccessful && networkAdapterName.Length > 0) + { + setupSuccessful = NetworkManagement.ChangeNetworkAdapterName(networkAdapter, networkAdapterConfiguration, networkAdapterName, ref errMsg); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting adapter name to " + networkAdapterName + " for network adapter at PCI Location " + pciLocation; + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + + if (setupSuccessful) + { + if (enableDhcp) + { + setupSuccessful = NetworkManagement.SetNetworkAdapterForDhcp(networkAdapter, networkAdapterConfiguration, ref errMsg); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Enabling DHCP for network adapter at PCI Location " + pciLocation; + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + else + { + if (setupSuccessful && networkAdapterIp.Length > 0 && networkAdapterSubnetMask.Length > 0) + { + setupSuccessful = NetworkManagement.SetNetworkAdapterIpAddress(networkAdapterConfiguration, networkAdapterIp, networkAdapterSubnetMask, ref errMsg); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting IP=" + networkAdapterIp + " and subnet=" + networkAdapterSubnetMask + " for network adapter at PCI Location " + pciLocation; + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + + if (setupSuccessful && networkAdapterDefaultGateway.Length > 0 ) + { + setupSuccessful = NetworkManagement.SetNetworkAdapterDefaultGateway(networkAdapterConfiguration, networkAdapterDefaultGateway, ref errMsg); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting default gateway=" + networkAdapterDefaultGateway + " for network adapter at PCI Location " + pciLocation; + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + + if (setupSuccessful && dnsServers.Count > 0) + { + setupSuccessful = NetworkManagement.SetNetworkAdapterDnsServers(networkAdapter, networkAdapterConfiguration, dnsServers, ref errMsg); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Setting DNS Server1=" + dnsServers[0]; + + if (dnsServers.Count > 1) + msg += " and Server2=" + dnsServers[1]; + + msg += " for network adapter at PCI Location " + pciLocation; + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + } + } + + if (!setupSuccessful) + break; + } + } + + return setupSuccessful; + } + + // get all the necessary info if user choose to verify software by looking at the registry + public void getNicInfo(List> iniKeys, + ref string networkAdapterName, + ref string networkAdapterIp, ref string networkAdapterSubnetMask, + ref string networkAdapterDefaultGateway, ref string networkAdapterLinkSpeed, + ref bool enableDhcp, ref List dnsServers) + { + // for every key specified for the app to be installed/checked + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_adapter_name$", RegexOptions.IgnoreCase)) + { + networkAdapterName = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_ip_and_subnet$", RegexOptions.IgnoreCase)) + { + string[] ips = iniKey.iniValue.Split(','); + networkAdapterIp = ips[0].Trim(); + networkAdapterSubnetMask = ips[1].Trim(); + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_default_gateway$", RegexOptions.IgnoreCase)) + { + networkAdapterDefaultGateway = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_link_speed$", RegexOptions.IgnoreCase)) + { + networkAdapterLinkSpeed = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_enable_dhcp$", RegexOptions.IgnoreCase)) + { + if (String.Equals(iniKey.iniValue, "true", StringComparison.OrdinalIgnoreCase)) + enableDhcp = true; + else + enableDhcp = false; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_dns_servers$", RegexOptions.IgnoreCase)) + { + string[] ips = iniKey.iniValue.Split(','); + ips[0] = ips[0].Trim(); + + if (ips.Length > 1) + ips[1] = ips[1].Trim(); + + dnsServers = new List(ips); + } + } + } + + bool verifyConfigInfo() + { + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg; + + List textPropList = new List(); + + // for every app name to be installed, verify that each app name has the required information specified in the INI file + foreach (KeyValuePair, List>> entry in networkAdapterPciLocationToVarious) + { + if (!Regex.IsMatch(entry.Key.iniValue, @"\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*", RegexOptions.IgnoreCase)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Key: " + entry.Key.iniKeyName + + "\n" + indentation + "Value: " + entry.Key.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. The value must be in format: #,#,# (i.e.: 1,25,0)"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + + // for every key specified for the app to be installed + foreach (ConfigFileManager.Ini_KeyValue iniKey in entry.Value) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"(nic\d+)_link_speed$", RegexOptions.IgnoreCase)) + { + uint linkSpeed = 0; + + if (iniKey.iniValue.Length == 0 || !UInt32.TryParse(iniKey.iniValue, out linkSpeed)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. Value must be a number"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_adapter_name", RegexOptions.IgnoreCase)) + { + if (iniKey.iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_ip_and_subnet", RegexOptions.IgnoreCase)) + { + if (iniKey.iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else + { + string[] ips = iniKey.iniValue.Split(','); + ips[0] = ips[0].Trim(); + + if ( ips.Length > 1) + ips[1] = ips[1].Trim(); + List ipList = new List(ips); + + if (ipList.Count != 2) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. Expecting IP address and subnet mask separated by comma"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else + { + if (!StringManip.IsValidIPv4(ips[0])) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. The IP specified is an invalid IPv4 address."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else if (ipList.Count > 1 && !StringManip.IsValidIPv4(ips[1])) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. The subnet mask specified is an invalid IPv4 address."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_default_gateway", RegexOptions.IgnoreCase)) + { + if (iniKey.iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else + { + if (!StringManip.IsValidIPv4(iniKey.iniValue)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. The gateway specified is an invalid IPv4 address."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"nic\d+_dns_servers", RegexOptions.IgnoreCase)) + { + if (iniKey.iniValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else + { + string[] ips = iniKey.iniValue.Split(','); + ips[0] = ips[0].Trim(); + + if (ips.Length > 1) + ips[1] = ips[1].Trim(); + + List ipList = new List(ips); + + if (ipList.Count > 2) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. Expecting at least one DNS server, maximum 2 separated by comma"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else + { + if (!StringManip.IsValidIPv4(ips[0])) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. The 1st DNS Server specified is an invalid IPv4 address."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else if (ipList.Count > 1 && !StringManip.IsValidIPv4(ips[1])) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. The 2nd DNS Server specified is an invalid IPv4 address."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + } + } + + if (!setupSuccessful) + break; + } + + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/Program.cs b/AllPurposeAutoSetup/Program.cs new file mode 100644 index 0000000..07217af --- /dev/null +++ b/AllPurposeAutoSetup/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace All_Purpose_Auto_Setup +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new frmMain()); + } + } +} diff --git a/AllPurposeAutoSetup/Properties/AssemblyInfo.cs b/AllPurposeAutoSetup/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..eecc1ed --- /dev/null +++ b/AllPurposeAutoSetup/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Sm3_Block_IB_GUTS_Setup")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Raytheon")] +[assembly: AssemblyProduct("Sm3_Block_IB_GUTS_Setup")] +[assembly: AssemblyCopyright("Copyright © Raytheon 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e3d2c81c-7b82-4780-ae92-06910e189973")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.6")] +[assembly: AssemblyFileVersion("1.0")] diff --git a/AllPurposeAutoSetup/Properties/Resources.Designer.cs b/AllPurposeAutoSetup/Properties/Resources.Designer.cs new file mode 100644 index 0000000..72365ec --- /dev/null +++ b/AllPurposeAutoSetup/Properties/Resources.Designer.cs @@ -0,0 +1,73 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace All_Purpose_Auto_Setup.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("All_Purpose_Auto_Setup.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap sm3missile { + get { + object obj = ResourceManager.GetObject("sm3missile", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/AllPurposeAutoSetup/Properties/Resources.resx b/AllPurposeAutoSetup/Properties/Resources.resx new file mode 100644 index 0000000..56c73be --- /dev/null +++ b/AllPurposeAutoSetup/Properties/Resources.resx @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Resources\sm3missile.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Properties/Settings.Designer.cs b/AllPurposeAutoSetup/Properties/Settings.Designer.cs new file mode 100644 index 0000000..df582b7 --- /dev/null +++ b/AllPurposeAutoSetup/Properties/Settings.Designer.cs @@ -0,0 +1,62 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace All_Purpose_Auto_Setup.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("")] + public string ConfigFile { + get { + return ((string)(this["ConfigFile"])); + } + set { + this["ConfigFile"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool AutoRunOnStartup { + get { + return ((bool)(this["AutoRunOnStartup"])); + } + set { + this["AutoRunOnStartup"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("-1")] + public int CurrentSetupStep { + get { + return ((int)(this["CurrentSetupStep"])); + } + set { + this["CurrentSetupStep"] = value; + } + } + } +} diff --git a/AllPurposeAutoSetup/Properties/Settings.settings b/AllPurposeAutoSetup/Properties/Settings.settings new file mode 100644 index 0000000..edd6f8d --- /dev/null +++ b/AllPurposeAutoSetup/Properties/Settings.settings @@ -0,0 +1,15 @@ + + + + + + + + + False + + + -1 + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/Resources/sm3missile.jpg b/AllPurposeAutoSetup/Resources/sm3missile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..680e38650e9f9f0829f6ea391a3c87338b8f3999 GIT binary patch literal 44160 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 literal 0 HcmV?d00001 diff --git a/AllPurposeAutoSetup/RunApplicationsManager.cs b/AllPurposeAutoSetup/RunApplicationsManager.cs new file mode 100644 index 0000000..9e60e1a --- /dev/null +++ b/AllPurposeAutoSetup/RunApplicationsManager.cs @@ -0,0 +1,911 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class RunApplicationsManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public event Action> UpdateStatusDisplayAtLine; + + // this dictionary stores the application to be executed and the arguments associated with it + // it would look like this: + // [ c:\app1.exe ] -> [path arg arg_path] + // [ c:\app2.exe ] -> [path arg arg_path] + public Dictionary, List>> runAppToArguments = new Dictionary, List>>(); + + // event for thread to notify other threads that it has exited + private AutoResetEvent _resetEvent = new AutoResetEvent(false); + + int m_progressLine = 0; + + string m_consoleAppStatusMessage = ""; + + Form m_parentForm; + + public RunApplicationsManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool runApplications(string sectionName) + { + bool setupSuccessful = true; + string msg, indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Running applications=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + runAppToArguments.Clear(); + + ConfigFileManager.readOneToManyDictionary(ConfigFileManager.ms_configGeneralInfo.iniFile, + sectionName, @"(app\d+)_path$", @"(app\d+)_.+$", runAppToArguments); + + if (setupSuccessful) + { + if (runAppToArguments.Count == 0 || + (runAppToArguments.Count == 1 && runAppToArguments.First().Value.Count == 0)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to run"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + KeyValuePair, List>> processedConfigInfo = new KeyValuePair, List>>(); + + // for every app to be run + foreach (KeyValuePair, List>> entry in runAppToArguments) + { + string appDescription = ""; + string appArg = ""; + bool isConsoleApp = false; + bool waitForExit = true; + string cdLabel = ""; + string displayMessage = ""; + + setupSuccessful = processConfigInfo(entry, ref processedConfigInfo); + + if (!setupSuccessful) + break; + + getAppInfo(processedConfigInfo.Value, ref appDescription, ref appArg, ref isConsoleApp, ref waitForExit, ref cdLabel, ref displayMessage); + setupSuccessful = startApp(appDescription, processedConfigInfo.Key.alternateValue, appArg, isConsoleApp, waitForExit, cdLabel, displayMessage); + + if (!setupSuccessful) + break; + } + } + + return setupSuccessful; + } + + public bool startApp(string appDescription, string appPath, string appArguments, bool isConsoleApp, bool waitForExit, string cdLabel, string displayMessage) + { + string msg1 = String.Empty, msg2 = String.Empty, msg3, indentation = String.Empty, tempMsg = string.Empty; + bool setupSuccessful = true; + Match regExMatch; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList1 = new List(); + List textPropList2 = new List(); + + indentation = Common.getIndentation(1); + + appPath = Path.GetFullPath(appPath); + + // the argument may specify equal sign in it. But since INI files doesn't allow = to be + // specified in the value of they key, we have to specify in place of =. + // so now we replace instances of with = + appArguments = Regex.Replace(appArguments, @"", "=", RegexOptions.IgnoreCase); + + if (appDescription.Length == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 1; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + msg1 = "\n" + indentation + "Running " + StringManip.ShortenStringToSize(appPath, 60); + msg2 = "\n" + indentation + "Running " + appPath; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + msg1 = "\n" + indentation + appDescription; + msg2 = "\n" + indentation + appDescription; + } + + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(appPath, @"^" + Regex.Escape(drive.Name) + @".+", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !File.Exists(appPath)) + { + Hardware.OpenCdDrive(drive.Name); + + tempMsg = "Please insert a disc"; + + if (cdLabel.Length > 0) + tempMsg += " labeled \"" + cdLabel + "\""; + + tempMsg += " into drive " + drive.Name + " that has the following path:\n" + appPath + "\n\n Click OK to proceed"; + + msg3 = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, + tempMsg, "Info", -1); + + if (String.Equals(msg3, "cancel", StringComparison.OrdinalIgnoreCase)) + { + break; + } + } + + break; + } + } + + if (File.Exists(appPath)) + { + if (displayMessage.Length > 0) + { + displayMessage = Regex.Replace(displayMessage, @"\{newline\}", "\n"); + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, displayMessage, "Info", -1); + } + + BackgroundWorker bgwInformUserToWait; + + bgwInformUserToWait = new BackgroundWorker(); + bgwInformUserToWait.WorkerSupportsCancellation = true; + bgwInformUserToWait.DoWork += new DoWorkEventHandler(bgwInformUserToWait_DoWork); + bgwInformUserToWait.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgwInformUserToWait_RunWorkerCompleted); + + frmSetupStatusDisplay displayFrm = (frmSetupStatusDisplay)m_parentForm; + m_progressLine = displayFrm.updateStatusDisplayAndLog("\n ", "", null); + if (!bgwInformUserToWait.IsBusy) + { + indentation = Common.getIndentation(1); + + if (appDescription.Length == 0) + { + bgwInformUserToWait.RunWorkerAsync(indentation + "Running " + Path.GetFileName(appPath) + ". Please wait"); + } + else + { + bgwInformUserToWait.RunWorkerAsync(indentation + appDescription + ". Please wait"); + } + + } + + try + { + regExMatch = Regex.Match(appPath, @"\.bat$", RegexOptions.IgnoreCase); + + // if we're executing a bat file + if (regExMatch.Success) + { + ProcessStartInfo ProcStartInfo = new ProcessStartInfo(@"C:\Windows\System32\cmd.exe"); + ProcStartInfo.RedirectStandardOutput = false; + ProcStartInfo.UseShellExecute = false; + ProcStartInfo.CreateNoWindow = true; + ProcStartInfo.RedirectStandardError = true; + System.Diagnostics.Process process = new System.Diagnostics.Process(); + ProcStartInfo.Arguments = "/c start /wait /d \"" + Path.GetDirectoryName(appPath) + "\" " + Path.GetFileName(appPath); + process.StartInfo = ProcStartInfo; + process.Start(); + + if (waitForExit) + { + process.WaitForExit(); + + int exitCode = process.ExitCode; + process.Close(); + + if (exitCode != 0) + throw new Exception(Path.GetFileName(appPath) + " exited with code: " + exitCode.ToString()); + } + } + else if (isConsoleApp) + { + ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); + cmdStartInfo.FileName = @"C:\Windows\System32\cmd.exe"; + cmdStartInfo.RedirectStandardOutput = true; + cmdStartInfo.RedirectStandardError = true; + cmdStartInfo.RedirectStandardInput = true; + cmdStartInfo.UseShellExecute = false; + cmdStartInfo.CreateNoWindow = true; + + Process process = new Process(); + process.StartInfo = cmdStartInfo; + process.ErrorDataReceived += cmd_Error; + process.OutputDataReceived += cmd_DataReceived; + process.EnableRaisingEvents = true; + process.Start(); + process.BeginOutputReadLine(); + process.BeginErrorReadLine(); + + process.StandardInput.WriteLine(appPath + " " + appArguments); //Execute command + + process.StandardInput.WriteLine("exit"); //Execute exit. + + if (waitForExit) + { + process.WaitForExit(); + + int exitCode = process.ExitCode; + process.Close(); + + if (exitCode != 0) + { + if (appReturnedFatalError(appPath, exitCode, "")) + { + throw new Exception(Path.GetFileName(appPath) + " exited with code: " + exitCode.ToString() + ". " + m_consoleAppStatusMessage); + } + } + } + } + else + { + var process = Process.Start(appPath, appArguments); + + if (waitForExit) + { + process.WaitForExit(); + + int exitCode = process.ExitCode; + process.Close(); + + if (exitCode != 0) + throw new Exception(Path.GetFileName(appPath) + " exited with code: " + exitCode.ToString()); + } + } + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg3 = " - SUCCESS"; + + } + catch (Exception e) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg3 = " - FAILED. Error executing file " + appPath + ". " + e.Message; + + setupSuccessful = false; + } + finally + { + if (!bgwInformUserToWait.CancellationPending && bgwInformUserToWait.IsBusy) + { + bgwInformUserToWait.CancelAsync(); + _resetEvent.WaitOne(); + _resetEvent.Reset(); + } + + displayFrm.removeStatusDisplayLine(m_progressLine, true); + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg3 = " - FAILED. File " + appPath + " was not found."; + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg1, msg2, textPropList1); + UpdateStatusDisplayAndLogEvent(msg3, msg3, textPropList2); + + return setupSuccessful; + } + + void cmd_DataReceived(object sender, DataReceivedEventArgs e) + { + if (e.Data == null) + { + return; + } + + if (e.Data.Length > 0) + { + // since we are receiving everything that's being output to the standard output + // we're only interested in the response of the command, and not the command itself + if ( !Regex.IsMatch(e.Data, @"^[a-zA-Z]:[^>]+>.+", RegexOptions.IgnoreCase)) + m_consoleAppStatusMessage = e.Data; + } + } + + void cmd_Error(object sender, DataReceivedEventArgs e) + { + if (e.Data == null) + { + return; + } + + if (e.Data.Length > 0) + { + // since we are receiving everything that's being output to the standard output + // we're only interested in the response of the command, and not the command itself + if (!Regex.IsMatch(e.Data, @"^[a-zA-Z]:[^>]+>.+", RegexOptions.IgnoreCase)) + m_consoleAppStatusMessage = e.Data; + } + } + + private bool appReturnedFatalError(string appPath, int errCode, string errMsg) + { + bool fatalError = true; + + if (Regex.IsMatch(appPath, @"c:\\windows\\system32\\taskkill.exe", RegexOptions.IgnoreCase)) + { + if (errCode == 128) + fatalError = false; + } + + return fatalError; + } + + private void bgwInformUserToWait_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + // First, handle the case where an exception was thrown. + if (e.Error != null) + { + + } + else if (e.Cancelled) // user cancelled + { + + } + else // thread completed on its own + { + + } + _resetEvent.Set(); // signal that execution of this thread is done + } + + private void bgwInformUserToWait_DoWork(object sender, DoWorkEventArgs e) + { + BackgroundWorker bgw = sender as BackgroundWorker; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string text = (string)e.Argument; + string dots = ""; + + while (true) + { + if (bgw != null && bgw.CancellationPending) + { + if (e != null) + e.Cancel = true; + + break; + } + + if (dots.Length < 3) + dots += "."; + else + dots = "."; + + if (StringManip.GetPhraseWordIndexInText(text, "running") > -1) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "running"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(42, 176, 173); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "running") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(text, "please wait") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "please wait"); + textProp.wordCount = 10; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(17, 75, 237); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + } + + UpdateStatusDisplayAtLine(text + dots, m_progressLine, textPropList); + + Thread.Sleep(500); + } + } + + // get all the necessary info if user choose to verify software by looking at the registry + public void getAppInfo(List> iniKeys, ref string appDescription, ref string appArg, ref bool isConsoleApp, ref bool waitForExit, ref string cdLabel, ref string displayMessage) + { + appDescription = ""; + appArg = ""; + displayMessage = ""; + isConsoleApp = false; + waitForExit = true; + + // for every key specified for the app to be installed/checked + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_description$", RegexOptions.IgnoreCase)) + { + appDescription = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_argument$", RegexOptions.IgnoreCase)) + { + appArg = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_cd_label$", RegexOptions.IgnoreCase)) + { + cdLabel = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_display_message_to_user$", RegexOptions.IgnoreCase)) + { + displayMessage = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_is_console$", RegexOptions.IgnoreCase)) + { + if (String.Equals(iniKey.iniValue, "true", StringComparison.OrdinalIgnoreCase)) + isConsoleApp = true; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_wait_for_exit$", RegexOptions.IgnoreCase)) + { + if (String.Equals(iniKey.iniValue, "true", StringComparison.OrdinalIgnoreCase)) + waitForExit = true; + else + waitForExit = false; + } + } + } + + bool processConfigInfo(KeyValuePair, List>> entry, + ref KeyValuePair, List>> processedEntry) + { + string fileExt = ""; + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + ConfigFileManager.Ini_KeyValue iniVal2 = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg = "", msg2 = ""; + Match regExMatch; + int matchedArgumentIndex = -1; + + Dictionary, List>> tempOneToManyDict = new Dictionary, List>>(); + List textPropList = new List(); + + Dictionary idToPath = new Dictionary(StringComparer.OrdinalIgnoreCase); + + iniVal = entry.Key; + + bool appTypeSpecified = false; + string appId = ""; + + regExMatch = Regex.Match(entry.Key.iniKeyName, @"(app\d+)_.+$", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + appId = regExMatch.Groups[1].Value; + + // process the key of the map which contains the setup file path + if (!Common.pathContainsMacro(entry.Key.iniValue)) + { + regExMatch = Regex.Match(entry.Key.iniValue, @".*\{browse_to_file:([^\}]+)\}.*", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + fileExt = Path.GetExtension(regExMatch.Groups[1].Value); + msg = "Please browse to location where file \"" + regExMatch.Groups[1].Value + "\" is located at"; + + regExMatch = Regex.Match(entry.Key.iniValue, @".*\{message_to_user:([^\}]+)\}.*", RegexOptions.IgnoreCase); + if (regExMatch.Success) + msg += "\n" + regExMatch.Groups[1].Value; + + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, msg, "Info", -1); + + m_parentForm.Invoke((MethodInvoker)(() => + { + OpenFileDialog openFileDialog1 = new OpenFileDialog(); + + openFileDialog1.InitialDirectory = Application.StartupPath; + + openFileDialog1.Filter = "File (*" + fileExt + ")|*" + fileExt; + openFileDialog1.FilterIndex = 2; + openFileDialog1.RestoreDirectory = true; + + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + iniVal.alternateValue = openFileDialog1.FileName; + } + })); + + if (iniVal.alternateValue.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Key: " + entry.Key.iniKeyName + + "\n" + indentation + "Value: " + entry.Key.iniValue + + "\n" + indentation + "Error Description: User did not provide a valid file"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + else + { + iniVal.alternateValue = Path.GetFullPath(entry.Key.iniValue); + + // check only relative path + if (!Path.IsPathRooted(entry.Key.iniValue) && (!File.Exists(iniVal.alternateValue))) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Key: " + entry.Key.iniKeyName + + "\n" + indentation + "Value: " + entry.Key.iniValue + + "\n" + indentation + "Error Description: The path defined in the value above is invalid. Translated path " + iniVal.alternateValue; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + } + else // the path specified contains macros, we have to resolve macros + { + iniVal.alternateValue = Common.resolveMacroPath(entry.Key.iniValue); + + if (Common.pathContainsCdDriveMacro(entry.Key.iniValue)) + { + if (iniVal.alternateValue.Length == 0) + { + setupSuccessful = false; + msg2 = PathManip.enumWindowsDesignatedPaths.CD_DRIVE.ToString() + " macro was defined. But no CD drive is found in the system"; + } + //else + //{ + // setupSuccessful = Common.validatePathInCdDrive(iniVal.alternateValue, m_parentForm); + + // if ( !setupSuccessful ) + // msg2 = "\"" + iniVal.alternateValue + "\" does not exist. Please insert a CD with that path"; + //} + + if (!setupSuccessful) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Key: " + entry.Key.iniKeyName + + "\n" + indentation + "Value: " + entry.Key.iniValue + + "\n" + indentation + "Error Description: " + msg2; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + } + + // process the values of the map which contains various related things like application argument, description, is_console, wait_for_exit, etc + if (setupSuccessful) + { + tempOneToManyDict[iniVal] = new List>(entry.Value); + + matchedArgumentIndex = tempOneToManyDict[iniVal].FindIndex(x => Regex.IsMatch(x.iniKeyName, @"app\d+_argument$", RegexOptions.IgnoreCase)); + + // for every key specified for the app to be run + foreach (ConfigFileManager.Ini_KeyValue iniKey in entry.Value) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"(app\d+)_is_console$", RegexOptions.IgnoreCase)) + { + appTypeSpecified = true; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"(app\d+)_argument$", RegexOptions.IgnoreCase)) + { + iniVal2 = tempOneToManyDict[iniVal][matchedArgumentIndex]; + + regExMatch = Regex.Match(iniKey.iniValue, @".*\{browse_to_file:([^\}]+)\}.*", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + fileExt = Path.GetExtension(regExMatch.Groups[1].Value); + msg = "Please browse to location where file \"" + regExMatch.Groups[1].Value + "\" is located at"; + + regExMatch = Regex.Match(iniKey.iniValue, @".*\{message_to_user:([^\}]+)\}.*", RegexOptions.IgnoreCase); + if (regExMatch.Success) + msg += "\n" + regExMatch.Groups[1].Value; + + ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, msg, "Info", -1); + + m_parentForm.Invoke((MethodInvoker)(() => + { + OpenFileDialog openFileDialog1 = new OpenFileDialog(); + + openFileDialog1.InitialDirectory = Application.StartupPath; + + openFileDialog1.Filter = "File (*" + fileExt + ")|*" + fileExt; + openFileDialog1.FilterIndex = 2; + openFileDialog1.RestoreDirectory = true; + + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + iniVal2.iniValue = openFileDialog1.FileName; + tempOneToManyDict[iniVal][matchedArgumentIndex] = iniVal2; + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniVal2.iniSectionName + + "\n" + indentation + "Key: " + iniVal2.iniKeyName + + "\n" + indentation + "Value: " + iniVal2.iniValue + + "\n" + indentation + "Error Description: User did not provide a valid file"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + })); + } + else + { + // matches every macro defined in the value of they key, macro is in the form of {xxxxx} such as {user_desktop}, {user_temp_folder}, {cd_drive}, {keyname} + MatchCollection matches = Regex.Matches(iniKey.iniValue, @"\{([^\{\}]+)\}", RegexOptions.IgnoreCase); + + if (matches.Count > 0) + { + // each match can have multiple parts i.e. $1 $2...$n + for (int i = 0; i < matches.Count; i++) + { + // matches[i].Groups[0].Value is the actual macro itself, i.e. {keyname} + // matches[i].Groups[1].Value is the string inside curly brackets, i.e. keyname + string pattern = Regex.Escape(matches[i].Groups[1].Value); + + // looking for a key that defines the actual path to be used in the argument + int matchedPathIndex = entry.Value.FindIndex(x => Regex.IsMatch(x.iniKeyName, pattern, RegexOptions.IgnoreCase)); + + // if the macro in the argument refers to another key the defines a path + if (matchedPathIndex >= 0 && !idToPath.ContainsKey(matches[i].Groups[0].Value)) + { + if (PathManip.PathIsFile(entry.Value[matchedPathIndex].iniValue)) + idToPath[matches[i].Groups[0].Value] = Path.GetDirectoryName(Path.GetFullPath(entry.Value[matchedPathIndex].iniValue)); + else + idToPath[matches[i].Groups[0].Value] = Path.GetFullPath(entry.Value[matchedPathIndex].iniValue); + + } + // if the macro in the argument refers to the path defined by primary key app#_path + else if (String.Equals(entry.Key.iniKeyName, matches[i].Groups[1].Value, StringComparison.OrdinalIgnoreCase) && !idToPath.ContainsKey(matches[i].Groups[0].Value)) + { + if (PathManip.PathIsFile(iniVal.alternateValue)) + idToPath[matches[i].Groups[0].Value] = Path.GetDirectoryName(Path.GetFullPath(iniVal.alternateValue)); + else + idToPath[matches[i].Groups[0].Value] = Path.GetFullPath(iniVal.alternateValue); + } + // if the macro refers to user's desktop, temp folder, cd drive + else if (Common.pathContainsMacro(matches[i].Groups[0].Value)) + { + if (!idToPath.ContainsKey(matches[i].Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(matches[i].Groups[0].Value); + + if (Common.pathContainsCdDriveMacro(matches[i].Groups[0].Value)) + { + if (resolvedPath.Length == 0) + { + setupSuccessful = false; + msg2 = matches[i].Groups[1].Value + " macro was defined. But no CD drive is found in the system"; + } + + if (!setupSuccessful) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: " + msg2; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + + if (setupSuccessful) + idToPath[matches[i].Groups[0].Value] = resolvedPath; + } + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value above specifies a variable \"" + matches[i].Groups[0].Value + "\" in the argument." + + " Key \"" + iniKey.iniKeyName + "_" + matches[i].Groups[1].Value + + "\" must be defined to specify the actual path for variable \"" + matches[i].Groups[0].Value + "\""; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + } + + if (!setupSuccessful) + break; + } + } + } + + if (setupSuccessful && !appTypeSpecified) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Error Description: The key name \"" + appId + "_is_console\" is missing in the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + } + + if (setupSuccessful) + { + if (idToPath.Count > 0) + { + // goes through each marco in the argument ini key and replace with actual paths + foreach (KeyValuePair item in idToPath) + { + if (matchedArgumentIndex >= 0) + { + iniVal2 = tempOneToManyDict[iniVal][matchedArgumentIndex]; + iniVal2.iniValue = Regex.Replace(iniVal2.iniValue, Regex.Escape(item.Key), item.Value, RegexOptions.IgnoreCase); + + tempOneToManyDict[iniVal][matchedArgumentIndex] = iniVal2; + } + } + } + + processedEntry = new KeyValuePair, List>>(iniVal, new List>(tempOneToManyDict[iniVal])); + } + + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/SetupMiscellaneous.cs b/AllPurposeAutoSetup/SetupMiscellaneous.cs new file mode 100644 index 0000000..a176965 --- /dev/null +++ b/AllPurposeAutoSetup/SetupMiscellaneous.cs @@ -0,0 +1,453 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; + +namespace All_Purpose_Auto_Setup +{ + class SetupMiscellaneous + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public Dictionary environmentVars = new Dictionary(); + + public Dictionary userPrompt = new Dictionary(StringComparer.OrdinalIgnoreCase); + + Form m_parentForm; + + public SetupMiscellaneous(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool setEnvironmentVariables(string sectionName) + { + bool setupSuccessful = true; + string msg; + string indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Setting System Environment Variables=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + environmentVars.Clear(); + + ConfigFileManager.parseConfigInfo(sectionName, environmentVars); + + if (setupSuccessful) + { + if (environmentVars.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to set"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + foreach (KeyValuePair entry in environmentVars) + { + if (String.Equals(entry.Key, "path", StringComparison.OrdinalIgnoreCase)) + { + setupSuccessful = processPathEnvironmentVariable(entry.Value); + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + entry.Key + "=" + entry.Value; + try + { + System.Environment.SetEnvironmentVariable(entry.Key, entry.Value, EnvironmentVariableTarget.Machine); + + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message; + + uint code = (uint)e.HResult; + + if (code == 0x8013150a) + { + msg += " Need ADMIN privilege."; + } + + msg += ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + if (!setupSuccessful) + break; + } + } + return setupSuccessful; + } + + public bool processPathEnvironmentVariable(string value) + { + bool setupSuccessful = true; + + string msg; + string indentation = String.Empty, currentPathEnvVar = ""; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + List newPathList = new List(value.Split(',')); + + try + { + currentPathEnvVar = System.Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Machine); + } + catch (Exception e) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Querying system environment variable \"Path\" - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + List currentPathList = new List(currentPathEnvVar.Split(';')); + + indentation = Common.getIndentation(1); + foreach (string item in newPathList) + { + string path = item.Trim(); + + if (currentPathList.Count == 0) + { + currentPathEnvVar = path; + + msg = "\n" + indentation + " Path=" + path; + + try + { + System.Environment.SetEnvironmentVariable("Path", currentPathEnvVar, EnvironmentVariableTarget.Machine); + + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + } + else if (currentPathList.FindIndex(x => x == path) < 0 && currentPathList.FindIndex(x => x == PathManip.RemoveTrailingSlashInPath(path)) < 0) + { + currentPathEnvVar += ";" + path; + msg = "\n" + indentation + " Path={Path};" + path; + + try + { + System.Environment.SetEnvironmentVariable("Path", currentPathEnvVar, EnvironmentVariableTarget.Machine); + + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message; + + uint code = (uint)e.HResult; + + if (code == 0x8013150a) + { + msg += " Need ADMIN privilege."; + } + + msg += ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + } + else + { + msg = "\n" + indentation + "Path=" + "{Path};" + path; + + msg += " - SKIPPED. " + path + " already exists in {Path}"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SKIPPED."); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + if (!setupSuccessful) + break; + + } + } + return setupSuccessful; + } + + public bool promptUser(string sectionName) + { + bool setupSuccessful = true; + string msg, displayMsg, result; + string indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=User Prompt=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + userPrompt.Clear(); + + ConfigFileManager.parseConfigInfo(sectionName, userPrompt); + + if (setupSuccessful) + { + if (userPrompt.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. No-operation"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + else + { + if (!userPrompt.ContainsKey("prompt_message")) + { + msg = "\n" + indentation + "- FAILED. (Expecting key \"prompt_message\" in section \"" + sectionName + "\")"; + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + if (!userPrompt.ContainsKey("prompt_message_type")) + { + msg = "\n" + indentation + "- FAILED. Expecting key \"prompt_message_type\" in section \"" + sectionName + "\""; + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + } + + if (setupSuccessful) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Promp user"; + + displayMsg = Regex.Replace(userPrompt["prompt_message"], @"\{newline\}", "\n"); + + if ( String.Equals(userPrompt["prompt_message_type"], MessageBoxCustom.PopUpMsgType.YESNO.ToString(), StringComparison.CurrentCultureIgnoreCase)) + result = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.YESNO, null, displayMsg, "Info", -1); + else if (String.Equals(userPrompt["prompt_message_type"], MessageBoxCustom.PopUpMsgType.OKCANCEL.ToString(), StringComparison.CurrentCultureIgnoreCase)) + result = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, displayMsg, "Info", -1); + else + result = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, displayMsg, "Info", -1); + + if ( Regex.IsMatch(result, @"(yes|ok)", RegexOptions.IgnoreCase)) + { + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + msg += " - FAILED. (User selected to abort the operation)"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + } + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/SoftwareInstallManager.cs b/AllPurposeAutoSetup/SoftwareInstallManager.cs new file mode 100644 index 0000000..1adb8a3 --- /dev/null +++ b/AllPurposeAutoSetup/SoftwareInstallManager.cs @@ -0,0 +1,1513 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; +using CommonLib.Runtime.InteropServices; + +namespace All_Purpose_Auto_Setup +{ + class SoftwareInstallManager + { + + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public event Action> UpdateStatusDisplayAtLine; + + public event Action RebootComputer; + + public event Action SetupProcessNeedRestartToProceed; + + // event for thread to notify other threads that it has exited + private AutoResetEvent _resetEvent = new AutoResetEvent(false); + + // this dictionary stores application name and its associated setup file and exe file + // it would look like this: + // [ app1_name ] -> List[setup_file exe_file setup_args] + // [ app2_name ] -> List[setup_file setup_args reg_path reg_type ...] + public Dictionary, List>> appNameToInstallerAndExe = new Dictionary, List>>(); + + int m_progressLine = 0; + + Form m_parentForm; + + public SoftwareInstallManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool manageRequiredSoftwarePackages(string sectionName) + { + bool setupSuccessful = true; + string msg, indentation = String.Empty; + string setupFile, exeFile, registryPath, registryDisplayName, registryType, registryName, registryValue, registryCompareOperator, installArgs, + exitCodesToIgnore, installProcessName; + bool promptBeforeInstallation = false, rebootComputerAtCompletionRequested = false, rebootComputerImmediatelyRequested = false; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Installing/checking required software packages=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + appNameToInstallerAndExe.Clear(); + + ConfigFileManager.readOneToManyDictionary(ConfigFileManager.ms_configGeneralInfo.iniFile, + sectionName, @"(app\d+)_name$", @"(app\d+)_.+", appNameToInstallerAndExe); + + if (setupSuccessful) + { + if (appNameToInstallerAndExe.Count == 0 || + (appNameToInstallerAndExe.Count == 1 && appNameToInstallerAndExe.First().Value.Count == 0)) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to install/check"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + KeyValuePair, List>> processedConfigInfo = new KeyValuePair, List>>(); + + // for every app name to be installed/checked + foreach (KeyValuePair, List>> entry in appNameToInstallerAndExe) + { + promptBeforeInstallation = false; + setupFile = ""; + exeFile = ""; + registryPath = ""; + registryDisplayName = ""; + registryType = ""; + registryName = ""; + registryValue = ""; + registryCompareOperator = ""; + installArgs = ""; + exitCodesToIgnore = ""; + installProcessName = ""; + rebootComputerAtCompletionRequested = false; + rebootComputerImmediatelyRequested = false; + + + setupSuccessful = processConfigInfo(entry, ref processedConfigInfo); + + if (!setupSuccessful) + break; + + getInfoUsingExeVerification(processedConfigInfo.Value, ref setupFile, ref exeFile, ref promptBeforeInstallation, ref rebootComputerAtCompletionRequested, ref rebootComputerImmediatelyRequested); + getInfoUsingRegistryVerification(processedConfigInfo.Value, ref registryPath, ref registryDisplayName, ref registryType, ref registryName, ref registryValue, ref registryCompareOperator, ref installArgs, ref exitCodesToIgnore, ref installProcessName); + + if (exeFile.Length > 0) + { + setupSuccessful = checkSoftwareExe(processedConfigInfo.Key.iniValue, setupFile, installArgs, exeFile, exitCodesToIgnore, promptBeforeInstallation, rebootComputerAtCompletionRequested, rebootComputerImmediatelyRequested); + } + else + { + setupSuccessful = checkSoftwareRegistry(processedConfigInfo.Key.iniValue, setupFile, promptBeforeInstallation, installArgs, registryPath, + registryDisplayName, registryType, registryName, registryValue, registryCompareOperator, + exitCodesToIgnore, installProcessName, rebootComputerAtCompletionRequested, rebootComputerImmediatelyRequested); + } + + if (!setupSuccessful || ((frmSetupStatusDisplay)m_parentForm).applicationNeedsToBeRestarted()) + break; + } + } + return setupSuccessful; + } + + // check if software is installed + public bool checkSoftwareExe(string softwareName, string setupFile, string setupArgs, string exeFile, string exitCodesToIgnore, bool promptBeforeInstall, bool rebootComputerAtCompletionRequested, bool rebootComputerImmediatelyRequested) + { + bool setupSuccessful = true; + bool installSuccess = true; + bool installExecuted = false; + string msg1, msg2 = "", indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList1 = new List(); + List textPropList2 = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 3; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + indentation = Common.getIndentation(1); + msg1 = "\n" + indentation + "Checking installation of " + softwareName; + + for (int checkAttempt = 1; checkAttempt <= 2; checkAttempt++) + { + // if software application does not exist + if (!File.Exists(exeFile)) + { + if (checkAttempt == 1 && setupFile.Length > 0) + { + installSuccess = installSoftware(softwareName, setupFile, setupArgs, exitCodesToIgnore, "", promptBeforeInstall); + + installExecuted = true; + + if (!installSuccess) + setupSuccessful = false; + + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. Unable to detect presence of file " + exeFile; + setupSuccessful = false; + } + + } + else if (checkAttempt == 2) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - PASSED"; + } + } + + if (installSuccess) + { + UpdateStatusDisplayAndLogEvent(msg1, msg1, textPropList1); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + + if (installExecuted && rebootComputerAtCompletionRequested) + { + RebootComputer(); + + if (rebootComputerImmediatelyRequested) + { + Common.enableAutoRunAfterReboot("Auto_Win_Setup_Task", Application.ExecutablePath); + + // raise event to signal that we need to stop the setup process for changes to take effect + SetupProcessNeedRestartToProceed(); + } + } + } + + return setupSuccessful; + } + + public bool installSoftware(string softwareName, string setupFile, string setupArgs, string exitCodesToIgnore, string installProcessName, bool promptBeforeInstall) + { + string msg1 = String.Empty, msg2 = String.Empty, msg3, indentation = String.Empty; + bool setupSuccessful = true; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList1 = new List(); + List textPropList2 = new List(); + List textPropList3 = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 1; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + indentation = Common.getIndentation(1); + msg1 = "\n" + indentation + "Installing " + softwareName; + + if (setupFile.Length > 0) + { + setupFile = Path.GetFullPath(setupFile); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + softwareName + " is not installed on system. Please install it."; + setupSuccessful = false; + } + + if (setupSuccessful) + { + foreach (var drive in DriveInfo.GetDrives() + .Where(d => d.DriveType == DriveType.CDRom)) + { + if (Regex.IsMatch(setupFile, @"^" + Regex.Escape(drive.Name) + @".+", RegexOptions.IgnoreCase)) + { + while (!drive.IsReady || !File.Exists(setupFile)) + { + Hardware.OpenCdDrive(drive.Name); + + msg3 = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.OKCANCEL, null, "Please insert the " + softwareName + " disc into drive " + drive.Name + "\n\n Click OK to proceed", "Info", -1); + + if (String.Equals(msg3, "cancel", StringComparison.OrdinalIgnoreCase)) + { + break; + } + } + + break; + } + } + + if (File.Exists(setupFile)) + { + if (promptBeforeInstall) + msg3 = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.YESNO, null, "Required software \"" + softwareName + "\" is not detected in the system.\n\n Would you like to perform the install now?", "Info", -1); + else + msg3 = "yes"; + + if (String.Equals(msg3, "yes", StringComparison.OrdinalIgnoreCase)) + { + + BackgroundWorker bgwInformUserToWait; + + bgwInformUserToWait = new BackgroundWorker(); + bgwInformUserToWait.WorkerSupportsCancellation = true; + bgwInformUserToWait.DoWork += new DoWorkEventHandler(bgwInformUserToWait_DoWork); + bgwInformUserToWait.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgwInformUserToWait_RunWorkerCompleted); + + frmSetupStatusDisplay displayFrm = (frmSetupStatusDisplay)m_parentForm; + m_progressLine = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList3); + if (!bgwInformUserToWait.IsBusy) + { + indentation = Common.getIndentation(1); + bgwInformUserToWait.RunWorkerAsync(indentation + "Installing " + softwareName + ". Please wait"); + + } + + try + { + System.Diagnostics.Process process = null; + + // if we have to execute install from a command line + if (Regex.IsMatch(setupFile, @"\.bat$", RegexOptions.IgnoreCase)) + { + ProcessStartInfo ProcStartInfo = new ProcessStartInfo(@"C:\Windows\System32\cmd.exe"); + ProcStartInfo.RedirectStandardOutput = false; + ProcStartInfo.UseShellExecute = false; + ProcStartInfo.CreateNoWindow = true; + ProcStartInfo.RedirectStandardError = true; + process = new System.Diagnostics.Process(); + ProcStartInfo.Arguments = "/c start /wait /d \"" + Path.GetDirectoryName(setupFile) + "\" " + Path.GetFileName(setupFile); + process.StartInfo = ProcStartInfo; + process.Start(); + } + else if (setupArgs.Length > 0 && Regex.IsMatch(setupFile, @"\.exe$", RegexOptions.IgnoreCase)) + { + ProcessStartInfo ProcStartInfo = new ProcessStartInfo(setupFile); + ProcStartInfo.RedirectStandardOutput = false; + ProcStartInfo.UseShellExecute = false; + ProcStartInfo.CreateNoWindow = true; + ProcStartInfo.RedirectStandardError = true; + process = new System.Diagnostics.Process(); + ProcStartInfo.Arguments = setupArgs; + process.StartInfo = ProcStartInfo; + process.Start(); + } + else + { + process = Process.Start(setupFile); + } + + int exitCode = WaitForAllToExit(process); + + process.Close(); + + if (exitCodesToIgnore.Length == 0) + exitCodesToIgnore = ",0,"; + else + exitCodesToIgnore = ",0," + exitCodesToIgnore + ","; + + if (!Regex.IsMatch(exitCodesToIgnore, @",\s*" + exitCode.ToString() + @"\s*,", RegexOptions.IgnoreCase)) + { + throw new Exception(Path.GetFileName(setupFile) + " exited with code: " + exitCode.ToString()); + } + } + catch (Exception e) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. Error executing setup file " + setupFile + ". " + e.Message; + + setupSuccessful = false; + } + finally + { + if (!bgwInformUserToWait.CancellationPending && bgwInformUserToWait.IsBusy) + { + bgwInformUserToWait.CancelAsync(); + _resetEvent.WaitOne(); + _resetEvent.Reset(); + } + + displayFrm.removeStatusDisplayLine(m_progressLine, true); + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. User chooses to not install required software."; + + setupSuccessful = false; + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. Setup file " + setupFile + " was not found."; + + setupSuccessful = false; + } + } + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS"; + } + + UpdateStatusDisplayAndLogEvent(msg1, msg1, textPropList1); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + + return setupSuccessful; + } + + private void bgwInformUserToWait_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + // First, handle the case where an exception was thrown. + if (e.Error != null) + { + + } + else if (e.Cancelled) // user cancelled + { + + } + else // thread completed on its own + { + + } + _resetEvent.Set(); // signal that execution of this thread is done + } + + private int WaitForAllToExit(Process process) + { + int exitCode = -1; + + // even though this line doesn't appear to do anything, it + // helps in getting the exit code of the child process + // without this line, if we try to get exit code of child process + // exception will be thrown + var sh = process.SafeHandle; + + while (true) + { + ManagementObjectSearcher searcher = new ManagementObjectSearcher( + "SELECT * " + + "FROM Win32_Process " + + "WHERE ParentProcessId=" + process.Id); + ManagementObjectCollection collection = searcher.Get(); + if (collection.Count > 0) + { + foreach (var item in collection) + { + UInt32 childProcessId = (UInt32)item["ProcessId"]; + if ((int)childProcessId != Process.GetCurrentProcess().Id) + { + Process childProcess = null; + try + { + childProcess = Process.GetProcessById((int)childProcessId); + } + catch (Exception) + { + continue; + } + + exitCode = WaitForAllToExit(childProcess); + } + } + } + + if (process.HasExited) + { + if (exitCode == -1) + exitCode = process.ExitCode; + + break; + } + else + Thread.Sleep(500); + } + + return exitCode; + } + + private void bgwInformUserToWait_DoWork(object sender, DoWorkEventArgs e) + { + BackgroundWorker bgw = sender as BackgroundWorker; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string text = (string)e.Argument; + string dots = ""; + + while (true) + { + if (bgw != null && bgw.CancellationPending) + { + if (e != null) + e.Cancel = true; + + break; + } + + if (dots.Length < 3) + dots += "."; + else + dots = "."; + + if (StringManip.GetPhraseWordIndexInText(text, "installing") > -1) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "installing"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(42, 176, 173); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "installing") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(text, "please wait") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "please wait"); + textProp.wordCount = 10; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(17, 75, 237); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + } + + UpdateStatusDisplayAtLine(text + dots, m_progressLine, textPropList); + + Thread.Sleep(500); + } + } + + public bool checkSoftwareRegistry(string softwareName, string setupFile, bool promptBeforeInstall, string setupArgs, string registryPath, string registryDisplayName, string registryType, + string registryName, string registryValue, string registryCompareOperator, + string exitCodesToIgnore, string installProcessName, bool rebootComputerAtCompletionRequested, bool rebootComputerImmediatelyRequested) + { + bool setupSuccessful = true; + bool installSuccessful = true; + bool installExecuted = false; + string msg, indentation = String.Empty, statusMsg = ""; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList1 = new List(); + List textPropList2 = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 3; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "Checking installation of " + softwareName; + + int maxSoftwareCheckRetries = 15; + int retriesCount = 1; + while (true) + { + // if software application does not exist + if (!checkSoftwareRegistrySetting(registryPath, registryDisplayName, registryType, registryName, registryValue, registryCompareOperator, ref statusMsg)) + { + if (retriesCount == 1 && setupFile.Length > 0) + { + installSuccessful = installSoftware(softwareName, setupFile, setupArgs, exitCodesToIgnore, installProcessName, promptBeforeInstall); + + installExecuted = true; + + if (!installSuccessful) + setupSuccessful = false; + + } + + if (!installExecuted || retriesCount == maxSoftwareCheckRetries || !installSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + setupSuccessful = false; + break; + } + + if (installExecuted && installSuccessful) + { + // wait for all the registry settings to be applied before we check again + Thread.Sleep(1000); + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + statusMsg = " - PASSED"; + + break; + } + + retriesCount++; + } + + if (installSuccessful) + { + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList1); + UpdateStatusDisplayAndLogEvent(statusMsg, statusMsg, textPropList2); + + if (installExecuted && rebootComputerAtCompletionRequested) + { + RebootComputer(); + + if (rebootComputerImmediatelyRequested) + { + Common.enableAutoRunAfterReboot("Auto_Win_Setup_Task", Application.ExecutablePath); + + // raise event to signal that we need to stop the setup process for changes to take effect + SetupProcessNeedRestartToProceed(); + } + } + } + + return setupSuccessful; + } + + bool checkSoftwareRegistrySetting(string registryPath, string registryDisplayName, string registryType, + string registryName, string registryValue, string registryCompareOperator, ref string statusMsg) + { + bool setupSuccessful = true; + string indentation = String.Empty, actualRegistryValue = ""; + RegistryHive regHive = RegistryHive.LocalMachine; + + RegistryKey rkSubKey = null; + + statusMsg = ""; + + RegistryKey hklm = null; + + if (String.Equals(registryType, "local_machine", StringComparison.OrdinalIgnoreCase)) + { + regHive = RegistryHive.LocalMachine; + } + else if (String.Equals(registryType, "classes_root", StringComparison.OrdinalIgnoreCase)) + { + regHive = RegistryHive.ClassesRoot; + } + else if (String.Equals(registryType, "current_user", StringComparison.OrdinalIgnoreCase)) + { + regHive = RegistryHive.CurrentUser; + } + else + { + statusMsg = " - FAILED. Registry type of \"" + registryType + "\" is invalid"; + setupSuccessful = false; + } + + if (setupSuccessful) + { + List registryPaths = new List(); + if (registryDisplayName.Length > 0) + { + registryPaths = WindowsRegistry.GetRegistryDynamicUninstallKeys(regHive, registryDisplayName); + + if (registryPaths.Count == 0) + { + statusMsg = " - FAILED. Unable to find any registry key associated with \"" + registryDisplayName + "\""; + setupSuccessful = false; + } + } + else if (registryPath.Length > 0) + { + registryPaths.Add(registryPath); + } + + hklm = RegistryKey.OpenBaseKey(regHive, RegistryView.Registry64); + + foreach (string regPath in registryPaths) + { + setupSuccessful = true; + + rkSubKey = hklm.OpenSubKey(regPath, false); + + if (rkSubKey != null) + { + if (registryName.Length > 0) + { + List list = new List(rkSubKey.GetValueNames()); + + if (list.FindIndex(x => x.Equals(registryName, StringComparison.OrdinalIgnoreCase)) != -1) + { + actualRegistryValue = rkSubKey.GetValue(registryName).ToString(); + + if (Regex.IsMatch(actualRegistryValue, @"^[\.0-9]+$", RegexOptions.IgnoreCase) && Regex.IsMatch(registryValue, @"^[\.0-9]+$", RegexOptions.IgnoreCase)) + { + if (softwareVersionComparisonSuccessful(registryValue, actualRegistryValue, registryCompareOperator)) + { + statusMsg = " - PASSED"; + } + else + { + statusMsg = " - FAILED. Actual registry value of \"" + actualRegistryValue + "\" is not " + getStringEquivalentOfComparisonOperator(registryCompareOperator) + " the base registry value of \"" + registryValue + "\""; + setupSuccessful = false; + } + } + else if (!String.Equals(actualRegistryValue, registryValue, StringComparison.OrdinalIgnoreCase)) + { + statusMsg = " - FAILED. Actual registry value of \"" + actualRegistryValue + "\" is not " + getStringEquivalentOfComparisonOperator(registryCompareOperator) + " the base registry value of \"" + registryValue + "\""; + setupSuccessful = false; + } + } + else + { + statusMsg = " - FAILED. Unable to find registry key's value name \"" + registryName + "\""; + setupSuccessful = false; + } + } + } + else + { + statusMsg = " - FAILED. Unable to find registry key \"" + registryPath + "\". Either the registry key is wrong or the software is not installed."; + setupSuccessful = false; + } + } + } + + if (rkSubKey != null) + rkSubKey.Close(); + + if (hklm != null) + hklm.Close(); + + return setupSuccessful; + } + + static bool softwareVersionComparisonSuccessful(string baseVersion, string actualVersion, string compareOperator) + { + bool compareSuccess = false; + List baseVersionParts = new List(baseVersion.Split('.').ToList()); + List actualVersionParts = new List(actualVersion.Split('.').ToList()); + int actualVal = 0, expectedVal = 0; + + // remove any trailing .0 + for (int i = baseVersionParts.Count - 1; i >= 0; --i) + { + if (i != 0 && Regex.IsMatch(baseVersionParts[i], @"^[0]+$", RegexOptions.IgnoreCase)) + { + baseVersionParts.RemoveAt(i); + } + else + break; + } + + // remove any trailing .0 + for (int i = actualVersionParts.Count - 1; i >= 0; --i) + { + if (i != 0 && Regex.IsMatch(actualVersionParts[i], @"^[0]+$", RegexOptions.IgnoreCase)) + { + actualVersionParts.RemoveAt(i); + } + else + break; + } + + if (baseVersionParts.Count == 0) + baseVersionParts.Add("0"); + + if (actualVersionParts.Count == 0) + actualVersionParts.Add("0"); + + if (compareOperator.Length == 0) + compareOperator = "eq"; + + if (String.Equals(compareOperator, "eq", StringComparison.OrdinalIgnoreCase)) + { + compareSuccess = actualAndBaseVersionsAreEqual(baseVersionParts, actualVersionParts); + } + else if (String.Equals(compareOperator, "ne", StringComparison.OrdinalIgnoreCase)) + { + compareSuccess = !actualAndBaseVersionsAreEqual(baseVersionParts, actualVersionParts); + } + else if (String.Equals(compareOperator, "lte", StringComparison.OrdinalIgnoreCase)) + { + bool isEqual = false; + + for (int i = 0; i < actualVersionParts.Count; i++) + { + if (baseVersionParts.Count >= i + 1) + { + if (Int32.TryParse(actualVersionParts[i], out actualVal) && Int32.TryParse(baseVersionParts[i], out expectedVal)) + { + if (actualVal < expectedVal) + { + isEqual = false; + compareSuccess = true; + break; + } + else if (actualVal > expectedVal) + { + isEqual = false; + break; + } + else if (i == actualVersionParts.Count - 1 && actualVersionParts.Count == baseVersionParts.Count) + { + isEqual = false; + compareSuccess = true; + break; + } + else + isEqual = true; + } + } + } + + if (isEqual && baseVersionParts.Count > actualVersionParts.Count) + compareSuccess = true; + } + else if (String.Equals(compareOperator, "gte", StringComparison.OrdinalIgnoreCase)) + { + for (int i = 0; i < actualVersionParts.Count; i++) + { + if (baseVersionParts.Count >= i + 1) + { + if (Int32.TryParse(actualVersionParts[i], out actualVal) && Int32.TryParse(baseVersionParts[i], out expectedVal)) + { + if (actualVal > expectedVal) + { + compareSuccess = true; + break; + } + else if (actualVal < expectedVal) + break; + else if (i == actualVersionParts.Count - 1 && actualVersionParts.Count == baseVersionParts.Count) + { + compareSuccess = true; + break; + } + } + } + else + { + compareSuccess = true; + break; + } + } + } + else if (String.Equals(compareOperator, "gt", StringComparison.OrdinalIgnoreCase)) + { + for (int i = 0; i < actualVersionParts.Count; i++) + { + if (baseVersionParts.Count >= i + 1) + { + if (Int32.TryParse(actualVersionParts[i], out actualVal) && Int32.TryParse(baseVersionParts[i], out expectedVal)) + { + if (actualVal > expectedVal) + { + compareSuccess = true; + break; + } + } + } + else + { + compareSuccess = true; + break; + } + } + } + else if (String.Equals(compareOperator, "lt", StringComparison.OrdinalIgnoreCase)) + { + compareSuccess = true; + bool isEqual = false; + + for (int i = 0; i < actualVersionParts.Count; i++) + { + if (baseVersionParts.Count >= i + 1) + { + if (Int32.TryParse(actualVersionParts[i], out actualVal) && Int32.TryParse(baseVersionParts[i], out expectedVal)) + { + if (actualVal > expectedVal) + { + isEqual = false; + compareSuccess = false; + break; + } + else if (actualVal < expectedVal) + { + isEqual = false; + break; + } + else + isEqual = true; + } + } + } + + if (isEqual && baseVersionParts.Count == actualVersionParts.Count) + compareSuccess = false; + } + + return compareSuccess; + } + + private static bool actualAndBaseVersionsAreEqual(List baseVersionParts, List actualVersionParts) + { + bool compareSuccess = true; + int actualVal = 0, baseVal = 0; + + if (baseVersionParts.Count != actualVersionParts.Count) + compareSuccess = false; + else + { + for (int i = 0; i < actualVersionParts.Count; i++) + { + if (baseVersionParts.Count >= i + 1) + { + if (Int32.TryParse(actualVersionParts[i], out actualVal) && Int32.TryParse(baseVersionParts[i], out baseVal)) + { + if (actualVal != baseVal) + { + compareSuccess = false; + break; + } + } + } + } + } + + return compareSuccess; + } + + public static string getStringEquivalentOfComparisonOperator(string compareOperator) + { + string description = ""; + + if (String.Equals(compareOperator, "eq", StringComparison.OrdinalIgnoreCase)) + { + description = "equal to"; + } + else if (String.Equals(compareOperator, "lte", StringComparison.OrdinalIgnoreCase)) + { + description = "less than or equal to"; + } + else if (String.Equals(compareOperator, "gte", StringComparison.OrdinalIgnoreCase)) + { + description = "greater than or equal to"; + } + else if (String.Equals(compareOperator, "gt", StringComparison.OrdinalIgnoreCase)) + { + description = "greater than"; + } + else if (String.Equals(compareOperator, "lt", StringComparison.OrdinalIgnoreCase)) + { + description = "less than"; + } + else if (String.Equals(compareOperator, "ne", StringComparison.OrdinalIgnoreCase)) + { + description = "not equal to"; ; + } + + return description; + } + + // get all the necessary info if user choose to verify software by looking for exe name + public void getInfoUsingExeVerification(List> iniKeys, ref string setupFile, ref string exeFile, ref bool promptBeforeInstall, ref bool rebootComputerAtCompletionRequested, ref bool rebootComputerImmediatelyRequested) + { + setupFile = ""; + exeFile = ""; + // for every key specified for the app to be installed/checked + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_setup_file", RegexOptions.IgnoreCase)) + { + setupFile = iniKey.alternateValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_exe_file", RegexOptions.IgnoreCase)) + { + exeFile = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_setup_confirm_prompt", RegexOptions.IgnoreCase)) + { + if (String.Equals(iniKey.iniValue, "yes", StringComparison.OrdinalIgnoreCase)) + promptBeforeInstall = true; + else + promptBeforeInstall = false; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reboot_computer_at_completion", RegexOptions.IgnoreCase)) + { + if (String.Equals(iniKey.iniValue, "yes", StringComparison.OrdinalIgnoreCase)) + rebootComputerAtCompletionRequested = true; + else + rebootComputerAtCompletionRequested = false; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reboot_computer_immediately", RegexOptions.IgnoreCase)) + { + if (String.Equals(iniKey.iniValue, "yes", StringComparison.OrdinalIgnoreCase)) + rebootComputerImmediatelyRequested = true; + else + rebootComputerImmediatelyRequested = false; + } + } + } + + // get all the necessary info if user choose to verify software by looking at the registry + public void getInfoUsingRegistryVerification(List> iniKeys, ref string registryPath, ref string registryDisplayName, + ref string registryType, ref string registryName, ref string registryValue, ref string registryCompareOperator, ref string installArgs, ref string exitCodesToIgnore, ref string installProcessName) + { + registryPath = ""; + registryDisplayName = ""; + registryType = ""; + registryName = ""; + registryValue = ""; + registryCompareOperator = ""; + installArgs = ""; + exitCodesToIgnore = ""; + + // for every key specified for the app to be installed/checked + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_path$", RegexOptions.IgnoreCase)) + { + registryPath = iniKey.iniValue; + } + if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_display_name$", RegexOptions.IgnoreCase)) + { + registryDisplayName = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_type", RegexOptions.IgnoreCase)) + { + registryType = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_name", RegexOptions.IgnoreCase)) + { + registryName = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_value", RegexOptions.IgnoreCase)) + { + registryValue = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_compare", RegexOptions.IgnoreCase)) + { + registryCompareOperator = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_setup_argument", RegexOptions.IgnoreCase)) + { + installArgs = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_exit_codes_to_ignore", RegexOptions.IgnoreCase)) + { + exitCodesToIgnore = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_install_process_name", RegexOptions.IgnoreCase)) + { + installProcessName = iniKey.iniValue; + } + } + } + + bool processConfigInfo(KeyValuePair, List>> entry, + ref KeyValuePair, List>> processedEntry) + { + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + ConfigFileManager.Ini_KeyValue iniVal2 = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg = "", msg2 = ""; + Match regExMatch; + + Dictionary, List>> tempOneToManyDict = new Dictionary, List>>(); + List textPropList = new List(); + + bool appVerifiedByCheckingRegistry = false; + bool appVerifiedByCheckingExe = false; + bool appRegistryTypeSpecified = false; + string appId = ""; + string registryKeyType = ""; + + appVerifiedByCheckingRegistry = false; + appVerifiedByCheckingExe = false; + appRegistryTypeSpecified = false; + + Dictionary idToPath = new Dictionary(StringComparer.OrdinalIgnoreCase); + + // for every key specified for the app to be installed + foreach (ConfigFileManager.Ini_KeyValue iniKey in entry.Value) + { + regExMatch = Regex.Match(iniKey.iniKeyName, @"(app\d+)_.+$", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + appId = regExMatch.Groups[1].Value; + + // user has specified the verification method + if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_exe_file", RegexOptions.IgnoreCase)) + { + appVerifiedByCheckingExe = true; + break; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"(app\d+)_reg_path$", RegexOptions.IgnoreCase) + || Regex.IsMatch(iniKey.iniKeyName, @"(app\d+)_reg_display_name$", RegexOptions.IgnoreCase)) + { + appVerifiedByCheckingRegistry = true; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"(app\d+)_reg_type$", RegexOptions.IgnoreCase)) + { + regExMatch = Regex.Match(iniKey.iniKeyName, @"(app\d+)_reg_type$", RegexOptions.IgnoreCase); + + registryKeyType = regExMatch.Groups[1].Value; + appRegistryTypeSpecified = true; + + if (!WindowsRegistryManager.registryTypeIsValid(iniKey.iniValue)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_reg_compare", RegexOptions.IgnoreCase)) + { + string description = SoftwareInstallManager.getStringEquivalentOfComparisonOperator(iniKey.iniValue); + + if (description.Length == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"app\d+_setup_file", RegexOptions.IgnoreCase) && iniKey.iniValue.Length > 0) + { + iniVal = iniKey; + + if (!Common.pathContainsMacro(iniKey.iniValue)) + { + iniVal.alternateValue = Path.GetFullPath(iniKey.iniValue); + + // check only relative path + if (!Path.IsPathRooted(iniKey.iniValue) && (!File.Exists(iniVal.alternateValue))) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The path defined in the value above is invalid. Translated path " + iniVal.alternateValue; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + else // the path specified contains macros, we have to resolve macros + { + iniVal.alternateValue = Common.resolveMacroPath(iniKey.iniValue); + + if (Common.pathContainsCdDriveMacro(iniKey.iniValue)) + { + if (iniVal.alternateValue.Length == 0) + { + setupSuccessful = false; + msg2 = PathManip.enumWindowsDesignatedPaths.CD_DRIVE.ToString() + " macro was defined. But no CD drive is found in the system"; + } + //else + //{ + // setupSuccessful = Common.validatePathInCdDrive(iniVal.alternateValue, m_parentForm); + // msg2 = "\"" + iniVal.alternateValue + "\" does not exist. Please insert a CD with that path"; + //} + + if (!setupSuccessful) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: " + msg2; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + } + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"(app\d+)_setup_argument$", RegexOptions.IgnoreCase)) + { + MatchCollection matches = Regex.Matches(iniKey.iniValue, @"\{([^\{\}]+)\}", RegexOptions.IgnoreCase); + + if (matches.Count > 0) + { + // each match can have multiple parts i.e. $1 $2...$n + for (int i = 0; i < matches.Count; i++) + { + // matches[i].Groups[0].Value is the actual macro itself, i.e. {keyname} + // matches[i].Groups[1].Value is the string inside curly brackets, i.e. keyname + string pattern = Regex.Escape(matches[i].Groups[1].Value); + + // looking for a key that defines the actual path to be used in the argument + int matchedPathIndex = entry.Value.FindIndex(x => Regex.IsMatch(x.iniKeyName, pattern, RegexOptions.IgnoreCase)); + + // if the macro in the argument refers to another key the defines a path + if (matchedPathIndex >= 0 && !idToPath.ContainsKey(matches[i].Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(entry.Value[matchedPathIndex].iniValue); + + if (Common.pathContainsCdDriveMacro(entry.Value[matchedPathIndex].iniValue)) + { + if (resolvedPath.Length == 0) + { + setupSuccessful = false; + msg2 = matches[i].Groups[1].Value + " macro was defined. But no CD drive is found in the system"; + } + else + { + setupSuccessful = Common.validatePathInCdDrive(resolvedPath, m_parentForm); + msg2 = "\"" + resolvedPath + "\" does not exist. Please insert a CD with that path"; + } + + if (!setupSuccessful) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: " + msg2; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + + if (PathManip.PathIsFile(resolvedPath)) + idToPath[matches[i].Groups[0].Value] = Path.GetDirectoryName(Path.GetFullPath(resolvedPath)); + else + idToPath[matches[i].Groups[0].Value] = Path.GetFullPath(resolvedPath); + } + // if the macro refers to user's desktop, temp folder, cd drive + else if (Common.pathContainsMacro(matches[i].Groups[0].Value) && !idToPath.ContainsKey(matches[i].Groups[0].Value)) + { + string resolvedPath = Common.resolveMacroPath(matches[i].Groups[0].Value); + + if (Common.pathContainsCdDriveMacro(matches[i].Groups[0].Value)) + { + if (resolvedPath.Length == 0) + { + setupSuccessful = false; + msg2 = matches[i].Groups[1].Value + " macro was defined. But no CD drive is found in the system"; + } + + if (!setupSuccessful) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: " + msg2; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + + idToPath[matches[i].Groups[0].Value] = resolvedPath; + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value above specifies a variable \"" + matches[i].Groups[0].Value + "\" in the argument." + + " Key \"" + iniKey.iniKeyName + "_" + matches[i].Groups[1].Value + + "\" must be defined to specify the actual path for variable \"" + matches[i].Groups[0].Value + "\""; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + + if (!setupSuccessful) + break; + } + } + + if (setupSuccessful) + { + + if (appVerifiedByCheckingExe) + { + tempOneToManyDict[entry.Key] = new List>(entry.Value); + } + else if (appVerifiedByCheckingRegistry) + { + if (!appRegistryTypeSpecified) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Error Description: The key name " + appId + "_reg_type is missing in the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + } + + if (setupSuccessful) + { + tempOneToManyDict[entry.Key] = new List>(entry.Value); + } + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Error Description: One of the following 3 key names must be defined: " + appId + "_exe_file, " + appId + "_reg_path, " + appId + "_reg_display_name, "; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + } + } + + if (setupSuccessful) + { + int matchedArgumentIndex = -1; + + matchedArgumentIndex = tempOneToManyDict[entry.Key].FindIndex(x => Regex.IsMatch(x.iniKeyName, @"app\d+_setup_file$", RegexOptions.IgnoreCase)); + + if (matchedArgumentIndex >= 0) + { + tempOneToManyDict[entry.Key][matchedArgumentIndex] = iniVal; + } + + if (idToPath.Count > 0) + { + matchedArgumentIndex = -1; + foreach (KeyValuePair item in idToPath) + { + if (matchedArgumentIndex < 0) + { + matchedArgumentIndex = tempOneToManyDict[entry.Key].FindIndex(x => Regex.IsMatch(x.iniKeyName, @"app\d+_setup_argument$", RegexOptions.IgnoreCase)); + iniVal2 = tempOneToManyDict[entry.Key][matchedArgumentIndex]; + } + + if (matchedArgumentIndex >= 0) + { + iniVal2.iniValue = Regex.Replace(iniVal2.iniValue, Regex.Escape(item.Key), item.Value, RegexOptions.IgnoreCase); + } + } + + if (matchedArgumentIndex >= 0) + tempOneToManyDict[entry.Key][matchedArgumentIndex] = iniVal2; + } + + processedEntry = new KeyValuePair, List>>(entry.Key, new List>(tempOneToManyDict[entry.Key])); + } + + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/WindowFeaturesManager.cs b/AllPurposeAutoSetup/WindowFeaturesManager.cs new file mode 100644 index 0000000..ae93b17 --- /dev/null +++ b/AllPurposeAutoSetup/WindowFeaturesManager.cs @@ -0,0 +1,555 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; + +namespace All_Purpose_Auto_Setup +{ + class WindowFeaturesManager + { + List iisFeatures = new List(); + + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + public event Action> UpdateStatusDisplayAtLine; + + // event for thread to notify other threads that it has exited + private AutoResetEvent _resetEvent = new AutoResetEvent(false); + + public ConfigFileManager.Ini_KeyValue windowsFeatureListFile = new ConfigFileManager.Ini_KeyValue(""); + + Form m_parentForm; + + List iisFeaturesToBeInstalled = new List(); + private bool windowFeatureInstalledSuccessful = false; + private bool needElevatedPermission = false; + private bool otherErrorOccurred = false; + private string dismErrorMsg = ""; + private int windowFeatureState = 1; + private string currentWindowFeature; + + int m_progressLine = 0; + + public WindowFeaturesManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool enableWindowsOptionalFeatures(string sectionName) + { + bool setupSuccessful = true; + + string msg; + string indentation = String.Empty; + int featureInstalledCount = 0; + + currentWindowFeature = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + BackgroundWorker bgwInformUserToWait; + + bgwInformUserToWait = new BackgroundWorker(); + bgwInformUserToWait.WorkerSupportsCancellation = true; + bgwInformUserToWait.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgwInformUserToWait_RunWorkerCompleted); + bgwInformUserToWait.DoWork += new DoWorkEventHandler(bgwInformUserToWait_DoWork); + + ProcessStartInfo cmdStartInfo = new ProcessStartInfo(); + cmdStartInfo.FileName = @"C:\Windows\System32\cmd.exe"; + cmdStartInfo.RedirectStandardOutput = true; + cmdStartInfo.RedirectStandardError = true; + cmdStartInfo.RedirectStandardInput = true; + cmdStartInfo.UseShellExecute = false; + cmdStartInfo.CreateNoWindow = true; + + Process cmdProcess; + //cmdProcess.StandardInput.WriteLine("Dism /online /disable-feature /featurename:IIS-FTPSvc /norestart"); //Execute command + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Enabling Windows Features=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + parseConfigInfo(sectionName); + + setupSuccessful = verifyConfigInfo(); + + frmSetupStatusDisplay displayFrm = (frmSetupStatusDisplay)m_parentForm; + if (setupSuccessful) + { + getWindowsFeatures(iisFeatures); + + m_progressLine = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + if (!bgwInformUserToWait.IsBusy) + { + indentation = Common.getIndentation(1); + bgwInformUserToWait.RunWorkerAsync(indentation + "Gathering information about windows features to be installed. Please wait"); + } + + windowFeatureState = 1; + + cmdProcess = new Process(); + cmdProcess.StartInfo = cmdStartInfo; + cmdProcess.ErrorDataReceived += cmd_Error; + cmdProcess.OutputDataReceived += cmd_WindowFeature_DataReceived; + cmdProcess.EnableRaisingEvents = true; + cmdProcess.Start(); + cmdProcess.BeginOutputReadLine(); + cmdProcess.BeginErrorReadLine(); + + string system32Directory = Path.Combine(Environment.ExpandEnvironmentVariables("%windir%"), "sysnative", "dism.exe"); + cmdProcess.StandardInput.WriteLine(system32Directory + " /online /get-features"); //Execute command + + cmdProcess.StandardInput.WriteLine("exit"); //Execute exit. + + cmdProcess.WaitForExit(); + cmdProcess.Close(); + + if (!bgwInformUserToWait.CancellationPending && bgwInformUserToWait.IsBusy) + { + bgwInformUserToWait.CancelAsync(); + _resetEvent.WaitOne(); + _resetEvent.Reset(); + } + + windowFeatureState++; + + displayFrm.removeStatusDisplayLine(m_progressLine, true); + if (needElevatedPermission) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. Need administrator privilege to access Windows Features."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + setupSuccessful = false; + } + else if (otherErrorOccurred) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + dismErrorMsg; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + setupSuccessful = false; + } + else if (iisFeaturesToBeInstalled.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. All necessary windows features are already enabled."; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + else + { + m_progressLine = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + int featureCountLine = m_progressLine; + foreach (string feature in iisFeaturesToBeInstalled) + { + indentation = Common.getIndentation(1); + msg = indentation + "Features enabled: " + featureInstalledCount.ToString() + " / " + iisFeaturesToBeInstalled.Count.ToString(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 2; + textProp.wordCount = 10; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 10, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAtLine(msg, featureCountLine, textPropList); + + m_progressLine = displayFrm.updateStatusDisplayAndLog("\n ", "", textPropList); + if (!bgwInformUserToWait.IsBusy) + { + indentation = Common.getIndentation(1); + bgwInformUserToWait.RunWorkerAsync(indentation + "Enabling " + feature + ". Please wait"); + } + + windowFeatureInstalledSuccessful = false; + + dismErrorMsg = ""; + cmdProcess = new Process(); + cmdProcess.StartInfo = cmdStartInfo; + cmdProcess.ErrorDataReceived += cmd_Error; + cmdProcess.OutputDataReceived += cmd_WindowFeature_DataReceived; + cmdProcess.EnableRaisingEvents = true; + cmdProcess.Start(); + cmdProcess.BeginOutputReadLine(); + cmdProcess.BeginErrorReadLine(); + + cmdProcess.StandardInput.WriteLine(system32Directory + " /online /enable-feature /featurename:" + feature + " /all /norestart"); //Execute command + cmdProcess.StandardInput.WriteLine("exit"); //Execute exit. + + cmdProcess.WaitForExit(); + cmdProcess.Close(); + + if (!bgwInformUserToWait.CancellationPending && bgwInformUserToWait.IsBusy) + { + bgwInformUserToWait.CancelAsync(); + _resetEvent.WaitOne(); + _resetEvent.Reset(); + } + + displayFrm.removeStatusDisplayLine(m_progressLine, true); + + if (!windowFeatureInstalledSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n" + Common.getIndentation(1) + "- FAILED. Failed enabling " + feature + "." + dismErrorMsg; + setupSuccessful = false; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + break; + } + else + { + featureInstalledCount++; + msg = indentation + "Features enabled: " + featureInstalledCount.ToString() + " / " + iisFeaturesToBeInstalled.Count.ToString(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(5, 112, 1); + textProp.wordIndex = 2; + textProp.wordCount = 10; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 10, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAtLine(msg, featureCountLine, textPropList); + msg = "\n" + Common.getIndentation(1) + "Enabling " + feature + " - SUCCESS"; + UpdateStatusDisplayAndLogEvent("", msg, textPropList); + } + } + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n" + Common.getIndentation(1) + "- SUCCESS"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + } + + return setupSuccessful; + } + + void getWindowsFeatures(List featureList) + { + string line; + StreamReader file = new StreamReader(windowsFeatureListFile.iniValue); + + while ((line = file.ReadLine()) != null) + { + line = line.Trim(); + if (line.Length > 0) + iisFeatures.Add(line); + } + + file.Close(); + } + + private void bgwInformUserToWait_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + // First, handle the case where an exception was thrown. + if (e.Error != null) + { + + } + else if (e.Cancelled) // user cancelled + { + + } + else // thread completed on its own + { + + } + _resetEvent.Set(); + } + + private void bgwInformUserToWait_DoWork(object sender, DoWorkEventArgs e) + { + BackgroundWorker bgw = sender as BackgroundWorker; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string text = (string)e.Argument; + string dots = ""; + + while (true) + { + if (bgw != null && bgw.CancellationPending) + { + if (e != null) + e.Cancel = true; + + break; + } + + if (dots.Length < 3) + dots += "."; + else + dots = "."; + + if (StringManip.GetPhraseWordIndexInText(text, "enabling") > -1) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "enabling"); + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 11, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(42, 176, 173); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "enabling") + 1; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(text, "please wait") - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 11, FontStyle.Bold); + textPropList.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(157, 150, 19); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(text, "please wait"); + textProp.wordCount = 10; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 11, FontStyle.Bold); + textPropList.Add(textProp); + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(17, 75, 237); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont.FontFamily, 13, FontStyle.Bold); + textPropList.Add(textProp); + } + + UpdateStatusDisplayAtLine(text + dots, m_progressLine, textPropList); + + Thread.Sleep(500); + } + } + + void cmd_WindowFeature_DataReceived(object sender, DataReceivedEventArgs e) + { + Match regExMatch; + string result; + + if (e.Data == null) + { + return; + } + + if (windowFeatureState == 1) + { + regExMatch = Regex.Match(e.Data, @"error: 740", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + needElevatedPermission = true; + } + + if (otherErrorOccurred && e.Data.Length > 0) + { + dismErrorMsg += ". " + e.Data; + } + + regExMatch = Regex.Match(e.Data, @"error: \d+", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + otherErrorOccurred = true; + dismErrorMsg += e.Data; + } + + regExMatch = Regex.Match(e.Data, @"feature name\s+:\s+(.+)$", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + currentWindowFeature = regExMatch.Groups[1].Value; + } + + regExMatch = Regex.Match(e.Data, @"state\s+:\s+disabled", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + result = iisFeatures.Find(item => item == currentWindowFeature); + + if (result != null && result.Length > 0) + { + iisFeaturesToBeInstalled.Add(result); + } + } + } + else + { + if (otherErrorOccurred && e.Data.Length > 0) + { + dismErrorMsg += ". " + e.Data; + } + + regExMatch = Regex.Match(e.Data, @"error: \d+", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + otherErrorOccurred = true; + dismErrorMsg += e.Data; + } + + regExMatch = Regex.Match(e.Data, @".*successfully.*", RegexOptions.IgnoreCase); + if (regExMatch.Success) + { + windowFeatureInstalledSuccessful = true; + } + } + } + + void cmd_Error(object sender, DataReceivedEventArgs e) + { + //Console.WriteLine("Error from other process"); + //Console.WriteLine(e.Data); + } + + private void parseConfigInfo(string sectionName) + { + windowsFeatureListFile.iniSectionName = sectionName; + windowsFeatureListFile.iniKeyName = "windows_feature_list_file"; + windowsFeatureListFile.iniValue = ConfigFileManager.ms_configGeneralInfo.iniFile.ReadValue(sectionName, windowsFeatureListFile.iniKeyName); + } + + bool verifyConfigInfo() + { + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg, tempPath; + + List textPropList = new List(); + + if (windowsFeatureListFile.iniValue.Length > 0) + { + tempPath = Path.GetFullPath(windowsFeatureListFile.iniValue); + + if (!File.Exists(tempPath)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + windowsFeatureListFile.iniSectionName + + "\n" + indentation + "Key: " + windowsFeatureListFile.iniKeyName + + "\n" + indentation + "Value: " + windowsFeatureListFile.iniValue + + "\n" + indentation + "Error Description: The path defined in the value above is invalid. Translated path " + tempPath; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + setupSuccessful = false; + } + else + windowsFeatureListFile.iniValue = tempPath; + } + + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/WindowsRegistryManager.cs b/AllPurposeAutoSetup/WindowsRegistryManager.cs new file mode 100644 index 0000000..a41478e --- /dev/null +++ b/AllPurposeAutoSetup/WindowsRegistryManager.cs @@ -0,0 +1,604 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; + +namespace All_Purpose_Auto_Setup +{ + class WindowsRegistryManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + // this dictionary stores registry path and its associated properties + // it would look like this: + // [ reg1_path ] -> List[reg1_action,reg1_type, etc] + // [ reg2_path ] -> List[reg2_action,reg2_type, etc] + public Dictionary, List>> regPathToVariousThings = new Dictionary, List>>(); + + Form m_parentForm; + + public WindowsRegistryManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool ModifyWindowsRegistry(string sectionName) + { + bool setupSuccessful = true; + string msg; + string indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string registryPath, registryType, registryAction; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Modifying Windows Registry=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + regPathToVariousThings.Clear(); + + ConfigFileManager.readOneToManyDictionary(ConfigFileManager.ms_configGeneralInfo.iniFile, + sectionName, @"(reg\d+)_path$", @"(reg\d+)_.+", regPathToVariousThings); + + setupSuccessful = verifyConfigInfo(); + + if (setupSuccessful) + { + + if (regPathToVariousThings.Count == 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. Nothing to set"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + + // for every app name to be installed/checked + foreach (KeyValuePair, List>> entry in regPathToVariousThings) + { + registryPath = entry.Key.iniValue; + registryType = ""; + registryAction = ""; + + Dictionary registryNameValuePairs = new Dictionary(); + + getRegistryInfo(entry.Value, ref registryAction, ref registryType, registryNameValuePairs); + + registryAction = registryAction.Trim(); + registryType = registryType.Trim(); + + setupSuccessful = modifyRegistryKey(registryPath, registryType, registryAction, registryNameValuePairs); + + if (!setupSuccessful) + break; + } + } + + return setupSuccessful; + } + + public bool modifyRegistryKey(string registryPath, string registryType, string registryAction, Dictionary registryNameValuePairs) + { + bool setupSuccessful = true; + string errMsg = "", msg1 = "", msg2 = "", indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList1 = new List(); + List textPropList2 = new List(); + Match regExMatch; + + indentation = Common.getIndentation(1); + + if (registryNameValuePairs.Count > 0) + { + foreach (KeyValuePair entry in registryNameValuePairs) + { + msg1 = ""; + + if (String.Equals(registryAction, "delete", StringComparison.OrdinalIgnoreCase)) + { + setupSuccessful = WindowsRegistry.DeleteRegistryValueName(registryPath, getRegistryHive(registryType), entry.Key, ref errMsg); + + msg1 = "\n" + indentation + "Deleting value name " + entry.Key + " in " + registryPath; + } + else // add to registry + { + // match single-value registry value name + regExMatch = Regex.Match(entry.Value, @"^\s*value\s*:\s*(.*[^\s])\s*,\s*type\s*:\s*(.*[a-zA-Z])\s*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + List pair = new List() { regExMatch.Groups[1].Value, regExMatch.Groups[2].Value }; + + if (getRegistryValueKind(pair[1]) != RegistryValueKind.MultiString) + setupSuccessful = WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, getRegistryHive(registryType), entry.Key, getRegistryValueKind(pair[1]), pair[0], ref errMsg); + else + { + setupSuccessful = false; + errMsg = "Expected a value name of type single value (string, dword, qword). Actual type is multi-string"; + } + + msg1 = "\n" + indentation + "Setting value name " + entry.Key + "=" + pair[0] + " in " + registryPath; + } + else + { + // match multi-string registry value name + regExMatch = Regex.Match(entry.Value, @"^(\s*:\s*value\s*:\s*.*[^\s])\s*,\s*type\s*:\s*(.*[a-zA-Z])\s*", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + List pair = new List() { regExMatch.Groups[1].Value, regExMatch.Groups[2].Value }; + List values = new List(regExMatch.Groups[1].Value.Split(new string[] { ":value:" }, StringSplitOptions.RemoveEmptyEntries)); + + if (getRegistryValueKind(pair[1]) == RegistryValueKind.MultiString) + { + setupSuccessful = WindowsRegistry.AddOrModifyRegistryKeyMultiStringValue(registryPath, getRegistryHive(registryType), entry.Key, values, ref errMsg); + } + else + { + setupSuccessful = false; + errMsg = "Expected a value name of type multi-string. Actual type is single value (string, qword, dword)"; + } + + msg1 = "\n" + indentation + "Setting value name " + entry.Key + "={"; + + string tempStr = ""; + foreach (string val in values) + { + if (tempStr.Length > 0) + tempStr += ";"; + tempStr += val; + } + + msg1 += tempStr + "} in " + registryPath; + } + } + } + + if ( msg1.Length > 0 ) + { + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 3; + textProp.wordCount = StringManip.GetPhraseWordIndexInText(msg1, "in " + registryPath) - textProp.wordIndex; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg1, "in " + registryPath) + 1; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + if (errMsg.Length > 0 && !setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + else if (errMsg.Length > 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SKIPPED. " + errMsg; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS."; + } + + UpdateStatusDisplayAndLogEvent(msg1, msg1, textPropList1); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + + } + + if (!setupSuccessful) + break; + } + } + else // add/delete registry path + { + if (String.Equals(registryAction, "delete", StringComparison.OrdinalIgnoreCase)) + { + setupSuccessful = WindowsRegistry.DeleteRegistryKey(registryPath, getRegistryHive(registryType), ref errMsg); + + msg1 = "\n" + indentation + "Deleting key " + registryPath; + } + else // add name/value to registry key + { + // only creating path + setupSuccessful = WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, getRegistryHive(registryType), "", RegistryValueKind.String, "", ref errMsg); + + msg1 = "\n" + indentation + "Creating key " + registryPath; + } + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Color.FromArgb(233, 31, 195); + textProp.wordIndex = 2; + textProp.wordCount = 100; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList1.Add(textProp); + + if (errMsg.Length > 0 && !setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - FAILED. " + errMsg; + } + else if (errMsg.Length > 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SKIPPED. " + errMsg; + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList2.Add(textProp); + + msg2 = " - SUCCESS."; + } + + UpdateStatusDisplayAndLogEvent(msg1, msg1, textPropList1); + UpdateStatusDisplayAndLogEvent(msg2, msg2, textPropList2); + } + + return setupSuccessful; + } + + public RegistryValueKind getRegistryValueKind(string valueKind) + { + RegistryValueKind regValueKind = RegistryValueKind.String; + + if (String.Equals(valueKind, WindowsRegistry.valueKind.DWORD.ToString(), StringComparison.OrdinalIgnoreCase)) + { + regValueKind = RegistryValueKind.DWord; + } + else if (String.Equals(valueKind, WindowsRegistry.valueKind.QWORD.ToString(), StringComparison.OrdinalIgnoreCase)) + { + regValueKind = RegistryValueKind.QWord; + } + else if (String.Equals(valueKind, WindowsRegistry.valueKind.MULTI_STRING.ToString(), StringComparison.OrdinalIgnoreCase)) + { + regValueKind = RegistryValueKind.MultiString; + } + + return regValueKind; + } + + public void getRegistryInfo(List> iniKeys, ref string action, + ref string registryType, Dictionary nameValuePairs) + { + Match regExMatch; + registryType = ""; + action = ""; + + // for every key specified for the app to be installed/checked + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"reg\d+_action$", RegexOptions.IgnoreCase)) + { + action = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"reg\d+_type", RegexOptions.IgnoreCase)) + { + registryType = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"reg\d+_name_value_pair", RegexOptions.IgnoreCase)) + { + regExMatch = Regex.Match(iniKey.iniValue, @"\[\s*name\s*:\s*(.*[^\s])\s*,\s*value\s*:\s*(.*[^\s])\s*,\s*type\s*:\s*(.*[a-zA-Z])\s*\]", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + if (!nameValuePairs.ContainsKey(regExMatch.Groups[1].Value)) + { + nameValuePairs[regExMatch.Groups[1].Value] = "value:" + regExMatch.Groups[2].Value + ",type:" + regExMatch.Groups[3].Value; + } + } + else + { + regExMatch = Regex.Match(iniKey.iniValue, @"\[\s*name\s*:\s*([^,]*[^\s,])\s*\]", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + if (!nameValuePairs.ContainsKey(regExMatch.Groups[1].Value)) + { + nameValuePairs[regExMatch.Groups[1].Value] = ""; + } + } + } + + if (!regExMatch.Success) + { + regExMatch = Regex.Match(iniKey.iniValue, @"\[\s*name\s*:\s*(.*[^\s])\s*,\s*:\s*value\s*:\s*(.*[^\s])\s*,\s*type\s*:\s*(.*[a-zA-Z])\s*\]", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + { + if (!nameValuePairs.ContainsKey(regExMatch.Groups[1].Value)) + { + nameValuePairs[regExMatch.Groups[1].Value] = ":value:" + regExMatch.Groups[2].Value + ",type:" + regExMatch.Groups[3].Value; + } + } + } + } + } + } + + public static bool registryTypeIsValid(string regType) + { + bool isValid = false; + + if (String.Equals(regType, "local_machine", StringComparison.OrdinalIgnoreCase) + || + String.Equals(regType, "classes_root", StringComparison.OrdinalIgnoreCase) + || + String.Equals(regType, "current_user", StringComparison.OrdinalIgnoreCase)) + { + isValid = true; + } + + return isValid; + } + + public static RegistryHive getRegistryHive(string regType) + { + RegistryHive regHive = RegistryHive.LocalMachine; + + if (String.Equals(regType, "local_machine", StringComparison.OrdinalIgnoreCase)) + regHive = RegistryHive.LocalMachine; + else if (String.Equals(regType, "classes_root", StringComparison.OrdinalIgnoreCase)) + regHive = RegistryHive.ClassesRoot; + else if (String.Equals(regType, "current_user", StringComparison.OrdinalIgnoreCase)) + regHive = RegistryHive.CurrentUser; + else + regHive = RegistryHive.LocalMachine; + + return regHive; + } + + bool verifyConfigInfo() + { + bool setupSuccessful = true; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + string msg; + Match regExMatch; + + List textPropList = new List(); + + string registryAction = ""; + string regId = ""; + bool registryActionDefined = false; + bool registryTypeDefined = false; + + // for every registry path defined + foreach (KeyValuePair, List>> entry in regPathToVariousThings) + { + registryActionDefined = false; + registryTypeDefined = false; + + // for every key specified for this registry path + foreach (ConfigFileManager.Ini_KeyValue iniKey in entry.Value) + { + regExMatch = Regex.Match(iniKey.iniKeyName, @"(reg\d+)_.+$", RegexOptions.IgnoreCase); + + if (regExMatch.Success) + regId = regExMatch.Groups[1].Value; + + if (Regex.IsMatch(iniKey.iniKeyName, @"reg\d+_action", RegexOptions.IgnoreCase)) + { + registryActionDefined = true; + registryAction = iniKey.iniValue; + } + else if (Regex.IsMatch(iniKey.iniKeyName, @"reg\d+_type", RegexOptions.IgnoreCase)) + { + registryTypeDefined = true; + + if (!registryTypeIsValid(iniKey.iniValue)) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + + if (registryActionDefined) + { + // for every key specified to be added/modified/delete + foreach (ConfigFileManager.Ini_KeyValue iniKey in entry.Value) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"reg\d+_name_value_pair", RegexOptions.IgnoreCase)) + { + if (String.Equals(registryAction, "delete", StringComparison.OrdinalIgnoreCase)) + { + regExMatch = Regex.Match(iniKey.iniValue, @"\[\s*name\s*:\s*([^,]*[^\s,])\s*\]", RegexOptions.IgnoreCase); + } + else + { + // match single value + regExMatch = Regex.Match(iniKey.iniValue, @"\[\s*name\s*:\s*(.*[^\s])\s*,\s*value\s*:\s*(.*[^\s])\s*,\s*type\s*:\s*(.*[a-zA-Z])\s*\]", RegexOptions.IgnoreCase); + + // match multi value + if ( !regExMatch.Success ) + regExMatch = Regex.Match(iniKey.iniValue, @"\[\s*name\s*:\s*(.*[^\s])\s*,\s*:\s*value\s*:\s*(.*[^\s])\s*,\s*type\s*:\s*(.*[a-zA-Z])\s*\]", RegexOptions.IgnoreCase); + } + + if (!regExMatch.Success) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + iniKey.iniSectionName + + "\n" + indentation + "Key: " + iniKey.iniKeyName + + "\n" + indentation + "Value: " + iniKey.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + } + } + + if (!setupSuccessful) + break; + + if (!registryActionDefined) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Error Description: The key name " + regId + "_action is missing in the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + else if (!registryTypeDefined) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.Key.iniSectionName + + "\n" + indentation + "Error Description: The key name " + regId + "_type is missing in the above section in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + setupSuccessful = false; + + break; + } + } + + return setupSuccessful; + } + } +} diff --git a/AllPurposeAutoSetup/WindowsShortcutManager.cs b/AllPurposeAutoSetup/WindowsShortcutManager.cs new file mode 100644 index 0000000..29ffff7 --- /dev/null +++ b/AllPurposeAutoSetup/WindowsShortcutManager.cs @@ -0,0 +1,331 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; +using System.Drawing; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; + +namespace All_Purpose_Auto_Setup +{ + class WindowsShortcutManager + { + // An event that can be raised, allowing other classes to + // subscribe to it and do what they like with the message. + public event Action> UpdateStatusDisplayAndLogEvent; + + // this dictionary stores shortcut name and its associated target_path and arguments + // it would look like this: + // [ shortcut1_name ] -> List[target_path,arguments] + // [ shortcut2_name ] -> List[target_path,arguments] + public Dictionary, List>> shortcutNameToTargetAndArgs = new Dictionary, List>>(); + + Form m_parentForm; + + public WindowsShortcutManager(Form parentForm) + { + m_parentForm = parentForm; + } + + public bool creatShortcuts(string sectionName) + { + string indentation = String.Empty; + bool setupSuccessful = true; + string msg, msg2, shortcutArgs; + string tempPath = ""; + + string shortcutPath = String.Empty; + string shortcutTargetPath = String.Empty; + string shortcutLocation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + bool createShortcut = true; + bool statusGiven = false; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n-=Creating Windows Shortcuts=-"; + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + shortcutNameToTargetAndArgs.Clear(); + + ConfigFileManager.readOneToManyDictionary(ConfigFileManager.ms_configGeneralInfo.iniFile, + sectionName, @"(shortcut\d+)_name$", @"(shortcut\d+)_.+", shortcutNameToTargetAndArgs); + + if (setupSuccessful) + { + foreach (KeyValuePair, List>> entry in shortcutNameToTargetAndArgs) + { + shortcutLocation = getShortcutLocation(entry.Value); + + if (shortcutLocation.Length > 0) + { + shortcutPath = Path.Combine(shortcutLocation, entry.Key.iniValue) + ".lnk"; + shortcutTargetPath = getShortcutTargetPath(entry.Value); + shortcutArgs = getShortcutArguments(entry.Value); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + shortcutPath; + + if (String.Equals(PathManip.AddTrailingSlashToPath(shortcutLocation), PathManip.AddTrailingSlashToPath(PathManip.GetUserStartupFolderPath()), StringComparison.CurrentCultureIgnoreCase)) + { + tempPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonStartup), entry.Key.iniValue) + ".lnk"; + + if (File.Exists(tempPath)) + { + msg += " - SKIPPED. This shortcut already exists for all users"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.USER_SKIP); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SKIPPED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + createShortcut = false; + + if (!statusGiven) + statusGiven = true; + } + } + else if (String.Equals(PathManip.AddTrailingSlashToPath(shortcutLocation), PathManip.AddTrailingSlashToPath(PathManip.GetUserDesktopPath()), StringComparison.CurrentCultureIgnoreCase)) + { + tempPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonDesktopDirectory), entry.Key.iniValue) + ".lnk"; + + if (File.Exists(tempPath)) + { + msg += " - SKIPPED. This shortcut already exists for all users"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.USER_SKIP); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SKIPPED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + createShortcut = false; + + if (!statusGiven) + statusGiven = true; + } + } + + if (!statusGiven && File.Exists(shortcutPath)) + { + msg2 = ((frmSetupStatusDisplay)m_parentForm).displayMessageBox(MessageBoxCustom.PopUpMsgType.YESNO, null, "Shortcut \"" + Path.GetFileName(shortcutPath) + "\" already exists.\n\nDo you wish to overwrite it?", "Warning!!!", -1); + + if (!String.Equals(msg2, "yes", StringComparison.OrdinalIgnoreCase)) + { + msg += " - SKIPPED. Shortcut already exists"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.USER_SKIP); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SKIPPED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + createShortcut = false; + + if (!statusGiven) + statusGiven = true; + } + } + + if (shortcutPath.Length == 0 || shortcutTargetPath.Length == 0 || shortcutLocation.Length == 0) + { + createShortcut = false; + } + + if (createShortcut) + { + try + { + File.Delete(shortcutPath); + + WindowShortcut.Create(shortcutPath, shortcutTargetPath, shortcutArgs, Path.GetDirectoryName(shortcutTargetPath), "", "", null); + + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + } + catch (Exception e) + { + msg += " - FAILED. (" + e.Message + ")"; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); ; + textProp.wordCount = 1; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + setupSuccessful = false; + } + + if (!statusGiven) + statusGiven = true; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + else + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. Unable to determine Windows Login Id"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + + if (!statusGiven) + statusGiven = true; + + break; + } + createShortcut = true; + } + + if (!statusGiven) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SYSTEM_SKIP); + textProp.wordIndex = 0; + textProp.wordCount = 2; + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SKIPPED. No configuration info found"; + + UpdateStatusDisplayAndLogEvent(msg, msg, textPropList); + } + } + + return setupSuccessful; + } + + + public string getShortcutTargetPath(List> iniKeys) + { + string targetPath = ""; + + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"shortcut\d+_target_path", RegexOptions.IgnoreCase)) + { + targetPath = iniKey.iniValue; + break; + } + } + + return targetPath; + } + + public string getShortcutArguments(List> iniKeys) + { + string args = ""; + + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"shortcut\d+_arguments", RegexOptions.IgnoreCase)) + { + args = iniKey.iniValue; + break; + } + } + + return args; + } + + public string getShortcutLocation(List> iniKeys) + { + string location = ""; + + foreach (ConfigFileManager.Ini_KeyValue iniKey in iniKeys) + { + if (Regex.IsMatch(iniKey.iniKeyName, @"shortcut\d+_location", RegexOptions.IgnoreCase)) + { + location = Common.resolveMacroPath(iniKey.iniValue); + + if (String.IsNullOrEmpty(location)) + { + if (Directory.Exists(iniKey.iniValue)) + { + location = iniKey.iniValue; + } + } + } + } + + return location; + } + } +} diff --git a/AllPurposeAutoSetup/app.manifest b/AllPurposeAutoSetup/app.manifest new file mode 100644 index 0000000..2a99695 --- /dev/null +++ b/AllPurposeAutoSetup/app.manifest @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AllPurposeAutoSetup/frmAbout.Designer.cs b/AllPurposeAutoSetup/frmAbout.Designer.cs new file mode 100644 index 0000000..75834a2 --- /dev/null +++ b/AllPurposeAutoSetup/frmAbout.Designer.cs @@ -0,0 +1,117 @@ +namespace All_Purpose_Auto_Setup +{ + partial class frmAbout + { + /// + /// 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(frmAbout)); + this.lblDescription = new System.Windows.Forms.Label(); + this.btnOK = new System.Windows.Forms.Button(); + this.lblAuthor = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label1 = new System.Windows.Forms.Label(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // lblDescription + // + this.lblDescription.AutoSize = true; + this.lblDescription.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblDescription.Location = new System.Drawing.Point(58, 130); + this.lblDescription.Name = "lblDescription"; + this.lblDescription.Size = new System.Drawing.Size(76, 16); + this.lblDescription.TabIndex = 0; + this.lblDescription.Text = "Description"; + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(273, 156); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(98, 31); + this.btnOK.TabIndex = 1; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // lblAuthor + // + this.lblAuthor.AutoSize = true; + this.lblAuthor.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.lblAuthor.Location = new System.Drawing.Point(9, 178); + this.lblAuthor.Name = "lblAuthor"; + this.lblAuthor.Size = new System.Drawing.Size(56, 13); + this.lblAuthor.TabIndex = 2; + this.lblAuthor.Text = "Developer"; + // + // pictureBox1 + // + this.pictureBox1.Image = global::All_Purpose_Auto_Setup.Properties.Resources.sm3missile; + this.pictureBox1.Location = new System.Drawing.Point(0, 0); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(383, 100); + this.pictureBox1.TabIndex = 3; + this.pictureBox1.TabStop = false; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.Location = new System.Drawing.Point(8, 103); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(227, 24); + this.label1.TabIndex = 4; + this.label1.Text = "All Purpose Auto Setup"; + // + // frmAbout + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.BackColor = System.Drawing.SystemColors.ButtonHighlight; + this.ClientSize = new System.Drawing.Size(383, 196); + this.Controls.Add(this.label1); + this.Controls.Add(this.pictureBox1); + this.Controls.Add(this.lblAuthor); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.lblDescription); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "frmAbout"; + this.Text = "About"; + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label lblDescription; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.Label lblAuthor; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label1; + } +} \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmAbout.cs b/AllPurposeAutoSetup/frmAbout.cs new file mode 100644 index 0000000..fa8dad9 --- /dev/null +++ b/AllPurposeAutoSetup/frmAbout.cs @@ -0,0 +1,38 @@ +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; +using System.Reflection; +using System.IO; + +using CommonLib.Windows.Forms; + +namespace All_Purpose_Auto_Setup +{ + public partial class frmAbout : ChildForm + { + public frmAbout() + { + InitializeComponent(); + + Version appVersion = Assembly.GetExecutingAssembly().GetName().Version; + + DateTime buildDate = File.GetCreationTime(Assembly.GetExecutingAssembly().Location); + + lblDescription.Text = "Version: " + appVersion.Major.ToString() + "." + appVersion.Minor.ToString() + "\n"; + lblDescription.Text += "Last update: " + buildDate.ToString() + "\n"; + + lblAuthor.Text = "Developer: Duc Le"; + } + + private void btnOK_Click(object sender, EventArgs e) + { + this.Close(); + } + } +} diff --git a/AllPurposeAutoSetup/frmAbout.resx b/AllPurposeAutoSetup/frmAbout.resx new file mode 100644 index 0000000..2adc151 --- /dev/null +++ b/AllPurposeAutoSetup/frmAbout.resx @@ -0,0 +1,3895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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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 + z/PlLMsW0zSdl1J28jxvSymbUsq6UqrKGAsAeHEcu2maCqUU55xLznlmWVbMOY8sy5oIIUa2bQ+EED3b + tneFEDtCiC3LsjaEEGu2ba85jnP593//99+wstj7pm3fAezbvr2F7cfHC7Vv+7ZvN73tO4B927e3sO07 + gH3bt7ew7TuAfdu3t7DtO4B927e3sO07gH3bt7ew7TuAfdu3t7DtO4B927e3sO07gH3bt7ew7TuAfdu3 + t7D9/08bzI8AXVWFAAAAAElFTkSuQmCCKAAAAIAAAAAAAQAAAQAgAAAAAAAAAAEAEwsAABMLAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxJISEgsQEBAQzo6OlY2NjZmNTU1cjExMXsoKCh/ + KysrfTAwMHc2NjZtPz8/X0hISE1PT084V1dXIGBgYAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGCjY2NjYlJSVjHx8fnhwcHMMYGBjk + Ghoa/RwcHP8fHx//ISEh/yQkJP8lJSX/JiYm/yQkJP8jIyP/ISEh/x8fH/8cHBz/Ghoa/xkZGf8cHBz/ + ICAg9CQkJNQvLy+xOzs7gVBQUExkZGQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZGRgUuLi42 + JSUleiUlJb0iIiLvIiIi/yQkJP8kJCT/JSUl/zExMf84ODj/QUFB/0xMTP9UVFT/Wlpa/1xcXP9hYWH/ + b29v/2xsbP9mZmb/XFxc/1BQUP9ERET/Ozs7/zU1Nf8tLS3/KCgo/yMjI/8iIiL/JCQk/ygoKP0lJSXW + MjIyoUpKSlJWVlYZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPDw8BycnJz8fHx+YGxsb3SQkJP8rKyv/MzMz/0FBQf9VVVX/ZmZm/3Nzc/98fHz/ + h4eH/4qKiv+Pj4//lZWV/5qamv+cnJz/nJyc/5ycnP+cnJz/np6e/6Ojo/+lpaX/p6en/6ampv+mpqb/ + oaGh/5iYmP+Pj4//f39//2lpaf9OTk7/NDQ0/yMjI/8jIyP/JSUl/yMjI/UrKyu/QkJCaFpaWh4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpJxQUFIMbGxvaKSkp/zg4OP9AQED/ + W1tb/2tra/92dnb/fHx8/3x8fP96enr/e3t7/35+fv+IiIj/iYmJ/4qKiv+NjY3/kJCQ/5OTk/+VlZX/ + lpaW/5eXl/+ZmZn/m5ub/5ycnP+enp7/oKCg/6Ghof+goKD/oKCg/6mpqf+wsLD/sLCw/6ampv+Wlpb/ + ioqK/3V1df9WVlb/ODg4/x0dHf8YGBj/ICAg9S8vL7dERERNV1dXCgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwC + GhoaQCMjI7MhISH3JSUl/z4+Pv9dXV3/cXFx/3d3d/91dXX/eHh4/39/f/+AgID/gICA/4KCgv+IiIj/ + jY2N/5OTk/+VlZX/mJiY/5ycnP+goKD/o6Oj/6enp/+pqan/r6+v/6+vr/+wsLD/sbGx/7Gxsf+ysrL/ + srKy/7Kysv+zs7P/sbGx/6+vr/+urq7/rq6u/66urv+wsLD/qamp/6ampv+dnZ3/fn5+/1VVVf82Njb/ + JSUl/xkZGf8iIiLbMTExeUlJSRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwEHR0dTB8fH8YhISH/NTU1/1NTU/9vb2//eXl5/3h4eP91dXX/ + c3Nz/3l5ef9/f3//h4eH/4uLi/+Pj4//lpaW/5+fn/+oqKj/ra2t/7CwsP+3t7f/vr6+/8bGxv/Nzc3/ + 09PT/9XV1f/S0tL/0tLS/9HR0f/Q0ND/z8/P/8/Pz//Pz8//zs7O/83Nzf/IyMj/wcHB/7y8vP+6urr/ + ubm5/7y8vP+vr6//qqqq/7S0tP+4uLj/t7e3/6enp/97e3v/RkZG/ysrK/8bGxv/Hh4e7TIyMotPT08d + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkQiAgIMUpKSn/ + SEhI/2lpaf9wcHD/a2tr/29vb/93d3f/fn5+/4CAgP9+fn7/gICA/4qKiv+ZmZn/p6en/7Ozs/++vr7/ + ycnJ/9TU1P/h4eH/5OTk/+jo6P/t7e3/8fHx//b29v/5+fn/+vr6//X19f/19fX/9PT0//T09P/09PT/ + 8/Pz//Ly8v/s7Oz/5eXl/+Xl5f/h4eH/3d3d/9fX1//Q0ND/zMzM/8rKyv/Gxsb/u7u7/7Ozs/+vr6// + sLCw/62trf+oqKj/i4uL/2JiYv8yMjL/GBgY/xsbG+0wMDCFUFBQFQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAJiYmKSUlJa4rKyv9RERE/19fX/9wcHD/cXFx/25ubv9wcHD/dnZ2/39/f/+Kior/ + lJSU/5mZmf+rq6v/vLy8/83Nzf/f39//7Ozs//X19f/8/Pz//v7+//7+/v/+/v7//v7+//////////// + //////////////////////////////////////////////////////39/f/4+Pj/+vr6//v7+//5+fn/ + 9/f3//Pz8//y8vL/6urq/93d3f/S0tL/zc3N/8nJyf++vr7/tLS0/7S0tP+4uLj/rq6u/46Ojv9hYWH/ + MTEx/xcXF/8lJSXkNTU1aERERAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjDh0dHX4wMDDvR0dH/1tbW/9hYWH/ + YWFh/2lpaf9qamr/b29v/39/f/+NjY3/mJiY/6mpqf/Gxsb/3t7e/+zs7P/29vb//v7+//////////// + +/v7//n5+f/6+vr//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////////////// + //////////////////////////////////////7+/v/+/v7//v7+///////9/f3/9vb2/+rq6v/k5OT/ + 4ODg/9TU1P/IyMj/xMTE/7q6uv+xsbH/s7Oz/7S0tP+bm5v/XFxc/ykpKf8RERH/KSkpxzw8PDQAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAB0dHTcjIyPPODg4/19fX/9tbW3/ZmZm/2dnZ/9sbGz/ampq/3Z2dv+Li4v/oqKi/729vf/T09P/ + 5OTk//Pz8//7+/v/9/f3//j4+P/+/v7///////39/f/8/Pz//f39//39/f/+/v7////////////+/v7/ + /v7+//39/f/8/Pz/+/v7//v7+//7+/v//Pz8//39/f/+/v7//v7+///////+/v7//f39//7+/v////// + /v7+//7+/v/+/v7///////n5+f/4+Pj//f39//z8/P/39/f/7+/v/+Hh4f/U1NT/y8vL/83Nzf/AwMD/ + qqqq/6ioqP+srKz/jY2N/1hYWP8gICD/FxcX9CkpKYRLS0sOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmJgklJSV8MTEx805OTv9oaGj/Z2dn/2pqav9ra2v/ + cnJy/4GBgf+SkpL/qqqq/8DAwP/V1dX/7Ozs//j4+P/6+vr/+vr6//r6+v/7+/v//f39//z8/P/7+/v/ + 9/f3//b29v/19fX/8/Pz//Hx8f/x8fH/8PDw/+/v7//u7u7/7e3t/+zs7P/s7Oz/7u7u/+/v7//x8fH/ + 9PT0//f39//5+fn//Pz8//v7+//8/Pz//f39//7+/v/+/v7//////////////////v7+//z8/P/7+/v/ + +fn5//z8/P///////Pz8//Dw8P/r6+v/4eHh/9PT0//IyMj/vLy8/7Gxsf+vr6//s7Oz/25ubv8+Pj7/ + Gxsb/yIiIss0NDQtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIyMb + KSkpt0FBQf9eXl7/Z2dn/2VlZf9mZmb/bm5u/3l5ef+Ghob/o6Oj/8bGxv/j4+P/7Ozs/+7u7v/z8/P/ + 9fX1//f39//39/f/9fX1/+7u7v/q6ur/5ubm/+Li4v/d3d3/2tra/9jY2P/X19f/1tbW/9fX1//Z2dn/ + 3Nzc/+Dg4P/h4eH/5OTk/+Xl5f/r6+v/7Ozs/+7u7v/x8fH/9PT0//f39//4+Pj/9/f3//b29v/7+/v/ + /f39//7+/v/+/v7//v7+//v7+//6+vr/+fn5//z8/P/8/Pz/+/v7//r6+v/7+/v//f39//7+/v/5+fn/ + 7+/v/+Dg4P/R0dH/wMDA/7Ozs/+urq7/urq6/56env9jY2P/IyMj/xgYGO0yMjJlAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoPzc3N+JPT0//XV1d/1lZWf9dXV3/ampq/3BwcP+EhIT/ + oqKi/8HBwf/Z2dn/5+fn/+/v7//z8/P/9PT0//Ly8v/t7e3/4uLi/9bW1v/Pz8//y8vL/8nJyf/IyMj/ + xsbG/8jIyP/MzMz/0NDQ/9PT0//X19f/2dnZ/9zc3P/g4OD/4+Pj/+fn5//p6en/7Ozs//Ly8v/z8/P/ + 9fX1//f39//6+vr//Pz8//39/f/6+vr/9fX1//v7+/////////////7+/v/9/f3/9/f3//n5+f/8/Pz/ + /v7+//39/f/6+vr/+vr6//z8/P/+/v7////////////7+/v/8/Pz/+np6f/Y2Nj/zMzM/8LCwv+ysrL/ + srKy/7CwsP99fX3/MzMz/xsbG/40NDSUREREDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKWM1NTXw + WVlZ/2FhYf9XV1f/YGBg/29vb/98fHz/mJiY/7e3t//U1NT/7Ozs//f39//09PT/7+/v/+np6f/h4eH/ + 1tbW/8vLy//Dw8P/vr6+/729vf/FxcX/yMjI/8fHx//IyMj/ycnJ/8zMzP/Pz8//0dHR/9XV1f/W1tb/ + 19fX/9ra2v/d3d3/39/f/+Hh4f/h4eH/4+Pj/+Tk5P/m5ub/6enp/+vr6//u7u7/8PDw//Ly8v/29vb/ + +fn5//7+/v///////v7+//7+/v/+/v7//f39//v7+//8/Pz//v7+///////////////////////6+vr/ + +fn5//39/f/9/f3/+fn5//Dw8P/o6Oj/4ODg/8rKyv+7u7v/rKys/66urv+Wlpb/SkpK/xoaGv8hISG7 + NTU1GQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACgoKAMqKip+Pj4++lpaWv9jY2P/YWFh/2ZmZv95eXn/jIyM/6Wlpf/Ly8v/ + 5eXl/+zs7P/s7Oz/6enp/+Dg4P/Q0ND/xcXF/8DAwP+4uLj/tbW1/7e3t/+9vb3/wsLC/8PDw//FxcX/ + ysrK/8/Pz//S0tL/0tLS/9DQ0P/Pz8//1dXV/9fX1//Y2Nj/2tra/9zc3P/d3d3/39/f/93d3f/Y2Nj/ + 2NjY/9nZ2f/a2tr/2tra/9vb2//b29v/3t7e/+Hh4f/j4+P/5ubm/+rq6v/u7u7/8/Pz//j4+P/8/Pz/ + /v7+///////+/v7//f39//39/f/9/f3//Pz8//b29v/19fX/+fn5//z8/P/9/f3//Pz8//n5+f/39/f/ + 4ODg/9LS0v/BwcH/srKy/7u7u/+oqKj/VlZW/x0dHf8ZGRnYQEBAJAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKysHMjIykExMTP9UVFT/ + Y2Nj/2dnZ/9mZmb/dnZ2/5mZmf+8vLz/2dnZ/+np6f/r6+v/3d3d/87Ozv/ExMT/vLy8/7S0tP+xsbH/ + sbGx/7Ozs/+2trb/vb29/8LCwv/Hx8f/yMjI/87Ozv/Y2Nj/4uLi/+jo6P/p6en/5ubm/+Li4v/i4uL/ + 4uLi/9/f3//d3d3/2tra/9fX1//V1dX/1NTU/87Ozv/Pz8//z8/P/9LS0v/T09P/1dXV/9XV1f/a2tr/ + 4uLi/9zc3P/X19f/1tbW/9jY2P/c3Nz/4ODg/+Xl5f/t7e3/9/f3//7+/v/////////////////7+/v/ + +/v7//z8/P/7+/v/+/v7//v7+//7+/v//Pz8//39/f/19fX/7e3t/9/f3//Ozs7/u7u7/7i4uP+qqqr/ + bm5u/yMjI/8hISHjMTExNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAALCwsCTMzM5lHR0f/XFxc/1tbW/9hYWH/bm5u/4KCgv+lpaX/y8vL/+Li4v/m5ub/ + 3Nzc/83Nzf+9vb3/sLCw/6ysrP+srKz/rq6u/7Gxsf+1tbX/vLy8/8TExP/MzMz/1dXV/9ra2v/j4+P/ + 5OTk/+Li4v/e3t7/1NTU/8rKyv/BwcH/ubm5/6SkpP+fn5//mJiY/4+Pj/+Hh4f/fX19/3d3d/90dHT/ + dXV1/3h4eP98fHz/g4OD/4mJif+Pj4//k5OT/5ycnP+qqqr/s7Oz/8DAwP/Ly8v/09PT/9fX1//Y2Nj/ + 29vb/+Dg4P/k5OT/7Ozs//Hx8f/19fX/+vr6//7+/v/////////////////+/v7//Pz8//r6+v/5+fn/ + +fn5//r6+v/w8PD/6urq/97e3v/V1dX/vb29/66urv+5ubn/d3d3/xkZGf8XFxfnPz8/OgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4uLgcyMjKZRkZG/1paWv9WVlb/ + YWFh/29vb/+Kior/tbW1/9ra2v/o6Oj/3d3d/8nJyf+7u7v/sLCw/6moqP+ioqL/pKSk/6+vr/+1tbX/ + urq6/8fHx//X19f/4ODg/+Hh4f/d3d7/2trb/9DQ0P/ExMX/tLS1/6Chof+Ji4v/d3p7/21wcf9kaGn/ + VFlb/1BWWf9NVFf/SVBU/0RMT/8+Rkn/PUNH/zxCR/8/R0v/PkdL/0BKTv9GT1L/TlRX/1RYWv9XWlv/ + XF1d/2FiYv9mZ2f/bm9w/3x/f/+RlJP/pqmp/7K0tP/GyMn/1dbW/9TV1f/Y2dn/3d7e/+Pj4//m5uf/ + 6urr//b29v/8/Pz//f39/////////////f39//r6+v/39/f/9vb2//r6+v/v7+//7u7u//Dw8P/W1tb/ + wcHB/7i4uP+wsLD/dXV1/ywsLP8dHR3oREREOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA3NzcDODg4kEdHR/9WVlb/YWFh/2ZmZv9ra2v/kpKS/8jIyP/g4OD/2NjY/8vLy/+7u7v/ + qqqq/6ampv+lpKT/p6am/6Kiov+tra3/w8PD/9PT0//f39//6Ojo/+np6f/g4OH/0NDQ/7W2tv+en5// + goSE/3J0dv9kZWf/VVVZ/0dITP8/QUX/PD1D/zc6QP8qLzT/Jywy/yQrMP8iKTD/ICgv/x8oLf8iKjD/ + Iyox/yMqMf8eJy7/Hiku/yMsMf8qMDX/MjQ4/zc4Ov8+PkD/R0VG/0lISf9ISEv/SEpO/0xRVv9TWF// + VFlg/21yd/+Ok5T/oqan/7m8vP/O0M//4OHf/+Xl5P/e393/4uLi/+fn5//x8fH//v7+///////+/v7/ + +fn5//n5+f/5+fn/8/Pz//r6+v/6+vr/9fX1//Pz8//b29v/vr6+/7i4uP/AwMD/f39//yUlJf8fHx/m + TU1NLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw8PH5NTU3/V1dX/1lZWf9jY2P/ + dnZ2/5qamv/IyMj/3t7e/9XV1f+9vb3/qamp/6CgoP+hoaH/pqWl/6moqP+3t7b/vb28/9HR0f/j4uL/ + 6Ojo/+bm5v/S0tL/s7Oz/5eXl/+Dg4T/aWpq/09QUf9HSkr/P0NE/zI1OP8pKi7/JSYs/yYoLv8pKTL/ + LCw3/zM4Pf81O0D/Nj1E/ztBSf8+RU3/Q0xS/0hQWP9LUFn/Sk9U/0FKTv8+R0z/P0ZL/0FGS/9CRUn/ + R0dK/0JBRf83Njn/Nzc6/zM1Ov8oLjb/JC04/yQwO/8nNED/LzxD/0BKTf9QWVz/YGdo/36Dgv+qrqv/ + y87K/9PV0P/Y2tj/3t/f/+Xl5f/s7Oz/8fHx//v7+//6+vr/+/v7//X19f/19fX/8fHx//Hx8f/19fX/ + 9vb2/+vr6//e3t7/yMjI/7S0tP+1tbX/dHR0/x8fH/8xMTHgTU1NHQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAzMzNjQkJC+lZWVv9bW1v/ZGRk/3x8fP+np6f/zc3N/97e3v/Gxsb/qKio/5ubm/+ampr/ + mZmZ/5ycnP+np6b/vby8/9vb2//l5OT/4ODg/9PT0v+7u7v/np2d/3p6ev9hX2H/T09P/z0+P/8tLzD/ + KSss/yIlJP8kJyb/KzAt/zU4N/9ER0b/VllZ/2hqav94env/jJiV/5Ognf+eqqn/qra0/7XBv/+/ycj/ + w87M/8TPzf/Gzcv/w8rI/73GxP+0vbv/q7Sx/6Gpp/+epaP/jZST/291df9mbm3/VWBf/z9OTv8rP0D/ + HTU1/xEsLf8WKi7/ICw0/yYxOf8vOT//PUVJ/1BWWf9ucnT/jpCQ/7a4uP/P0M//3N3d/+Hh4f/i4uL/ + 6+vr//Ly8f/+/v7//Pz8//b29v/29vb/9/f3//Dw8P/q6ur/7u7u//Pz8//f39//ysrK/7Gxsf+tra3/ + fHx8/ykpKf8vLy/KWFhYFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyPzo6OvBQUFD/WFhY/2JiYv+AgID/ + qqqq/8rKyv/FxcX/tra2/6Ojo/+Wlpb/lZWV/5qamv+lpaX/vb29/9LR0f/g39//4+Pj/9DQ0P+xsbH/ + j5CO/3Nycv9ZWFf/QD8+/zQ0M/8pKSj/HR0e/xweH/8zNjf/UFBP/2hoZf+FhoP/oqOg/7q7uf/LzMj/ + 1NbT/93f2v/a5eD/2OLd/9Pe2v/P2tX/y9jT/8rX0//L2NP/zNjU/8zW1v/M1db/y9XV/8zX1v/R29n/ + 1d/e/9zk4//d5eT/2ODf/9Pb2P/J0s//tMC8/5emof9xhYD/U2pl/ztMUP8eLTf/EiIr/xknL/8jLjX/ + MDY9/0FESf9aWl7/bm5w/4eHh/+xsbH/1dXV/+Pi4v/f39//4eHh/+np6f/29vb////////////6+vr/ + 7u7u//Ly8v/19fX/9PT0//X19f/c3Nz/ycnJ/8DAwP+kpKT/aGho/yQkJP9CQkKobGxsBwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACkpKRs2NjbiT09P/19fX/9eXl7/d3d3/6ampv/FxcX/v7+//6Wlpf+RkZH/jY2N/5GRkf+fn5// + t7e3/9PT0//q6ur/6unp/9fX1/+zs7P/iomJ/2trav9aWFj/RUVE/ysuKf8bGxj/GRsY/ystKv9FRkb/ + Zmto/5CVk//GxMb/2NPX/9rY2//c297/29vc/9PV1v/Lz8//xszL/8zS0//M0tP/y9PT/8rT0v/M1NP/ + zdbV/8/Y1f/R2df/0tfc/9DW2f/N1Nj/ytLW/8rR1v/J0dX/zNTX/8nP1P/Eyc7/zNDU/9fZ2v/b3t7/ + 293c/9fY1//U1dP/tLu7/3yJjv9UZGn/OEhN/yQzOv8mMDj/MDQ5/zY3Pv8/P0L/T05P/2loaP+CgYH/ + qqqq/9fX1//k5OT/2dnZ/+jn5//19fX/+vr6//v7+//29vb/9/f3//T09P/v7+//7u7u/+zs7P/k5OT/ + xMTE/7Ozs/+rq6v/WFhY/yYmJv9UVFR+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAJNjY2t0dHR/9eXl7/Z2dn/3l5ef+ioqL/ + v7+//7q6uv+ioqL/lpaW/46Ojv+SkpL/pKSk/8HBwf/e3t7/4+Pj/8rJyf+traz/ioqJ/2xra/9WVVX/ + PTw7/yglJf8eHxv/HyMc/zc5Nf9obGf/pqum/9DX0f/k6uX/6O3o/9bW2//LydL/xsfN/8THzP/J0NL/ + 0dna/9bg3v/X4uH/3eLh/9/k4//i6eX/5Ovn/+Xs5v/i6+T/3+ng/97o3//e5eT/4Ojn/+Lq6P/j7On/ + 4uvp/9/p5//c5uT/3eXk/+Ll5//d4eL/1tja/83P0f/Gx8r/ycjL/9HLzv/X2tj/4Onl/+Xs6f/L1dP/ + lJ+h/2Bqb/9DSk//ODxB/y4uMP8zMjH/RURE/1NSUv9kY2P/hoaF/7Kysv/a2tr/5OTk/+Pi4v/r6+v/ + +Pj4//39/f/39/f/9PT0//Ly8v/m5ub/8vLy/+3t7f/b29v/zMzM/729vf+fn5//PDw8/zU1NfZdXV1K + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADExMXxJSUn/WVlZ/2VlZf92dnb/m5ub/7u7u/+2trb/oKCg/5aWlv+SkpL/k5OT/6urq//R0dH/ + 5eXl/9jY2P+6urr/lZWV/3l5ef9aWVn/ODc2/yYlJP8jISH/Li0s/1ZZVf+Gi4T/tru2/9je2P/Y3tn/ + yM/K/77FwP++xcD/0NTT/9TZ2P/S2df/09/Z/9bl3f/W593/0ebZ/8vj1P/J4M//yN/O/8Tdy//C28j/ + vtrE/73awv+828H/vNvC/7zayP+62cf/uNrH/7jax/+73cn/v+DM/8Lizv/H5dP/0eja/9br3P/X6d3/ + 1+Tb/9bf2f/W3dj/3N/c/8TNx/+0wrr/xNDJ/9Td2P/e5+L/1tzc/7O5uv+IjY//V1lZ/zw7Ov8xLy7/ + MjEw/z08PP9QUFD/cHBw/5STk//Hx8f/2tra/+bm5v/s6+v/8/Pz//39/f/7+/v/9fX1//T09P/t7e3/ + 6+vr/+np6f/a2tr/wcHB/7i4uP+MjIz/NTU1/0pKSuJycnIZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxMTE5PDw8805OTv9hYWH/dnZ2/5KSkv+vr6// + rq6u/5ucm/+SkpL/kpGS/5uam/+0s7T/1NTU/+Li4v/Ly8v/oaGh/4ODgv9kZGH/QEA+/y0sLP8fHh7/ + JiUk/0tKSv+PjY7/x8vH/9Pb1P/S2dL/y9LM/8HIwf+9xL7/ydDK/9rh3P/U3dD/0N3L/9Lhz//O4c3/ + xNzF/7jVu/+szLP/pMmt/5zLqP+azKf/lcik/5DGn/+LxJr/iMOX/4jFl/+Jxpn/iMad/4LFnP99xJr/ + fcWb/4LHnv+Hy6L/i86k/4/Pp/+Tzav/mdCu/6bVt/+03ML/weHL/8fi0f/I4dL/z+DS/9Xf0//Q29H/ + xtHJ/8HMxv/H0c7/09rZ/9vh4P/Gx8j/lpSV/1hWVv82NDP/Ly4t/zU1Nf9DQkL/U1JS/4SCg/+pqKj/ + zMvL/9zb2//l5eX/8fLx//r6+//7/Pz/+vr6/+jo6P/n5+f/6enp/97e3v/Q0ND/xMTE/7Kysv9ubm7/ + Ojo6/2ZmZqqgoKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ojo6Djc3N9BMTEz/U1NT/2dnZ/+JiYn/o6Oj/6enp/+Tk5P/i4uL/5CQkP+bnJr/wMG//93e3P/a29n/ + vby7/4uKif9raWj/VFJW/zAuN/8jISX/JSQj/05NSv+enZn/zs7M/9fW2P/HycP/usC1/7vBuP/EysH/ + zNXN/8zX0f/G083/wc7K/7TNtf+ry6r/pcik/5vBmf+QvY7/ir2I/4rBif+KxIv/fb+H/3zAif99wor/ + e8OK/3nDiP9zwoX/ccGC/2/AhP9qvYj/Zb+I/2HBif9iwor/ZcOM/2fEjf9kw4r/a8eO/3PKk/9rwoz/ + a72K/3PAkP9/xZr/isuk/4zNo/+j0K//utO8/77Ywv/E28n/yNrP/8jV0P/Fzcz/wcfI/9Pa1v/f5N// + 0tLQ/6Kfn/9cWFr/LCkp/yoqKf88Pjr/R0lF/2FjYP+VlpX/wsPD/9DPz//j4uL/8fDv//f19P/4+Pj/ + 8vLy/+vr6//o6Oj/5eXl/9zc3P/W1tb/t7e3/6ysrP9YWFj/T09P/4SEhF8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODiARUVF/1dXV/9mZmb/eHh4/5aWlv+fn5// + jIyM/4WFhf+Qj5D/oqOi/8nNxv/h5N//ztDL/6Okn/+GhYH/ZmNi/05KR/8vKzL/Hhot/0hFTv+Ni4r/ + x8e//9DRx//CxMD/wsTH/8rMyf/HzsP/wMu+/7nKt/+yyLL/p8Wq/5q/ov+UuZ3/iruO/4a9if+Evof/ + gb6E/3u/fv93v3r/dL94/3C8df9ip2//XqZv/1ymb/9YpW7/VqVu/1Okbv9SpG//UKNw/0efcv89oHH/ + NaFx/zalc/88qnb/P694/z6xd/9GtXn/ULx6/1W/ev9Zw3r/YsmC/2jNiP9pzon/Z86F/3bJjP+HyJf/ + kM6e/5/Urf+v17r/utbF/8HTy//F0s3/vM/B/7vLvP/O08z/4d3e/8/IzP+Jg4b/RkdF/ycrJf8wOC// + P0U//1daWf+Gh4n/p6Om/9jT1P/w6+f/7+rm//r6+v/8/Pz/9/f3/+3t7f/m5ub/4+Pj/9zc3P/Ozs7/ + wMDA/5OTk/9CQkL/Z2dn5p6enhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Pz8/Kz8/P/BRUVH/YWFh/3BwcP+Hh4f/nJyc/5qamv+Hh4f/iYmJ/6enp//Pz87/3+Lf/77Av/+ZmJf/ + eHh3/1taWv89Ozv/JCIi/ygmJf9pamX/vr+6/9ze2f/Dx8H/tb22/77Hwv/By8f/uMnF/67Gvv+kwa7/ + l7uX/4y4hP+FuXb/f7pt/327av94s2n/d65s/3CnbP9nnm3/YJNt/1eJa/9Ngmj/Q3xl/zt4Wf85eVr/ + OXtd/zh+Yf85gmX/O4Ro/z6GbP88iG3/M45q/yOMZ/8UiWP/EIpi/xONZP8OjmL/CI5e/xKRX/8hmGH/ + Kpxj/zOmZ/9AsW7/Ur58/1bDf/9bxYD/YsaB/2jHgf9qx3//cseF/4DLkv+P0KL/ntWu/6jYtP+y1rr/ + w9zF/8TTxP++xLz/09HQ/+Xh4v+1s7T/YF9f/zg5Nv8yMjD/MzAy/05JT/91cXX/qKOk/9nV0f/v6+f/ + 6+vq//X19v/6+vr/9fX1/+vr6//k5OT/2tra/9DQ0P/BwcH/p6en/3Fxcf9aWlr/kJCQnAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj6yS0tL/1xcXP9ra2v/gYGB/4uLi/+MjIz/ + i4uL/5OTk/+pqan/y8zL/9nZ2v+urLD/j42Q/25sb/9bW13/Ozs9/x8eIP89PT7/mpuV/9bZyP/Fyb// + tr63/625s/+vwbX/rMOv/6O7o/+Rupb/grSI/3Spd/9wpm3/dq5s/3ezaf9rq1v/YKFP/1+MVP9XgFP/ + RnVM/zpqSv86ZE3/QGtT/0V0Wv9Fe2L/Q4tj/0KPZv9Ckmr/RZZv/0ebcv9JoHX/SaJ4/0uke/9IqHj/ + Oqd3/yqjdP8jo3L/IqJz/xqhcP8Vom3/FZ5q/xWcZv8RlGH/CIxW/waKT/8Zlln/JaFe/y2nX/85t2X/ + Pr9k/0C+YP9PxWr/Ycx6/3DRhv93z4z/dsqJ/5TPoP+r1rH/uNe5/8HUv//EzcL/x8rG/8/Oz//W1Nb/ + ioaH/0dBRP80LDH/PjU9/01HS/9rZmj/o6Cc/8PBvP/Y2Nj/7Ozs//r6+v/4+Pj/7+/v/+jo6P/g4OD/ + 2tra/8fHx/+9vb3/np6e/11dXf97e3v4tra2OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ozs7SENDQ/9VVVX/ZGRk/3Z2dv+QkJD/lpaW/4aGhv+BgYH/qqqq/9bW1v/T09P/srGz/4uJj/92c3j/ + T09S/y4wM/8uMTL/YWZl/6+1tP/Hy8X/xMS6/7W8tf+ntq7/nrWm/5e3m/+Qt4v/ibN8/3qza/90smX/ + c61m/2miYf9dkVf/UntO/0JnQf82YDn/OFE9/ztWRP8+ZUr/QXRQ/0eDV/9Pj13/Vpdi/1ecZv9SpGf/ + Uqdt/1OpcP9SrHL/U7Fz/1W1dv9Wtnn/WLd+/1G0gv9BsX//MbB9/yivfP8nr37/I69+/x2ue/8grnr/ + Iq51/yCrbv8Vo1//Ep9a/xuiYf8Sm1b/CZVM/w6dTP8Xp0z/I61Q/zW3Wv9EvmP/VMVw/2PNe/9u0oD/ + g9OT/5TUnv+j16X/r9au/7XQtP+5ybn/v8e//8rNyf/Qzcz/pKCg/11XWv8tKS3/NC80/0E+P/92dXD/ + l5aR/729vv/a2tr/8fHx//j4+P/z8/P/7u7u/+rq6v/i4uL/0dHR/8jIyP+2trb/fn5+/2lpaf+jo6PD + 0tLSBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/Pwc8PDzKTU1N/11dXf9vb2//iIiI/5aWlv+SkpL/ + kZGR/6Kiov/Hx8f/1tbW/66urv98e33/bmlv/1BMUv8yMjT/MTU0/3B2c//AycX/wczG/7S9t/+prar/ + m6uh/5aynv+RuZf/g7SA/3epaP9zqFr/bqJc/2WUWf9chFH/SWpD/zJQLv8uQyv/Mkcy/zdTPv89a0b/ + RHlN/0uEU/9Qjlr/VJpd/1mhX/9cp2T/XKpq/12ycv9ftHf/X7d7/165ff9cu37/X76A/2DAgf9gwIb/ + V7yJ/0S7h/82uof/KrmG/ya5hf8muoX/IbeA/yO5gP8luX3/Jrp4/yO4bv8ouXD/K7hy/x2vZv8OpFj/ + F6lZ/xyqWP8Rnk3/E5tJ/ySkUP88tGH/Tb9s/1XEbf9kyXj/d9CF/43XkP+X1ZX/n9Kc/6fNpv+wyq7/ + s8ex/8DIu//U2c//xsrF/2doaP80NDb/MS4v/0lHRv9oZ2X/kZGR/7i4uP/d3d3/8fHx//b29v/19fX/ + 7u7u/+Xl5f/c3Nz/zc3N/7+/v/+pqan/bm5u/4qKiv/Ozs5SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + PDw8VUFBQf9XV1f/ZmZm/319ff+VlZX/kZGR/319ff+hoaH/09PT/8/Pz/+ioqL/goKC/2poav9QS07/ + MzAz/zk6Of+JkIr/x9DJ/7jFuv+jtKb/nKue/6GzpP+SspX/fKp9/2ykav9qpGP/aZ5a/2GTTv9Sc0r/ + OFE4/yU3Iv8oMyT/LUcp/zliMv9EcDz/R3M+/0eGQ/9NkUr/VJpT/1iiXf9cqWT/Xatn/16sbP9crXP/ + YrV9/2K4gv9iuob/Y7yK/2TAjP9nwo//asOP/2nEk/9gxZT/TMOT/z3DlP8rwo//IsCK/yLAif8avX7/ + Hr5//yPAgv8gvnz/Hbx1/ynAfv8pwHv/Jb13/xy5bP8ht2r/J7Vp/yKwYP8hqlv/HqNX/x+hU/8op1T/ + Na9Y/0rBZv9ey3D/d9V7/4HVfv+J0YT/l9KS/6PUof+r1Kn/tc2y/7LFrv/G1cX/z9jR/4aLif8uLS7/ + LSor/0ZDRf9mZmb/j4+P/7q6uv/d3d3/7+/v//T09P/v7+//6Ojo/+Li4v/U1NT/xsbG/8DAwP+Kior/ + enp6/729vc3a2toHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSgZAQEDNUlJS/2dnZ/90dHT/h4eH/5OTlP+IiIn/ + ioqK/8LCwv/b29z/paWm/3l5ef9tbm7/WlhY/zMuL/9BPj7/mpyY/8TNxP+zwbT/s8Kz/6W2pP+SqI// + haiA/32tdP9np1v/WaBN/1WXTf9LekT/MVAs/yAyHP8iNB//J0Ui/y9XJ/83aS3/QXcx/0eDN/9Niz7/ + TphG/1KfT/9VpFj/Walg/1yuZ/9es2z/YbZy/2W5e/9nvIP/Zr+J/2bAjP9mwo//aceU/2/Kl/9zzJr/ + dM6f/2rOoP9WzaD/Pcuc/y3Jl/8kx5P/H8WO/xrEh/8fxoj/JMeH/yPFgv8qyIr/McmM/zLJiv8pxX// + I8J3/yG+dP8gunD/H7hq/yO2aP8puGf/K7Zh/yWvWP8eqFD/JKtN/z++V/9m1Gz/ddly/3nUc/+C0H7/ + jc+K/5XPkv+pzqb/sdKw/6rFq/+6y7z/ytTO/5SVl/80LjP/Lict/05OTv9tbW3/k5KS/7m4uf/b29v/ + 7u7u//X19f/x8fH/5ubm/93d3f/Ozs7/xMTE/6mpqf96enr/np6e/9PT01MAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCS0tLS/9dXV3/cHBw/3x8fP+NjY3/ioqK/4SEg//BwsD/2trZ/6qqqP96enj/cXBw/2NgY/8xLy// + Pj46/52dlv/FyLn/uMGt/6m5ov+Zs5n/jayV/3uke/9vpV//aKFZ/2KfVP9MhUH/J1Mg/xouF/8dJhr/ + I0Qe/ypaIP8yYyb/PHMs/0OBNP9Jizf/SZA4/0iRPv9NmUj/UqJU/1aoXP9asGT/YLhs/2G9cv9jwnr/ + aMSD/27Fi/9uxpD/bceU/27Kl/9wzZz/c8+c/3bQnv950qX/cdSs/1/Ur/86zJ3/LMqb/yfKnP8py53/ + JMqX/yfMlf8r0JX/Lc6U/zXRmf80z5X/Ns+S/zDOiv8tz4X/I8h7/x7Cdf8mxnb/Lcd1/zDDcv8svWr/ + K7hk/ym2Xv8rtVf/LK9N/0C0Tv9cw1n/cNFn/3jScP980nX/gdV8/47Lh/+c0Zn/ocmi/6/Ks//Az8P/ + zdLL/5OPjf9HQUL/Nzk4/1NTUv9tb23/k5WT/7m7uv/g4OD/9/X2//Xz9P/p6en/5OXk/9TU1P/Gxsb/ + vr6+/4iIiP+Hh4f/0NDQyPf39wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pz/AWlpa/1xcXP90dHT/gYGB/42Njv+JiIj/ + naGc/+Lm4P+2uLP/ent2/3Z1cv9jX2D/QTpA/0xJTP+nsqj/u8Gx/7S6of+tuZj/mrOM/3unef9hnXD/ + Vppb/16gTf9UiUr/N1sz/xorGf8XHxX/HDAa/yZHJv8rYSX/MG8j/zZ2Kf89gC7/Q4kz/0iSNf9LmDn/ + TpxA/1WlSP9aq1P/XrFe/2G2aP9mvHP/ZsB6/2fDg/9rxYz/dMWV/3TFmv90xp//c8ei/3bKp/94y6f/ + eMuo/3nMrv9vz7L/Xc20/zzGp/81x6v/MMao/zPJqv8zyqf/Lsqg/yvQnf8106P/QNam/z7Xn/9A2Jz/ + ONaS/zLWjP8t04T/LdCB/y/Pfv8xzXz/Nsp7/zbGef82w3L/NsBt/zO8ZP82t1j/RLJS/06uSv9buE3/ + as1b/27aZP9p3V//d9hr/4bXgP+Q0Jb/msWh/67Lrf/E1Ln/xcy5/6aonf86Pj3/LTIv/05TT/9udHD/ + lJmX/8C+v//m4OP/9O/y/+3t7f/n5+f/2NjY/9DQ0P/Jycn/np6e/4mJif/CwsL/8/PzQAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QEBANEdHR/xfX1//ZGRk/4ODg/+Wlpb/hYWF/52dnf/S1NH/wMK//4SFg/98fHr/Y2Ni/0E+P/9GQkT/ + lpSW/8HKwf+0vrT/m6qd/4+okP9+o3r/aZ5h/1ydTv9Vk0b/Rnc9/x9GGf8UJhH/FSoS/xxBGf8nViP/ + LmEp/ypwI/8reyP/MYAo/zmILv8/jzT/Rpc5/0ucPf9Qn0P/VqNP/1ymW/9jqWb/aaxy/2+vfP9xsIT/ + crKN/3Wzlf9utJj/brae/224o/9vu6b/dMCt/3bEsf94xrL/dMS0/2TBsv9Sv7P/QL20/zS8s/8zvbT/ + NsC3/zXBtP8vwan/Mcem/z7Kr/9IzLP/Rsur/03Pq/9Kz6T/Rc+c/z7VlP852o//NteJ/zTUhP820oD/ + OM96/zrPdf860G//N8hn/zrAXv9KvFn/ULhP/1a2TP9Yukv/XcRT/2LRXP923Gv/edZ0/4DPgf+RzJH/ + ncuX/6nFn/+3xLD/v8S9/46QkP8yMzP/OTo5/1VXVf+Bg4H/m5qb/8fDxf/39fb/8/P0/+jo6P/g4OD/ + 19fX/8vLy/+zs7P/j4+P/62trf/p6emjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT2YUFBQ/2RkZP9ycnL/i4uL/5SUlP+NjY3/ + w8PE/8zMzf+FhYb/b29x/2NiZf9PTlH/R0hK/4WHhv+9v73/qrSt/5eqn/9/oYz/cp98/2edaP9jnlb/ + Wpc9/ztrJf8ZNRf/ECgO/xQrEv8aQRb/IFgb/yZoH/8sdCL/KX0i/yqDJP8ziSn/PpAz/0aVOv9Klz// + TZhD/0+YRv9Ul0//XJdZ/1+WX/9lmGz/bJ99/3KiiP96pZP/fKia/3ezn/92t6b/d7qs/3e9sf94wLb/ + eMO6/3fFu/92xb3/cse//2nFwv9WwL3/R769/z+/vv8/wMD/QsDA/zq+t/8xvK3/N76u/0jFuf9Qx7n/ + TsSw/0nDqP9EwKH/Rc2g/z/Wmf881JL/O9OK/z3UhP9B1YD/P9V4/zjTbP860WX/Q85d/1jNX/9hy1r/ + XsJQ/1G1RP9KsEH/S7VG/1/OV/9l0mH/dNRv/4LVe/+Kz37/l8aM/6rEqv+8ycP/wcLA/3x8e/8zMjL/ + Q0FC/2ZlZv+AgID/pqen/9vc3P/z8/P/8PDw/+rq6v/e3t7/z8/P/8XFxf+ZmZn/mpqa/93d3dUAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + U1NTD0BAQOpXV1f/Z2dn/319ff+Kior/hoaG/6urq//X19j/oJ2g/2tpbv9tbHH/TExR/0BDRv9+hYL/ + tr62/7W/tP+XqJ3/g6OH/2+mdP9go2H/VppS/0qFQf8uWx//FCsK/w4ZDP8SMRH/HEgY/yNaG/8hZRn/ + IXEa/yd8Hv8uhCP/NYgp/zyLL/9DjTj/SI08/0qKQP9Jh0H/S4ZE/1KFTP9biVX/YIxd/2STav9qoX3/ + dKuM/3+zmP+GuqL/h8Sp/4fIsP+Iyrf/h8y8/4fPwP+G0cP/hdLG/4TTxv990Mf/dM/I/2fNyv9Sycb/ + QsXF/z7DxP86wb//OcG8/zvCuf9AxLr/Ssi7/1XLv/9Wyrz/UMWx/0fApv9Ewaf/PMGd/z/FmP89yIv/ + R8+J/1PVjP9T1oT/R9Ry/0HSZv9J0l//WtNf/2TSXP9jzFX/W8JP/1O5Sv9LtEb/Rrw+/1LIS/9l1V3/ + cdpl/33YbP+O1IL/nMuf/6PBrv+9xrv/vsO7/29xbP80MjL/WFZW/2pra/+LkI3/rrKw/+Hh4f/39/f/ + 8vLy/+Xl5f/U1NT/ycnJ/6ampv+Xl5f/zc3N3vX19QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUlVQEBA/2BgYP9wcHD/goKC/4qKiv+SkpL/ + zMzM/7y7vP99e33/dHN3/11cYv9ERUv/XmNi/663r/+tvKn/nLCY/4Kkif9pnGj/XqNU/1GfQf84gC3/ + HU0a/wwaDP8MEQv/DiwM/xZDFv8gVxn/JGgZ/yp4G/8tgR7/KYAf/zWBKv9AgzL/PoAx/z57Mv9BejX/ + Rns7/0p9QP9PgUf/WYpP/2SUWf9sn2P/catw/3q8gv+Fypb/i8+i/5HUq/+Z2rf/m9y+/5rdw/+Y3sb/ + l9/J/5bgy/+V4c3/k+DN/47fzv+H39H/fd/W/2rb0/9X183/UNXL/0zUyP9L0sj/SM7G/0HLwf89xrv/ + Q8a8/0zIvP9Py7f/Ucyx/1rKtf9YxbL/Sr6j/zi1iv8+uYf/ScCF/1LHgf9UzHb/SM9o/1LWaf9j2mn/ + ZtVg/2LOVP9hy1P/XchT/1fATv9EuTj/Rb07/0/KR/9d1lH/a9xb/33ab/+J0Yr/j8eX/6fEpP/B2L7/ + r7qs/1haVf87OTn/WFhY/21yb/+Kj4z/v7+///Dw8P/09PT/7Ozs/9ra2v/Gxsb/tra2/6Ghof+9vb3k + 7u7uEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAENDQ7VFRUX/ampq/3p6ev+Hh4f/k5OT/7CwsP/Kysr/iYmJ/3Jwb/9yb3D/UE9T/1BTVv+ao53/ + qbmm/5irjv+Nq4P/ZJ1o/1mWVf9VlET/OHYl/xRHCv8IHQX/DBMP/w4oFf8QRAz/GlYU/yBnFv8ldBn/ + L4Eh/zSCJP8veSH/M3Um/zlzK/84cSz/OnIw/0F4Nv9Mgz7/WI9J/2GaVP9tp1z/erFo/4K7c/+ExH7/ + ic+O/4/Vn/+P1qj/k9iv/5vZuv+d3MH/m9zF/5ndyP+Y3cr/lt3M/5Tdzv+S3c3/itvN/4Tb0f932dT/ + ZtfU/1PSzf9Hz8r/R9DN/0XPzP9Fzcn/Rs7H/0vPxv9LzsH/Scq8/0nIuv9ExbX/R8Ky/1TEt/9GvaL/ + Q72W/0vAlP8/uH//PrV0/z6zbP82uWD/Tcpq/2fYcf9u2Gj/adRa/2fSVv9k0FX/XstR/1PDQf9Guzn/ + Qbs6/0rIQv9W00v/ZtZZ/3fWcf+D1oP/l82V/6TOov+xy6//lZ+S/0BBPv88PDz/Zmpo/3N3dP+dnZ3/ + 0tLS/+/v7//v7+//39/f/8rKyv/ExMT/ra2t/7W1tfXk5ORi9vb2AQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUVPDw88lJSUv9ycnL/goKC/5KSkv+YmJj/ + wcHB/6mpqf9ramr/bGlj/15cWv9XWFn/f4WE/7G9s/+WqI//kKWA/36mb/9PoFD/V5lW/0JyO/8UMg3/ + CBcF/w0YCP8XKRD/GkgW/xFdC/8Zag//IngU/yV8Ff8mdhj/KG0b/zFqI/8zbif/NnMq/zp4L/9CgzX/ + TZA9/1mfSP9krFP/brdd/3K7YP93vGX/fbtt/328dv+JxI//jsih/5HKrf+WzbX/mM67/5nQwP+b08b/ + mdXK/5jVzf+W1s7/k9XN/5XW0f+V19X/jNbY/33T2/9gytD/TsXO/zy/yv83vsz/N7/K/znCyv85wsj/ + QMXI/0bGx/9Hx8H/TsnA/1bPxv8+xrL/Lb6l/yy7nv8vupf/K7aH/y2zfP85tn3/QLh5/ziybv8+tGf/ + TsFj/2fQZv9u2V7/bttY/2fXVP9g0lD/X8ZH/1XBRf9Duj//OLk3/z7EO/9Y10v/atxb/3HXZ/+K1Yn/ + kMuP/6TKof+0w7D/eHp3/zY2N/9ZXVz/am5t/4KBgf+qqqr/6Ojo//Hx8f/h4eH/1NTU/83Nzf+ysrL/ + r6+v/93d3fTy8vIZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAElJSVE9PT3/YWFh/3d3d/+Hh4f/lZWV/6urq/+7u7v/f39//2VkZP9nZ2H/UlFP/3d3eP+qr67/ + nKuc/4ulhP+BonH/aJ5W/0mgQf9AfUD/HTke/wYIA/8LFgf/FDcN/xlKC/8eYhH/IHMT/xtxDv8cdBD/ + HnES/x5nE/8gYBf/LGIh/zh4LP9BiTP/SZA7/1OdRP9cp0z/Y61S/2OxUv9ks1P/Zq9V/2mrV/9tqF3/ + bqdn/32xg/+Iu53/j8Gu/5vJu/+czb//odLH/6DTyf+h1c3/otbR/6PZ1P+i2tb/o9rX/6Pb2v+a2t7/ + itfg/3DN2f9ZxdL/RL7P/zy90/86vtH/OsDO/zi+zP87v8z/PL3K/z68xP87usD/Nrm6/yO3qv8fvKf/ + ILmi/x60lP8bsIP/IK57/yqwd/8prm7/MbBs/zWvZP88sVn/Vr5g/2TJX/9oz1j/ZtNV/2PTUv9by0T/ + Ws1J/07DR/86tDb/Orgz/07PQ/9d3E//X9pU/3zYeP+H04T/mc2W/7TOsf+nr6X/YWJh/zs7O/9sbG7/ + c3Nz/4mJif/R0dH/8fHx/+bm5v/b29v/0NDQ/7e3t/+wsLD/1dXV//Dw8CAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/p0hISP9paWn/eXl5/4yMjP+SkpL/ + yMjI/6Kiov9kZGT/ZGNj/2FhYP9WVlb/nZ2e/6Sspv+NpYz/f6d3/2WeWv9SmkP/RJE0/xhFFf8GDQT/ + CQ4D/w4oBP8MRQX/DV4L/xduFP8nchX/IGsQ/xxlD/8cYxL/ImcW/ylwHf8wdyT/P4wx/0ubO/9QnkD/ + VqFG/1ujTP9fo0//XqFQ/1yfTv9gm1D/Z5tU/2+fXf9tomX/eq99/5DCo/+Ev6P/lcq3/6HSw/+k1cf/ + p9jN/6vb1P+v39n/suLd/7Tj4P+x4t//q+Df/6Pf4v+T3OT/f9jk/2LN1v9Ox9X/QcXX/zzD1P82v8// + NL7O/zW8zP83usv/OrnJ/zm3xf8xsb3/IKyv/yGwsP8erab/GqiW/xqlhv8fpH7/JqZ2/yemb/8mp2L/ + Lqxg/z2wY/9MsmX/U7Jf/127Xv9nx1z/bNFb/1PZRP9S10L/Vc9F/06/Pv9DszT/P7g0/0nRQv9X4U// + b9lg/3rZcv+M1Yf/otOj/7jOuP+HjYX/Qzs//1xUWf9tbm7/c3R0/6Wlpf/q6ur/7+/v/9vb2//Ozs7/ + wcHB/7i4uP/S0tL/8vLyHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAGtrawRCQkLfS0tL/2xsbP97e3v/jo6O/6mpqf+2trb/g4OD/2JiYv9iYWH/VVJS/3Z5dv+irKT/ + nK6d/4WohP9tn2b/U5RJ/0WHNv8jVBX/CScG/wUOA/8LIgb/GEIK/xdYCP8VZxH/FmkS/xZiC/8ZZA3/ + H2gQ/yZwFv8veR//OYMq/0SMNf9HlDj/R5Y4/0iUOP9IkTn/TZI//1SWRf9bnE3/YaJS/2GcT/9onFT/ + bZ5a/22hY/9upm7/fLSL/3q3lv+ezr7/qNbK/6nYy/+x3dT/uOLb/77m4f/C6eT/wenm/73n5f+25OX/ + quPm/5zg6f+M3uz/adDc/1PJ2f9Dxdf/OsLS/zG+zv8vvc3/MLrL/zC4yf82ucv/O7jK/zezwv8lrbb/ + H6uy/xilpP8Yopn/HKCN/xqbf/8bmHH/H5hq/yCeYf8YmVX/G5dP/zenXP9LtWH/VLpe/169Wf9iwFH/ + WM1J/1nRSv9b00z/UcpD/0O9NP87tyz/Pb8w/0jLO/9l21j/cNto/3vRdf+Y1Jb/r9Gv/6Ctnv9qZ2b/ + TUhK/2pra/9paWn/jIyM/9LS0v/u7u7/4eHh/9LS0v/FxcX/uLi4/9HR0f/v7+8jAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ2dnAUNDQ/9QUFD/cXFx/4GBgf+Tk5P/ + vb29/52dnf9hYWH/YmJi/19fXv9dW1n/mZ+X/56xn/+Ep4X/bZ9r/1iVU/89hzf/LWwj/w4eBf8FFAP/ + BhwD/ww7Cf8YVg7/GGIK/xlmDP8XYw7/FGAN/xtoEP8lcRf/Lnsg/zeEJ/8+iy7/RpM1/0STNf9DkDT/ + RZA2/0iOOf9Njj3/UJE//1iXRf9emkn/X5hJ/2WZT/9qnVf/cqNi/3Smaf94qXX/eK2D/6LMu/+r2Mz/ + tN7O/8Pk0f/U6dr/3Ozi/+Du4//f8OT/1O7r/8Po6f+25uj/peLn/4na5P9s0+P/YNDf/1fO2/9DyNX/ + McDP/yu7y/8vucv/MLrK/zfA0f8zuMj/NLTH/ymuv/8bprH/FKKm/xOenf8Um5H/E5eE/xWUdv8WkWf/ + GZRa/xmVVP8VkVL/GJFT/ymaU/9Or13/Yrld/2G2Uf9Xt0j/VsBJ/1fMSf9R0EP/Rso3/z/BLf8/uyv/ + Q70v/1LXRv9j3lr/a9Vm/4fWhf+l1aL/s8yw/5KZjv9MSkn/YWFh/2FhYf9ycnL/sbGx/+jo6P/o6Oj/ + 19fX/8jIyP+6urr/z8/P/+vr6yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARUVF/1hYWP94eHj/ioqK/5mZmf+/v7//gICA/1BQUP9lZWX/X19e/3x7d/+ptqb/ + iqyJ/2qca/9RklH/SI5E/y12KP8TRQz/CgkD/wYZA/8HMwb/C08J/w5dCP8PXwX/FV8G/xljDP8cahX/ + I3EZ/yp6H/8wgSL/NIQk/zeIJP87iif/PIor/z+MMP9HkDf/TZM8/1KVPv9Skz3/VpM//1eSPv9ck0P/ + Y5hM/2mcVv9womD/dqdp/3uqd/9/sIj/lcWu/67Zzf+74dP/zunY/97u3//l7+b/6fLn/+n06v/f8+// + z+7w/8Hq7v+q5Oj/idrh/2zT4/9m0+T/X9Hf/0nL2P86xdT/OcLV/zu/0/84vc//Nr7O/zG4xv8xtMX/ + Ka++/yKotf8dpa3/GqGj/xecl/8VmIn/FZN7/xiRbv8bkWH/G5JZ/xiQVv8XjFD/IYtJ/0KaT/9bqlX/ + ZLFW/1+uUv9atE7/U8FH/07NQP9Kzjv/Rsg0/0S8Lv8/tin/O8sx/1ffT/9n4WD/edt0/5nclf+v2az/ + qLuk/2BmXv9UU1T/YGBg/2VlZf+RkZH/2dnZ/+/v7//Z2dn/ycnJ/76+vv/Nzc3/5+fnNwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHR0f/ZGRk/4CAgP+VlZX/ + oqKi/6ysrP9oaGj/UFBQ/2dnZ/9lZWT/mJuU/56zmv9xoG7/WppY/0KMP/86gTX/HVkY/wQeAv8JDwP/ + DCsG/w1LCP8KWwj/Cl0F/wxeBv8YZQj/H2wO/x9xF/8kdxr/Kn4f/y+BIf8xhCD/M4Me/zKEIP83hif/ + QYov/0qROP9RlT7/VJY//1OTO/9UkTv/VY86/1qRQP9jl0v/aZxV/2+gYP93p2z/fa17/4K0jv+Mwab/ + sNvQ/8Ll2P/W7N//4vDj/+jx6f/r8+r/7PXt/+X28P/b8/L/ze/x/7fp7f+V3+j/c9bl/2nT5v9j0+P/ + U9Df/1DQ5f9QzOX/R8TY/0PC1P84vsz/MrrH/zC1xP8psL7/J626/yOps/8fpKn/G5+c/xeaj/8VlID/ + FY9x/xWNY/8UiVb/GYxS/yqUVv84lVH/SJVR/1OZTv9dpFL/Zqxc/1ytU/9QskX/Sb4//0rHPv9JyDr/ + Rb0y/zu1KP8rvSD/StlA/2XsXf9v4mf/jeKG/5vWlf+pyqX/h5SF/1JRU/9iYWL/Y2Nj/3R0dP+/v7// + 7u7u/93d3f/Kysr/w8PD/8vLy//i4uJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAEtLS/9vb2//h4eH/5ycnP+oqKj/kpKS/1paWv9ZWVn/ZmZm/3R0c/+ep5v/ + h6WD/2CXXP9RnE3/Poo4/yZnIf8PNwr/BA4B/wQhAf8KPAP/DlcF/wthB/8LYgz/EWcP/x90EP8hdg// + HHIQ/yJ4Ff8ofhr/LIIf/zGFIf8zhSH/NYci/zyJKf9FizD/So40/0yONv9NjTT/UI41/1iSPf9ck0D/ + X5VE/2aZT/9snVj/caFj/3upcv+Ar4H/greS/4/Dqv+03dP/yefd/9ru4f/m8eX/5/Hp/+rz6f/u9u// + 6vfy/+L19P/X8vP/x+/x/6jn8f9+2un/atPl/2LR4v9Uztz/VNHi/1nP5f9Pxtf/TsXX/z/Bzf84vsv/ + M7nH/ymzv/8nr73/JKy3/x+nq/8Zop7/FJ6S/xWahv8UlHf/EY1m/xuPXv8plFr/OZdZ/06cXP9eoVz/ + W51T/1eaTv9coFL/VZ9L/02iQ/9LrEH/TLhA/0vBQP9Iwzz/P78y/y64If9AzDP/XeVQ/2zoYv+D5Hv/ + idKE/6DPnP+kuKH/ZWNl/2BfYP9lZWX/Y2Nj/6Ojo//m5ub/4uLi/87Ozv/FxcX/ycnJ/97e3k0AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExM/3h4eP+NjY3/ + nZ2c/66ur/97e3z/U1NT/2FhYf9hYGH/iIiI/5ypmP92mXP/U5FP/0WVP/83hTD/EEYL/wUXAv8JEgX/ + BDwB/wlQAv8PYQP/D2YM/xNpGv8acR//H3wU/x99Df8geg//JX0V/yqAGv8uhB//MIUh/zSIJP83iSb/ + Pokq/0eLMP9JizH/S4sw/0yLMf9QjTT/WJA7/2GVQ/9kmEr/aZpR/22eW/90pWn/fqt4/4Gyhf+At5P/ + mMm1/7zh2f/P6t//3e7i/+fx5f/q8+v/7vXu//D37//t9/T/6/j1/+P28//T8/P/t+72/5Di8/9w2Oz/ + ZNTp/1XP3v9Uz97/WM7e/17N4P9dzuP/S8jX/zvBzv82vsv/MLnG/yu0wv8osLz/Jq20/yOrrP8ep57/ + GqGO/xibff8Tk23/HZNi/zicYv9YpGr/YKNj/2WlXv9ho1r/W55U/0+WSP9Plkb/UZhH/1CeRv9MpkP/ + RrI+/0DBOv89xjb/PLsu/za5Jf9N1T3/bu5f/33mcf+E137/mtSX/6/Lrv+Ef4T/V1dY/2RkZP9YWVj/ + jIuL/9vb2//o6Oj/1tXW/8bGxv/Hx8f/2traVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABSUlL/enp6/46NkP+foJ//rK2r/2praf9QUlL/YmNk/2RmZf+VmZP/ + jaKL/2mVYv9KkUH/OYsy/yhtIv8FKAL/CBgF/xIuDP8FUQH/Cl4C/xBpBf8UbhH/GXIe/xp4Hv8WfA// + Gn4L/ySCFP8mgxb/K4Mb/y+FIP8xhyL/NIgl/zeIJf87hyX/QYgo/0eKLP9LjC//UI4y/1SRN/9akz3/ + YZdF/2WaS/9pnVP/bqBf/3Snbf99rnv/gLWJ/4O8mf+GwaX/s9zR/9Hq4f/g8OT/6vLm/+zz7f/v9u// + 8vjw//H49P/x+fX/6vfw/+L49v/B8ff/muf1/3DY6/9i1uv/WNTj/1TQ2/9b0Nv/aNPl/2bU6f9Qy9z/ + O8TP/zXAzP8yvMj/L7fE/yy0v/8qsbn/KK+y/yGspf8dpZD/GJ57/xaYcf8glmb/SKJq/2uwcv9srGX/ + ZaRc/2GiWf9hpVv/T5hK/0+XR/9SmEr/UJlJ/0eaQf89oDn/Na00/zi4M/9IxTT/MLMe/znAKv9n6lv/ + dudt/4Tge/+X2JL/rdKs/5eflv9YWlb/YV1g/1ZTVv92d3f/ysvK/+3u7f/Y2dj/x8fH/8jIyP/b29tU + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF1dXf96enr/ + iYiQ/6aoqP+doZf/WVtV/1BUVf9eY2b/doF5/5OnkP9ylnH/U5NJ/z+UL/8xgSr/EEIT/wMbAf8EOQT/ + BEwB/wVdAf8KZAX/Em4N/xh4Ef8YfxH/Fn8P/xN+C/8Xfg//H4AV/yKBGP8ohBz/LoYg/zKJJP81iiX/ + OIok/zuKI/8/iiT/RIsn/0qOK/9QkC//U5M1/1eXPP9emkT/Zp1N/2qgV/9vpGP/dKpy/32xgf+BuI7/ + hsCd/4fDpv+03dL/1+3j/+Pw5f/r8+j/7vXu//D38f/z+PL/9Pn1//X69P/z+vP/6vr3/831+/+K3eP/ + adbl/1nV5v9W1eP/Wdbg/2bY5f9t2er/Y9Tk/1HP3P8/ydT/NsTO/zbAyv81u8b/NLfD/zG0vf8or7L/ + Gqih/xiijP8YnXv/GJlw/yqcav9Yq3T/dLN0/3GuaP9oq2P/Y6df/16jV/9VnU//TplI/0mYRP9Fl0H/ + Qpc+/z+XPP89lTv/PJs1/0jFKf87vyf/KbIf/0rURP907mr/feZx/5Lbiv+m3KD/m7+W/2hxY/9hVV3/ + XVNd/2BjY/+stK7/7PHt/9fY1//Jycn/zc3N/97e3k8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX19f/3t7e/+Pjpb/qKqq/5CTi/9VVlH/VVZY/19kZv95iHr/ + i6OI/2uWaf9OkUb/NYsp/yR0Hv8FOwj/AisD/wQ/Bf8LVwX/CWQG/w5qC/8UdBH/GHsT/xl/E/8WfxD/ + E38M/xd/Dv8ggRX/I4IX/yeDGv8shh7/MYgh/zKIIf80hx//O4ki/0GKJf9HjCj/TI8s/1KRMf9VlDf/ + WJc+/1+aRv9lnk//aaFY/26lZv90q3X/fbKD/4K5kf+Dv5z/i8at/6rYy//P6eD/5fHn/+zz6f/v9e// + 8ffy//T58//2+vX/+Pr0//n89f/u+/f/1fj7/5rk6/9q1+P/WNbo/1HU4P9Z1uD/Z9nl/23a6f9h1eX/ + Tc7b/zzJ0/83xc//N8HL/ze9yP84ucb/NLbB/yyxtv8fq6b/G6aR/x2hff8hn3f/O6R2/2Swe/91s3L/ + dLBq/2mrZf9lqGH/YaRa/1efUv9Qm0r/SZhE/0SXQP9Aljz/PJQ5/ziTN/8zki7/NaQh/0nAOf83uS3/ + Nbsp/336bP966Wz/j+CI/6Tfov+ozKP/eYRz/2FWXv9bUlz/WFtb/56noP/j5+T/19fX/8rKyv/Ozs7/ + 3t7eTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYmL/ + fn19/5WYm/+prKv/f4F5/05OSv9ZWlz/YGhm/3ySfv9+nnr/YJJb/0WNPf8ogSD/EWMN/wI4Av8EQQr/ + CE0J/xJnEP8QcA7/E3UQ/xh7Ff8Zfxb/GYIV/xaBEf8Ufw3/GIAP/yCBFv8ighb/JoQY/yqFGf8vhxz/ + NIkf/zeJIP87iiL/QIsm/0WNKv9LkDD/UZM1/1aVPP9amUP/YJxM/2WgVP9po1//badq/3Wtef9+s4f/ + hLmQ/4bAn/+GxrT/k9DG/7nh2P/i8ub/6/Xn/+317f/v+PP/8Pn0//L69f/3+/b/+vr4//n8+//q/Pz/ + zPf5/4Di5/9Z2OX/WtTd/2jZ5/9j2eb/Vtbj/07V5P9F0eH/OcnY/zjF1P83wc7/N77I/za6xv8zt8D/ + KbK2/yCtq/8cqJ3/HqOI/zGjd/9br33/dbZ//3Wzdf9zsG3/b61l/2ipYP9fpVv/V6FT/1CdS/9JmUT/ + Q5Y+/z6UOv84kTX/M44x/y6LLP8tjCT/OqYy/zy0MP82uST/c/Fb/33yav+M6Ij/neKf/7Tcr/+Nmoj/ + YVhe/1tTW/9PUlH/jJSO/9nc2v/Z2Nj/zMzM/9HR0f/g4OBHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZmZv+AgID/mp6i/6epqf9ub2r/SklF/2BgYf9kbWj/ + fpp+/3Cbav9Wj0v/OoYy/yB5HP8DVAL/A0AD/w1SDP8MXg7/FXUX/xV7FP8WfhX/GYAX/xqCF/8Zgxb/ + F4IT/xaBD/8ZgRL/IIMW/yODF/8mhRj/KoYZ/y+HG/80iR7/OIoh/z2MJP9Bjij/Ro8s/0ySMv9SlDf/ + V5c+/1uaRf9hnU3/ZqFX/2qkYf9uqWz/dq57/3+0if+EupL/h8Cg/4XGs/+PzsX/r93V/+Hy6v/p9Or/ + 7Pbu//D48//x+fX/8vr2//f79//7+/r/+fv8/+r6/P/H8/H/jeTl/27e6P9r2eD/feHw/3Pg7/9Z1uH/ + RtHc/z7O2/85ydj/OcbV/zjD0P83vsr/N7zG/zS5wf8rtLn/JK+v/yKso/8sqpH/SK6G/2m1gv93tnv/ + drN0/3Owbf9urWb/Z6lg/1+mW/9YolT/Up9N/0qaRv9Elz//PZM5/zePM/8xjC7/L4ou/zSHNP8igB// + MKAn/0LBLf9f3ET/gfpu/4jshv+V4Zr/uOS0/5ytmf9hXl//WVRZ/0hLSf98g33/09bU/93c3f/Ozs7/ + 0tLS/+Hh4UYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + a2tr/4ODg/+doqb/n6Ki/2NhXv9KRUT/ZmVl/2h1af98nnn/YZdY/0eNOf8vgSf/GnMZ/wJNAv8FUgL/ + EWML/xBwE/8RfRf/FIIW/xWCF/8YhBj/GYQY/xmEFv8YgxT/GYMV/xyDFf8ggxf/I4QY/yaFGP8qhhr/ + Logb/zOJHv84iyH/PY0l/0KOKf9GkC3/TJMz/1OVOP9YmD//XJtG/2KeT/9nolj/aqVi/2+pbv93r3z/ + gLWK/4W6lP+HwKD/hcWx/4vNwf+j2dD/1vDr/+b17f/p9u//7/jz//L59f/z+vb/9vv3//v7+f/6+/v/ + 7fz8/8719P+p7vD/kOnw/4rk6v+T6vX/iej2/23d6v9Q1N//QtHe/zrL2v85x9b/OMTQ/zjAy/83vcf/ + NLrB/y62uv8nsrP/J66j/zStkf9MroD/aLJ5/3i1eP93s3P/cbBs/2ytZf9lqV//X6Za/1mkVf9SoE7/ + S5xH/0WYQf8+kzr/OJA1/zKNL/8wjDD/Noc6/yB2H/8fhxn/Nasl/1TMPv9/9m3/hOqB/5HilP+05rH/ + pr2j/2loZ/9YVVn/QUZE/210cP/Q0dD/5OHi/9DR0f/U1NT/4uLiQQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvb2//hoaG/5yipf+UmZn/X11a/01GR/9samn/ + a3xs/3Wfcv9VlEv/O4sr/yiAIv8TbhX/AlUC/w5kBf8Tbwz/DnsU/wmBFP8RhRX/EYQV/xSEFf8VhBX/ + F4UX/xmFF/8chhf/HoYY/yGFGf8khhr/KIcb/yuIHP8wih7/NIsg/zmMIv89jiX/Q5Aq/0iSL/9OlDX/ + VZc6/1qaQf9enEn/Y6BR/2mjW/9spmX/cKtw/3iwf/+Bto3/hbuW/4jAov+FxK//icu+/5fVzP+85+P/ + 3PXu/+f27//v+PP/8/r2//L79//1/Pf/+vz5//n7+f/y/f3/1vf1/8L09v+y8/f/p+/y/6Pv9v+V6fP/ + fuHs/13X4v9E0tz/OczY/zrJ1v85x9L/OcLM/zi/x/81vMP/MLi9/yu1tv8vsqj/PbGU/1azhf9wtn3/ + erV3/3izcv9xsGz/a61m/2WqYP9fp1r/WaRU/1KgTv9MnUj/R5tD/0CWPP86kjf/NZAz/zCNMP8wiTP/ + Koct/xl8Gf8chhX/Tbo8/3XjZf+G64L/kuST/67lrP+sx6n/dHZy/1dWWP8+REH/Y2pm/8rJyv/l4uT/ + 0tPT/9bW1v/k5OQ9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAHNzc/+IiIj/mKCj/4qQkP9fW1r/UUlK/3Fvbf9wgnH/bp5q/0yRQv8xiB//J4Mi/wlmDv8KYwr/ + GXMN/xh7Df8LgA//BIEP/w2DEf8OgxH/D4QR/xCEEv8WhRb/GYcX/x2JG/8fiBr/IYYZ/ySHGv8niBv/ + K4od/y+LHv80jCD/OI4i/z6QJ/9Dkiv/SJQw/06WNv9UmDv/WZpC/1ydSf9joVL/aKVc/2yoZv9xrHL/ + eLGA/4C3jf+Eu5f/icKm/4nGsf+Jy77/mNfW/5/c2f++6OX/5fjy//H59f/1+vf/8/z4//T99v/5/Pb/ + +/36//P9/P/i+/r/0/n4/8L18/+u8Ov/qPDx/6Lt8/+N5e//bd3n/0vW3/890dz/PMzZ/zrI0/84xM3/ + N8HI/zS+xP8wu77/Kri4/zG2qv9CtZr/WraJ/2+1e/94tHP/eLNw/3Kybf9rr2f/ZKtg/1+nWv9YpFX/ + UqJP/02fSf9HnET/Qpo//z2YO/84lTf/M5Iy/y+RK/8tji//HH0g/xd3Fv8zkij/Zs1Z/5T0jv+W6JX/ + q+Sp/7HQr/+BhH//V1dZ/ztCP/9ZX1v/w8DD/+Xi5P/V1dX/19fX/+Tk5D0AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0/4eHh/+boaX/hoyM/1pZWP9QSkv/ + b25r/3KFbv9pnGL/Qo84/y+GHf8jgR//BmUM/w9vEf8YeRL/FYAP/wmBDP8HgxD/DYMR/w2EEf8PhRL/ + EYQT/xWGF/8aiBn/HYoc/x+JG/8ghxn/I4gb/yaJHP8qix3/Lowe/zONIP84jyP/PZEn/0OSK/9IlDD/ + Tpc2/1SZO/9Zm0L/XZ5L/2OhU/9ppV3/bKho/3Gsc/94sYH/gLeO/4K7mP+IwaX/g8Op/47PxP+Y2t// + l9zh/6jh3f/d9fD/8fn0//X69//y/Pj/8/32//j99v/7/vn/9v77/+f7+P/c+fj/zPb2/7Xy7f+r8O// + qu/0/53p8/964On/T9fc/z3S2f89z9r/O8vT/zjHzv83w8n/NcDE/zC8v/8rubj/Lret/z+2nf9WtYv/ + bLR7/3ezcv93s3D/crFs/2qvZf9jq1//XadZ/1ilVP9Sok7/TJ9J/0edRP9Cm0D/P5o8/zmXOP8zljP/ + MZgp/yiOKf8ghSf/HHwh/x93Hv9StEv/nviY/5vrlv+r56j/tNWy/4aOhv9YWVr/PkNA/1dbWP+6uLv/ + 4N7h/9PT0//Z2dn36OjoMAAAAAD4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABzc3PMhISE/6iqrv+Gjo3/SFFO/0VISP9lZ2L/coNq/2KbWv80iiz/L4Qm/xhyE/8HbAn/ + BnUN/wd9Ef8HgBL/DIcW/xGLGf8Rhhj/EocY/xOIGf8UiBn/Foga/xiIGv8aiRr/HIob/x+LHP8ijB3/ + Jo0e/ymOH/8ujyD/MpAi/zeSJf89lCn/QpUt/0eXMv9NmTj/VJw9/1meRP9doE3/Y6RV/2ioX/9sq2n/ + ca91/3izgv+AuZD/gLyY/4PBov+Ixqv/ltTM/43Y3P+W4Ov/pePj/9bz7v/x+fP/9fr4//L8+P/y/ff/ + 9/32//z++P/5/vv/6/z4/+L6+v/T+Pv/ufXz/6vx8P+s7/P/qOv2/4jl7/9W297/QNTa/0DR3P89ztb/ + O8rQ/zrFy/82wsX/ML/A/yu8uv8subH/Obej/1G2j/9ntXz/c7Ry/3Wzb/9ws2z/aLBk/2GsXv9cqVr/ + VaZS/0+kTP9JoUb/RZ9C/0CdPv88mzr/Npg1/y+VL/8slSv/MZsz/ySOKf8bgSL/IH4l/yuHLf+P4Yz/ + qvOi/7HoqP+02bT/hJKI/1laWv9IREL/XFpX/7W2t//a293/zMzL/93d3Zj29vYF+Pj4Afj4+An4+PgA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHp6emaKior/qKis/4eNjP9IUU// + RUhI/2ZoY/9vg2n/YZpZ/zSLLf8mfR//FXEQ/wlwCv8KehH/C4QW/wuEFf8NiBb/EYsZ/xGIGP8SiBn/ + FIkZ/xWJGf8XiRr/GYka/xuKG/8dixz/IIwd/yONHf8mjh7/Ko8g/y6QIf8zkSL/N5Ml/z2UKf9Dli7/ + SJgy/06aOP9UnT7/WZ9E/1yhTf9jpVX/aKhf/2ysaf9xr3X/eLSC/4C5kP+AvJj/h8Om/4jGq/+U08v/ + jNjd/5De6P+c4OD/xu3l//H59f/3+vf/8/z4//P99//3/ff//P74//r++//u/ff/5vr6/9j5/f+99/f/ + q/Lx/6ru8f+o7PX/jujy/2Hf4/9F193/QNLe/z7P2P89y9H/OsfL/zbExf8xwb//Lb25/yq6s/80t6b/ + TLaR/2K0ff9ws3L/dLNu/2+yav9osGP/Yaxd/1ypWP9WplL/UKRL/0qhRv9Fn0L/QZ0//z2cO/83mTb/ + MZcy/zCYMf8slzD/J5Is/yePL/8fgCX/DGoN/12zW/+2/rH/s+uq/7nduf+OnJL/V1hX/z87OP9YV1T/ + wMLD/+Li5f/Nzc3/4eHhkuvr6wL4+PgB+Pj4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAhISEDY2NjvKnpan/iIyM/0pST/9GSEj/Zmhj/2yAZv9cmFb/M40v/xt3F/8QcQ7/ + C3UQ/w5/Fv8PiRr/DooZ/xCKGf8SjBr/EYoY/xKKGP8Tixn/FIsZ/xaLGf8YjBr/Gowb/xyNG/8fjhz/ + Io8d/yaPHf8pkR//LZIg/zKTIv83lSX/PZYp/0OYLP9HmTH/TZw3/1SePf9ZoEP/XKNL/2KmVP9mqF7/ + aqto/26vc/90s4D/fLiM/368lv+EwaP/hMOq/4bKvP+P19X/kN7e/5Lf2f+v6ef/4/f1//f58//4+/f/ + +f36//n9+v/5/fr/+f76//n++v/y/vn/5f35/9H69v+28/D/oe/u/5Tt8/+A6PH/Zd7i/0rW3P8/097/ + O9LY/zfNzv8zyMX/NMXB/zXCvf83wbr/Mb21/zW7rf9EuJf/U7N9/2Syb/9tsWb/bbBi/2euXf9hq1f/ + X6lU/1amTf9Nokb/R6FD/0OgQv8/nkD/Opw7/zabOf8ymTT/M5s0/yyWL/8mkiz/KZMv/ySIKv8GZQj/ + KYUp/6Txn/++9bb/ut+7/5Cflv9SUlL/Ojc1/1tbVv/Iycv/5OXn/9DQ0P/l5eWM7u7uAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjYyNmaShpP+Oj5D/ + T1VS/0RGRv9jZWH/aX5k/1iVU/8viy3/EXIQ/w5zD/8OfBT/EYYa/xGMHv8Rjxz/E44a/xOOGv8SjBr/ + E4wa/xSMG/8WjRv/F40b/xmOHP8bjhz/Ho8d/yCPHv8jkB7/JpEf/yqSIP8vkyH/M5Uj/ziWJ/89mCv/ + Q5ku/0ibM/9NnTj/VJ89/1mhRP9cpEz/YqdU/2apXf9pq2f/ba9y/3Szf/97uIv/fbyU/4LBof+Ew6r/ + hsq6/5DX0/+T393/k+Da/6vo5//b9PP/9vjz//f69//5/Pr/+fz6//j9+v/4/vr/+f75//X++P/p/ff/ + 2fr3/7308v+k8PD/jOvu/3Xk5/9k3t//VNje/0nV3v9E0tj/P87P/zrKx/86x8L/PcO//z7Bu/83vrf/ + Ob6w/0e6m/9UtYH/Xa9p/2auX/9nrFn/YKlS/1qnTf9Xpkr/UqNG/0uhQv9HoUH/RKBB/0CfQP88nj3/ + N5w5/zOaNf8znDT/Lpox/yWRKv8ikCr/K5Ix/xN7GP8Lbgz/cMRr/8f8vv+84b3/jZuR/0tLS/86NzX/ + ZmVh/8vMzv/g4OL/1dXV9evr62T19fUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACKiYozop2g/5mXmP9ZXVv/QUJD/1xgW/9mfGH/UpBO/yaFJP8KcQz/ + DnoT/xGEHP8Qix3/EI8d/xOQHf8UkRz/E5EZ/xKPG/8Tjxv/FJAc/xaQHP8XkBz/GZEd/xuRHf8dkh7/ + IJMe/yOTH/8mlCD/KpUh/y6XIv8ymCT/N5kn/z2aK/9DnC//R50z/02eOf9ToD7/WKNE/1ymS/9hqFL/ + Zqpb/2msZv9sr3H/c7J9/3q3if98vJP/gMCd/4TDqf+EyLX/jdTO/5Te3f+W4N3/qefm/9Ty8v/w+PT/ + 9Pr3//f7+f/5/Pn/+v35//n++f/5/vr/9/35//D9+f/g+vn/xvb2/6nx8/+N6+z/dOTl/2bg3/9g3OH/ + WNfe/0/T1/9K0NL/RszM/0XJx/9IxsX/SsTA/0HDu/9AwbL/Tb6e/1m4g/9WrWH/YaxY/2SrUv9dqUv/ + VqVE/1KlQv9Ooj//SaA9/0agPv9DoD7/QKA+/z2fPf83nTn/Mpo0/zGaMv8vmzL/KJcu/yWWLf8tmTb/ + Howl/wpzDf85jzX/uO6w/8Xqxf+MmZH/QUJC/zUyMP9wbmv/0NDS/9zd3//b29vi8/PzB/f39wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACknaLM + pKGh/2VnZf8/Pz//VVlU/2J6X/9MjEv/G30c/wp2D/8Sghn/FIwf/w2MHP8MjRr/EZEc/xWTHP8Vkhv/ + EpIc/xOSHP8Ukh3/FZMd/xeTHv8Zkx7/G5Qf/x2UH/8glSD/IpYg/yaXIf8pmCL/LZgk/zKaJf82myj/ + PZws/0KcMP9HnzT/TaA5/1OhPv9Xo0P/XKVK/2GpUv9lq1r/aK1k/2yvb/9zsnv/ereH/3y8kv9+wZv/ + hcSn/4XHs/+H0MX/ld3d/5jg3v+p5+j/0/T0/+j39v/v+fj/9Pv4//f9+P/5/fj/+v75//j++v/5/fn/ + 9/z6/+f7+//O9/n/sPHy/5Ps7f9+5+n/b+Lk/2ne4f9i2dv/V9TU/1DR0f9Oz9D/T83M/1PKx/9XyML/ + T8W6/03EsP9XwZ7/X7qD/1KrWP9bqk//YKpL/12oR/9WpkH/UqU+/06iPP9IoDr/RJ85/z+eOP8/nzr/ + PJ85/zedNv8ymjP/L5cw/y2bMf8tnzX/LqE3/y2bN/8ajSL/FYMa/x97Hf+Tyov/yu/K/4qYjv87PDz/ + Mi4s/318eP/Y2dr/29vd/97e3aj4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKyhp2atqav/bnBv/z0+PP9OU03/YHpf/0iLSP8SdBX/ + C3oT/xaLH/8XkiT/C4sb/wWIFf8PkBr/FpQc/xWTGv8Tkhv/FJIb/xWSHP8Wkxz/GJMd/xqUHf8clB7/ + HpUe/yCVH/8kliD/J5ch/yuYIv8umSL/Mpok/zebJ/88nSr/Qp4u/0efMv9LoDj/UqI9/1ajQv9bpUn/ + YKhP/2SsWP9orWL/a69t/3GyeP94toT/e72P/37Bmv+HxKf/isez/4XMv/+U2tj/oOPk/6fl5v/D7e// + 3PT0/+r5+P/z/Pn/+P35//v99//6/fj/+f36//v9+//5+/r/6vr6/9D2+P+08fL/m+3u/4jp6v955OT/ + c+Dh/3Dd3v9j2Nj/WtbV/1jT0v9b0M7/Ys/J/2XLwP9kyrn/X8Wq/2jCm/9it3f/VKlS/2GrTv9gqUf/ + WqZA/1OkOv9MojT/R580/0WfNf9BnjT/P581/z2fNv83nTP/Mpwx/y+aL/8uly3/MaAz/zCiNv8qnjP/ + K5w1/xyTJf8flCX/GngY/2+jZv/I7Mj/fIqB/zU3Nv84NTP/kZCM/+Di4//W1tj/3NzcbQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + rqKnDbKtr/J3eXj/PDk8/01PTf9bdFv/Q4dF/wtxD/8Mghf/FpAj/xaTJP8LjRv/B4oW/w2RGf8VlB3/ + FJMc/xSUHP8UlBz/FpQd/xeUHf8YlR7/GpUe/xyWH/8elh//IZcg/ySYIf8nmCH/Kpkj/y6aI/8ymyX/ + Npwn/zydKv9Cny//RqAz/0qhOP9Rozz/VqRB/1qmRf9gqE3/Y6tW/2euYP9qsWr/cLN2/3e2gf95u4z/ + fcCX/4jEpP+Lx7H/h8u8/5LX0/+k4ub/qubp/7Tp6P/O8fD/5Pn3/+769v/3/Pb/+v32//r9+P/4/Pr/ + +fz6//n7+//r+/v/0vb3/7Tw7v+d6+n/kOnp/4jn6P+J5uj/guLj/3Hb2v9n19X/Z9XR/3PV0f9zz8L/ + fc++/3nMr/9rxJf/e8SV/2W0a/9aq07/X6pI/1yoQv9Vpjz/UKQ2/0uiMf9GoDD/Q58x/0CfM/9AnzT/ + PJ40/zWcL/8wmi3/LZkr/y+bLv81pDb/L6I1/yOZLf8tnzj/JJsv/ySaLv8ZfRv/UZBL/7Xctf9wfHL/ + MS8w/0Q/P/+qqab/4+Tk/9XV1tjk5OQ6+/v7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsrKxmY6Lj/9DN0P/U0tT/01gTf85gjz/ + Cn8R/w2RHP8Pkx3/D5Md/xCUHv8RlR//EZUf/xKVIP8Tlh//E5ge/xSYHv8VmB7/Fpgf/xeZH/8ZmSD/ + G5kg/x2aIf8gmiL/I5si/yacI/8pnST/LZ4l/zGfJv81oCj/OqAq/0GiLv9GozP/SaI3/0+jO/9UpUD/ + WKdF/16pTP9hqlP/ZK1d/2mxZ/9utHP/dbd+/3e7iP97v5X/hcKh/4vGr/+Jy7v/hdDF/5re3f+r5ur/ + quTh/7rq5f/a9vT/7/v2//T78f/5/PT/+v34//f8+v/4/Pv/9vz7/+r6+v/U9vf/u/Hw/6ft7P+Z6en/ + j+Xk/5Lk4/+W5OX/i+Dh/3va1v921M3/etDB/2zBn/+FyKf/ecWT/2O8df9qum//X69W/12sSv9cq0T/ + V6o+/0+oOf9KpjP/SKUv/0KiLf8+oS7/PaEx/z6hMv89oTX/N58x/zOdL/8wnC3/MKEy/zGhNP8xojf/ + MKI6/zSkQf8kmTP/I5g1/xWJI/8vkDX/hreG/25xaP8xIyv/UkhO/8jHxf/c3tv/2NnYafT09AH4+PgG + +Pj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAC0tbMzramu/1NHU/9FPkX/SV5J/yx4Mf8Uihz/D5Qc/w+VHP8PlBz/EJUd/xGVHv8RlR7/ + E5Yf/xSXH/8TmB7/FJge/xWYH/8WmB//GJkf/xqZIP8cmiH/Hpoh/yCbIv8jmyL/JZwj/ymdJP8sniX/ + MJ8m/zSgKP85oSz/PaEu/0KiMf9HpDb/TaU6/1KmP/9Wp0X/XKlL/2CrUv9jrVv/Z7Bl/22zcP91t3z/ + druG/3q/kf+Ewp7/icWs/4bItv+BzL7/jtfP/6Lh4f+l4+H/r+fi/87x7//q+vX/9vv0//n89P/5/Pf/ + 9vz6//X8+//y+/r/5/r6/9P29//A8fL/sO3v/6Pp6v+a5eX/nOTh/53j4P+V4N3/i9vV/4bVyP9nwZr/ + X7Z+/2S1c/9htGb/YLNd/1uuU/9hrk//YKxI/1urQ/9Wqj7/Tag5/0mmM/9IpjD/QaMu/z2iLf85nyz/ + OJ8t/zqgMf84oDH/Mp4v/zCdLP8xoTP/MqI1/zKkOP8zpDz/N6VD/yecNv8nmjf/HZAr/ymNMP9bkFz/ + UVdM/ygbIf9qYmb/3t3b/9bY1f/c3dte+fj5Afj4+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+ur7SbWNu/zczN/9EX0f/ + IHMn/xOPHP8QlR3/D5Yd/xCWHf8Qlx7/EZce/xOXH/8TmCD/E5gg/xKZH/8TmR//FJkf/xWZIP8XmiD/ + GJoh/xqaIf8cmyL/Hpsj/yGcI/8knST/Jp4l/yqeJv8unyf/MqAp/zehK/87oi7/QKQx/0WlNf9Lpjj/ + T6g+/1OpRP9Yq0r/XaxR/2GuWf9osWP/brNr/3W3df92uoD/d7yL/37Alv+ExaT/hciw/4fLuv+L0cb/ + ktbQ/5Ta2v+j4eT/wevu/+L29f/0+/b/+Pz0//j89//0+/j/1/Lt/9Ly8//Q8fL/yPD1/8Xu9v+46/H/ + r+fq/6nm5v+g49//nOHa/5rf1P+W2cb/ic+u/2q8g/9puHf/Z7Zu/2i0Zf9ns1z/Y7BV/1+vTv9brUf/ + V6tC/1KqPf9NqDj/SaY0/0WlMP9Aoy7/PaEs/zmgLf83oC3/N6Au/zegMP80oDD/MaAx/zOjN/8zozj/ + NKU7/zSmPf85p0b/LKA8/yuePP8mmTT/JIwr/zlyPP84QzX/KiEm/46Gi//u7u3/2drXpgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAALq4vXmRiZP/NDQ2/zpaPv8ccyP/CowU/w+XHf8QmB7/EZkf/xGZH/8SmR// + E5kg/xSaIP8UmiD/E5sh/xSbIf8VmyH/Fpsi/xebIv8ZnCL/G5wj/xydI/8fnST/IZ4l/ySeJf8nnyb/ + KqAn/y6hKP8yoir/NqIs/zqkLv8+pDH/RKY1/0qoOP9Nqj3/UatE/1atSv9br1D/YLFY/2WzYf9rtWn/ + c7hz/3S6ff91vYj/fL+T/4HEn/+Ex6v/h8q2/4vPw/+R1M//k9jZ/5vd3v+15uX/zuzo//D59f/2+/b/ + 9vz4//H69//I7OH/tebf/6rg2P+s4d7/verv/6Te2/+Y29H/nN/V/5bbzf+D0bf/dMmj/3PEmP9vwIr/ + cbyA/3G6d/9vt3D/arRj/2eyWv9isFP/Xa9N/1qtR/9Wq0L/Uak8/0yoOP9IpzT/RKYx/z+kLv88oy3/ + OaIu/zehLv82ojD/NqMy/zajNP80ozT/N6U7/zenPf84qT//OKhD/z6rS/8ypEH/M6NC/yuhOf8kkiz/ + L200/yg3Jv9BOz3/tbC0/+7v7uLa3dsPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrW6ILm2vv5CSEb/ + Jkwr/xp5I/8GkBL/D5ke/xGaIP8QmR//EZsg/xKbIP8TmyD/FJwh/xScIv8TniL/E54i/xSeIv8WniP/ + F54j/xifI/8anyT/HJ8k/x6gJf8goCX/I6Em/yaiJ/8poij/LKMo/zCkKv81pS3/OaYv/z2mMf9CqDX/ + SKk4/0yqPf9QrET/Va5J/1mwUP9dslf/Y7Rf/2i2af9vuXH/cbt6/3O+hf95wI//f8Sb/4LGpv+FyrH/ + is6//5DTyv+T19P/mNrX/6zh3f++5t3/5PXy//D69f/y+vb/8fr2/9Dw6f+56ef/sOTg/6Te2P+f3NP/ + mdnO/5PYyP+K1L3/htCz/4XNrP+ByaP/esSU/3a/iP94voD/cLhx/2+3bP9qtWH/ZrNZ/2CxU/9cr03/ + Wa9H/1WtQf9Qqzz/Sqs3/0epNP9DqDH/PqQu/zqjLf83pC//OKQx/zelMv82pzT/NqY3/zWmOP86pz7/ + PKhB/z2rRf8+rEj/RLBR/zqqSP87qUn/Mag//yeeMv8uczT/HjEf/2lnZ//d2dz95+roQQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy8rQxmZsa/8fSCb/Fnsi/wuZGf8Qmx7/EZse/xGcH/8SnB// + E5wf/xSeIf8UnSD/FJ0h/xKeI/8SniP/E54j/xSeJP8WniT/F58l/xmfJf8boCX/HaAm/x+gJ/8ioSf/ + JaIo/yejKf8royr/L6Qs/zKlLf82pi//Oqcx/z+oNf9FqTj/Sas9/06sQv9Tr0j/V7FP/1uyVf9gtV3/ + Zrdm/2y6b/9vvHj/cb6C/3nCjP9+xZj/gcej/4TKrv+Jzbv/kNHH/5XW0P+c2tb/q+Db/7rm4P/S7+v/ + 5/f0//H79v/z+/f/1PPu/7rr6v+w5uL/quLc/6Le1v+e29D/ldjH/4zTvP+N0bT/h8ym/4DHnP97xJH/ + dMCD/3O+e/9vu3D/bLlq/2e2YP9ktVn/X7NT/1uxTf9XsEf/U65B/06sPP9Iqzj/RKk1/0CoMf87pC// + OKQt/zilMf82pTL/N6c0/zeoNv83qTn/N6k7/zypQv8/q0X/QK1J/0OwTf9KslX/QK5O/0KtUP81rUT/ + Kqc4/yt3Mv8nQCr/lZaV//Du8IwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJyc9s + laGd/yxZNP8Teh//D6Ie/xCcH/8QnB//EZ0g/xGdIP8SnSD/E54h/xSeIf8UniL/E58l/xSgJf8UoCX/ + FqAl/xegJv8YoCb/GqEn/xuhJ/8doif/IKIo/yKjKf8loyn/KKQq/yulK/8vpiz/MaYu/zSnMP84qDP/ + Pak2/0KqOf9HrD3/TK1B/1GvR/9VsU3/WbJT/120Wv9jt2L/arlp/2u8cv9wv37/dsKI/3vFlP9+xp3/ + gcio/4bMtP+N0MD/k9XJ/5rZ0P+m3tj/s+Tf/7/o4f/i9vP/6/n0//H79f/T8uz/uezr/7Do5P+m49z/ + oN7U/5razP+S1sL/idK3/4bPrP+Dy6L/fMeX/3bDjP9ywIL/b714/2u7b/9luGf/ZLZf/2K1V/9eslH/ + WbFL/1WwRv9RrkD/Ta08/0irOP9DqjX/P6gy/zqkL/83pC3/NaUx/zanM/83qDX/N6o3/zirO/83rD3/ + P6pF/0CsSP9Cr0v/RrJQ/020WP9DsVH/Rq9U/ziwSP8qrDj/LHo1/0xnUP+/wsDR9/b3BwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/xRa7w8H7SnhS/w5+HP8OoR//EqAh/xKfIf8SoCH/ + EqAh/xOhIv8ToCH/FKEi/xShI/8ToCX/FKAl/xWhJf8WoSX/F6Em/xihJv8aoib/G6En/x2iJ/8foij/ + IqMo/ySjKP8npSn/KqYq/y2nK/8wpy3/NKcv/zipMf88qTT/Qas3/0WsOv9LrUD/UK9F/1SyS/9YtFH/ + XbVY/2K4YP9oumf/a7xw/26/e/90wYT/ecWO/3vHmP9+yaP/hMyu/4zPuv+S08L/mNjK/6Hc1P+p4t3/ + sOTc/8/w6//n+fP/7vrw/9f07f+67Or/sOjh/6bj1/+e3s//l9rH/4/Wvf+G0rH/g86o/3/Lnv93xpP/ + csOI/2/Afv9svnT/aLtr/2O5Y/9itlv/YbRV/1yzT/9XsUr/VLBE/1CvP/9MrTr/R6w3/0OqNP8+qTH/ + OKYu/zamLf80pjD/N6gz/zapN/85rDv/Oq0+/zqtQP9Cq0b/QqxI/0ayT/9KtVb/ULZc/0m1WP9Ptlz/ + PrFN/yqrOv8uhDj/dpZ6/9/k4WoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAMnEyLhtmHL/CIoX/wqeHP8VpSf/FaUn/xSkJv8ToyX/E6Ml/xOiJP8SoSP/E6Ek/xSiJP8VoiT/ + FaMk/xajJP8XoyX/GKMl/xqkJf8boyX/HKMl/x6kJv8hpCb/I6Un/yamKP8ppir/LKcr/zCoLf8zqS7/ + Nqox/zurM/9ArTf/Ra06/0muPv9OsEP/U7JK/1e0T/9btlb/YLle/2a7Zf9ovW3/a792/3HCf/91xYr/ + d8eT/3rJnf+AzKr/h860/47Suv+T1sL/mtrO/5/f2f+p493/uOjd/9v07P/t+e7/2PPq/73s6P+y6N7/ + peLT/53ey/+W28H/jde3/4PTrP+Az6L/fcuZ/3bGjv9yw4P/b795/229b/9qu2f/ZLhf/2K2WP9ftVL/ + WrNN/1WyR/9SsUH/Tq88/0quOP9FrTb/QKwy/zuqL/81qiz/NKsu/zWsL/83rDT/O6w6/z2tP/9ArUL/ + Qq1F/0mwRf9FrEf/TbVX/1G3YP9Wt2j/WL1q/2bGc/9Nr1n/NaVC/ymUNP+Pv5T/8/DyQAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8DCX2yYcf8IiRb/C58d/xOjJf8ToyX/ + E6Ml/xOjJf8SoyX/EqEj/xKhI/8ToST/FKIl/xSiJf8VoyX/FqMl/xejJf8Yoyb/GqMm/xqkJv8coyb/ + HaQm/yClJ/8ipij/JaYq/yioK/8qqCz/Lqkt/zGqL/81qzH/Oaw0/z2tNv9Crjr/R689/0ywQv9Qskf/ + U7RO/1e2Vf9cuVz/Y7xk/2a+bP9pwHT/cMN9/3TFh/93yZD/ecua/37Npf+F0K//i9K3/5DVvf+W2cn/ + mt3T/6Ti2f+x5tv/yO7g/+X37P/T8uj/vOvl/7Dm2/+m4s//nd/H/5jcv/+P2rX/hder/4HSof9/zpb/ + eMmM/3PFf/9wwnX/b79t/2u6Y/9muFv/YrdV/121T/9YtEr/U7JE/1CxP/9NsDv/SK44/0StNP8/rDH/ + Oqsv/zSrLf8zqy3/M6ww/zesNv87rTv/Pq5B/0KuRf9Er0f/S7NK/0evS/9QtVj/UrVh/1m4av9gwXD/ + bst6/1KyXf83p0X/LZc5/5C/lP/08fIVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAADEwcMOapdw9giKFv8Knx3/EaEj/xGhI/8RoSP/EaEj/xGhI/8SoSP/EqIk/xOiJP8Toyb/ + E6Mm/xSkJv8VpCb/FqQn/xekJ/8YpCf/GaUn/xqkJ/8cpSj/HqYp/yGmKv8kpyv/J6gt/yqpLf8tqS// + MKow/zSrMv84rTT/Pa42/0GvOf9GsD3/SrFB/02zRf9QtEr/VLZP/1i5Vf9evFz/Yb1k/2bBbf9sxHb/ + ccd//3TJif97zZb/fs+f/4LQp/+J07D/jtW3/5TYvv+Z28b/nd7M/6bj1f+u5tv/vu3m/7fr5P+q5uD/ + o+PV/5/fyv+a3cH/l9u5/5HZsf+J16n/htOg/4XRlf99zov/dciA/2/Fdf9qwGv/ZL1i/1+5W/9dt1P/ + W7VN/1azSP9SskP/TbA//0mwO/9Grzj/Qq43/z6tNP85rDL/Nasv/zOsL/81rDT/Oa07/z2uQf9BsEX/ + RLBI/0izTf9PuFH/TLRS/1K2XP9VtGH/YLtt/2rHeP910IL/VbZh/zmpRv8xmj7/kL+U/wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhmGmsCo4b/waaGf8QoCL/ + EaAj/xGhI/8SoiT/E6Ml/xOjJf8VpCb/FaQm/xSlKP8UpSj/FaUo/xamKP8Wpij/F6Yp/xmmKf8ZpSj/ + G6Yp/xymKf8epyr/IKgr/yOpLP8mqi3/Kasu/yyrL/8vrDD/M60x/zeuMv88rjT/QK83/0SwOv9IsT7/ + S7ND/061R/9RtUz/VbhS/1u6WP9fvWD/Yr9p/2nDcv9vxnz/ccmF/3jNkf97z5r/f9Gi/4XTq/+I1bH/ + j9a4/5PZv/+W3MT/neDN/53h0P+i5Nb/nOPU/5ji0/+W4Mv/k93A/5Hbt/+Q2bD/jNio/4fWov+G1Jr/ + hdKT/37Oiv93y4D/ccV1/2rCav9jvWH/Xbpa/1u3Uv9ZtUz/VLNH/0+yQv9LsD7/R686/0OvOP9Arjb/ + PK40/zmtMv80rTH/Na0z/zmuOf8+sED/QbFG/0SyS/9ItU//TblT/1C8V/9RuFn/WLdi/1y1Zv9qv3X/ + edCE/4HXjP9auGX/O6pK/zefQ/+Ww5v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAFyfZWIQlCH/A5cV/xChIv8SoiT/EqIk/xSkJv8VpSf/FqYo/xinKf8Xpyn/ + FKcp/xSnKP8Upyn/Fagp/xaoKf8XqCn/GKgq/xmoKf8aqCn/HKgq/x6oK/8gqSv/Iqos/yaqLf8oqi7/ + K6sv/y2sMP8xrTH/NK0z/zmvNf89rzf/QbA6/0SyPf9Is0D/S7VF/062Sv9SuFD/WLxW/1y+Xf9hwmf/ + acZw/2/Jef9zy4L/eM2N/3zPlP9/0Zv/gtOk/4HTqf+H1a//i9e1/4zZuf+S3cL/kt7D/5Lfxv+I3sD/ + h93B/4vdv/+K27X/i9mt/4zYp/+J1qD/hNSZ/4LTk/+B0Y3/e82E/3PJev9sxXD/ZsFn/1+9X/9ZuVf/ + V7dQ/1a2Sv9StEb/TbJC/0ixPv9EsTv/QrA5/z6wN/88sDX/OK81/zeuNf86sDr/PrJC/0S0Sf9HtU3/ + SbZR/0y4VP9QvVn/U79e/1a7Yf9fu2j/Z7pt/3jFgP+K3JP/jN2V/164av87q0z/PaVL/57NpegAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbLB1KBGVIv8Elxb/ + E6Ml/xSkJv8VpSf/F6cp/xmpK/8aqiz/Hast/xurLf8UqCn/Fagp/xWoKv8WqCr/F6kq/xepKv8ZqSv/ + Gakr/xqpKv8cqSv/Hakr/x+qLP8iqi3/JKst/yasLv8prC//LKwv/y+uMf8yrjP/NrA1/zmwN/88sTj/ + QLM8/0W1P/9Jt0P/TblI/1O9Tv9awVf/YcRe/2fHaP9vy3L/dM17/3fNgf96zon/fdCQ/3/Slf9/1Jz/ + fdWh/4HWqP+G167/htmx/4zcuv+M3b3/i929/3zbtf973LX/g921/4Tbrv+F2ab/iNih/4fVmv+B05P/ + f9KN/3zPh/90zH7/bch0/2fEa/9iwWL/Xr1c/1i6Vf9WuE//U7dK/061Rv9KtUL/RrQ+/0O0PP9Asjr/ + PLE3/zuwN/86sDj/PLE8/0GzRP9FtUr/SLZN/0q3Uf9NulX/T7tY/1G+XP9RwGD/Wr9m/2fBb/9xv3b/ + hs2M/5fin/+S4Jz/X7dr/zqpS/9AqU//qNmx2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAB9v4UBEJId7AmbG/8VpSf/FqYo/xinKf8aqiv/G6wt/x2uL/8gsDH/ + Hq8x/xKpKf8UqSv/FKkr/xWpK/8Wqiz/F6ss/xirLP8Zqiz/Gaks/xqqLP8cqy3/Hast/yCsLv8irC7/ + JKwv/yatMP8prjH/La4y/zCvM/8zsDT/N7E2/zqxN/8+sjr/QrU9/0e3Qf9PvEn/V8BR/1/GWP9jyV7/ + Z81m/23Pbv91z3f/eNB+/3rPhP950oj/etWL/3jXkf9315f/e9ic/37Zov+B2af/hNut/4fds/+I3bb/ + ft2y/37etf9+3a3/f9qm/4DYnf+B1pf/gNWQ/33Tiv960oX/ds9//3HMd/9syHD/Z8Zn/2LCX/9cv1j/ + Vr1S/1O8Tf9Qu0j/S7pE/0e7QP9EuT7/Qbc7/z+0Of87sjf/OrE4/zuxPP8/skP/RLVJ/0i3Tv9KuVL/ + TLtW/068WP9PvVv/Tr5d/06/YP9bwWr/b8V2/3rFfv+R15X/ouqn/5fhoP9etWz/OadK/0KrU/+w47nH + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjRiz + DKMg/xaoKP8Xqiv/Gqwu/xyrMP8irTX/JK83/ya0OP8hsTT/Fqou/xeqLv8Xqi7/F6st/xarLP8Xqyz/ + F6ss/xirLP8Zqyz/Gqss/xusLf8drC3/IKwu/yKsLv8krS//Jq0v/ymtMP8srjD/Lq4y/zKvM/80sDP/ + OLE1/zyzOP9BtTz/RrhB/02+SP9WxE//XclW/1/NW/9hzl7/ZtBl/27RcP900Xj/ddJ8/3TTfv9z1X// + cdeD/3DYiP9z2Y3/d9qU/3nbmf983J//gd2m/4DcqP973Kn/geCx/3rbpP942Zr/eNiS/3rWjv951on/ + d9SF/3XSf/9z0Xn/bs9z/2nMbP9ly2T/Ysle/13GV/9Xw1H/UsFL/0zARv9JvkP/Rb5A/0K8Pf9AuTv/ + PrU5/zuyOv87sTv/PrNA/0C0Rf9Ctkr/RbhN/0i5Uf9Ku1X/Trxa/1G+Xf9Rvl//UL5j/17Ebf9yyHv/ + hMqI/53WoP+s67H/leGf/1e1Zv81pkj/SaxZ/7zsxKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSLI3oKqh//D6oj/xGxKf8ZtjX/HKc3/zOrS/82qkv/ + M7hH/yi1Of8nrzz/JK87/yGvN/8drjP/Gq0v/xeuLP8Vrir/Fa4o/xatKP8XrSn/GK0r/xuuK/8drSz/ + IK0t/yKtLf8krS7/J64v/yquMP8srjD/L64x/zKuMv80rzT/OLA2/z60Ov9EukD/TL9G/1PGTP9Zy1H/ + WcxV/1bLVv9azFn/YMxg/2XNav9pzm//adBy/2fRc/9p0nb/a9R8/2/Wgv9z2Yr/ddmO/3bZkv952Zn/ + edib/3PXnP9926j/cteZ/3HVkP9v1In/cdWF/3DVgf9u1H7/b9R5/27Tc/9p0W3/ZM5n/2DMYf9dylv/ + WchV/1XFUP9QxEr/ScBD/0a9Qf9Cvj7/P7s8/z63PP87sjv/OrA6/zmwPP85sT//OrJB/zuzRf9Atkn/ + RbhP/0q7VP9TvVz/WMBi/1u/Zf9jvm7/Z8tz/3bRgv+X0Z//s8+3/7vkwv+J3Zf/QbtV/y6lRP9jq3H8 + 4PznRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Lpw9QAicGv8OqCP/Da4m/xKxLP8frjn/PrhW/z+yU/85uU3/M7xF/zG1Rf8ttUP/KrQ//ya0O/8gszf/ + HrIz/xyyMf8asS7/F64s/xitLP8ariv/G64s/x2tLP8frS3/Iq4t/ySuLv8mri//Kasw/yqmMv8roDT/ + K5o1/y2YNv8xmzn/OKU9/z+xQf9GvUX/TsZJ/1LGTf9Pwk7/SrlO/0ixTv9HrVP/TKxY/1CuXv9Tr2L/ + VLBj/1WzZ/9aumz/YcV0/2nPe/9p0X//aMuD/2bBhP9iuYT/WbWD/2e6kv9euob/YsCD/2XJfv9o0Xv/ + adR6/2fVdv9n1HP/Zs9t/17HZv9Wvl//ULVZ/0yvVP9JrlD/SbBN/0a0Rv9DuEH/QLs//z+7Pv88tT3/ + OKk9/zSfPf8xmj3/L5g9/y2ZPf8unT7/MKU//ziuQ/8/tk3/SbpV/1O/Xf9awWT/XsFo/2XAb/9szHf/ + ftSJ/53UpP+628D/uunD/4LZj/9AtVH/NaFG/4C8ie7a++EqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOsVwKC4sY+g+kI/8MrCP/C68m/x+0Of9Ix1// + S79f/0bBV/9CxFX/O71P/zq8Tf80u0r/L7pE/yu4P/8mtzr/JLc4/x+zNP8bsS//HbEw/x2xL/8dsC// + HbAv/x+wMP8hsDD/I68x/ySqMv8knzT/Io42/yB8N/8dbzj/H2o6/yJwPf8nfT//L5A//zimQf9DuUT/ + SL1H/0OvSP85lUj/MX5I/y5ySf8ucUv/MXFN/zNyUP8zc1D/N3lV/0CJW/9Po2T/XL1u/2HEc/9ctnP/ + T5pu/0OEaf86d2f/O3ls/zqEav9Dmmz/VbVx/2PJcv9p03H/ZdJu/2DMaf9Xu2H/S6Va/z6PVP81fk// + L3RM/y5ySv8vekj/M4lF/zicQP87rD7/OrM9/zaoPv8tkT//JntA/yJtQf8gaUH/IW5C/yN7Qf8okT// + MqZD/z62Tf9Jvlf/VMFf/13EZ/9gxWv/Z8Nz/3PNf/+J15X/pNqt/8Lryf+177//d9KF/0CwUP9DolH/ + oNSo2eD75wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQgR3KD50h/w+vJv8IsCL/GLY0/0jMYf9c0G//WMtp/0/JYv9Fwlj/QsFX/z7AUv84vk7/ + M7tI/y+5Q/8sukD/Jrc8/yK2Nv8jtTX/IbQ0/yG0M/8htDP/IbQy/yKzMv8jsDH/IqIy/x6INv8WZjj/ + DlxV/wpyh/8JgJ3/CoKe/w9zgP8ZYE3/JXZA/zKYQf86p0T/NZRE/xyJhP8OhKH/DYGh/w6Bov8OgaL/ + DoGj/w+Co/8PgqT/FIyn/zZ9Xv9Mp2L/Vbdo/0yhZv8klaH/FIiq/xCCqf8Pgqn/Eoir/yCVof9IoWb/ + W8Fp/2HPaf9by2X/Ubde/0CTVv8tak7/HV9j/xF0jv8NgaL/DYCh/w91j/8ZYF3/JWtA/y6MPv8xnzz/ + Lpg9/xyJav8Nip//CoCg/wqAoP8KgaH/Do2h/x+JYv8xoEb/QLdQ/0zBWv9XxWP/YMhr/2PKb/9syXn/ + gNCK/5vao/+v4Lf/xvfO/6rvtf9qynj/RKxU/16qaf++6cWvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGEL5ERmSP/ErMq/wa2Iv8Ptyv/ + PspX/2refv9s133/Xsxu/1HJZP9Ox2L/ScZd/0TDWP8/wVL/OL1N/zW7Sf8vvEb/LL1A/yu9Pv8ouzz/ + J7o6/yW5OP8kuTX/I7kz/yO0NP8emjP/FW42/wWawv8Avv3/Aqzj/weDov8JgZ//A6fb/wG59v8NfZT/ + IWlA/y2LQP8qgED/GlJG/wG7+P8Avv3/BKrf/wyBof8NgaH/DYGi/wqPuP8Bufb/JWhe/0CXV/9Msl7/ + Q51c/ytkVP8ReZr/AL79/wC+/f8Pe57/ImJP/0GeXP9Uwl//Wcxf/069W/89l1P/JmNU/wmVwf8Avv3/ + AL79/wC+/f8Avv3/AL79/wC+/f8Ki6z/HmM+/yeIO/8ojjv/HW09/xBPVP8Avv3/AL79/wSl2f8YS0X/ + Jn5H/zWmSv9FvVX/UMVf/1vKaP9kzW//aM90/3TSgf+Q1pn/rd+0/7zpw/+++sj/lOih/1zCav9QsF7/ + h7+N/9f3220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAASqFWVhmdKv8TtCn/B7si/wi3Jf8vwEn/beGB/3vfiv9s0Xv/X9Jx/1zRb/9Xzmr/ + UMpk/0nIXf9DxVf/QMNU/zzDUP82xEr/NMNH/zDDRP8swUD/KL88/ya+Of8jvjf/I7o1/xWRL/8SXzj/ + Aqnf/waCov8NRTr/FVk9/xhWQP8SRED/B460/wC+/f8Oc4b/IWo+/yNvP/8YSUD/Abj0/wC+/f8JlcH/ + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6rQKwFsRX/BLsS/xXBKP8iuTb/Ssxe/5X4pv+e4K3/ + ld+h/5DlnP+L5Zv/gd+W/3rbiv9z2Hn/addz/2PYdv9g13L/WdVt/1LUZv9K01//RdBZ/0PQVv89ylH/ + NbdL/yqTSP8ZXUT/CnqX/wKv5v8Avv3/AL79/wC+/f8Avv3/AL79/wiHpv8YZzv/HG86/xJKPP8BuPT/ + AL79/wOp3v8JgJ7/CoCe/weRuf8Gns3/IWo+/zOfPf8/wj//QslB/zuzQ/8qf0P/EWV2/wC+/f8Avv3/ + EGV1/yh+P/84sj//QchA/zy8QP8qj0H/F09B/wC+/f8Avv3/CIOj/xtpPf8qpTn/McM3/yy5Nv8gjjn/ + ElI8/wG49P8MYF7/FHU2/xN8Nf8OTjv/Abj0/wC+/f8IlcL/Emh//w2CpP8SeZT/JWJi/z58YP9ep3X/ + e8uK/5Demv+z57n/yfPO/8Pzyv+S25v/Y8hw/1K1X/94wYD81PvZSgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + acJ2KBWaH/sAugn/CMgY/yO+Nv8jsjb/cu6K/7bqyf+p6az/neaa/5vkpf+X4bH/idyg/37hgf955Hv/ + ct6E/27dfv9p2nn/Ydlz/1rXbP9V1mb/UNZj/0nOXP89slT/Kn9O/w2Anf8Avv3/AL79/wC+/f8Avv3/ + A6nf/wWXwv8Lb4X/F10//x+DOf8efTj/Ek07/wG49P8Avv3/A6ne/wiAnf8JgJ3/CIqu/wWezf8faDz/ + L5w6/zq8Ov88wjr/N689/yh9P/8QZXX/AL79/wC+/f8PZXT/J309/zavPP87wzz/NrU9/yeJPf8WTT// + AL79/wC+/f8IgJ3/Gmo6/yilN/8uxDX/Kroz/x6QNv8RUzv/Abj0/wxgXf8TdTX/Ens1/w1PO/8BuPT/ + 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 + vOvB/7nwvf+s7LT/qeuy/6Tprf+b6Kf/lOae/4zkmP+J5JX/fd6K/2rHfP9PmGz/J2ty/wO07/8DtO// + E2mB/xlGS/8WT1n/DXqZ/wG7+P8TaGv/HXFA/xdnPv8NQz3/ALv4/wC+/f8Cmcb/CEI7/wdBOv8HQTn/ + BHSM/wKPtv8FQDj/A4Kg/wN0i/8FPzj/BT83/wRjcv8Avv3/AL79/wJhbv8EPzf/BD82/wNyh/8Cgp// + BEA2/wRJRv8Avv3/AL79/wKNsv8FTzb/CYgt/wuoKP8Lnin/CG8w/wRCOP8AvPv/A2Fs/wVLN/8HUDj/ + CUI8/wC7+P8Avv3/CJfF/x1GUP8dUmT/C5fF/wC+/f8Avv3/LHua/3Kbjf+bz6n/iNuT/2LLcP9SwWD/ + d8OB/NH32EYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIHPf38bnhr/ + Cb0b/w+8Jv8GwRr/CLEN/1LOUf+09b3/3Pfr/9Dl3P/I78n/wvbC/7jwwv+28b7/sO60/6jrq/+g6qT/ + meih/5Toof+K5Jb/fdeI/2m8ff9KjGv/K2pv/w6UwP8FsOr/AL79/wC+/f8Ct/T/CKHS/x9xY/8mekf/ + F31s/weOs/8Avv3/AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/Ap3L/wVAN/8CjbL/AL79/wC+/f8Avv3/ + AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/AL79/wKNsv8DX2j/AZC2/wC+/f8Avv3/AbDo/wOFmv8Igjj/ + Cp0o/wqVKf8FgmP/ApC2/wC+/f8BoM7/BGNp/wZhZf8EjbH/AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/ + CK3m/yKDqf9XfXn/gLSV/4/Qm/9qynX/U75g/1u8Z/+28r+j3/7kBgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0+nTDIPDiOcdoyr/BacR/xiyJP8Ixw//B7wQ/0rKYP/G88n/ + +v3x/+H55P/G7db/xe7S/8j0zf/B77r/tuip/7DoqP+r6a3/oeaw/5nipf+T3pv/h9GU/3O5h/9Zl3X/ + Q3hn/zViXv8vWVr/KldW/yxeVf80dFj/OYxX/zaTU/8rgUv/H2VG/xhRRP8UTkL/E05B/xJOQP8PTj3/ + DU87/wtUOP8JXjX/CmYz/wtcNf8KUzb/CE02/wdMNf8GSjX/BEkz/wJJMv8DSjP/BUs1/wZLNv8GTTb/ + B1A1/wdTNf8HUDX/B001/wZMNf8HUjT/CGou/weKJv8InSL/B5kk/wd+Kf8GYTD/BVI1/wZWNf8LXzf/ + EGA7/xVXQf8bUEn/H09N/yNRUf8nVlP/LFZY/zZXYP9KZm//Y4aA/3Osif9txoH/ZNBz/1y9Y/9ns2// + pdasyOf77AsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + wPDETW/KefgPnhb/B7sE/wavIP8KtDL/EKoX/1vLTv/F98D/5vvv/+Hu5f/Y69P/1/PZ/8zy0v/A78r/ + vvLH/7vyvv+w5q7/puSp/6Hmqv+b4aT/j9ma/37Ij/9utYL/Yad5/1qedP9SnW3/U6Nr/1Wta/9Stmf/ + TLZg/0CpWP84m1L/MZFO/yuNSP8pjEf/JoxD/yGLPv8dizv/GI82/xWXM/8VmjH/E5Ew/xCLL/8Ohi// + DYQu/wuEK/8Hgyn/BYIm/wWCJ/8Jgiv/CYMq/wmGKv8JiCn/CYko/wmHKP8JhSj/C4Uq/wuJKv8LkSX/ + CqAh/wmpH/8KpyD/C50l/wqRKf8KiSv/DIot/xONMv8bjjr/Jo1E/zOOUf88j1r/QpJf/0yXZv9Ql2r/ + YJ93/3Wwiv97u4v/b71+/2TEcv9ix27/Z7Rt/6Tep87P99QbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu+rBXmG/aPAIrwz/Dqkl/wumKP8JtRP/ + CaoG/02/Tv+98cP/6/bq//Hy6//n9uj/3/vm/9L43P/D7sz/v+nC/8nuyf++78D/r+u1/6vqsv+j6Kv/ + meGj/4/bmv+G1pP/gdKP/3rPhv92z4H/dNJ//2zSeP9kz3D/Wslo/1TEYv9OwV7/RbxV/0G6U/89uk7/ + NrhI/zC2Qv8puDv/Jbk4/yG4Nf8bsDD/Gq8v/xetLf8UrCn/Dqwl/wyrI/8IqR//Bqkf/wqqIf8KqiH/ + CKsf/wirHf8Iqxz/B6oc/weqGv8Lqx//Dqsi/wysH/8Lrh3/DLEd/w2zH/8QsSP/ErEm/xGuKP8VrSz/ + Hq8z/yuxPf85tUv/S7pb/1a/Z/9ewm7/bcN6/3HHfP92z4H/eNeG/3XWgv9synf/Ybxt/2W5b/+Vypm5 + yfPLFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAArOO1REe0UuYRlQv/BqQI/wi5Hf8AqxL/C6EM/03BTf+y7bn/6/n1/+r76v/q+OL/ + 5PXa/9722f/W9dv/yvDc/8Puzf++7sL/uuy+/7TruP+r57H/ouWp/5vko/+Y46D/kN+Y/4vdkv+G247/ + ftmH/3XVf/9s03f/Z9Fy/2PQbv9XyWL/U8hf/07HWf9GxVL/PsNL/zbBRP8xv0D/Lr49/yS5Nf8iuTT/ + Hrcx/xq3Lf8Vtin/EbUj/wy0If8LtB7/CbQc/wq0HP8Isxv/CLMY/weyFv8GshX/BLIT/wmzGf8Osx3/ + DrIb/w6xHP8PsRz/ErMg/xe2Jf8auSf/G7cr/yC2MP8pujn/OL5F/0jEVP9ZyWX/Y85v/2zQdv98z4P/ + etKA/3Tafv9u3nr/ZNFw/2C/a/9uvnj/gcaJmsPmww8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo86lJE+iQcwKkwj/ + AZ4O/wanG/8FqQ//BawF/yizMf+H0JT/z/fR//z+9P/89PH/9/Pw/+f97P/H+tj/yPHR/9Dt0f/K7cz/ + wuvE/7rovf+y5rf/q+Sx/6fjrf+h36X/m9yg/5fcnP+Q2ZT/h9WN/37ShP930H//c897/2fIcP9kx23/ + XMZm/1TDYP9MwFn/RL5Q/z68Sv86ukf/M7pC/zG5QP8stzv/JrY2/yC0Mf8csy3/GLIp/xSxJf8OsB// + DrAf/wyuHP8Krhj/Ca0X/werFP8HqxL/Cq4X/w2uGv8OrRv/Dqwc/xKsHf8XriL/HLIo/x+0Kv8nsjP/ + L7Q8/zi6Rf9Gv1L/VMRe/2LJa/9rzHX/cc16/33Og/94z4D/cdN5/2TOcP9VuWH/YLBq9YvKlXe37b8E + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAos+rEjiRQZsPhwv/EKAT/wSbD/8CqQX/AaoC/yKiIP94zHv/ + 0O/Y//f8/P/59v3/5PXn/9P8zP/Y99b/3vDe/9jv2f/Q7dL/yOrK/8Dpw/+55r3/teW7/7Dgs/+q3a3/ + pt2p/57aof+V15r/jNSR/4bSjP+C0Yj/eMx//3TJev9sx3X/Y8Rt/1rBZf9Rvlz/S7xW/0i6VP9Bukz/ + QLlK/zq3Rv8ztkD/LrQ5/yqxNP8msDD/Hq8r/xWtI/8VrSL/E6wg/xCpHf8OqBv/DKYX/wulFf8MqBb/ + C6kX/w6oGP8Ppxr/FKce/xupJf8hrSr/I68s/zKyPP89tkb/RrtQ/1LAW/9dxWX/aMhw/2/Jdv9yyXj/ + d8x+/3rSgf9uyHX/XLBj/2WtbeSFwo1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tNu2AE2hR2INiBXrBpUX/wufFf8Opwr/CKED/xOWF/9Mr1n/ouGy/+H96v/z/PL/7/Lj/+/z5//r9uv/ + 5fXl/97z3v/V8Nf/zu3Q/8fqyv/D68f/vuTA/7jhu/+14Lf/rd6v/6Pbpv+b2J7/lNaa/5DVlv+H0o7/ + hdCK/3zNhP9yyXv/acVy/1/Bav9awGT/Vr9g/0+8VP9MulL/SLhM/0C2R/86s0D/NLE7/zGvN/8prjL/ + HKsq/xyqKP8aqSX/F6Yi/xWlHv8Uoxv/EqIa/w2kF/8JpxX/DaQY/xCjGf8WpB7/Hacm/ySqK/8mqy7/ + OrND/0a4T/9PvVn/WsJi/2bFbf9uxnP/ccV2/3PEeP9tzHX/ZsJs/2CtZv9tq3Kyg7aIGwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKpUiYUixq8GIAV/yCMG/8NoRT/ + A5oG/wSXBv8lpyb/gdGB/9bt1v/18vX//ff7//f99v/y+fL/6fbp/+P04//a89z/0/HW/87x0f/K7Mv/ + xenF/7/mwP+45Ln/sOCx/6jdq/+i26X/n9ih/5TYmP+Q15X/iNOP/3/Qh/92zH7/bMh0/2jGcP9jwmv/ + W7xd/1i7Wv9TuVX/TbZP/0WzSf8+sUL/Oq8//zKtOf8lqzD/JKot/yKoKv8fpSb/HKMk/xigH/8Xnh3/ + EKIY/wylFP8Poxf/EqEY/xmjH/8hpSf/Kagu/y2qMv9FtEv/UbpZ/1i9X/9hwWb/acRu/27Ec/9wwnT/ + b8B1/2DBaf9Rp1jtVpxcboi5jAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAH64fQc8dTlsGnAY6gqMCv8BigL/A5kE/wSYB/8QhxD/QpxB/5zdl//o+Of/ + /f79///8/v/58/j/8fDw/+337f/l/ef/2fvc/9X81f/O+sv/xfDD/8Hqvv/C6L3/wOW7/7nbs/+u06r/ + nuCi/5rfnv+T2pf/jNOP/4TOiP9/yYP/fciB/3bEfP9nuW7/Zrls/2O5af9et2P/V7Rc/0+yVP9Lr07/ + Q61H/zesPP82qzn/Mqk1/y6mL/8ppCv/I6Ak/yCcIf8ZoB3/FaMb/xafG/8ZnB3/IZwl/yuhMP84qD3/ + Qa1F/1qzWv9kuGX/Zbtm/2S6Zv9kvGj/acBt/2a+av9btmH/WZlft22kdSgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kD4g + D3sOowN5BPoEigf/CpsP/wSLBv8GfQb/JI4j/2qvav+v2bD/2/Ta//f+9f/1+PP/9PTx//j39f/z9PL/ + 6PDl/+Hs3f/Z6db/1evS/9Huz//J7cj/veS8/7Lbsf+32bb/tNe0/63Trv+lzqb/ncme/5XEl/+Sw5T/ + icGN/3DAd/9rvXL/ZLhp/1y0YP9YtVv/VrZa/1e7Wv9QtVT/QadF/z6mQv85pT3/NqU4/zKkMv8upC// + LaYt/yCeJf8YmCH/HZsm/yGZKv8mmS3/LZw3/zymRv9JslT/VrBZ/160Xv9jt2T/YrNk/2CvZP9lsGn/ + aLFs3lupYFyEvIoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEm4TPQppCsQEgQb/CJIN/waMB/8ChQL/ + CncK/x9/H/9YqVf/qt6n/93u2//0+vH///r5//zw+P/87vr/+e33//Ls7//p7un/4fHi/9bx2P/J68z/ + wOfE/8nhyf/H38j/wNzB/7bYt/+r067/n86j/5nJnP+UyZf/idCO/4fNiv+AyoL/dMR4/2u+bP9huGL/ + WLFY/1ixWv9ds2H/VK5Y/0urT/9BpkP/N6M5/zCgNP8uozD/J5kt/yCPKP8gjSn/JpEw/zWePf9Ap0z/ + RKlR/0KlTv9NrFP/UqxV/12wX/9psmv/YaBk7VONVYFelF8SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAP5FCBAlpCk8CbQLKBX4F/wmLCP8EhQP/BYMF/w+ADv8feh3/So5H/5HBj//S7c// + 5vvj//r9+v///P//9/b3/+vu7v/j6uT/3erf/9vq3v/X6tr/w+DF/7/gwf+63r7/suC2/6ver/+i26j/ + mtmh/5fUnP+ayZr/msqZ/5bKlf+OyI7/hsKF/3y9ev92uXL/a7Jr/2GsZP9isWX/XbNh/1SvV/9CpkX/ + LJcv/x2LIP8kjSb/MZMy/zOUM/81lzj/PJw//0SiSP9OrFT/WLRd/1yzX/9crl7/V6FZ71SUVJBbjVke + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd6JwUFYAVL + BGAEwQl5CP0IgAb/AnUB/wV1BP8GcAf/DmwO/yqGK/9es1//odaj/8DmxP/T89b/5/vo//T99P/5/Pj/ + 9/f2//Hv7//c69v/2ezY/9br1f/O6c7/xeTF/7ndvP+u2LH/rNSv/7TOsf+tyqr/pMSf/5q+k/+Quov/ + irmE/4m4g/+GvoH/esZ7/2y5bv9XqVn/RJtF/zORNP8piyr/I4gk/yuNJ/82ki3/PJY0/0aeQP9Spkz/ + WKlS/1SjUP9PnUr/UphS6FGTUodQjlEfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1YDNgtlCp8KZwruA2gD/wFyA/8GfQf/ + BHcE/wdmB/8WaRj/LoAw/1mhWf+FwoX/sdyv/9DozP/i793/6/Pn/+rs5P/q7uX/6/Dl/+rv5v/m7eH/ + 3eba/9fh0//Q3cz/vNu4/7nZtf+z1q//qtCk/6DNm/+ZyZP/lsaO/4PAfv9fsl7/TaFN/zaNNf8ofib/ + JH0h/yqFJv8ykC//NZEu/zaQL/9Aljj/SZhB/06WRv9Rkkn/UI1Iy0SEPGc+dzsRAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAhPCBQCTQJgBGUDvgVvBfcGdQb/DH0K/wRrA/8AZgH/BmcF/w1nDP8bahj/ + Mncs/0qKRP9kn13/k72O/5vFmP+oz6T/tdmx/77fuv/E4b3/xeC+/8Hfu/+q36n/pdqj/5nSlv+HxIP/ + cbNu/1yiWP9NlUn/MoMu/w1vDP8UchH/GncW/yF8Hf8ogiP/L4Un/zSKLP8yii7/NIw2/z6PP/9CiUHf + P309k0R3QDddiVgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CVwHHwRYBGIMYwa1BGcB7QRsAP8JcQP/CHAD/wJoAP8AYwD/A2QC/wdnBv8OZA3/D2gP/xRwFf8aeBr/ + IXoj/yd6Jv8odyf/KXgo/y19Lv8qeSn/InQj/xpxGf8VbhP/EG4O/w9uDP8PdA7/En0Q/xV7Ef8ZexP/ + HnwY/yZ+Hv8vgST/NIQo/TOGMtEofDKOJHMsPi50NggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQALAE0APQJWAngEXQS1 + AV4A4ABgAP8AZAD/AGcA/wJpAf8BZwD/AGYA/wBkAP8BZAH/AmUC/wJmAv8CZwL/AmsD/wJqAv8CaQL/ + AmsB/wZtAv8Mcgb/EHUM/w90Cf8KbwX/EXIK/xt1E/UheRvLIXUcnBlpElYOXggjAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVWxAACFIEHgJNAEIBUQBkBFsDkAVaBasEWATC + A1YD1gJWAuUBWQHyAlsC+gNdBP4GXgL9BVwC9gVcAuwHXQTeCV4GzA5iCbcQZg2fDWEHeghTAlMNVwcw + Gl4SCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////8AAP////////////// + ///AAAAH///////////////8AAAAAH//////////////4AAAAAAP/////////////4AAAAAAAf////// + //////wAAAAAAAB////////////wAAAAAAAAH///////////4AAAAAAAAAf//////////4AAAAAAAAAB + //////////4AAAAAAAAAAP/////////8AAAAAAAAAAA/////////8AAAAAAAAAAAH////////+AAAAAA + AAAAAA/////////AAAAAAAAAAAAD////////gAAAAAAAAAAAAf///////gAAAAAAAAAAAAD///////wA + AAAAAAAAAAAAf//////4AAAAAAAAAAAAAD//////8AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAD/// + ///gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAAf////8AAAAAAAAAAAAA + AAH////+AAAAAAAAAAAAAAAA/////gAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAA////4AAAAAAAA + AAAAAAAAP///+AAAAAAAAAAAAAAAAB////AAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAD///4AAA + AAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAH///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAP/ + /4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAA + AAAB//4AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAA + AAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH/4AAAA + AAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB/ + /AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAA + AAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAA + AAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAX/wAAAAAAAAAAAAAAAAAAA/8AAAA + AAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB/ + /wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAA + AAAAf/+AAAAAAAAAAAAAAAAAAP//wAAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAH///AAAAAAAAA + AAAAAAAAD///4AAAAAAAAAAAAAAAAB///+AAAAAAAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAP///8AAA + AAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAH// + //gAAAAAAAAAAAAAAAB////4AAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAA + AAB////8AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAB////+AAAAAAAA + AAAAAAAA/////gAAAAAAAAAAAAAAAP////4AAAAAAAAAAAAAAAD////+AAAAAAAAAAAAAAAB/////wAA + AAAAAAAAAAAAAf////8AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/// + ///AAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAH/////+AAAAAAAAAAAAAAD//////gAAAAAAAAAAAA + AB//////8AAAAAAAAAAAAAAf//////AAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAH///////AAAAAAA + AAAAAAD///////4AAAAAAAAAAAAB////////AAAAAAAAAAAAA////////4AAAAAAAAAAAA/////////A + AAAAAAAAAAAf////////8AAAAAAAAAAAP/////////gAAAAAAAAAAP/////////+AAAAAAAAAAH///// + /////4AAAAAAAAAH///////////AAAAAAAAAH///////////8AAAAAAAAH////////////4AAAAAAAH/ + ////////////gAAAAAAH//////////////AAAAAAP//////////////+AAAAA////////////////+AA + AD////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////ygAAABgAAAAwAAAAAEAIAAAAAAAAJAAABMLAAATCwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARkZGATc3NwsnJycfKioqRSMjI2cnJyeQKysrqSsrK74rKyvOLCws2SQkJN4kJCTd + Jycn1SsrK8kuLi63Ly8voS8vL4E0NDRaPj4+NkpKShVkZGQGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGAS8vLyEmJiZmJCQkoiQkJNUkJCT0Hx8f/yUlJf8uLi7/ + Ojo6/0VFRf9MTEz/UFBQ/11dXf9aWlr/UVFR/0NDQ/8zMzP/Kioq/yUlJf8iIiL/JSUl/isrK+krKyvF + KCgojUVFRUpWVlYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANjY2AygoKCsiIiJ8Hx8fzSsrK/s7Ozv/ + SUlJ/1xcXP9tbW3/eXl5/4SEhP+Kior/kJCQ/5aWlv+ZmZn/mpqa/5qamv+dnZ3/oaGh/6Ojo/+kpKT/ + oqKi/5qamv+UlJT/g4OD/2hoaP9HR0f/NjY2/ysrK/8hISHwKysrsEBAQFxLS0sVVVVVAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCwsABsbGwwoKChW + GBgYuCIiIvJGRkb/XV1d/2hoaP90dHT/fX19/319ff99fX3/gYGB/4uLi/+Pj4//kpKS/5aWlv+ampr/ + nZ2d/6Kiov+jo6P/paWl/6enp/+pqan/qamp/6ioqP+tra3/r6+v/6urq/+hoaH/mpqa/4iIiP9mZmb/ + Nzc3/x4eHv0kJCTjLS0tlTU1NTNJSUkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAgICAMHx8faCAgINEzMzP+VlZW/25ubv91dXX/dHR0/3d3d/9/f3//h4eH/4uLi/+UlJT/ + oKCg/6enp/+rq6v/s7Oz/729vf/FxcX/y8vL/8vLy//Kysr/ysrK/8nJyf/IyMj/yMjI/8jIyP/CwsL/ + u7u7/7e3t/+4uLj/tra2/6ioqP+ysrL/rq6u/5mZmf9fX1//LCws/yAgIPYjIyOvPDw8PFtbWwEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCyEhIV4pKSnfQ0ND/2dnZ/9vb2//bW1t/3Z2dv+BgYH/ + goKC/4SEhP+UlJT/qamp/7u7u//MzMz/2tra/+bm5v/r6+v/7+/v//T09P/5+fn/+/v7//j4+P/39/f/ + 9/f3//f39//29vb/8/Pz/+rq6v/o6Oj/5eXl/9/f3//W1tb/0tLS/8rKyv++vr7/tra2/7Ozs/+tra3/ + oaGh/3p6ev8+Pj7/Ghoa/CEhIbRBQUE1VlZWAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIwMjIyM+Li4uwUJCQvtYWFj/ + Z2dn/25ubv9ubm7/fX19/4iIiP+ampr/tLS0/8zMzP/h4eH/7+/v//f39//6+vr//Pz8//7+/v/+/v7/ + /v7+//7+/v/+/v7//v7+//////////////////////////////////39/f/+/v7//v7+//z8/P/6+vr/ + +fn5/+/v7//c3Nz/1dXV/8zMzP++vr7/vLy8/7CwsP+ioqL/hISE/z4+Pv8cHBzxIyMjkjk5ORsAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Hx8fECIiIok5OTn1YWFh/2VlZf9mZmb/ampq/3Fxcf+JiYn/pqam/8PDw//c3Nz/8vLy//b29v/5+fn/ + //////7+/v/7+/v//Pz8//7+/v///////v7+//7+/v/9/f3//Pz8//z8/P/8/Pz//f39//7+/v/+/v7/ + //////7+/v///////v7+//39/f/+/v7//f39//f39//6+vr/9vb2/+vr6//Z2dn/y8vL/8fHx/+6urr/ + p6en/6Ghof9xcXH/MTEx/xwcHNwrKytQS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAjIyM7NTU10VFRUf9nZ2f/aWlp/21tbf94eHj/kpKS/7Ozs//Nzc3/ + 5OTk//X19f/6+vr/+/v7//r6+v/6+vr/+Pj4//Pz8//w8PD/7u7u/+vr6//r6+v/6urq/+rq6v/q6ur/ + 6urq/+zs7P/u7u7/8fHx//X19f/5+fn/+/v7//z8/P/9/f3//f39//7+/v///////v7+//v7+//6+vr/ + +/v7//7+/v/7+/v/8fHx/+np6f/X19f/x8fH/7a2tv+xsbH/nJyc/1xcXP8jIyP6IiIimzU1NRYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnBy8vL2dBQUHuWVlZ/19fX/9nZ2f/ + b29v/4eHh/+np6f/ycnJ/+Xl5f/v7+//8/Pz//T09P/t7e3/5eXl/93d3f/X19f/1NTU/9HR0f/S0tL/ + 09PT/9XV1f/X19f/29vb/+Dg4P/k5OT/5+fn/+3t7f/w8PD/8vLy//b29v/5+fn/+fn5//Pz8//7+/v/ + /v7+///////8/Pz/9/f3//v7+//+/v7/+/v7//n5+f/7+/v//v7+//39/f/z8/P/4+Pj/87Ozv+9vb3/ + tra2/6urq/+EhIT/MjIy/iAgIM86OjotREREAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKioJ + LS0tkE1NTfpdXV3/WVlZ/2lpaf98fHz/np6e/8TExP/o6Oj/8/Pz//Dw8P/r6+v/4eHh/9PT0//Hx8f/ + wMDA/8TExP/Hx8f/x8fH/8jIyP/Nzc3/0NDQ/9XV1f/X19f/2tra/97e3v/i4uL/5OTk/+fn5//p6en/ + 6+vr/+/v7//y8vL/9PT0//b29v/7+/v///////7+/v/9/f3//f39//v7+//9/f3//v7+//7+/v/+/v7/ + /f39//r6+v/9/f3/+fn5/+7u7v/h4eH/0NDQ/7u7u/+tra3/mZmZ/0pKSv8eHh7lJycnTwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACoqKhE2Nja1UFBQ/mNjY/9iYmL/c3Nz/5CQkP+2trb/3t7e/+rq6v/m5ub/ + 3t7e/83Nzf+/v7//ubm5/7W1tf+5ubn/wMDA/8PDw//Gxsb/z8/P/9XV1f/X19f/1NTU/9jY2P/c3Nz/ + 3Nzc/97e3v/f39//4ODg/9ra2v/a2tr/29vb/9vb2//c3Nz/3d3d/+Li4v/h4eH/4uLi/+bm5v/v7+// + 9vb2//r6+v/+/v7//f39//39/f/9/f3/+fn5//b29v/6+vr//Pz8//z8/P/6+vr/7+/v/9ra2v/Dw8P/ + uLi4/6+vr/9dXV3/HBwc9ioqKm1LS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExGzw8PLtYWFj/XFxc/2lpaf92dnb/ + np6e/8zMzP/j4+P/4eHh/9DQ0P+8vLz/tLS0/7CwsP+xsbH/tbW1/7u7u//FxcX/zs7O/9XV1f/c3Nz/ + 4eHh/+Pj4//e3t7/19fX/8nJyf/Dw8P/vLy8/7S0tP+srKz/p6en/6SkpP+mpqb/qqqq/7CwsP+1tbX/ + urq6/8nJyf/Pzs//1dXV/9nZ2f/b29v/29vb/+Pj4//v7+//+fn5//z8/P/9/f3//f39//7+/v/9/f3/ + /Pz8//v7+//6+vr/+/v7//Dw8P/k5OT/z8/P/7y8vP+rq6v/dHR0/yAgIPohISF2Q0NDBgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy8W + Ozs7vlJSUv9YWFj/ZmZm/35+fv+ysrL/3Nzc/+Hh4f/Nzc3/u7u7/66trf+kpKT/qamp/7Kysv+5ubn/ + ysrK/9jY2P/d3d3/3Nzc/9fX1//Kysv/tra2/5ydnf+Fh4j/eHt8/2Zpa/9dYmT/V11f/1BVWP9HTE// + REhM/0ZLTv9HTVH/TFNW/1ZbXf9eYWL/Y2Vl/2xsbP90dXX/g4WF/5qcnP+ztbX/wsTE/9bY2P/X2Nn/ + 3d7e/+Tk5P/r6+z/8/Pz//z8/P/+/v7///////39/f/5+fn/9/f3//j4+P/s7Oz/7Ozs/9fX1/+8vLz/ + s7Oy/29vb/8kJCT5KioqeGJiYgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAADs7Ow5BQUHBUVFR/19fX/9paWn/hYWF/8XFxf/e3t7/y8vL/7e3t/+oqKj/ + paSk/6moqP+oqKj/v76+/9bV1f/j4+P/5OTk/9bW1v+9vb3/mpub/3p8fP9kZ2j/U1RX/0NESf87PEL/ + ODlB/y4xN/8nLTP/Iyox/yEoMP8gKS//Iysz/yQqMf8dJy3/ICkv/ykvNP80Njr/PDw+/0VDRf9IR0n/ + REZK/0RJUP9JT1f/UVdf/3h+gP+Wm5z/tLe2/9LU0v/i4+H/3t/d/+Lj4//x8fH//f39//39/f/4+Pj/ + +Pj4//T09P/4+Pj/9vb2//X19f/a2tr/vr6+/729vf98fHz/ISAg+jQ0NHQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzDD09PahTU1P/W1tb/2pqav+UlJT/ + yMjI/9XV1f+6urr/pqam/52dnf+goKD/qqqp/8TDw//T09P/4ODf/9jY2P/BwMD/l5eX/3R0dP9YWVn/ + P0FC/zU4OP8wNDT/KSwt/yosLv80Njr/QEFH/1RbXf9faWr/bHZ5/3qDh/+GkJL/jJWY/46Ulf+Gjo// + foeI/3V9fv9tcnP/Z2ts/0lMTf9AREX/MTo9/yIwNv8eMDf/IDM5/yw4Pf84Qkf/TlVY/3Z7e/+ipaT/ + vb+9/9na2v/h4eH/4+Pi//Ly8v/6+vr/+/v7//X19f/y8vL/9PT0//Dw8P/s7Oz/3t7e/8LCwv+tra3/ + cXFx/y4uLvk6OjpZWFhYAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjID + NjY2hklJSf1ZWVn/bW1t/5mZmf/FxcX/xcXF/66urv+YmJj/mJiY/6CgoP+4uLj/0M/P/+Li4v/S0dH/ + ra2s/4WEhP9fXl3/QUA//zMzMv8iIyP/Jykq/z9AQP9aW1j/fn98/6Chnv+5urf/ycvI/9DZ1P/P2tX/ + zdjU/8vX0v/M2NT/zdrV/87X1v/N1tb/zNbV/83X1f/Q2dj/1Nza/8rS0f+/x8X/qbWy/4WVkv9XbWn/ + OE5N/yEwOf8YJy//Iy82/zE4Pv9NT1P/b3By/5GRkf/BwcH/4ODg/+Hg4P/l5eX/8/Pz//z8/P/9/f3/ + 8/Pz/+/v7//09PT/9PT0/97e3v/Dw8P/sbGx/2hoaP8qKirrS0tLOwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDBgRkZG+l5eXv9nZ2f/lZWV/8DAwP+1tbX/mJiY/42Njf+VlZX/ + srKy/9TU1P/k5OT/1NPT/66trf95eHj/V1ZW/0FAP/8jJSD/HB0a/zs+Ov9qbWv/l52Z/8TExv/U0Nb/ + 1tXY/9bX2f/R1NX/y9HR/8/U1f/R1tf/0djY/9LZ2P/T29n/1NzY/9bb3f/U2t3/0tjc/9DX2//P1tr/ + z9bZ/8rP0//Q09f/19na/9XY2P/T09P/zM3M/5+qrP9ygIT/RVRZ/yw3Pv8vMzj/OTk+/0ZFRv9kY2P/ + ioqJ/8DAwP/c3Nz/4eDg/+/v7//4+Pj/+fn5//f39//z8/P/7e3t/+3t7f/g4OD/vr6+/7Gxsf9VVVX/ + NjY221hYWB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMCpDQ0PrWVlZ/2xsbP+Tk5P/ + uLi4/7CwsP+ZmZn/kZGR/5ubm//BwcH/29vb/9PT0/+qqan/g4KC/1NSUv89PDz/LCoq/ywtKv9UWVL/ + k5iS/8TJxP/S2NP/z9XQ/9HT1P/Oz9X/ys/R/87Y1v/V4t3/1eXd/9Xj2v/V49r/1uXa/9Xl2P/S5dX/ + 0OTS/9Di1//Q49r/0OXa/9Lm2//S5tv/0uXc/93q5P/d5+H/1t3a/87T0v/Q0dH/09PS/8TQyv/V39r/ + ztfV/6y0tv92fH//SUxO/zQ0M/8+PTz/R0ZF/2FhYP+YmJj/ysnJ/97e3v/q6ur/9vb2//r6+v/39/f/ + 7+/v/+/v7//q6ur/3t7e/8LCwv+hoaH/RERE/kZGRrFycnIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + MjIyCzk5Ob5RUVH/aGho/4eHh/+urq7/qamp/5eWl/+Tk5P/oaGi/8bFxv/e3t7/wMDA/5OTk/9mZmT/ + Pz8+/ygnJ/8mJST/WVdX/6qtqv/K0cr/0NfR/8bNx/+/xsD/ztXQ/9Xd0//S3c//0uLR/8vgzf+92ML/ + sNC3/6bPsf+iz67/m8uo/5XIov+Rx5//ksmf/5HJpP+LyKP/h8ii/4vKpf+Tz6r/mNOu/57Ss/+o17n/ + t9zE/8Xizv/M4tT/zeDT/87az//M2M7/xtHL/8nT0P/P1tb/w8bH/4qIif9FREP/MTAv/zk5OP9NTEz/ + d3V2/66trv/V1NT/4+Li//Ly8v/6+vv/+/v7/+zs7P/p6en/4+Pj/9DQ0P/AwMD/iIiI/0FBQf9oaGhq + oKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj4AODg4fEpKSv9aWlr/enp6/56env+enp7/jY2N/5GRkf+qrKj/ + 1NXS/9PT0f+pqKb/cW9u/1VSVv8qJzL/Kyks/19eW/+0s67/zs7O/8nLx/+9wrf/vsa7/8bRx//D08r/ + u8zF/67Js/+iyKP/mMKZ/4y+iv+GwIT/h8WG/32/hP95voX/d8CG/3S/hP9uvoD/a71//2W5g/9duoT/ + Wr6F/17Aif9hwor/YsOJ/23Jj/9nwoj/asCJ/3bFk/+Cy53/i82f/6zQsv+21rz/wdrI/8fXz//EzMz/ + xs3M/9Tc1P/Nzcz/l5OU/0VBQv8tLiv/PkE8/1RXU/+TlJP/wL/A/93b3P/x7uz/9/X1//b29v/s7Oz/ + 6Ojo/97e3v/R0dH/urq6/3V1df9SUlLtfX19LgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT0vQkJC7FlZWf9ubm7/ + jo6O/56env+Hh4f/j4+P/7Gysf/Z3dj/xcfE/5OTkf9raWf/SEVE/yUiI/9JRk3/pqal/8bIwf/AxL3/ + wsfG/8TMyv+8zMP/sMay/6LBnv+TvY3/ibqD/4G2e/9+tnr/e7R8/3Ovev9op3X/XJ5v/02OY/9Hi2H/ + RYxk/0SOZv9Ej2n/RJFr/zuSbP8pkWn/HpJn/yGWav8gmmn/Ipxo/zWnbP9Cr3D/T7x2/1/Ig/9iy4b/ + ZsmE/3XGiv+Ay5H/kc+g/6HRsP+z1b//u9fD/7/Uwf/J0cj/0M7N/8XAwv9wcG//MDMv/zg8N/9HSEn/ + e3h9/7iztP/q5uH/8/Du//j4+P/39/f/7Ozs/+Tk5P/Z2dn/xsbG/6Wlpf9XV1f/dHR0tK+vrwgAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABAQECxUVFR/2ZmZv+AgID/jY2N/4+Pj/+Tk5P/srOy/9fW1/+ysbT/hYSG/2VkZv86Ojv/ + JyYn/3Jzb//Ex7n/w8nA/7S9uP+wwbX/rcKv/5u8of+HtZD/eKp6/3mucP93s2j/a6xY/2WaV/9ciVf/ + R3hP/0BsUf9Db1f/RHVf/0GDYf9AiWT/QY9p/0OUb/9GmnP/R5x3/0Widv8xoHP/IZ1v/x6db/8VnWz/ + Epxp/xWaZf8Tk1//Do9V/x+aXf8vqWX/PLNo/0fBa/9KwGb/Xch2/3PQif9+0JH/is2Y/63Ws/+71bz/ + w87B/83QzP/Ny8z/oJ2e/0lFRv81LjP/SUJI/3Brbf+zsaz/1dPR/+rq6v/6+vr/8/Pz/+jo6P/e3t7/ + 0NDQ/7q6uv+IiIj/Z2dn+qKiolYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7O0tISEj/Xl5e/3V1df+Tk5P/j4+P/4WFhf+5ubn/ + 1dXV/6+usP+Cf4X/XVxg/zAyNP9BRUX/mZ+e/8PIw/+7vbX/qbau/562pv+St5P/iLJ8/3qvaf9zrmT/ + a6Jh/1eIUf9HaUP/OVw7/zhXPv8+X0j/QnJP/0iFV/9TlF7/WJ1k/1Wmaf9Vq2//Va5z/1Wydf9Xt3j/ + WLl8/1S2gv8/s4D/LbF+/yexf/8jsX//H7B8/yKweP8grW7/F6Zf/x6nZP8RnVb/CplO/xamTv8gqlD/ + NbRZ/03Ba/9izXr/ctCE/4zSl/+i2KT/rtOt/7TLtP+9x73/yszH/7i1tP9lYWP/Lysv/z05O/9zcW3/ + o6Kg/87Ozv/w8PD/9fX1//Dw8P/q6ur/2tra/8vLy/+wsLD/cXFx/5GRkd7R0dEMAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09Cz4+PsNUVFT/ + a2tr/4uLi/+RkZH/jY2N/7W1tf/Ly8v/qqqq/3d2d/9YVFj/NjM3/1BUUf+qsq3/uMW8/6i1q/+jsKf/ + kK6U/4KwhP9zqWz/bKFZ/2aTVv9Lbkb/OE0y/y9HK/81VDH/PV47/0FzQ/9Kh03/UpRY/1igYP9cp2T/ + XKpr/16ydf9gtn3/YLmC/2C8hf9jwIf/ZcGK/13Ajv9Fv43/Mb6M/yW8iP8ivIX/Hrp+/yS9gP8iu3j/ + Irpz/ym8d/8ftWz/F69h/yKwYf8bplb/HaFR/yelVv86s1//T8Bp/2fNeP+B1IT/j9OM/53Qmv+r0Kn/ + tcyy/8DMu//Gz8X/gISD/y4uLv9APT3/aGdn/5ubm//S0tL/7+7u//X19f/t7e3/4uLi/9TU1P/BwcH/ + nJyc/3t7e//FxcVu2traAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAQEBAUEtLS/tmZmb/e3t7/5KSkv+Hh4f/np6e/9fX1/+lpaX/dnZ2/2JhYf83MzT/ + XV1b/7S7tP+4xbn/rb2t/5erlf+Jq4X/dqtu/12gU/9ZllH/SHFA/ytCJf8lOSL/KUgj/zNeK/9AdjL/ + SYM7/02SRP9SnlD/V6Vb/1usZf9fsmz/YrV1/2a6gP9lvoj/ZcCN/2jFkv9uyZb/csub/2rMnv9Qy53/ + NcmY/yXGkv8exIv/G8OF/yPFh/8jxIL/LMaI/zDHh/8nw3z/Ib9z/yK6cP8ftWf/JLNk/yiyYP8krFb/ + JatQ/0C9Wf9t13H/edZ1/4PRf/+S0JD/os+f/7HPr/+yybP/wc7F/46PkP8uKS7/Qj9B/21tbP+hoaH/ + 0NDQ/+3t7f/z8/P/6urq/93d3f/Jycn/ubm5/39/f/+qqqrZ1tbWEwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAHSEhIxFpaWv9ycnL/hYWF/4uLi/+TlZP/ + 1dbT/6mppv93d3X/aGVn/zs4Ov9lZ2H/trir/7nCq/+jt5v/jK6R/3Siev9qo1r/YZlU/0Z4Pf8hQBv/ + HCsZ/yREH/8tXyL/OG4p/0KAMv9JjTf/SZI7/06aRv9VpVX/Wa5g/2C4a/9iv3T/ZsSA/27Fi/9wx5P/ + b8mX/3HMnf90zp7/edCj/3PUrP9Z0q7/M8qe/yvKnv8ry57/KMuY/yrPlv8w0Jj/NtGZ/zfRlP8w0Ir/ + Ks6B/yHGeP8pyHf/MMZ1/y/Abv8tuWb/LLde/y6yUf9GtU//Y8Vb/3TRav951XL/gdJ5/5TRkP+gyqP/ + ssu2/8rTx/+TkYz/RENC/0ZHRv9tcG7/nZ+e/9PT0//08fP/7u3u/+bm5v/R0dH/xsbG/5iYmP+VlZX/ + 2traawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBB + T09P+GBgYP9/f3//i4uL/46Ojv/BxcD/u725/4GBfv9oZ2X/RkJE/2RgZP+6w7n/sbqq/6Gwlv+HqX7/ + Z59l/1aXU/9QiEP/LFIn/xksFv8bMxj/Jksj/ytlJv8udiT/N38r/z+KMv9HlTf/TZw+/1SjSf9cqln/ + Y7Bo/2q2dv9suYH/b7yN/3C8lf9wvp3/cMCi/3TEqf93x6v/eMiv/2vHsf9QxLH/NsCt/zDBrv8yxK// + MMSp/y7Kov890Kv/RNKp/0fUpP9A05n/ONOQ/zPUiP8y0oP/NdCA/zjMe/85yXP/NsZq/za7XP9HtVP/ + U7NL/1/BUv9n013/b9tl/3/YeP+Lzo//nsme/7TMqv/AyLb/jpGN/zM1NP9JTUr/dXl3/6inqP/f2tz/ + 9PPz/+np6f/Z2dn/0NDQ/6+vr/+RkZH/09PTzvLy8ggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABAQECjWlpa/21tbf+NjY3/jo6O/7Gxsf/DxMT/fn5//2ppa/9NTU// + Wltb/6yurf+st6//kKeZ/3mgg/9pnmj/YJ1N/0Z9L/8ePRr/EigQ/xg4Ff8hWBz/KWsh/yp4Iv8rgiX/ + N4st/0OTOP9Klz7/TplD/1OZTf9dmlv/Y5pn/2uhev9zpYr/eqiW/3axnf90t6X/dLus/3e/s/93w7j/ + d8W7/3DFvP9gw77/Sr67/z6+vP8/wL//Pb+6/zK+rf88wbH/Ssa3/07GsP9Jxab/Rcif/0DXmf861Y// + OtOG/z7Uf/881HX/OdJq/0DMX/9Xyl3/XsRU/1S2R/9NtET/WsZS/2nTY/9503X/idGB/5jHjf+vxLD/ + v8XC/319fP81NTT/WFdX/4GBgf+3t7f/7e3t//Dw7//m5ub/1dXV/8TExP+UlJT/wMDA8uzs7CYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxVERETzYmJi/3l5ef+IiIj/ + mZmZ/8/Pz/+Oi4//bGtw/1FRVv9QVFX/oqqk/7K+sf+QppX/daR3/2CkX/9Pkkn/NGQr/xUrDP8PIA3/ + GEAW/yJZG/8iaxn/JXgc/y6DI/84iCz/QIoz/0aJOv9Jhj//SoNC/1GFSv9dilf/Y5Jj/2ujef95spD/ + hbyf/4rHqv+LzLT/i8+8/4rSwf+J1MX/iNbI/4LUyP920sr/Ys/L/0rKx/9Bx8T/PcXA/z3EvP9Bxbv/ + S8i8/1TKvP9QxrH/S8Sq/0PCo/8/w5f/PsWH/0/Qiv9T1IL/R9Nt/0nSYv9d1GD/Y9BY/17FUP9Tu0z/ + SbhB/0zERP9k1Vv/c9pk/4jWev+Zyp7/q8Gv/8HJvf9sb2r/Q0FB/2RkZP+Kj4z/wsTD//Ly8v/w8PD/ + 3t7e/8rKyv+kpKT/rq6u99/f3zMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEVFRWVISEj/bm5u/4GBgf+QkJD/urq6/62trf93dXX/ZmVo/0lKT/+IkYv/qLil/5euj/9unnL/ + XZpU/0qQN/8hWxb/DCEM/wwYEP8RPA7/HFYW/yNrGP8ufyD/L4Ah/zJ7Jv88ei7/O3Yv/z92NP9Kfz3/ + VIhI/2GWVP9xpWL/erNx/4HFhf+L0Z3/kNap/5nat/+d3cH/mt7G/5nfyf+W4Mz/leDO/47ezv+E3tL/ + ctzV/1rXz/9N08v/StPK/0jQyf9FzcP/R8vA/0nJvP9Jx7X/SMWw/1jFtv9IvaD/QruP/0W8hf9HvHf/ + Qr9o/0zPaP9n2m3/Z9Rc/2POVP9fy1T/U8FG/0W7Of9JxEH/WtRN/27YYf+B04D/lMqU/6/RrP+quqf/ + U1ZQ/0VFRf9rcG3/lJaV/9nZ2f/x8fH/5ubm/8vLy/+6urr/qqqq+tfX11v39/cAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVBD4+PrVWVlb/eXl5/42Njf+fn5//vb29/3x7e/9raWT/ + WllZ/21xcv+qt6v/lKeJ/4and/9UnlX/UoxM/yNKGf8JHQX/DxwK/xg8Fv8SWgz/Hm4T/yV6Fv8odxr/ + LW8g/zJuJv83cyr/PHox/0iIOv9YnEj/Z6xW/3G2X/96u2j/f71z/4fFiv+Oy6P/k86w/5fQuv+a08H/ + mdXH/5jWy/+V1s3/k9fO/5LX0v+H1tf/btDV/1LIzv89wsr/OcHL/zvEyv89xcj/RcfH/0jIwf9Qy8H/ + S8q7/zbAqv8xu53/M7mR/zG0f/88tnv/PLVx/z62aP9YyGf/a9Zi/23ZWf9l1VT/X8xM/1TAQv9Aujz/ + PsE6/1bUSv9s2mD/gdZ9/5LMkf+qyaf/kpqP/z09Pv9eYmH/eXt6/6ioqP/s7Oz/6enp/9XV1f/IyMj/ + qqqq/9TU1OPy8vIPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGHEBAQO5nZ2f/ + f39//5KSkv+2trb/mJiY/2ZmZf9hYFz/ZWRk/6Knpf+VqJT/gqR2/2ieV/9Glj7/KFEp/wgOBv8MIAf/ + E0QK/xtgEP8ichP/HHAP/x1uEf8eZRT/JmQc/zd3K/9Fjjb/UJlB/1ulS/9irFL/Yq5R/2SrU/9qp1j/ + baVi/3mufP+LvaH/k8Sy/53Nv/+h0sf/otXM/6TY0f+m29b/pdzY/6Xc2/+Z2t//gNTe/1/I1P9EwNH/ + PL7T/znAz/83vsz/Or3L/z27xv85ucD/K7Wy/x+5qP8ftqD/HK+M/x+sff8prnX/K61r/zSvZf9DtF3/ + W79g/2XJWv9n0Vf/X9FM/1fPRf9MwkP/PLU0/0fGPf9Z203/bNtj/4PVff+bz5j/scaw/3d7d/9FQ0T/ + cG9w/39/f//R0dH/7u7u/93d3f/Ly8v/s7Oz/83Nzf/w8PAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARkZGVEVFRf9ubm7/g4OD/5qamv+6urr/d3d3/2JhYf9aWVj/g4aE/6Oupf+HpoT/ + aZ5g/0+TQf8taCD/CR4G/wkUBP8TOgb/EVkJ/xVrE/8eaQ//HGYP/x9oEv8qchz/NX0o/0GNM/9KmTr/ + TZk+/1KaRP9anUv/Xp9P/1+cT/9onFX/bp9f/3Kocv+Eu5n/i8Or/6LTxP+n18v/rt3U/7Xi3P+55uL/ + ueXj/7Lj4v+k4OX/j93o/2zR3P9Nx9f/PsTV/zW/z/8yvc3/MrrK/ze5yv86t8b/K6+4/yCtsf8bqKL/ + GqOQ/x2ggf8innL/I6Fo/yOiW/8wpVv/SrFh/1e6X/9jwlr/X89O/1XWRf9X0Ej/Sb06/z22MP9Eyzr/ + XdlR/3Paav+I04T/qtOr/5yomv9TTE//YmBh/21ubv+oqKj/6+vr/+Dg4P/Nzc3/vb29/8vLy//w8PAZ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHfkpKSv9zc3P/h4eH/7Kysv+VlZX/ + YWFh/2FhYP9lZWL/naid/46rj/9uoGz/TY5H/zV4K/8OJAb/BRYD/wswB/8ZVQz/GGQL/xdlD/8VYQ3/ + H2sS/yt3HP83gyf/Qo4y/0aTNv9EkTX/Ro83/0uOPP9Sk0H/XJpJ/2CaS/9nm1L/bqBd/3KlaP92qnr/ + jr6j/6nWyf+03c7/x+XV/9Xq4f/a7eP/1O3n/8Po6P+x5ej/l9/n/3HU4v9bzt3/ScnX/zPB0P8tu8v/ + L7nK/zW9zv81t8j/L7HC/x6otP8VoaT/FJ2W/xWYhf8Wk3L/GJNh/xmVVf8WklH/JppV/0muXP9iuVr/ + W7lM/1fCSf9Xzkn/S8w9/z/ALv8/uyv/TMs9/2PdWf9z1G7/mNaX/6/JrP96fXb/V1ZW/2JiYv+Dg4P/ + 09PT/+np6f/T09P/v7+//8rKyv/s7OwfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + RkZGf1RUVP99fX3/kpKS/7a2tv9xcXH/WVlZ/2JiYv+LjYf/mbKX/2uea/9NkEv/OH80/xRIDv8JDQP/ + CCkF/wpNCf8NXQb/EV8G/xlkC/8ebRb/Jncc/y9/If80hSP/OIgk/zqJKf9AjDH/S5I6/1KVPv9Tkz3/ + VpI+/1mSQf9kmU3/bJ9b/3WmaP98rHv/g7eV/6zXzP/A49X/1+zc/+Xv5f/p8uj/5fTt/9Tw8P+/6u7/ + nODl/3LU4/9m0+P/Vs/c/0DI2P89w9j/O7/S/ze+zv8xt8b/LbHB/ySqt/8epaz/GZ+e/xaZjf8Vk3n/ + GZBo/xqQWv8Yj1T/H4xO/zyWTv9cqFT/Yq9V/1yyUP9RwUX/S8w9/0fJNv9Dui3/OL0p/07aRv9p4mL/ + ht2B/6jZpP+crpj/WVtY/15dXv9qamr/sLCw/+zs7P/X19f/w8PD/8nJyf/m5uYrAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHf2JiYv+Hh4f/n5+f/6Ghof9cXFz/Xl5e/2tra/+cppn/ + faN5/1ibVf89iDn/JGAe/wYdA/8HHAL/DUMG/wtdB/8KXwj/FGcK/yBxDv8ecxT/JnsZ/y2BH/8xhCD/ + M4Qf/ziGJv9EizH/TJE4/1CSOf9SkDj/V5E8/1uSQf9mmU7/bJ5b/3embP+Ar4L/gbiW/67Zzv/J59z/ + 3+/h/+fx6P/r8+r/6/fw/+H18//P8PL/r+ju/3/a6P9p0+X/W9Dg/1PQ4/9TzOP/SsTW/z/Az/80u8j/ + LbTC/yeuvP8jqbP/HaOk/xadk/8VlYD/E49r/xWLW/8jkVb/OphX/1CaVv9Xm1D/XqJU/1umUv9NrEP/ + Sro//0rEPv9Gvzb/Mrkk/z7NM/9j6Fn/euVx/5DXiv+myqL/dXp0/19eX/9kZGT/ioqK/+Li4v/c3Nz/ + x8fH/8jIyP/g4OA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUlJf21tbf+Pj4// + p6en/4qKiv9XVlb/YWFh/3x8fP+Xp5P/ZpVi/0mVRP8xeyv/CzMH/wcQBP8EOwH/DFYC/w5lCf8SaRj/ + HHQY/yB8Dv8geRD/J30X/y2DHv8xhiL/NYgl/zyJKf9HizD/Sosx/0yLMf9RjTX/XJM//2OXSP9pm1P/ + cKFh/3updP+Asob/ib6g/7Tc0v/Q6t//4u/i/+ny6v/u9e3/7vfy/+r39f/e9fP/w+/z/5Tj8v9t1ur/ + W9Hi/1PP3f9Zzd//W8zf/0zH2P85v83/MrrH/yuzwf8nrrn/I6qt/xymnv8Zn4n/FJVz/xuSY/87nGL/ + V6Fk/2OkX/9goVj/VZpN/0+XR/9Pmkb/TaRE/0izP/9Bwzr/PMAx/ze7KP9W3Uf/depp/4TZfv+h1J3/ + maGY/15cXv9iYmL/bm5u/9DQ0P/k5OT/y8vL/8fHx//b29s+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAUFBQf3Jycv+QkJP/qKmn/3R2cv9UVlf/Y2Zm/4uSiv+AnX3/VZNL/zqLMv8cVRj/ + BB8C/w4wCf8FVgH/DWUE/xRvD/8Zdhv/F3sU/xh9DP8jghX/J4MZ/y6FH/8yhyP/Nogl/zqIJP9CiCj/ + SIss/06OMf9Ukjj/XZZB/2WaSv9qnlb/caRn/3utev+Bt43/hb+f/6rWyf/V7OL/5vHk/+zz7P/w9u// + 8fjy//L59f/r+PL/1PX3/5/o8/9s1+r/XNXn/1XR3f9g0t//adXo/1XO3v86xM//NL/K/zG5xf8utL7/ + KrC2/yGsp/8bo4v/Fpp1/x+Xaf9Tpm7/bq9s/2enX/9io1v/WZ9T/06XR/9PmEn/SphE/z+dO/82qDX/ + Q740/ze6I/8+xjH/a+hh/4Hjd/+a2JX/qcOm/2VqYv9gWl//X11g/7O1tP/q7Ov/zM3M/8nJyf/b29s+ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW1tbf3R1df+RkZj/o6eh/2NlX/9VV1n/ + anJv/4ygif9olWb/RZI4/y1/Jv8INgr/Ay4D/wdNA/8IYgP/D2wL/xd4Ev8YfxH/FH8N/xZ+Df8ggBb/ + JYIZ/yyFHv8yiSP/NIgi/zqJIv9BiiX/SI0p/1CQL/9VlDf/W5hB/2SdTP9qoVr/cahs/3uwf/+CupL/ + hcKi/6fWx//X7OP/6fLn/+707f/x9/L/9Pn0//b69P/2+/T/3/n5/53l6/9l1uX/VdXk/1jV4P9p2eb/ + adfn/1PP3f88yNL/NsLM/za8yP82uMT/LrO6/x6rpv8bo4v/Gpx3/y2fcf9jr3j/dLFt/2usZf9jp1// + W6FU/1CbSv9ImEP/QpY+/z6VO/86kjn/OqUp/0PALv8wtib/XuFS/33rcP+U3Y3/qNaj/3mJdP9hVV7/ + WVZb/5Sclv/m6eb/zc3N/83Nzf/e3t48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + X19ff3d3d/+Zm5//mZyX/1hYU/9ZW13/bXtx/4Gdfv9dklj/OYkw/xhsE/8COQT/BUMI/w9fDP8Pbw3/ + FXYS/xl9Ff8YgRT/FIAO/xd/Dv8ggRb/JIMX/ymFGv8xhx3/NYgf/zqKIf9Biyb/SI4t/1CSM/9Wljz/ + XJpG/2SeUf9po1//capw/3yxhP+DupL/hsOo/5TPw//G5tz/6PPm/+317P/w+PP/8fn0//b69f/6+/j/ + 7/v7/8n1+P9z3eb/WNbi/2HW4/9i2OX/V9bl/0jR4f85yNb/N8PQ/ze+yf82ucX/L7S8/yKurf8cp5f/ + JKJ+/02rev9ytXz/dLFw/2+tZ/9mqF//W6NX/1GdTP9ImEP/QZU9/zqSN/8zjzH/LYwm/zqmMf83syr/ + VdhB/33yav+P5Iz/qt+p/5Oljv9hWF7/U1FV/4CIgv/c3t3/z8/P/9DQ0P/g4OA3AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZWVlf3t7e/+eoqb/jI2K/05MSP9hYmL/cYVz/3Kcbf9NjUP/ + LIAn/whZBv8GRwT/DlsN/xNyFv8VfRX/F4AW/xmCF/8YgxX/FoER/xmBEv8ggxb/JIQX/ymGGf8wiBz/ + Noof/zyMI/9Cjin/SZAv/1GUNv9Yl0D/XptJ/2WgVf9qpWP/cqt0/32zhv+Fu5T/hsOp/4zMwf+44dn/ + 5fTq/+v27f/w+PT/8fr2//b79v/7+/r/8/v8/8/19P+K5ej/ct7l/33h7f9z4O7/UdTf/0DP3P85ydj/ + OMXS/zi/y/82u8X/MLa9/yWwsf8krJ//OqyK/2Ozgf93tXn/dLFx/2+tZ/9lqF//XKRX/1OgT/9JmkX/ + QZU8/ziQNP8wjC3/NIo0/yV+I/8xoyb/S8kz/3z1Z/+I6Yj/puKm/6a+o/9iXmD/Tk5P/2xzbv/Y2dj/ + 09PT/9LS0v/h4eE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2trf4CAgP+eo6b/ + f4B+/01IR/9oamf/co1x/2KZWf88iS7/IXof/wVWBf8LXgT/EXAQ/w19Ff8ShBX/FYMW/xeEF/8YhBb/ + GoQW/x2EF/8hhBj/JYUZ/yqHG/8wiR3/Nosg/zyNJP9Djyr/SpIx/1OVOP9amUH/YJ1M/2eiWP9spmX/ + c6x2/3+0if+Fu5f/hsKp/4nKvP+n3NT/2PLr/+f27//w+PP/8vr2//X79//6+/n/9fz7/9f39v+x8PP/ + nu3x/5rr8/+L5/T/Ztrl/0fS3v86y9n/OcfT/zjCzP83vcb/Mrm//yq0tv8tr6H/RK+J/2aze/95tXb/ + dLFv/2ytZv9kqV7/XKVX/1OgT/9LnEf/Qpc+/zqRN/8yjjD/Mos1/yiAKv8dhRn/Oasp/3XnY/+G6YT/ + oOKf/67Nq/9qamn/S0xN/11kYP/V1NX/2NfX/9XV1f/j4+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAcHBwf4ODg/+Xn6L/dnd2/1FJSv9wcW3/cJBu/1WVTP8xiCH/GXUa/wdhCP8XcQz/ + EnwP/wWAEP8OhBH/D4QR/xGEEv8WhRb/G4cY/x6IGv8hhhn/JYcb/yqJHP8wix7/Nowh/zyPJf9Dkiv/ + S5Qz/1OXOv9am0P/YJ9N/2ejWv9tqGj/dK54/3+1i/+FvJn/icSr/4jKu/+Z2NX/suPg/9/28P/y+fX/ + 8/v3//P89//5/Pf/9/37/+T7+v/N+Pf/tvLw/6jv8f+b6/L/e9/q/0/W3/88z9r/O8rV/zjFzv83wMf/ + MrzB/yu4uf80taf/TbWR/2y1fv94tHP/dbJv/2yvaP9jql//W6VX/1OiT/9Mnkj/RJpB/z2XO/82lDb/ + MJAu/y2OL/8aex3/I4Yc/2DHU/+S8I3/nuSd/7HVr/92eHX/SU1N/1FYVP/Py87/2tnZ/9fX1//k5OQu + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0e4GBgf+boaT/bXJw/01KSv9tcGr/ + bpJo/0eRPv8thR//EnET/wptDv8TexH/DYEP/wmFEf8OhBL/D4UT/xGFFP8Whhj/G4ka/x6JG/8giBr/ + JIkc/ymLHf8vjB//NY4i/zyRJv9Dkyz/SpYz/1OZO/9ZnET/YKBP/2ilXP9tqWr/dK96/3+2jP+CvJr/ + hsKn/4zNv/+W2+D/nd7g/9Hx7P/y+fX/8/v3//L99//4/fb/+f76/+v8+f/b+fn/wfTy/6zx7/+p7vT/ + j+Xw/1ja3/890dr/PM7X/znIz/83w8j/Mr7C/yy6uv8wt6v/SbaV/2e0fv92s3L/dLJu/2uvZv9iql7/ + WqZW/1KjTv9Kn0f/RJxB/z+aPP83lzb/MJYt/yyTK/8ghib/Gncd/0GgPv+c85f/o+ie/7Tbsv97gnz/ + TU9O/1FTUP/DwsX/1tXW/9jY2Ojp6ekc+Pj4Afj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + eHh4N4KCgvukpqn/Zm5s/0JHR/9nbGT/a5Fj/zyONf8nfSD/Dm4M/wd1Df8IgBP/CoQV/xCKGf8Rhxj/ + E4gZ/xSIGf8XiBr/GYga/xyKG/8gix3/JI0d/ymOH/8vkCH/NZIj/zyTKP9Dli7/Spk1/1OcPf9Zn0b/ + YKJR/2inXf9trGv/dLF7/3+4jf+BvZr/hsSn/5PRxf+N2d//meDn/8Xt5//z+fX/9Pv4//L99//4/fb/ + /P75/+/9+P/i+vv/yPf5/63y8f+r7vP/nOnz/2Xf5P9C1dz/P9Da/z3L0v85xcr/M8HD/y29u/8subD/ + Qrab/2G0gP9zs3H/crNt/2mxZf9gq13/WKdW/1CkTP9JoUX/Q55A/z2cO/81mDX/L5Yv/y6YMf8kjir/ + IIQn/xt4Hv+G14P/sPCo/7fftf99iYH/TkxL/1NQTf/Fxsj/0tLT/9nZ2a/z8/MD+Pj4Bfj4+AIAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAB4yMjMajo6b/aG9t/0RHRv9obGT/Z45g/zyQN/8bdhb/ + DXIO/wx8FP8OiBn/DokY/xGLGf8RiRj/EooZ/xSKGf8Xixn/GYsa/xyMG/8gjRz/JI4d/ymQHv8ukiD/ + NJQj/zyVKP9DmC3/Spo0/1KdPP9ZoEX/X6RQ/2aoXP9rrGr/cbF5/3y3i/+AvZn/hsOn/4jKu/+P2dr/ + kN7d/63n4//q+PT/9/r2//j8+f/4/fr/+f36//f++f/t/fn/2Pv4/7j08f+h7vD/juvz/2rg5f9G1d3/ + PdLb/znO0P80yMX/NcO//zXAuv8vvLP/Pbmh/1O0gv9osm7/b7Fm/2ivX/9hq1j/WqhR/0+jSP9HoEP/ + Qp9B/zucPP81mTf/Mpo0/y2XMP8nky3/JYws/w1sEP9MpUv/tvau/7vjuf+Cjob/R0VE/1FPS//Q0tT/ + 1tbX/97e3qrs7OwB+Pj4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyLjWSin6L/ + cXNy/0NGRv9kaWH/YYpc/zaNM/8Pcg//DnkT/xCFGv8Rjh3/Eo8b/xOOGv8SjBr/E4wa/xWNG/8Xjhv/ + Go4c/x2PHf8hkB7/JZEf/ymSIP8vlCL/NZYl/zyYKv9Dmi//Spw1/1OfPP9ZokX/X6ZP/2WpW/9prGj/ + cLF4/3m3iP9+vZb/g8Kl/4XItf+R2Nb/kd7a/6bm5P/g9PL/9vn1//j7+f/5/Pr/+P36//n++f/z/fj/ + 4/z3/8T29P+g7/D/f+fq/2ff4P9T2N//SdPb/0LP0f88ysb/PcXB/z/CvP84v7f/Qb2m/1K2hv9ermX/ + Zqxa/2CpUv9Ypkr/U6RG/0uhQf9GoEH/QqBA/z2ePf82mzj/Mps0/zCbMv8kkiv/JZEt/xyFIv8Xehf/ + nuKX/8Dovv98h4D/QUA//1tZVv/S09X/19fY++Tk5HL29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAIqJiw6knqLxgYGA/0NFRP9bYlr/XIZY/ymEKf8LdQ//EYQa/w+LHf8Pjxv/ + E5Ic/xSRGv8SkBv/E5Ac/xWRHP8Xkh3/GpIe/x2THv8glB//JJUg/ymWIf8umCP/NJkm/zubKv9DnDD/ + Sp42/1KgPf9Yo0X/XqdO/2SqWf9prWf/b7B2/3m2hf98vZT/gsKi/4TGsf+N1M7/lN7d/6Xm5f/Z9PP/ + 7/j2//T7+P/4/Pn/+v75//j++f/3/fn/7Pz6/8/3+P+n8PH/hOjq/2zi4v9k3OH/WNXZ/07R0v9Kzc3/ + TMnI/1DGwv9HxLn/S8Go/1q6if9WrFv/YatR/16pSv9VpUL/UaQ//0qgPP9Enzv/QJ87/z2fO/82nDf/ + MZky/y6aMf8qmzL/K5s0/yGQKf8OdxH/bLJl/8Tswv95hH3/NzY1/2VjYP/X2Nn/2dna8efn5y739/cA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpKqaj4+P/0RFRP9UW1L/ + WIVW/x16H/8NfBT/F44i/w2NHf8Iihf/E5Ib/xWTGv8Tkhv/FJIc/xaTHP8Ykx3/GpQd/x2UHv8hlR// + JZcg/ymXIf8umSP/NJsm/zucKv9Cni//SZ81/1GhPP9XpEP/XqdM/2SrVv9orWT/brBz/3e2gv97vpH/ + gsKg/4nHsf+Iz8X/mt/f/6bl5v/M8PD/5ff2//H7+f/4/fj/+v34//n9+v/7/Pr/8fv6/9X3+P+u8PH/ + j+vs/3nl5f9w3+H/Z9na/1nV1P9W0dD/XM/L/2HLwv9eyLb/YMOj/2O6gf9WqlL/YKpK/1ynQv9SpDr/ + SqE1/0afNf9BnjX/Pp83/zmdNf8ynDL/L5gu/zCdMf8voTb/K500/yCUKf8Zix7/Qog7/7zkuv9ueXL/ + NDMy/3l3c//d3+H/19fYyuvr6woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACzrK44m5qa+EdDSP9RVVH/T31Q/xV4Gf8OiBr/FZIj/w6PHf8KjRn/EZMc/xSUHf8TlBz/ + FJQc/xaVHf8YlR7/GpYe/x2XH/8hmCD/JZgh/ymaIv8umyT/NJwm/zqeKv9DoC//SKE1/0+iO/9WpEH/ + XadJ/2KqU/9nrmH/bLJv/3W2fv95vI3/gsKd/4rGrv+JzcD/mdzb/6nl6f+26ef/1/Xz/+z69v/3/PX/ + +v33//j8+f/5/Pr/8vv7/9f3+P+x7+3/mOrp/4vn6P+K5eb/f9/f/23Z1v9s1dD/ddHG/3/OvP93yaX/ + csOQ/2m3cP9bq0z/XalF/1WnPP9OpDT/R6Ev/0KgMP9AnzP/Pp80/zedMP8wmi3/Lpot/zOiNP8toTT/ + KZ00/yecM/8ili3/Jnwl/53MnP9iaWL/NzAz/5qXlf/e39/42dnacfDw8AYAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrq6cEq6qryFpQW/9NSU3/QG9C/xWEHP8OlBz/ + D5Qc/xCVHf8RlR7/EpUf/xOWH/8TmB7/FJge/xaYH/8YmR//Gpkg/x2aIf8gmyL/JJwi/yidJP8tniX/ + M58n/zihKv8/oi7/RqM0/02kOv9UpUD/WqhI/2CqUf9krV3/arJr/3O2e/93vIn/gMCZ/4rFq/+Gyrr/ + idPK/6Ti4/+p5OD/w+3q/+n59v/2+/L/+fz2//f8+f/2/Pv/7/v6/9j3+P+68PH/pOvr/5bm5f+Y4+L/ + luLi/4Xb2P9808b/Zr+Z/267if9ounX/X7Ri/2CvVP9frEn/WatB/0+oOv9KpjL/RaQu/z6hLf86oC7/ + PKAy/zmfMf8ynS7/MZ4w/zGhNP8xozj/M6M+/yqdOf8jlzT/G4gl/2WiZv9WVlD/OSwz/768u//Y2dfn + 39/eI/j4+AX4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + vry/a3tyfP88PT3/NWs6/xWJHf8PlR3/D5Ud/xCWHv8Rlh7/Epcf/xOYIP8SmR//E5kf/xWZIP8XmiD/ + GZoh/xybIv8fmyL/Ipwj/yadJP8rnib/MKAn/zahK/88oi7/Q6Qz/0qmOP9QqD//VqlH/12sUP9jrlv/ + a7Jn/3S2df92uoP/fL+S/4TEo/+FyLL/iM/B/5PX0v+a3d3/tOfp/9319P/1+/X/+Pz1//X7+P/d9PH/ + 2fT1/83x9f/B7vX/sent/6fm5/+f497/m+DZ/5XazP+DzKv/Zrl+/2e2cf9mtGP/ZLFY/1+uT/9brEb/ + VqpA/06oOf9IpjP/Q6Qv/z2hLP84nyz/N58t/zegL/8zny//MqEz/zOjN/80pTv/NaVA/y+hPv8qnTr/ + IpEt/zp8Pf84PTT/S0JH/97c3P/Y2daW4+TjCPj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAubi9HZ+aovA2PDn/K2gx/wyIFf8Plx7/EJge/xGZH/8SmR// + E5og/xSaIf8TmyH/FJsh/xWbIf8XnCL/Gpwj/xydI/8fnST/Ip4l/yafJv8qoCf/L6Ip/zWjLP86pC7/ + QKYz/0ioN/9Nqj7/VKxH/1quT/9gsVn/Z7Rk/3C4cf9zu37/eL6M/4DDnP+Ex6z/iMy7/4/TzP+T2Nj/ + p+Hh/8bp5P/v+fX/9vv3//L69//E6+L/suTe/6ng2v+y5eb/mdrR/5fbz/+P18T/fMyr/3XFmf9xv4f/ + cbt7/3C4cP9qtGD/ZLFW/16vTv9ZrUb/U6s//0ypOP9HpzP/QaUv/zyjLf84oi//NqIw/zakMv81ozT/ + NqU4/zimPf85qUH/O6pH/zenRf80pEL/Jp0y/y12M/8pMyf/gHt+/+fo59Pa3dsIAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrW6A8PByLNIU0z/ + HGAk/wyQGP8Qmh7/EZof/xGbH/8SnCD/FJwg/xScIf8TniL/E54i/xWeI/8WniP/GJ8k/xufJf8eoCX/ + IaEm/yWiJ/8poyj/LaMq/zOlLf84pi//Pqcz/0WpOP9Lqz7/Ua1G/1ewTv9dslf/ZLVj/2y5bv9wvHv/ + db+I/33Dl/+Cx6b/h8u2/4/Rxv+U19L/ot3a/7jl3f/f8/D/7/n1//L69v/M8Oz/tOfk/6nh2/+g3NP/ + mdnM/43Vv/+L0LL/g8qk/3vElf92wIX/crt3/224bP9otV//YrNW/1ywTf9Xr0b/Uaw+/0qrOf9FqTT/ + P6Yw/zmkLf83pDD/N6Uy/zenNf82pzj/Oag9/z2pQv8/rEf/Q69O/0CtTv8+q0z/K6c5/y2ANP8uPy// + ure58ejo6TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAMvK0F54h3//GWIj/xCbH/8QnB7/EZwf/xGdH/8SnSD/E54h/xSeIv8TnyT/ + E58k/xWfJf8XnyX/GaAm/xugJv8eoSf/IaIo/ySjKf8opCr/LaUr/zCmLf81pzD/O6g0/0KpOP9IrD3/ + T61E/1WwTP9as1X/YLVe/2m5af9svXb/c8CE/3vEkv9/x6H/hMqv/4zQv/+V1sv/odzV/7Lj3v/J7Of/ + 6fj0//H69f/N8e3/tern/6nk3v+f3dP/l9nI/4vTuf+Gzqv/gMmd/3nEj/9yv4D/brx0/2i5af9ktl3/ + YbRU/1uxTf9Vr0X/T60+/0mrOf9DqjT/PaYw/zekLf82pTH/N6c0/zeqN/83qzr/O6pA/0CrR/9Dr0z/ + SLJT/0axU/9Er1L/La48/y2FN/9ccF//zc7NfO3t7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/xQ2qta/0KHoz/wybHP8ToSL/ + EqEi/xKhIv8ToSL/E6Ai/xShI/8ToCX/FKEl/xWhJf8XoSb/GaIm/xuiJv8doif/IKMn/yOkKP8npSn/ + K6Yq/zCnLP81qC//Oaky/0CrNv9GrDv/Ta5C/1OxSf9ZtFL/X7db/2a6Zf9qvXH/cMB+/3fEi/97x5n/ + gMqn/4nOt/+S1MH/m9rO/6bg2v+z5d7/2fTu/+358P/Q8uz/terl/6fj2P+c3c3/k9nB/4fTsv+BzqX/ + e8mY/3PEif9uv3v/a7xu/2S5Y/9htln/XrNR/1ixSv9TsEL/Ta48/0isN/9BqjP/Oqgv/zWnLf81pzD/ + N6k1/zmsO/87rT//QK1E/0OsR/9Is1L/TrZb/063Xv9Rt17/Na5E/yyPOP+RrpXw4ubkGQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACyt7KpNI4+/weaGf8UpCb/FKQm/xOjJf8SoyX/EqEj/xKhI/8UoiT/FaMk/xajJP8XoyX/ + GaMl/xqjJf8doyX/H6Qm/yKlJ/8mpin/Kqcr/y6oLf8zqS//N6sy/z2sNv9Erjv/Sq9A/1CxR/9WtFD/ + W7dZ/2O7ZP9ovm7/bcF5/3PEhv93yJP/fMuh/4TOsP+N07n/lNfF/5vd1P+o49v/wevf/+b37P/Q8ej/ + uOri/6jj0/+c3sf/ktq7/4XWrf+A0J//esqS/3PFg/9vwHX/bbxp/2e4Xv9htlX/XLRO/1WyRv9QsD// + S686/0WtNf8/rDH/OKst/zOrLf80rDD/Oaw3/z2tP/9BrUT/R7BH/0euSP9PtVn/VLZl/1u9bf9lw3H/ + RKtQ/yuYN/+axZ7U9PHzCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcq55SMow8/QibGf8RoSP/EaEj/xGhI/8RoSP/ + EqEj/xKiJP8Toyb/FKMm/xWkJv8WpCb/GKQn/xmkJ/8bpCf/HaUo/yGmKf8lpyv/KKgt/yypLv8xqjD/ + Nqsz/zyuNv9Crzr/SLA//02yRf9RtEz/VrhT/127XP9jvmf/asJz/3HGf/92yo3/fM2c/4LQp/+K07P/ + kda8/5jbx/+g4NH/rubZ/8Lu5f+67OX/quXc/6Hgzf+a3cH/lNq2/4rXq/+F0p7/gM6R/3bJgv9uw3P/ + aL5n/2G5XP9dtlL/WbRL/1KyRP9NsD7/SK85/0OuNv89rDP/N6sw/zOrLv81rDT/Oq09/z+vQ/9Er0j/ + S7VO/0u0Uf9StVz/WLZm/2bDdf9uynr/Rq9T/zCcPf+Qv5TB8u/xAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXrJoR + L5E85QSYF/8QoCL/EaEj/xKiJP8ToyX/FaQm/xWkJv8UpSj/FKUo/xWmKP8Wpij/GKYp/xmmKP8bpin/ + Hacp/yCoKv8jqSz/KKot/yurL/8vrDD/NK0y/zquNP9Arzf/RbE8/0qzQv9OtUj/UrdO/1m6Vv9fvWH/ + ZcFt/27Gef9zyof/es6V/37Rn/+F06v/itWz/5HYvP+V3MP/m+DM/53j0f+X4tD/leDM/5LdwP+P2rT/ + jdiq/4fWof+F05f/gtCN/3jLgf9uxHL/Zr9l/126W/9atlH/VrRJ/1CyQ/9JsD3/Ra85/0CuN/88rjT/ + Nq0y/zatNP87rzz/QLFF/0SzS/9JtlH/T7xX/1K5Wv9at2T/ZLpu/3nOhP970ob/S7FY/zaiRP+XxZy9 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALps8tAKWFf8SoiT/E6Ml/xWlJ/8Xpyn/Gagq/xmpK/8UqCn/ + Fagp/xWoKf8WqSn/GKkq/xmoKv8aqCr/Hakr/x+pLP8iqi3/Jqsu/ymrL/8trDD/Ma0y/zavNP88sDf/ + QLE7/0a0P/9KtkX/T7hM/1e9Vf9fwV//aMdr/3DKeP91zIP/e86P/37Rl/+A06H/gdSo/4fXsP+L2rf/ + kN3A/4/ewv+B3Lv/hN27/4fbs/+I2Kj/ideg/4TUl/+A0o//e86F/3HJef9ow2v/Yb9g/1m6V/9Wt07/ + UrVI/0y0Qv9Gsj7/QrI6/z6xN/87sDX/Oa83/z2xPv9DtEf/R7ZN/0u4Uv9Ou1f/Ub9d/1e9Yv9lvWz/ + dcF7/47blv+F1o//TLFb/zumSv+j06unAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHpgsegaXFv8VpSf/ + FqYo/xmpK/8brC3/Hq4v/x+vMP8TqCn/FKkq/xWpK/8Wqiv/F6or/xiqLP8ZqSv/G6os/x2qLP8gqy7/ + I6su/yasL/8qrTH/Lq4z/zOwNP84sTb/PLI5/0K0Pf9JuEP/Ur1M/13EVv9jyWD/a81r/3TPdv94z4D/ + etCH/3vUjP951pT/eteb/3/YpP+C2ar/htyy/4jdtv983bP/ft2y/3/aqP+B2J7/gtaV/3/Tjf960YX/ + dM58/23Jcv9mxGb/X8Bc/1e9U/9Tu0z/TrlH/0i5Qf9Etz3/QLU6/zyyN/86sDj/PbE+/0O0R/9It07/ + S7lT/027V/9PvVv/Tr9f/1jAZ/9wxHb/g8yH/53lo/+L15X/TK9b/z2oTf+v4biYAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAF5EkPwqdHP8UqSf/GK4t/xurMf8mrDn/KbI7/ySzNv8aqzD/Gasw/xirLv8Xqyz/ + Fqwr/xerK/8Yqyv/Gqwr/xysLP8grC3/Iqwu/yWtL/8prTD/La4x/zCvMv80sDP/ObI2/z+0Ov9HuUL/ + UcFL/1vIVP9ezVr/Yc9f/2rQa/9y0Xb/c9J7/3HVff9v14H/cNiJ/3bakf9425j/fdyg/3/cpv993ar/ + e92o/3jZmv9315D/d9aK/3XUhP900n3/b9B1/2nNbP9ky2L/X8ha/1jEUv9QwUn/Sr9E/0W+QP9Buzz/ + P7c6/zuzOv87sjz/PrRC/0G1SP9EuE3/SbpT/068Wf9Svl7/U75j/13EbP92yoD/lM+Y/67ls/+F1pD/ + RLFW/0SmVf/B7shqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH5EuGA2gIO0OqiP/ErMs/xysNv85r1D/ + ObNN/y+5Qf8rsUH/J7E9/yKxN/8crzL/GbAu/xevK/8WrSr/GK0q/xuuK/8drSz/IK0t/yOtLf8nri// + Kqww/y2oMv8vpTP/M6Y2/zutO/9DuEH/TcNI/1XIT/9TxlL/UcFS/1O/WP9Zv2L/XsFo/17Ca/9gxXD/ + Zst4/23Tgf9v1Yf/cNCN/27LkP9nyZH/csya/2nMiv9r0IL/bNR//2vVev9r1HX/Z9Bt/1/JZP9Ywlz/ + U75V/1G9T/9KvUf/Rb1B/0G9Pv89tzz/Oa08/zanO/80pjz/NKc+/zWsQf89s0f/RblR/1G9W/9awWP/ + Yb5r/2jJdP+A04v/qdKv/7zjw/9204T/OLFN/16qa/jg/OYpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QKlPBQ2QG8cOpiP/C64k/xuyNf9Hwl3/Rr1Y/0DCUv85u03/NbpJ/y65Q/8otzz/I7Y3/x+zNP8asS7/ + HLAv/x2wLv8dry7/IK8v/yOvMP8lqTH/JZo0/yKGNv8gdzj/I3Y6/ymDPv8zm0D/QLRD/0m/SP9Er0n/ + OZFJ/zOASv80fU7/OH5R/zl/VP8+h1n/S55i/1y8bv9ixXb/Wa50/0uSb/8/g2z/Rot1/0Wdbv9bvXP/ + Z89z/2bTcP9gy2n/VbZg/0WcV/85h1D/NH5M/zSDSf83lUT/O6g//zu0Pf82pz7/LIw//yV4QP8jc0H/ + JHtA/yiRP/81qkT/Q7pS/1LAXf9dxGf/Y8Nu/2/Ke/+M1pf/suC5/7ruw/9uzXz/O6ZL/4PDjebb++IO + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOBIJAQoSP/C7Ek/xO1Lv9MzWT/XtBw/1TKZv9Hw1r/ + QsFW/zu/UP80u0n/L7pD/ym4Pv8ktzf/I7Y2/yK1NP8itDT/IrQy/yOxMf8gnDP/GHU//wxydv8Hh6j/ + B5C1/wqJpf8Wcmv/KH9C/zafQv8vikr/EYmc/wqQuP8KkLj/CpC5/wuRuf8Mkrv/H4eP/0aaXv9Ssmb/ + OZJ3/xWGpP8Mkb7/DY65/x2Gkf9KpmT/Xcln/1rKZP9Kqlr/MHdV/xh0gf8Mia3/CpC5/wuJrv8VdHr/ + JnVC/y6XPP8qkD3/E4B+/wiMsP8Hj7f/DIKc/x2EZv81pkj/R75W/1bFYv9hyWz/aMt1/37Pif+h26n/ + ve3E/67xuP9gxG//TqZb/6rdsbsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGPP1cUoCf/ + Dbcm/wq3Jv9Cy1r/ct+E/2jQeP9XzWr/Uspm/0vHX/9DxFb/O8BQ/za/TP8xwUT/Lr9B/yq9Pv8mvDn/ + JLs2/yO4NP8YjDH/C4CF/wKs4v8JbX3/EVtY/w1pev8DrOL/DYWa/yR0QP8jbkD/DH+Z/wC+/f8LiK3/ + FlVb/xhZXP8SbYT/EY+t/zmMUv9JsVr/N4VV/xdqfv8Avv3/BqLV/x5eTf9EqVr/Vchb/0u6V/8ve1D/ + C5W8/wC9+/8Dq+H/C4Wo/wuDpf8Epdn/C4yn/yF1Pv8kiDr/Flc+/wSezP8Avv3/EWl8/yZ6SP87sk// + TMRb/1vLaP9mz3L/cNR9/5DZmv+3477/v/TH/5Hmn/9TvWP/drp+/8fqym8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAG+8eR4bpS3/C7cl/wW7I/8xwUv/euKL/3vZif9q233/Zdh3/13Tb/9Tzmb/ + S8te/0XJWf88yFD/OMhM/zHHRf8qxD//JsM6/yC+M/8YjTT/EHyA/wlwfv8UZDv/H3dA/xZRQP8JfZv/ + Abby/xRhWf8cYD7/C32X/wC+/f8LgaD/IF1C/yh0Q/8hYUr/G4iH/zuZTP9Iu1H/OZRP/xhmcf8Avv3/ + B5vK/yNpSf9EtFH/TshR/z+pTv8cbWb/Abn2/wK07/8VT07/H2ZB/yJpQ/8WT0v/BZ7O/xRrWv8ghTj/ + FmI6/wSaxv8Avv3/E2h2/y+NTf9Dv1X/T8pg/1/QbP9q1Hb/dt2E/6Djqv/I587/vPPF/3PUgv9JuFr/ + m9Of6dfw1xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmpji5BK8X/wzEJ/8kuDz/ + atx8/4zkmf994oz/eN+O/2zbgv9k2nD/YNdv/1XNaf9IzV3/Q85X/zzMUP8zykj/LclB/ybCOv8npj// + HX9W/xNpUP8YZz//G2NC/xJOSv8Gkrv/AL79/w9obv8ZWjz/CnyW/wC+/f8KgKD/G1c//yNqQP8fd13/ + L4RD/0CxRv9Hw0r/OZtK/xhnbP8Avv3/B5rH/yZwRv9CuUj/SMdI/zadRv8Va27/AL37/wadzP8dY0D/ + LqQ9/zCqPf8gbz//CYWl/wxze/8afjf/E2g4/wSaxv8Avv3/EmV2/yp5T/8+qlf/UL5k/2XPdP9y1X7/ + hOCQ/63mtf/S7tf/re23/2DKb/9PuF//pt+shAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA8pUo8C6sX9grBG/8aui3/P8lS/5Dwn/+T3p7/i96g/4Lhl/933oT/ddt+/2fQdf9d1XD/ + V9Nq/03RYv9E0Fj/Ps1R/zrJTf8vsEb/IH9D/xFbVf8Ke5X/BprH/wKy6v8Avv3/Abbx/xJnW/8ZYjv/ + Cn2W/wC+/f8IiKv/EVJW/xFdZv8NkKr/LIc//z+7Qf9DxUT/NJtF/xZnav8Avv3/B5rG/yRwQf88uEH/ + QcVC/y+ZQv8Sa3D/AL79/waVwP8ecj3/L7Q5/y68N/8egTr/CH+W/wl4hf8VeTb/EGc3/wOaxv8Avv3/ + EWV7/xhbYf8mcGH/QIhh/2Kzdv9+0Yr/nOGl/7/qxf/H8s3/htiQ/1nBZv91w3/wxPLKKQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4y4YCKKY2rACzCf8QxiL/JLQ3/2jmfv+v6L// + n+ag/5jloP+R36r/gNyN/3fief9u3YD/aNt5/1/Ycv9V1Wj/UNVh/0jPW/85q1H/HXJe/wOt5P8Avv3/ + AL79/wGy7P8EnMn/DW95/x13O/8bcjn/CX2V/wC+/f8Dp9n/Bo+1/waVv/8LjKn/KIM7/zm4O/89wTz/ + MZk//xVnaP8Avv3/BpnG/yJvPf84tT3/OsA9/yuUPv8Qam//AL79/waQtf8ddjr/LLY2/yu9NP8chDf/ + CICV/wl4hf8TeDX/EGY4/wOaxv8Avv3/DniY/wmWxP8Dsuv/E4qt/0N7a/99xI7/rOWy/8b0y/+k563/ + aMh0/1SvYP+n266o4P/lBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QKNKLg6uGPQHxBT/G7Yu/ynHPv+s67T/tPG6/6fdsP+o5bb/memj/4vokv+D4ZH/fN+L/3Pcg/9o23n/ + Y9lz/1nSav8/nlv/FYCS/wC+/f8HmMT/E1pj/xdRRf8VUkL/GWhB/yCPO/8aejj/CH6V/wC+/f8GgJ7/ + DkU7/xBNPf8Kg43/HHo3/ySbNP8opzT/Iow3/w9lZP8Avv3/BJnF/xhoOf8moDX/JqM4/x1/Ov8MZm3/ + AL79/wSPtP8Wdjb/IbUw/yG8L/8VgzT/BoCU/wZ3hP8PeDP/DmY4/wOaxv8Avv3/E2N4/xxGTv8Sepz/ + AL38/x9/oP90rI3/tOW9/7fvvv971ob/W75o/3/DiPLh9ucUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcsV5AjOuO5sEpxD/Ebok/w/AI/9gzmL/rfjA/7zsyv+26rP/ + ruyx/6Dnsf+W46D/kOOc/4fgk/983or/ddyD/2nUef9Ko2X/G32Q/wC+/f8QaH7/GlJI/x5oSf8UYVr/ + DIqW/xmBPf8Scjn/BX2V/wC+/f8Df53/B1A3/wheNf8HWUD/B1o4/wZ0WP8Hdkb/B2My/wRcYP8Avv3/ + AZjE/wVQNP8HbC//BYVs/wVUNf8DYGr/AL79/wKPtP8IbDH/DK0n/wy0Jv8Jei//A32T/wN0hP8IbTP/ + CV43/wOaxv8Avv3/E2N5/x1GUP8YaYT/AL79/xKRwf9vnIv/ruO4/5fkof9WvmT/bcF4+Lzpwnfw+/MA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzCfCAtpzb3 + BbQS/xTFJv8Wuh//bt58/8P7zv/H7sr/uea+/7fuvv+p6rH/pOmt/5rnpf+P5Jr/iOKU/33eiv9iu3f/ + Nnps/weq3/8ImMb/GFJc/xhPUv8MfJz/CZO4/xtuQf8UYD3/B32Y/wC+/f8EgqL/B0M6/wdFOf8Dg6H/ + BFpi/wNxhf8EZHH/BUA3/wRaYv8Avv3/AZjE/wQ/N/8EQjj/ApG4/wRBOP8DZHH/AL79/wGYwv8GWzT/ + C5wp/wukKP8HZzL/An2X/wJ2jf8GUTb/CEo5/wOcyP8Avv3/FGR7/x1NW/8MlsT/AL79/x2Nt/95o5L/ + mNqk/2/RfP9SvGD/ldSeu+P86AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABnvmWMGawi/wy4If8JvBn/IL4g/43nl//b9Oj/0+3W/8T0x/+68MX/ + t/C7/63rq/+h6KP/muik/4/lnP9+1Ir/YKt5/zl4bv8Xiqv/Cp/P/wig0v8LmsX/GYSN/yh7Sv8Xe2z/ + CJG2/wSfzv8En87/A5/N/wKfzf8CoMz/BWFl/wRvfP8Cn8z/Ap7M/wGey/8Bnsv/AJ7L/wGezP8Bnsz/ + ApW+/wNXW/8ChKP/AZ7M/wKXv/8Ee2//CZEr/wmXKP8FfWD/ApO2/wKPsf8GWlT/B298/wWYxf8Gn9D/ + CKDR/wmg0/8Mn9P/IIuz/1SDgf+AvpP/d82C/1e8Y/92yYHpxPbMOAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC73b0bb8V33g+iGP8OtxP/ + Brsb/x+2Mf+n56D/6fzo/9bv4f/O7tP/y/LM/73su/+37rj/r+qz/6Dip/+Z4aL/itKW/3G2hf9WlHP/ + SIBp/z96Yv9AhGD/RZlg/0KlWv8zkVD/J3hK/yBtRf8dbEP/GWw//xVsO/8QdDb/D38y/w96Mv8NbjL/ + Cmgy/whnMP8FZS7/A2Us/wZmMP8IZzD/CGsw/whvLv8IbC//CGgv/wltL/8Jgij/CJ0h/wihIf8Iiij/ + CHMu/whwMP8QdzX/GnU+/yVvS/8ublT/NnRa/z12YP9QfnD/apeE/3Oyhf9nyXf/XsFp/3vCgPS04LpT + 5/vsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAsOy2PV29ZOIIsA7/DKcr/wqxGP8isx3/meGd/+b15//r8eX/3/jk/9H32//B7sn/ + wevC/7ztvf+s6rL/pOes/5ffof+H05T/fcuM/3THg/9wyH3/as14/2HMbv9TwmT/TLtd/0G1VP88slD/ + NrFJ/y2vQf8lsTn/IbQ2/xqtMP8XqS7/FKYs/w+lJ/8KpCP/BqMg/wmjI/8JpCL/CKUg/wilHv8HpB7/ + CKQe/w2lI/8LqB//C64e/wyxH/8PrSP/EKon/xKnK/8dqjT/LqxD/0OyVv9St2X/YLtx/2u+ef9zyYH/ + eNKH/2/Kev9hvm3/dL177KrerVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKzjtSZDrUjODZkJ/waxF/8BqBH/ + H60g/4Tbiv/c9eb/7Pro/+v13//i9t7/0vXe/8Tv0f/B7cT/uuu9/6/otP+k5av/nOOk/5XgnP+N3JT/ + hdqN/3rWg/9u0nj/aNBy/1zKZ/9Vx2D/TMZY/0LCT/83wEX/Mr1B/yi6Of8kuDX/HrYw/xi2K/8StCT/ + DbMh/wqzHf8Ksxz/CLIZ/wexFv8FsBT/BrEV/w2yHP8OsRv/D7Ac/xKyH/8Ytib/HLcp/yG1Mf8uuj3/ + QsFP/1jIY/9mznH/dc99/3vRgf9y2nz/ZtVz/16+af9zwX7aks+YOQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACGvH8YOpw4pgaNCvwLpRf/AqUI/wutD/9gwGX/zfHO//r5+P/19PX/2Pvd/8320f/W7tb/ + zezP/8Lpxf+357v/sOS1/6ngrv+i3Kb/m9uf/5DWlP+E0on/fdGE/3LLef9qx3L/YMVq/1TAYP9JvlT/ + QrpP/zu6SP84uET/MLY+/yi0Nv8isjD/HLAr/xKvIv8RriD/Dqwc/wyqGf8JqBT/CqkU/wysGP8Oqhr/ + Eakc/xerIv8fsCn/JrEw/zS0QP9Bu0z/UsJc/2PIa/9ty3b/dsx9/3rQgf9ty3X/W7dl/Wi0cbuQzZkg + t+2/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcK56CDiXM3ALjhT0B5wV/wqnCf8Onwv/ + RKxN/6bftP/p/PD/7Pfm/+r04f/o9Of/3/Pf/9Tv1v/K7Mz/wunG/7zlv/+14Lf/rt+x/6Lapf+X15v/ + kNWV/4fRjf+Azob/dMp9/2fFcf9bwGb/Vb5g/068VP9JuU//QrZI/zm0QP8ysDn/LK80/x2sKv8aqib/ + F6gj/xSlHv8Soxr/D6MY/wqnFv8NpBj/EqQb/xymJP8kqyv/Lq82/0O3TP9Qvln/XsNm/2vGcf9xxXb/ + ccl3/2vHcv9ksWn3baxziIjAjw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAjmzgzGoQbwh2AGf0MnRD/ApcE/xegGf95x3n/0ejQ//n3+P/4/Pj/8Pfw/+bz5//c9N// + 0/TW/8zxzv/F7MX/vOe9/7Titf+s3q3/pdil/5janP+Q2ZX/hdOM/3rOgf9vyHb/acVx/1+9Y/9bu13/ + VLhX/0u0T/9BsEX/Oq0//yusNP8oqi//I6Yq/x+jJv8anx//Fp4b/w6lFv8QoRf/F6Ac/yGkKP8sqDH/ + O65A/1S4Wv9dvWH/ZcFq/2zDcP9twXL/ZLtr/lWqXdJYnV5AiLmMAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATIVKDyd3JXQHgAbpAosD/weaC/8Igwn/ + O5w5/5/Snf/j8+P/+Pv3//T08v/w9u7/6/rr/9/33v/V8tH/zOvI/8nrxv/D58D/tdqy/6vbq/+l2qf/ + nNOe/5LMlP+Kxoz/hcSJ/2+8df9nuW3/YLZl/1i0XP9TtFf/T7RT/z2pQf85qDz/NKY2/y+kL/8ooin/ + IqAk/xeeHv8anSH/IJom/ymcMP89qUT/ULJU/2K2Yv9kuGX/YbVk/2i6bP9kuGjuWqhgh2edbhYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAcgRwoCG0IoAaCCfgHkAv/BIUF/xSAFf9Dl0P/mdGX/97w2//3+vT//fT4//nu9v/z7PD/ + 6ezn/9/w4P/R79P/wOfE/8TgxP/D3cT/uNi5/6vRrf+dyp//lsaZ/4fMi/+AyYP/dMN3/2i9av9dtl7/ + VrNY/1exW/9OrFL/Q6dG/zijOf8vojL/K6Eu/x+SKP8gkCr/K5c0/zqjRf9CqE//SKlR/1OtVv9gsmL/ + Zaxo/FmZXLFlpGcxZ6xrAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5FCAQpqCy4DcAOqBn0G9AaEBf8Hgwb/ + EXoQ/zOCMf+Atn7/v+S9/+f55//3+/j/8fXy/+nv6v/i7eT/3+vh/8vkzf/C4sT/uuG+/7DgtP+k26n/ + mteh/57Ln/+dyZv/lMeT/4nBh/99unr/dbZy/2iyav9js2b/WK9b/0OkRv8pkiv/H4oh/zCSL/81lTT/ + PJs+/0ejSf9RrFX/WbBc/1mqW/hWnle0VZFVPmqXaQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQZxAECV8JMQZqBpUHcAXoBnAF/gNyBP8Hcwj/HH8d/06YT/98uH7/qtmr/9Xx1f/v+O3/ + 9fbz/+rv5v/l7uH/4e7e/9jp1f/J38n/wNjA/7nUtv+xz63/p8mh/5vElv+Uwo3/kMKJ/3bCdv9brFz/ + PpM+/yyGK/8piCj/Lo4r/zWRLP8/lzf/TZ5G/1agTv9QlknsSY9FpFKSUztQjlEGAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZxwbA1YEaANkAsEFdAb7 + B3YG/wVqBP8HaQf/GnMZ/zN+MP9WkVD/dahu/5/Dmv+v0Kv/vtu5/8jjw//M48b/y+HF/7Tgsf+p2qb/ + mc+V/4C9fP9nqWL/U5lO/yJ+If8fehz/IHsc/yZ/If8vhij/NIwu/zSNM/9AkD/8Q4hBzUaBQXVVikwg + Wo9TAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGWAUgCF8GagZlAq4EaADiB2sC/AJoAP8AZAD/BGgD/wpmCf8MaQz/ + EXER/xh1Gf8edR7/H3Me/yJ4I/8fdR//F3EX/xJvEP8QcA3/D3MN/xF7Dv8WexH/HHwW/yN8HP4sfSHl + M4Mrtit/M3Ukcy0mLnQ2AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAIATwAS + CF0INgJcAWMBWwCbAFsAvgFgAd4BXwHrAV0B8gFcAfgBXwH8AmIC/gNlAv8DZAH8AmMB+QVlAvMMagbs + D20K4QhjA8MQaQmfHXMWaiR3Hz0YZxETDF0GBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVeFAcRWxAYClcJJgVVBTICVQI6 + A1cEPwZYAz8HVwM7ClkGMxBcCygZYhUaHmcaCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////// + ////////////////////////////////+AAAP///////////wAAAB//////////+AAAAAH/////////w + AAAAAB/////////gAAAAAAf///////+AAAAAAAH///////4AAAAAAAD///////wAAAAAAAA///////gA + AAAAAAAf/////+AAAAAAAAAH/////8AAAAAAAAAH/////4AAAAAAAAAB/////wAAAAAAAAAA/////gAA + AAAAAAAAf////AAAAAAAAAAAf///+AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAD///4AAA + AAAAAAAAB///wAAAAAAAAAAAA///gAAAAAAAAAAAA///gAAAAAAAAAAAAf//gAAAAAAAAAAAAf//AAAA + AAAAAAAAAP/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/8AAAAAAAAAAAAAH/8AAAAAAAAAAAAAD/8AAAA + AAAAAAAAAD/4AAAAAAAAAAAAAD/4AAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAfwAAAAAAAAAAAAAA/4AAAAAAAAAAAAAB/4AAAA + AAAAAAAAAB/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAB/+AAAAAAAAAAAAAD/+AAAA + AAAAAAAAAP/+AAAAAAAAAAAAAf//AAAAAAAAAAAAAf//AAAAAAAAAAAAA///gAAAAAAAAAAAA///gAAA + AAAAAAAAA///gAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAA + AAAAAAAAB///wAAAAAAAAAAAB///4AAAAAAAAAAAD///4AAAAAAAAAAAD///4AAAAAAAAAAAD///8AAA + AAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///+AAAAAAAAAAAP///+AAAAAAAAAAAP////AAA + AAAAAAAAf////gAAAAAAAAAA/////gAAAAAAAAAA/////wAAAAAAAAAD/////4AAAAAAAAAH/////8AA + AAAAAAAH/////+AAAAAAAAAf//////gAAAAAAAA///////wAAAAAAAD///////8AAAAAAAH///////+A + AAAAAAf////////gAAAAAB/////////8AAAAAH//////////gAAAA///////////4AAAH/////////// + /4AH//////////////////////////////////////////////////////8oAAAAQAAAAIAAAAABACAA + AAAAAABAAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKED09PSY1NTU2 + LS0tPi0tLT06OjozS0tLIVhYWAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAPJSUlTiQkJIwjIyPA + IyMj6SwsLP84ODj/QEBA/0dHR/9FRUX/Ojo6/ywsLP8nJyf8Jycn4SwsLLMqKip9Ojo6PVZWVgYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpChkZGVksLCy1 + Nzc39lBQUP9jY2P/c3Nz/4KCgv+Li4v/k5OT/5iYmP+ZmZn/nZ2d/6Kiov+jo6P/np6e/5qamv+Dg4P/ + Xl5e/0VFRf8pKSntJSUlnzY2NkFXV1cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4U + ICAggjQ0NOpTU1P/b29v/3Z2dv9/f3//h4eH/5CQkP+dnZ3/paWl/7CwsP+6urr/wMDA/8DAwP/AwMD/ + wMDA/8DAwP+6urr/tLS0/7W1tf+qqqr/oqKi/3p6ev9AQED/JSUl1ScnJ2RPT08HAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACYmJgooKCh7PDw88WRkZP9ubm7/d3d3/4eHh/+RkZH/q6ur/8nJyf/e3t7/7Ozs//Ly8v/39/f/ + +/v7//v7+//6+vr/+fn5//n5+f/x8fH/7+/v/+np6f/g4OD/1dXV/8PDw/+6urr/r6+v/5SUlP9OTk7/ + IyMj3CwsLFhEREQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACIiIkU9PT3bXV1d/2VlZf9tbW3/h4eH/62trf/R0dH/7+/v//v7+//+/v7/ + +/v7//39/f/+/v7//v7+//39/f/9/f3//f39//7+/v///////v7+///////+/v7//v7+//n5+f/y8vL/ + 5ubm/9DQ0P/BwcH/tLS0/5OTk/9ISEj/IiIivCwsLCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjBzMzM49RUVH8ZmZm/29vb/+Hh4f/ubm5/9zc3P/z8/P/ + +Pj4//b29v/y8vL/7Ozs/+fn5//k5OT/5OTk/+bm5v/n5+f/6+vr/+7u7v/09PT/+fn5//n5+f/9/f3/ + /v7+//7+/v/7+/v/+/v7//z8/P/5+fn/8fHx/9vb2/+/v7//sbGx/4GBgf8xMTHyIiIiYAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpGUBAQMRZWVn/YWFh/3t7e/+srKz/ + 39/f/+7u7v/s7Oz/4ODg/87Ozv/Hx8f/yMjI/8jIyP/Ozs7/1NTU/9jY2P/e3t7/5OTk/+np6f/t7e3/ + 8fHx//X19f/29vb//Pz8//7+/v/8/Pz/+/v7//39/f/8/Pz//v7+//z8/P/6+vr/6urq/9XV1f+6urr/ + oaGh/0tLS/8jIyOXNTU1BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExJ0ZGRt5iYmL/ + aWlp/5aWlv/MzMz/5ubm/9ra2v/IyMj/ubm5/7a2tv+9vb3/xcXF/83Nzf/b29v/3Nzc/9ra2v/c3Nz/ + 29vb/9ra2v/W1tb/1NTU/9bW1v/Y2Nj/39/f/9/f3//h4eH/6urq//Pz8//8/Pz//v7+//39/f/4+Pj/ + +/v7//z8/P/6+vr/5eXl/8jIyP+2trb/YmJi/yEhIbgxMTENAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + MTExKklJSeZcXFz/cnJy/62trf/d3d3/0dHR/7m4uP+pqaj/r6+v/7q6uv/Ozs7/2NjY/9ra2v/P0ND/ + t7e3/5ydnv+Fh4j/dXh6/2lsbv9cX2H/WVxf/11hY/9obG3/c3V2/4GBgf+RkpL/q6ys/8HDw//V1tb/ + 39/g/+np6v/y8vL//Pz8//7+/v/8/Pz/+fn5//b29v/p6en/1tbW/7i4uP9tbW3/IyMjwkRERA4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAOzs7IEtLS+NdXV3/eHh4/8DAwP/S0tL/tLS0/6Wlpf+rqqr/t7e3/9jY2P/g39// + xcXF/5ydnf9tb3D/UlRW/zo7QP8yMzr/MDM6/y00Of8vNj3/MztC/zc9RP8vOD7/Mzo//zw+Qf8/P0H/ + Pz9C/zg+RP88RU7/WmJn/4OJiv+1uLf/2NrX/+Dg4P/w8PD/+vr6//r6+v/19fX/9fX1//X19f/Y2Nj/ + vb29/3Nzc/8nJye8TU1NBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyEEJCQtNbW1v/goKC/8DAwP+/v7//nJyc/52dnf+1tLT/ + 19bW/9HR0f+kpKP/bGxr/0NDQ/8pKiv/MzU1/09RT/91d3X/l5mX/6+1sv+3w7//vsrH/8bRzv/J0tD/ + xs/O/7/Ix/+8xMP/rLOz/5afnf9tfXv/PFRS/yQ0Ov8gLTT/OEBF/2Zoa/+en5//0dHR/+Tj4//v7u7/ + +vr6//n5+f/u7u7/8vLy/97e3v+6urr/bGxs/zExMaFsbGwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwAjw8PK1dXV3/fHx8/7m5uf+np6f/ + j4+P/6Wlpf/T09P/0tLS/6Cgn/9iYWH/OTg3/ycpJf9UWFT/mJyZ/8XHx//RztT/0dPW/9HX1//R2Nj/ + 1tzc/9jf3P/X4dv/2N/d/9ff4P/W3t//1N3e/9PZ2//W2Nv/0tTV/9HQ0f+6wsH/j5ud/09bYP84PEL/ + PDs8/2FgYP+bmpr/0tLS/+np6f/29vb/+Pj4//Ly8v/s7Oz/3Nzc/7q6uv9WVlb/REREbwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3N2pUVFT/ + eXl5/62trf+hoaH/lZWV/7Kxsv/Z2dn/ra2t/2xsa/83Nzb/Li0t/3Z3df+4vrj/z9XQ/8PKxP/P1s// + 0tzS/8/g0v/D3Mn/tda+/6/Uuf+n0LH/os+s/6LQsP+cz7H/nNGy/6XWuP+u2sD/u97I/8jg0P/Q4Nb/ + x9PJ/8vWz//P2NT/usDB/3x7fP88Ojr/PDw7/2ZmZv+zsrP/3t7e//Hy8f/5+fr/8fHx/+np6f/S0tL/ + rq6u/0pKSvhpaWkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADg4OCRJSUnzZmZm/5iYmP+Tk5P/k5OT/8HEv//Ky8j/jYuK/09MTv8uKzb/cnFt/7/Au//KzMv/ + v8a7/77Mvv+1y7r/pcSq/5bDmP+Kv4r/gL+B/3a5ff9ss3z/aLR8/2Kzef9csHv/TrB8/061gP9SuoL/ + XcCF/2HAgv9vx43/ec2V/5bNpP+s1bX/vtfH/8POy//K1sz/ycjG/3hzdf80NjP/RkpF/42Ojv/Mysv/ + 8u7s//j4+P/t7e3/4uLi/87Ozv+Wlpb/WFhY0Z6engYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABDQ0OzXl5e/4GBgf+Tk5P/k5OT/8bGx/+2t7j/dnZ3/zw8PP9JSEb/ + sLOq/8DHwf+0wrf/q8Kx/5K5m/+Csn3/ebRq/22nXf9hk17/T4Bc/0p6YP9BfmH/PoVi/z+Mav9Dk3D/ + QJly/yeYbf8al2v/EZdn/xeYZP8dmWD/LKRk/0C0b/9QwXL/W8Rz/3jOjf+N0p7/rda0/77Qvv/Q0s// + rq2u/09NTP88Njz/dXBz/8vIxP/p6en/+Pj4/+np6f/Z2dn/u7u7/3Fxcf+KiopzAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8PDxGUFBQ/3R0dP+Tk5P/jo6O/8fHx/+sq6z/ + cGxy/zg5O/9vdXT/u8K9/6+2rv+btaL/iLOD/3msZ/9qnl3/UHtK/z1bO/84XD7/Qm5M/0uIV/9Xm2D/ + WKdq/1ivdP9YtHj/Wrp8/1i6g/87tYL/KLSB/yKzf/8js3v/H7Bt/yCtZ/8RoVj/FqVS/x+nUP8+t2H/ + Xcl1/33Qi/+d1p7/rc6s/7vJuv/Cw73/bmxt/zY0Nv9wbmv/uLi4/+7u7v/z8/P/6Ojo/9DQ0P+np6f/ + f39/8M7OzhUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkoBRkZGyGZmZv+Li4v/ + iIiI/8TExP+kpKT/bWxt/z46O/+IjYj/uca7/56vnv+Nrov/aqVk/12VU/9BYjj/KUAn/y9PKP9BczX/ + SodB/1KcUf9aqGL/X7Bs/2K2e/9kvIf/ZcGO/23HlP9qyZn/R8iZ/yjEkf8dwof/IcKE/yLCf/8txIP/ + I792/yK5bv8hsmP/JKxc/yirVf9DvV7/ddZ2/4bSgv+c0Zn/sMyt/77Pv/+EiIf/NTA0/2xsbP+5uLj/ + 6+vr/+/v7//e3t7/xsbG/4qKiv+ysrKKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QEBAQ1dXV/94eHj/i4uL/7GzsP+trqr/cW9u/0hER/+PlIr/t7+o/5aykP9vonb/YpxU/0BrOP8dNBn/ + JEUh/zBoJP9AfzD/SZE3/06bQ/9YqVj/YLZr/2TAev9txIv/ccaX/3LKn/92zaL/dNCs/03Nqv8uyKL/ + Lcqh/yvNmv820p3/OtOY/zLSi/8ny33/Lcp5/zLEdP8wvGj/MLZY/0u1UP9rymD/dddt/4rTg/+fyqP/ + wNC9/5GRif88Pz3/b3Nw/7u8vP/x7vD/6Ojo/9DQ0P+rq6v/pqam8fPz8xEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAEhISLJmZmb/jo6O/52dnf+5urn/dXV1/05OT/+Hh4f/rbmw/4ekjf9sn2b/ + UY09/yRGHv8WLxP/IlYd/ytwJP8ugSb/P480/0qYPv9SnEr/Xp9e/2qkdv90qov/dbGZ/3K4pf90vq7/ + d8S2/3DEuP9UwLn/O724/zvAu/8zwK3/Qcay/0zJr/9HyKL/P9SX/zjUiv870oD/O9Jy/zvKYv9Vw1j/ + V7pL/1W/Tf9t1Gb/gtF//5rJkP+3xbf/f4B//0FBQP+AgID/0M/Q//Dw7//f39//xMTE/5ycnP/i4uJe + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKShlOTk76dXV1/4uLi//CwsL/f32A/1ZWW/9yeHb/ + rbqr/4Gjhf9go1r/PXs2/xYsEP8RLg//IFga/yZ0G/8tgCL/PIUv/0KEN/9Jgj//UYVJ/2OSW/9up3b/ + gb6X/47Lq/+R07r/j9bC/43ZyP+I2cr/d9bO/1XQy/9Fy8X/QcnB/0LHvP9Oyb3/Tsew/0zEq/8/wJT/ + SMeI/1DPe/9J0mX/YtVh/2DKU/9UvUz/SL4//2HUVv992G7/lsmb/7nJtv9rbmj/VVRU/4yRjv/i4uL/ + 7u7u/8/Pz/+lpaX/x8fHdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBvXV1d/4WFhf+np6f/ + mpqZ/2tpZ/9dX2L/orCh/42ogP9Zm1n/OWss/wwlB/8TKxL/FVgO/yN0Fv8seR7/MXEk/zh0LP9Cfzb/ + WJdI/2utW/98uWv/hcSE/4/Ppf+X07b/m9fD/5nZyv+V2c3/kdnQ/4HX1v9aztD/QMfL/z/Hyv9Cycf/ + SMnB/0zJvf9BwrD/Obyb/zi4hv89tXb/Prpo/2LQaf9r1ln/YtFS/1PBQf9Cvjz/VdFK/3XYbf+Vz5P/ + p76k/0pLSv9na2n/p6en/+7u7v/X19f/vLy8/8TExNPy8vIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCvm9vb/+Ojo7/tLS0/2trav9cXFn/mJya/42nif9onln/OX0y/wwXCv8OLwf/F14P/yFwEf8caxD/ + ImgX/zV3Kf9JlDr/WKJI/2GoUf9hp1H/a6NZ/3Wqc/+Lv6T/nMy9/6PUyf+n2dL/q97a/6je3P+X2+H/ + as7Z/0TC1P85wND/N77N/zu7yP83t7//IbSs/x2wnP8dqYH/KKpy/y+sZP9HtGD/X8Fd/2fPV/9W0kX/ + S8FA/0K8N/9X2k3/e9dz/5/RnP+Rm5H/UU1Q/3d3d//U1NT/4uLi/8XFxf/ExMT/8fHxEAAAAAAAAAAA + AAAAAAAAAAAAAAAAampqAUhISPd2dnb/oqKi/46Ojv9hYWH/cHFu/5itmf9un2r/QIM2/xArCf8JIgX/ + GFQK/xdmD/8XYw3/JnEX/zeCJ/9FkTb/RpM3/0qQO/9WlkX/YJxN/2mcVf9wpGf/ebCG/6XSxP+03s// + yufe/9Ds5P/C6Of/qOPn/3rX5P9Ty9r/N8LR/y67zP8zusz/NrbH/yKrtv8WoaD/F5uI/xmVbv8bmFn/ + IJhU/0WuXP9hu1b/V8VJ/1XOR/9BwDH/QsEx/2LbWP+B1H3/qcio/2VkYv9lZWX/oKCg/+jo6P/Nzc3/ + xcXF/+3t7RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSUlL/hYWF/6mpqf9iYmL/ZGRk/5agk/9woG7/ + RYtC/xhME/8JFwT/CkoI/w1eBv8ZZQr/IHEY/y1+IP80hSH/OIcm/0SOM/9RlT7/U5I9/1iRP/9mmlD/ + c6Rl/36ugv+gzrz/yOfY/+Pv5P/q8+r/3PPw/7zp7f9/2OT/ZNLj/0nM3P9CxNn/Or/P/zG3xf8nrbv/ + HqWr/xibk/8Wknb/GI5d/xyPU/85lE7/XKZT/1+vVP9Ov0P/Sck6/0G5LP9C0Dj/beNm/5zbl/+OoIv/ + Wlla/3Nzc//d3d3/0tLS/8bGxv/k5OQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX19f/5OTk/+ZmZn/ + Wlpa/3Fxcf+Oo4r/UpZN/ytvJf8IGwX/BzoC/w1gB/8SaBX/H3gQ/yF4Ev8rgRz/MoYi/zqIJ/9HjDH/ + TIwz/1SPOP9glUT/aptV/3enbf+BtIv/ptLD/9Tr4P/n8ef/7fXt/+n39P/V8vL/m+Tx/2jU5/9Uz9// + V8ze/03H2P83vcr/K7TB/ySstf8cpJ//F5qC/xeQZf88m2D/XKFe/1yeVP9Tmkv/TqFE/0q0QP9Bwjf/ + OL4q/2HkVP+D3Xz/o8qg/2hmaP9hYWH/vLy8/9vb2//Gxsb/3NzcKAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAGlpaf+Xl5r/g4WA/1hbXP+BioD/b5hp/z2MM/8QPA7/CTMG/wdcAv8Tbw3/GHoX/xZ9Df8jgRb/ + LIUe/zOIJP85iCT/Q4oo/02OL/9Wkzn/Y5pI/2ygW/94rHf/g7qT/53PvP/b7uP/7PPq//H38f/z+fT/ + 6vn0/6zq8v9l1uj/V9Pg/2bV5P9b0OH/OcTP/zO7x/8vtL7/I62q/xmhhP8emWz/X6xx/2qqY/9hpFv/ + UJlK/0yYRv9Bmj3/OaU2/z+/KP9FzDr/e+dw/5/Ymv98inn/XVZc/5OWlP/i5OL/ycnJ/9zc3CkAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABubm7/nZ+h/2xuaP9bX2D/f5d+/1iRUv8keR3/AzgF/wpTCf8ObQz/ + F3oU/xeAEv8Vfw3/IYEW/ymEGv8yiB//OIkh/0OMJ/9OkTH/V5Y9/2KdTf9rpGL/ea9+/4S8l/+Tzbz/ + 1Ovh/+316//x+PP/9vr1//f7+P/J9Pf/Z9rm/1vV4f9j2eb/UNLh/znH1P83v8r/NbjD/yWvr/8cpI3/ + OqV4/3CzeP9vrmj/Y6de/1OeTv9Gl0L/PJQ5/zOPMP85pSz/N7gq/3rxZ/+X4pT/mLKT/15VXf90enf/ + 293b/83Nzf/f398mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXV1/5+jpf9ZV1T/ZGpm/3Kabv9BiTf/ + EGMO/wlSB/8RcBT/FX8W/xmCF/8YgxX/GYIT/yGDF/8ohRn/MYgd/zuLI/9Ejyr/T5M1/1qZQv9kn1P/ + bKdn/3uxgv+GvZn/icm7/8Lm3v/p9e3/8Pj0//T79v/6+/r/2/f3/43m6/+B4uz/cN/s/0XR3f85yNf/ + OMHN/zW7xP8ps7X/Kqya/1mxgP93tHb/cK5p/2OnXf9VoVH/SJlD/zqRN/8wjC//K4Er/zGlJP9t5lf/ + jOaN/6zNqP9fXF7/XGJf/9nZ2f/R0dH/4eHhIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8fP+Um5z/ + V1JR/252bf9hmFr/L4Uj/wpjDP8VcAv/Cn8R/w+EE/8ShBP/GIUX/x2HGf8ihhn/KYgc/zKLH/87jiT/ + RZIt/1GWOP9bm0X/ZqJW/26pa/98s4b/hr6d/4jIt/+j3Nj/2fPt//L59f/z/Pf/+fz4/+f7+v/C9fb/ + qO/x/5Dn8P9X1+H/O83Z/znFz/82vsX/Lbi6/zizoP9ktYH/eLRz/26vaf9iqV3/VaJR/0qdRv8+ljv/ + NJEz/y2MLv8afRn/Vr9J/5Hrjv+t2Kv/aWpp/01TUP/W09X/1dXV/+Tk5B8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAB9fX3ylJmb/05PTv9ud2n/UJRI/yZ/Hf8JbQ3/D30R/wuGE/8PhRT/EoYW/xeHGf8ciRv/ + IYkb/yiLHf8wjiD/OpEm/0WVLv9RmTn/W55H/2alWf9uq27/fLWI/4O+nv+My7n/ldzi/8Dr5//z+fb/ + 8vz3//n99//w/fn/1/j5/7Hy8P+m7PT/ad7k/z7S2v87ytL/N8LH/y68vP80t6j/X7WE/3Wzcf9tsWj/ + X6pc/1OkUP9In0X/P5s9/zSWNP8tlSz/H4Ql/y+ML/+c7Zf/sd+u/291cP9OT0z/ysrM/9TU1OPq6uoO + +Pj4AgAAAAAAAAAAAAAAAAAAAAAAAAAAiIiImZiam/9HTUv/aXRl/0mTQ/8adRX/C3gQ/w2HGP8Qihj/ + EYkY/xSKGf8Xihr/G4sb/yGNHP8ojx7/MJEh/zqUJ/9FmC//UJw6/1uhSP9lp1n/ba1u/3q2h/+Cv57/ + icm3/4/b3v+p5eH/8Pj1//b8+P/5/fn/9v75/+X8+v+89fP/ou3y/3Xj6v9D1N3/O87U/zbGxf8zwLz/ + Mbqv/1G1if9tsm3/a7Bj/1+qWP9SpEz/RqBD/z6dPf80mTX/L5gx/yeRLf8Vdhn/eMp1/7nntf9xeXT/ + S0lG/9PU1v/W1tbH7+/vAfj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAIyLjDObmZv/S05O/2NwYP9AjTz/ + DnQQ/xCEGv8Rjx3/E48a/xKNGv8Vjhv/GI8c/xyQHf8hkR7/KJMg/zCVI/86mCn/RZsx/1CfO/9ao0f/ + ZKlY/2qtbP93tYT/f76Z/4TGsP+R2tf/n+Th/+X28//3+vj/+f35//n++f/x/fj/z/j2/5nu7/9s4eL/ + Vdjf/0fR1P9Aycf/Q8O//zzAtf9QuY//X61g/2KqUv9Wpkf/TaJB/0WgP/8+nz7/NZs3/zCbMv8llCz/ + Io0p/zCNLv/A7bz/aXBs/1JPTP/W1tj/3Nzbkfb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + qKKlzFRVVP9ZaFj/MIIx/w9/Fv8RjR//DI0Z/xWTG/8Tkhz/FZId/xiTHf8clB7/IZUg/yiXIf8wmST/ + Opwp/0SeMf9PoDv/WaRG/2OqVf9qrmj/dbR//32/lf+Gxq3/jdTO/6Lk5P/W8/P/8Pr4//n9+P/5/vn/ + +fz6/9z4+f+l7/D/e+Xn/2vd3/9Z1dX/VNDP/1zLxP9YxrP/YL2M/1mqUv9eqEb/UqQ7/0igN/9Bnzf/ + PJ43/zKbMv8vmjD/LaA1/ySWLf8bgh3/pdKg/11lYP9eXFn/2tvd/93d3UUAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAALKvr2ZhXWH/UltS/yR+KP8Pjh3/EJIf/w2RG/8TlB7/FJYd/xaWHv8Zlx7/ + HZgg/yKZIf8omiP/L5wk/zieKf9DoTH/TaI5/1elQ/9hqVD/aK9j/3K1ev96vZD/icWp/4rPxP+l4+X/ + uern/+f59v/4/PX/+Pz5//j8+//e+Pn/re7t/5Do5/+N5OX/d9vZ/3LTzP94yrH/cMST/2q4cf9dq0n/ + Vqg9/0ukMv9CoS//P6Ay/zmeMv8wmy3/MaAz/y2gNP8qnTf/HY4o/2+tb/9QUE3/gn5+/9zd3NDm5uYQ + +Pj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tbMNiIGJ9EJMQ/8dgST/D5Uc/xCVHf8Rlh7/ + E5cf/xOZH/8VmR//GJog/xyaIf8gmyL/Jp0k/y2eJv82oSr/PqIv/0mlN/9Tp0H/XKtO/2WvX/9xtXP/ + d7yI/4TDof+Fyrf/k9fS/6Ph4P/X8/L/9/v0//f8+P/k9/X/1fT2/7vu8v+l5+j/nePf/5Tc0/94yKX/ + ZbZ1/2SzYf9fr1H/W6xF/1CpO/9HpjH/P6It/zifLf84oDD/Mp8v/zKiNv8zpTv/MaI//yWYNP84hzz/ + NzUy/7Gtrv/Y2deB+Pj4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKqlraY2SDn/ + EoIb/xCYHv8RmR//Epog/xSbIf8TnCH/FZwi/xidIv8bnSP/H54k/yWgJv8roSj/M6Mr/zulMP9GqDb/ + TqtA/1iuTf9hslz/bbdt/3O8gf99wpf/hMiu/43Rx/+W2dj/u+bi/+/59f/z+vb/wevk/6rh2/+m39v/ + lNnL/4nSuf94x5z/c76E/3C4cf9os17/X7BQ/1etRP9Nqjr/Racy/z2kLv83oi//NqQy/zWkNf85pz7/ + O6pE/zuqSf8zpUH/KoQy/zxCOv/W1NXI2t3bBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAADLydBMUWtY/xGMHv8QnB7/EZwf/xOdIP8UniH/E54k/xSfJP8XnyX/GqAm/x6hJ/8joij/ + KaQq/zClLf83pzD/Qak3/0qsP/9UsEr/XLNY/2i4aP9vvXr/esOQ/4HIpv+Lz73/mNfQ/6/i3P/W8e3/ + 8Pr1/8bv7P+s5d//ntzS/4/Vv/+Hzqr/e8WU/3K/fv9quWz/ZLVb/1yyT/9Ur0P/S6w6/0KpM/85pC7/ + NqUx/zeoNf83qjv/PqpF/0OvTP9GsVP/Pa5M/yuRNv9ufHD08e7wJQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7/FBoqjj+wMkhv/E6Ik/xOiI/8ToSP/E6Ej/xShJf8VoiX/ + F6Im/xqiJv8eoyb/IqQn/yilKf8upyz/Nakw/z6rNf9HrTz/UbFH/1q1VP9kuWP/a75z/3XDh/97yJv/ + hc2x/5PVwv+h3tb/uOfg/+f47//J8Or/q+Xa/5rcyP+J1bT/gM2g/3TFi/9uvnb/Zrll/2G1Vv9Zskv/ + UbBA/0itOP8/qjH/Nqgt/zWpMf86rDv/Pa1B/0StRv9LtVf/Ubhh/1C3Xf8tmjr/m7qfqgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7n3+ZCZQZ/xKiJP8SoiT/ + EqEj/xKhI/8UoyX/FaQl/xekJv8ZpCb/HKQn/yCmKP8mpyv/K6kt/zKqMP87rTX/RK87/02xRP9TtU// + Xbpc/2W/bP9wxX7/eMqS/4HPpv+N1Lf/l9rI/6bi1f/G7uP/vOzk/6bi0v+Z3cD/i9iu/4PRm/93yYb/ + bsFx/2W6X/9dtlH/VbNG/02wPf9Frjf/PKwx/zSrLv82rDX/Pa5A/0SwSP9Ls07/UrVd/2C+cP9iwW7/ + M6BA/5PBl4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + X5tnRAmVGv8QoSL/EqIk/xSkJv8WpSf/FKYo/xWmKP8Xpyj/Gacp/xunKf8fqCr/JKos/yqrLv8wrDH/ + OK40/0CwOP9IskD/TrVI/1a6VP9gv2P/bMZ1/3XMif990Jv/hNOq/43Xt/+U3MP/meHM/5Hgyv+P3cD/ + jtmv/4jWof+D0pP/ecyC/2vDbf9eu1z/WLZO/1CzRP9HsDz/Qa83/zquNP83rjX/PrFB/0W0TP9MuVT/ + U7xc/164Z/95zIP/ccl8/zqmSf+ayJ96AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAG2wdQoLlhz6FKUm/xenKf8aqyz/Ha0v/xSoKv8VqSv/F6or/xipK/8aqSv/ + Haos/yKrLf8mrC//LK0x/zKvNP85sTf/QbQ8/0u5Rf9YwVP/ZMhi/3HNdP94zoP/fNKO/3vWmf+A16X/ + htqw/4nduf993bT/gdut/4PYnv+B1JH/etGG/2/Kdv9kw2X/Wr1X/1O5S/9LuEP/RLY9/z6yOP86sDj/ + QLND/0i3Tv9MulX/T71b/1W/ZP9wwnb/lNya/3nLhf89qU7/rN61aAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZwfyxOrKP8brTL/LKxA/ym0O/8erDT/ + G6wx/xesLf8WrCr/GKwq/xusLP8frC3/JK0u/ymuMP8vrjH/NK80/z2zOf9JvET/V8dR/1zNWf9jzmT/ + bs9z/27Sef9t1X//c9iL/3jalv992qH/e9yn/3XYmv901ov/c9WD/3HSef9pzm3/Ycpf/1jGU/9OwUf/ + Rb5A/0C6PP87sjr/O7E9/z60Rf9EuE7/TbxY/1W/Yf9ew2z/gc2J/67ds/9uy3z/RKhV/sfwzzoAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+VHpENqST/ + F7Ax/0S8Wf89v0//NbhJ/y23Qv8ktTn/HrMz/xqvLf8cry3/Hq4u/yKvL/8mqDH/JpQ1/yWDN/8tizz/ + O6lB/0vASP9FsEv/PJNN/z+PU/9DkVn/SZth/129cP9kxXr/VqZ4/02Yev9Ppnj/YcZ3/2fTdP9hymr/ + T65c/0CVUv88kkz/PaRD/z21Pv82pj7/K4g//yeCP/8qkz//OrBI/06+Wv9dw2f/a8d2/5LWm/+76MP/ + XsRt/2OzcPHc++IOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAXgiVXEKYl/w20Kf9T0Wn/XM5t/0rFXf9BwlX/NrxK/y26Q/8nuTr/JLc3/yO2NP8itDL/ + HYw0/wqGk/8HiKr/CYem/xODhf8ujUH/JXtT/wegzv8Li7H/DoGi/wyWvv86iV3/TKli/x1+jv8IoNP/ + GX6O/06wY/9ZyWL/PZFX/xWHnP8InMr/B5zL/xKFkf8phT3/I4dH/wmFpP8Gmcb/G3hk/zuvTf9TxWH/ + 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 + z/fUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs47URO6U5tQajD/8FpxL/S8NP/8vv0f/y+Oj/ + 5Pfk/8fy1P/F7cf/tum7/6blrf+c4aL/kdyX/4LXiv9y0Xv/Zcxv/1jHYv9JwlX/Or5I/y+6P/8nuDj/ + HbUv/xSzJv8Nsh//C7Ec/wiwF/8GrhP/C7Aa/w6vG/8SsB//G7Un/yS1Mv84vEX/Vsdh/2vOdf97z4L/ + btZ4/16+afx6xISFw+bDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKLPqwQnjyd/ + CpYU+gemCf8tqS3/rd64/+z58P/i9tv/4fLi/9Pu1P/D6cb/ueW9/6/fsv+h2qT/kNWV/4TRi/94y3// + ZsVw/1W/YP9LvFX/Q7hL/ze0QP8tsDb/Hq0q/xerJP8Tpx7/D6QY/wunFv8OpRj/GKci/yOsLP88tUX/ + UL5Z/2bGbf9xx3f/cct4/2W1a+xvs3ZSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAByRJzoffhzVB5QJ/wycDv9quGr/3e/b//n8+f/t8+3/4Pbi/9H10//G7sX/ + u+a5/7Der/+g2aH/kdmW/4HQh/90x3r/Z79s/126Yf9StVb/RbBJ/zSsO/8sqTH/JKQp/xyeIP8Sohn/ + FKAa/yGhJ/8zqjj/VbZZ/2G9ZP9pwW3/aL1t/1qsYbNYnl8dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5A+CAl5CXcHhQrwBokI/yeOJv+AvYD/ + 3fHa//j49P/18fL/6ezm/9zu2//J68r/vN+9/7rZu/+p0Kr/mMea/4bGiv92w3r/Zbto/1m2W/9RsFX/ + RqlJ/zikOf8uozD/H5gn/yGUKv8ynjv/Q6pO/1WvWP9is2T/YKZj22StaFOEvIoBAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + C2sMFQR0BIYGfAbvB34G/x17HP9nqGb/uOC4/+Lz5P/q9Ov/6vLr/9rp2v/K5cv/vOO+/6narf+k0KX/ + oMme/5DAjP+Bun3/c7lz/2CxY/9DoEX/JY0n/y2PK/86mDj/SqNJ/1KoU/9XplnbVZtXZ1uNWQcAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1YDDgtlCmgCZwPHBXYF/QtuC/8jeyT/V5xW/4y2hv+zz67/ + xt3B/9DlzP/P4sr/vt66/6rXp/+QxYz/drFw/0iZRf8shir/JX4h/zCJKv80jjD/QpI+90uNRbJMikRN + Pnc7BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVZBCAHZANr + BWcBrQNmAeUBYwD/BmcF/wlpCf8Pbg//FW8U/xdyF/8UcBT/Dm4M/w9xC/8OdQv/FncQ/CF7G9ksfSGd + L4IyWCVzLRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAVWxAABE8BGANWAj0FWQVbAlYCbwJaAnsEXgN/BVwCeQhdBWsPZAtW + C1wFMxBYCQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////////////////wD////////gAAf/// + ///wAAAP/////8AAAAP/////AAAAAP////4AAAAAf///+AAAAAA////wAAAAAA///+AAAAAAB///wAAA + AAAD//+AAAAAAAH//wAAAAAAAP/+AAAAAAAA//4AAAAAAAB//AAAAAAAAD/8AAAAAAAAP/gAAAAAAAAf + 8AAAAAAAAB/wAAAAAAAAD/AAAAAAAAAP4AAAAAAAAA/gAAAAAAAAB+AAAAAAAAAHwAAAAAAAAAfgAAAA + AAAAB+AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAB+AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAA+AAAAAAAAAD + 4AAAAAAAAAfwAAAAAAAAD/AAAAAAAAAH8AAAAAAAAA/4AAAAAAAAH/gAAAAAAAA/+AAAAAAAAH/8AAAA + AAAAf/wAAAAAAAB//AAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAP/+AAAAAAAA//8AAAAAAAD/ + /wAAAAAAAf//gAAAAAAB//+AAAAAAAP//8AAAAAAA///wAAAAAAH///gAAAAAA////AAAAAAP////AAA + AAB////+AAAAAP////+AAAAD/////+AAAA///////AAAf///////gAf///////////////////////// + KAAAADAAAABgAAAAAQAgAAAAAAAAJAAAEwsAABMLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAMDAwCCQkJEIkJCR9IyMjqjAwMM48PDziQUFB7UBAQOw1NTXfKioqyCgoKKMtLS1y + MjIyNlZWVgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAGxsbAx4eHkQwMDCmRkZG8l1dXf9xcXH/goKC/4+Pj/+YmJj/nZ2d/6Kiov+mpqb/ + pKSk/52dnf9/f3//YWFh/zw8POgnJyeULy8vMklJSQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACsrKwMmJiZSQUFBzllZWf93d3f/fHx8/5GRkf+qqqr/wsLC/87Ozv/c3Nz/ + 4uLi/+Dg4P/f39//29vb/9PT0//Jycn/vr6+/7W1tf+Wlpb/W1tb/SsrK7opKSk7VlZWAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiJ0JCQr1ZWVn+bGxs/4eHh/+wsLD/2tra//Ly8v/6+vr/ + /f39//7+/v/+/v7//f39//7+/v///////v7+//7+/v/8/Pz/9/f3/+jo6P/T09P/wMDA/6Kiov9cXFz7 + JycnoiwsLBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcnJwI4ODhkUFBQ82pqav+FhYX/vb29/+Xl5f/09PT/ + 7u7u/+fn5//h4eH/4ODg/+Li4v/m5ub/6+vr//Dw8P/39/f/+fn5//39/f/+/v7/+/v7//v7+//7+/v/ + 9fX1/93d3f+8vLz/lpaW/0JCQuUmJiZFREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqBD8/P5NcXFz+cXFx/6ysrP/f39// + 5OTk/9HR0f/CwsL/wsLC/8nJyf/Q0ND/1NTU/9ra2v/f39//4eHh/+Li4v/m5ub/6urq/+/v7//09PT/ + +vr6//7+/v/+/v7/+vr6//v7+//x8fH/1dXV/7CwsP9fX1/4ISEhbEtLSwEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy8GREREpVxcXP+EhIT/ + ysrK/9PT0/+4t7f/sLCw/7q6uv/Nzc3/1dXV/8/P0P+4ubn/n6Gi/42Pkf9+gIL/dXh5/3l8fv+GiIn/ + lJWV/6enp//AwcH/1tbW/+fo6P/y8vL/+/v7//39/f/7+/v/9vb2/+Pj4/++vr7/bm5u/iUlJXtiYmIB + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwNHR0ed + XV1d/5OTk//Nzc3/sbGx/6alpf+6urn/09PT/8jHyP+YmJj/YmRk/0RHSP83OTz/PkFH/0VNUv9QWV7/ + WF9k/1BZXf9QVVj/TE1P/z9DRf8zPkX/RVBV/3R6fP+ztrT/1tfW/+zt7P/5+fn/9/f3//X19f/r6+v/ + x8fH/29vb/4xMTFxWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAD09PXlaWlr+l5eX/7a2tv+ampr/r6+v/9DQ0P+3trb/cnJx/zg4Nv8+QD//cHJy/6Cgof/AwsH/ + zdLQ/8/Y1v/P2db/0drY/9DY2f/P2Nn/ztXW/8TKyv+hq6n/cX1//z1KUP82PEL/YGBi/6SkpP/Y2Nj/ + 8PDw//j4+P/z8/P/6+vr/8XFxf9nZ2f6PT09TQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAANzc3PVZWVvqNjY3/qqqq/5iXmP/AwMD/wMDA/3R0c/84Nzb/V1dV/6CmoP/Hzcj/ + 0dfS/8/X0f/L3dD/wNrI/7rYw/+z1rz/sda7/63Wvv+w2cH/ud3I/8Tezv/M2tH/zdfQ/83Y0v+vtrf/ + c3R0/z89Pf9gX1//s7Kz/+bm5v/39/f/8fHx/+Xl5f+9vb3/VlZW62lpaRwAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA9PT0MSkpK2nR0dP+YmJj/mJiX/8fJxv+enpz/TUpL/1FPVP+mp6L/ + x8vJ/7rHuv+vyK//nMGd/429jP97tX//a6x3/1+ldP9ap3X/VKZ2/0Cndv9ArXn/SbR7/1m7fv9uyY7/ + hcuY/6LTrf+408L/xdXJ/8DAvf9qaGj/PkI9/4WFhv/c2Nf/9vX0/+7u7v/b29v/p6en/19fX7Svr68C + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDQ0N/Y2Nj/4yMjP+YmJj/w8PE/4aEiP9ERUb/ + fYB+/7vBt/+lu6r/kriN/3esdP9jlVv/UH5K/0h1T/9IfVf/TY9j/0ucbP9NpnT/Tqt7/y+oeP8fp3b/ + GqVw/xadYP8gol//Ka1c/z+6Yf9oy4D/jdGa/7TUs//Dy8L/m5mY/0U/Q/91cnD/zMvL//X19f/o6Oj/ + zMzM/4SEhP6YmJhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQBdSUlLvgYGB/5GRkf+/v7// + fn5+/0lGSP+Zopv/qbiq/4ytjP9rpGX/UXpF/zRPL/82Wy7/RXo//1GYVP9bqWX/YLN1/2O7hf9mw43/ + aMaU/z/ElP8jwYr/IMCC/yTAff8ov3r/H7Zp/x+sXf8rrVv/Rr1j/37Vff+Y0JX/ss6v/666sP9LSUr/ + bGts/83MzP/w8fD/39/f/7i4uP+SkpLR1tbWBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSoFra2v/ + ioqL/7m7uP+CgoD/U1BS/6KnnP+htJf/b6Jw/1KGRv8nRSL/JEgg/zJxJv9EizT/TptC/1urXf9muXb/ + bcCL/3DDmv90yaT/dM2s/0TIqv8uxqf/LMqe/zrRof870pf/Ls+E/zDMfP8zw3D/Mrpe/1C4Uv9tzmP/ + gdV5/5/Lof+0vq3/U1RS/3J1c//U0dL/7Ozs/9DQ0P+bm5v/1tbWUAAAAAAAAAAAAAAAAAAAAAAAAAAA + T09PBVJSUuV/f3//qqqq/4+OkP9WV1n/l5yX/5Cqlf9knWT/PGot/xUxE/8fVRn/Kngh/zeILP9Hjjz/ + T49H/2CUX/9xp4P/gLef/4DDsP+Ayrz/fM3C/2HJw/9CxMH/OsG5/0TFuP9Px7H/Rcmh/zzMjf9H04D/ + QtFm/13MWv9Uu0r/VsVP/3bVbf+ay5X/qrOq/09PTv+Ji4r/5OXk/+Li4v+xsbH/vr6+kQAAAAAAAAAA + AAAAAAAAAAAAAAAAQUFBR2FhYf+Pj4//qKio/2lnZ/96gX7/lq2N/1yZWf8mVRv/ECQP/xdXEf8odxr/ + MHYj/zp3Lv9Khj3/Y6BU/3m0bP+IypT/ldSy/5rZxP+X28v/ktvP/3vY1f9Nzcz/QsrK/0PJxP9Kyb3/ + SMWz/zy7l/8+uX3/Qr5q/2TTZf9l0lX/U8JD/0jFQf9s1mP/lc+T/46di/9TVVT/o6Sk/+vr6//IyMj/ + u7u7zvLy8gQAAAAAAAAAAAAAAAAAAAAAREREl3Z2dv+np6f/dnZ2/2lpZ/+YqZn/aJ1b/ylbI/8MHwb/ + FVoO/x5sEP8haxX/NXkp/0uWPP9aokv/YaVR/2uiW/9+tIr/l8q4/6bXzP+u3tn/reDe/5Pb4v9XyNb/ + OsDS/zW8zP86ucb/JbKx/xysmP8ipnn/Kahl/0ayXv9ixlv/WtFJ/0rBPv9IyD3/cNln/5/Pnv9rbGn/ + b29v/9TU1P/V1dX/wsLC//Dw8AwAAAAAAAAAAAAAAAAAAAAATExMv4KCgv+bm5v/X19f/4mTh/9tnmz/ + M3Mt/wkcBP8PTAn/FmML/x5sFP8xgCL/Powt/0WQNv9Rkj7/W5ZF/2mdVv92qHH/msiz/8Xk1f/f7uT/ + 1O7r/6nj6P9p0uH/RMjX/zW90P81usr/J627/xigof8Wln//GZJe/x2SUv9RqVb/XLdP/1DKQv9Cvy// + TdBB/3/aev+btJj/XFxb/5ycnP/g4OD/xcXF/+jo6BIAAAAAAAAAAAAAAAAAAAAAXV1dv5eXl/93d3f/ + amlp/4Whgv9EjT//DzAL/wk8A/8NYgz/HHIQ/yN5Ff8vgyD/N4cl/0iNM/9Qjzb/XJNB/2ucV/98rHr/ + m8u2/9bs4P/q8+r/6fby/8jv8f962er/V9Dh/1TK3v8+wM//LLTB/yKpr/8YnY//FpBn/zyZXf9anlf/ + V55O/02pQ/9Gvjv/OcAs/2rlX/+X1JL/cnVy/29vb//c3Nz/yMjI/93d3R0AAAAAAAAAAAAAAAAAAAAA + ampqv5ucnf9gYmD/eYN6/2GWWv8jZR7/BzME/wpiBf8XdxP/Fn0P/ySCF/8vhyH/OIgj/0WLKf9SkTT/ + YJlG/26jYP9+s4b/l8u0/9/v5P/v9e//8/n0/+X49f+D3uv/V9Ti/2fW5f9Hytf/NL7J/y+0vf8dp5j/ + H5tx/2atcP9mp2D/VJxO/0mYQ/87mzn/Prcr/03RQ/+L4YL/jKOI/15ZXv/Gysf/zMzM/93d3R4AAAAA + AAAAAAAAAAAAAAAAcnFxv5eamv9YWFb/dI50/0SKPP8KUQj/DVwO/xR4Ev8ZgRb/FoAQ/yKCF/8thhv/ + OIoh/0WOK/9UlTn/YZ1N/26nav+Atoz/i8i1/9Lr4v/u9/D/9Pr1//b7+v+l6+7/atvm/1/Y5v8+zNv/ + OMHO/zO4wf8irKX/Q6uB/3Szdf9qq2P/V6FS/0SXQP81jzL/MI8r/0K+Mf+E7Xn/osmg/1lVWf+oran/ + 0dHR/+Dg4BsAAAAAAAAAAAAAAAAAAAAAe3t7v4qPj/9dW1n/ZpNh/yqAIv8MYQf/DXsR/xGEFP8WhBX/ + HIYY/yOGGf8tiRz/OY0j/0eSLv9WmD7/Y6BT/3Cqb/+CuJH/iMez/7Li3f/q9/L/8/v3//j8+f/O9vf/ + pu7x/4Lj7f9D0Nz/OcbQ/zS8w/8utK7/WbOF/3azcv9orGP/V6NT/0ebRP84kjb/Loov/yWMH/974nL/ + p9qm/11fXv+Vl5b/19fX/+Pj4xcAAAAAAAAAAAAAAAAAAAAAfn5+q4WKiv9ZW1j/V5FQ/x14GP8LdxD/ + DIUT/xCGFv8Uhxj/G4kb/yKKHP8sjR//OJEl/0eWMf9WnED/ZKRW/3Ctc/+AupT/i8m0/5bd4v/f9O// + 8/z3//n9+P/l+/n/ufTz/6Dr8/9P2N7/PMzU/zXCxv8turT/VbWM/3Szb/9lrWH/VaVS/0aeQ/86mTn/ + LpYu/yCEJf9guF3/sOSr/2VpZv+Li4v/1tbW5ezs7An4+PgBAAAAAAAAAAAAAAAAjIuMTIiJiv9UWFT/ + To1K/xF1Ef8Phhn/EYwZ/xKLGf8WjBr/G40b/yKPHf8skiD/OJYm/0eaMf9WoEH/YqdV/22ucf99upD/ + hcav/5Db2v/H7uv/9/v3//n9+v/0/fn/zvj1/5Ts7/9b2+D/QNDW/zjGw/83v7j/SbiU/2evZf9hqlX/ + UqRI/0SgQf85nDr/MJoy/yWQLP8jhCX/tOmv/2FmYv+Uk5P/2trbxvHx8QEAAAAAAAAAAAAAAAAAAAAA + iomLBJaTlOJNUk3/P4I+/xCBGP8NjBv/FJIb/xORHP8Wkh3/G5Me/yKVIP8smCL/OJso/0aeMv9UokD/ + YalS/2uvbf96uov/hMSp/5HY1P+87Oz/7vn3//n9+P/5/fn/4Pn5/5rt7v9u4OL/WtXW/1LOzP9Vx73/ + Wr6V/1uqUv9YpkL/S6E6/0GfOf84nTb/L5ox/yudNP8aiiD/jMKH/1VZVf+lpKP/2trafff39wAAAAAA + AAAAAAAAAAAAAAAAAAAAAKSio39QTFD/Lnoy/xCQHf8Okhz/EpQe/xSWHf8Xlx7/HJgg/yKaIf8rnCT/ + Np4o/0ShMv9RpD7/XqlN/2iwZv92uYT/hcOk/4zSyP+r5eX/3PXy//j89f/4/Pr/5Pn5/6rt7P+R5eX/ + gt3c/3HOvf9zw5j/Z7du/1yrRv9Ppjf/Q6Iv/z2gMv80nS//MZ8x/y6hN/8mmjP/UZxT/0pHRv/DwsH3 + 3NzdKPj4+AAAAAAAAAAAAAAAAAAAAAAAAAAAAL27viJiYGT7IHkn/xCXHf8Rlx7/E5gg/xOaIP8WmiH/ + Gpsi/yGdJP8onyb/M6Eq/z6kMf9MqDv/WKxL/2WxYP9zuXr/fsGX/4bLt/+U2NX/v+no//X79v/i9fH/ + wOrp/6/m5v+b39b/iNO6/3PAi/9qtWn/YbBT/1erQ/9Kpzb/P6Mu/zehLv81oTH/NKQ4/zenQf8xokD/ + LIg0/0tLSP/f396c5ebkAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALa1ugGDi4nEFHsg/xCbH/8SnCD/ + FJ0h/xOeI/8WnyT/GqAl/x+hJ/8moyj/L6Us/zmnMf9Gqjv/U69J/1+0W/9sunL/eMKN/4PJq/+R08n/ + q+Da/+D08P/f9fH/r+Xh/5zbz/+K0rX/fseZ/3K+fP9ot2T/XrJR/1OuQv9Hqjb/O6Uu/zalMv83qTf/ + PKpC/0OvTf9CrlD/LJY4/3iDedvo6OkPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACutrFq + HI8q/xOiJP8ToiP/E6Ej/xShJP8WoiX/GqIm/x6jJv8lpSj/Lacr/zapMf9CrDn/T7BF/1q2Vf9nvGr/ + csKC/3vJnf+L0bj/nNzQ/73q4v/d9ez/r+bc/5fbxP+D0an/d8eN/22+cv9jt1z/WrNM/0+vPv9DrDT/ + N6kt/zaqM/88rT//RK5G/061W/9YvGb/NKBB/5u8n3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACbq50ZG5Qq+BGhI/8SoiT/E6Ml/xSkJ/8WpSf/GKUo/xymKP8ipyv/Kqku/zOrMf8+rjf/ + SbFA/1K2Tf9evF//a8R2/3jMkf+E0qn/kdi8/5/gzv+s59v/nODN/5Patf+H1aD/fMyI/2vBbP9duFb/ + VLNH/0mwO/8/rjX/Nawx/zuuPP9Eskr/TrhU/1q3Zf9yy37/PqdL/5TCmGAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZciyxSkJv8YqCr/HKst/xSoKv8WqSr/GKkr/xupK/8gqi3/ + Jqsv/y6tMf83sDX/QbM8/025SP9dw1r/bstx/3jOhv9805b/gNam/4nbtf+F3bn/gtyy/4XXn/9/047/ + c8x7/2PCZP9WulH/TbdF/0O0PP88sTf/PbE+/0e2Tf9Nu1f/VL9h/3PDef+P25f/RKtT/6nasVAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ0fkROtKf8mrDz/LbRA/yGuN/8brjH/ + F60s/xisK/8drCz/I60u/yqtMP8wqzP/Oa44/0q9Rf9YyVT/XMhd/2fJb/9ozXb/btSF/3XXk/9005z/ + c9Oa/3HUh/9w1Hz/aM1t/1zFW/9RwEz/Rb5B/z22PP84rDv/Oq9C/0S3Tv9Tvl3/XsJr/43PlP+Z3KP/ + R61Z/cny0SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIoeVw2pJP8wvkn/ + TsZg/z6+Uv8xukb/Jrc7/x+zM/8fsjH/IrEx/yCVNv8VfmP/F4R1/yyQTP89pkj/Iop6/yCHhP8kioj/ + Q59v/1Gucv8ri4//Lo+L/1q/bf9axWb/OY9j/yGHgf8jhW3/M5o//yiRTv8WgXr/HYVg/z2yTf9ZxWX/ + bsp5/6fgr/+O3Jr/abh06Nv74gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QZpNHRKtKP8gvzv/dNuE/17Tcf9Py2P/QMVV/zTESP8rwT//I702/xKFW/8Ke4b/FWNU/waZwv8eaUX/ + Bp7L/xNvev8dZ1v/KI90/0ChVP8Mk7r/FIGN/0u7Vv82k1f/BLDn/xB5hv8SeIP/EYKD/xxxO/8CreP/ + HnZi/0bAWP9i0G//hduR/77sxv9ozHj/ls6bmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAABOrI7sVviv/cd6C/4Xflv9y3YP/ZNRz/1DRY/9AzlT/M8hG/yWVR/8Sal7/ + DX+P/wKx6f8VY1D/BZ3J/xBseP8Yc2v/N55C/z6wR/8Mk7T/FoWF/0K/Rf8jg1r/A6vh/yaLPf8nlTv/ + CnyP/xVyN/8CrOH/GWdo/z2YX/9tynz/o+Ss/7Ppu/9fwm37reOzKwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6mOzcJuxb8NMZI/6zrs/+e4az/h+SP/3Xehf9k2XX/ + VdNm/yqPZ/8CsOn/C4ek/xBxcf8cfTr/BJ7J/wd/mv8LfIz/KJQ4/y6jOf8JkrH/EYKA/y+uOv8ZeVX/ + A6fZ/yCWNv8foDP/B3yN/xBvNv8CrOH/Em6J/wqdzP9Vmon/t+u+/3jRhP97w4Wr4P/lAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLFeQEjqiysDr0g/2TXb/+/8MX/ + sOq4/53mp/+L4pf/edyG/z+Vdv8Imsj/GldQ/w1+kf8XcD3/A57K/wVlbP8GYFT/BWZe/wZfSP8Cja// + A3B8/wRxY/8EVlL/Aanc/wmELf8Kjiz/A3mP/whaNv8BreL/GFZo/wmf0P9Gl6X/k9ye/2fDdOy+6sQf + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0w3Mq + JrIy9w+7Gv+M3pT/1vPa/8PwyP+w67D/nuan/4DMj/9Gk4T/Jo6b/yqPhf8ti1j/FYWF/w+Fh/8KiIL/ + CnJR/waFf/8Egn3/A4J9/wWBev8FbVf/BYJ6/wiLOf8IkDT/BYFx/w5tUf8YhY3/IYuX/zqQnv9rr4T/ + acNz/JDVmV0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAdsp9URenIfMNrxf/iNiM/+X25v/Y9Nj/xe/L/7LquP+c4KX/iNWU/3vThv9nzXP/ + VMJj/0W8VP8zuUT/JbY4/xuvMP8RrSb/Cqsg/wmrHv8Hqxn/Cqsd/w2uHf8RsSL/GK8r/y+0Qf9VwGT/ + b8Z6/3HTfv9owXP2hceLXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWgRDIPlRbYCKUN/2C/Y//g8uT/3/fd/9rw2//G68n/ + tuS6/6jdq/+T1pf/gdCI/3DJeP9YwWP/SLxT/zy3Rv8tsjj/Hq4r/xSrIf8Ppxn/DKgW/w+nGv8dqyf/ + M7M9/1C/Wv9rx3L/c8t6/2W5bd9vuHg6t+2/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjmzgNH4AdkQWQB/kooSn/ + qdOn//H48f/q9Or/2vXb/8nsx/+75Lr/p9qo/5XWmf+Byob/b8F0/125Yv9Os1L/PK5C/y6oM/8koif/ + F6Ad/xieH/8tpDP/ULRU/2K7Zf9pvW37XbBkm1ieXxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAxxDTIGgQi0CYIJ/D2ZPP+iyZ//5/Dl//Hy8f/f7+D/y+XN/77ewP+n1qr/lc2Z/4nHiv9zu3L/ + Y7Nk/1OtVv81nzf/JpQp/y+WNP9Fp03/U6xX/V6oYLtcm185Z6xrAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAQZxABB2cGMQdrBpoFcAXvHX4e/1KbU/+TvpD/vdS4/83iyf/N48r/ + vtu7/6fQov+Fu4D/X6db/zaNNP8rhSf/M44u/0SUP/JRlkqgTJBJOFCOUQEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWAUIB2MDRgZnAokBYgC/ + BGMD5ghmCPcOag79EWwR/w9rDv0NbAn3DnAK6Bh3EsImex6NL4EtTCVzLQoAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAFV4UAgxYDBADVQMbBVgEHwhYBBsUXg8QHmcaAgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD//4AB//8AAP/8AAA//wAA//AAAA//AAD/4AAA + B/8AAP+AAAAB/wAA/wAAAAD/AAD+AAAAAH8AAPwAAAAAPwAA/AAAAAA/AAD4AAAAAB8AAPAAAAAADwAA + 8AAAAAAPAADgAAAAAAcAAOAAAAAABwAAwAAAAAAHAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAA + AAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAQAAwAAAAAADAADAAAAAAAMAAOAAAAAAAwAA + 4AAAAAAHAADgAAAAAA8AAPAAAAAAHwAA8AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAA + AD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAH8AAP4AAAAA/wAA/wAAAAH/AAD/gAAAAf8AAP/AAAAH/wAA + //AAAA//AAD/+AAAP/8AAP//AAH//wAA///wH///AAD///////8AACgAAAAoAAAAUAAAAAEAIAAAAAAA + ABkAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEVFRQQxMTEfMDAwOSkpKUYoKChENzc3NkBAQBpYWFgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwAjIyMhKysrdUBAQLxLS0vwV1dX/mlpaf9zc3P/ + dXV1/2lpaf9eXl79U1NT6jk5ObIoKChoPDw8F1dXVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + KSkpACUlJTw/Pz+0V1dX/HNzc/+Ghob/mJiY/62trf+8vLz/yMjI/8nJyf/Jycn/xMTE/7u7u/+wsLD/ + kJCQ/11dXfcyMjKjKioqKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiG0RERKtaWlr9dXV1/5ycnP/Jycn/ + 6Ojo//f39//9/f3//v7+//39/f/+/v7//v7+//z8/P/6+vr/8vLy/+Hh4f/IyMj/q6ur/2ZmZvktLS2U + LCwsDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAjIyMAOzs7T1FRUexvb2//oKCg/9nZ2f/v7+//6Ojo/+Hh4f/e3t7/39/f/+Xl5f/q6ur/ + 8vLy//n5+f/6+vr//v7+//v7+//8/Pz/+/v7/+7u7v/Ly8v/oqKi/0xMTN0oKCg2AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIBQ0NDc1xcXPuEhIT/ + ysrK/9vb2//IyMj/vb29/8TExP/S0tL/2NjY/9XV1f/T09P/0NDQ/9HR0f/W1tb/4uLi/+np6f/w8PD/ + /Pz8//39/f/6+vr/+fn5/+bm5v++vr7/Z2dn9CQkJFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA3NzcARUVFeF1dXf6dnZ3/zMzM/7a1tf+ura3/ycnJ/9DQ0P+xsrL/ + iouM/2Rmaf9MUFT/P0RJ/zpARP87Qkb/TlBS/19fYP9xdHf/kpaZ/7/Bwv/l5eT/8/Pz//z8/P/39/f/ + 7+/v/8vLy/9zc3P5KCgoVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Pz8/XV1dXf2jo6P/srKy/6Ojo//FxcX/v7+//4CAf/9DQ0P/R0pK/3R2df+Ulpb/qbKx/7W/vv++yMf/ + ucHC/7G5uv+co6P/e4eH/0pZXP8vO0H/YWRn/6enqP/e3t7/8/Pz//b29v/w8PD/zs7O/25ubvY5OTk8 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzc3KlhYWPSYmJj/oaGh/6qqq//ExMT/ + e3t6/z8+Pf9ucWz/r7Ww/9DV0f/O1tL/ydvQ/8Hayf+82cT/uNjB/7XYxf+528j/w93P/8rZ0P/O19H/ + wMvH/42SlP9QT0//XVxc/7SztP/r6+v/9vb2/+vr6//IyMj/X19f42lpaRMAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPj4+BUtLS8h9fX3/lJSU/7W2tP+oqaf/T01N/2tqa/+3urX/vMe//6vEqf+YwJX/ + g7WD/2+od/9dn3H/V6Jz/1Gjdf86pHX/Oap2/0iyd/9ev4P/esqS/5nRp/+00r7/x9PH/5SRkv9GSET/ + g4KD/+Pg3v/09PT/4+Pj/7Gxsf9lZWWkv7+/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQmJnZ2f/ + jo6O/7S0tP+TkZT/TU5P/5OZlf+tuq3/j7SN/3Ojaf9TfU3/RG1D/0Z5T/9RkV7/VKVu/1WveP9XtoH/ + M7KA/yCwfP8erXH/G6dj/xyoWP8xsVv/XMV2/5LTmf+yzrD/tLmx/1xaW/9xb23/1tbW//Dw8P/W1tb/ + kJCQ/aSkpD0AAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAZWVlbeg4OD/6mqqP+QkI//VlVU/6Wsnv+TsJX/ + bqBl/z5oN/8rTSX/OWwt/0uOPv9Xp1r/Ybhy/2rAiv9tx5f/cc2g/0DKn/8lx5T/KMqO/zHMjP8lxHj/ + KL1t/yq0Xv9Kv13/etBz/5bRkf+xyLP/aWhm/3Fycf/X19f/6ejo/7+/v/+enp679PT0AQAAAAAAAAAA + AAAAAAAAAABERERVbGxs/5ybnP+am5v/XFxd/5+moP+CpoP/UYhF/yBAHP8gUhv/LXol/0GONf9PlkX/ + YZ5j/3Otif94uqH/ecOy/3bIuv9Pw7v/OcG5/znFsP9My6//P8ya/zvRiP8/0Xb/Scdc/1m+Tv9hy1n/ + htGA/63Dqv9hYmD/hISE/+bm5v/Z2dn/q6ur/eTk5BsAAAAAAAAAAAAAAAAAAAAATU1NtIKCgv+oqKj/ + Z2Zn/4iSif99pnr/P3c1/xIqEP8ZVRL/Kncc/zZ4Kf9EgDf/XZlQ/3awbf+Ky53/mNa7/5fayf+R287/ + ddfT/0fMy/9Bycb/Scm+/0vGtP88u5P/Q714/1PLaP9m0lf/U8NF/1DKR/9903j/osCf/1dZV/+ho6L/ + 5+fn/7m5uf/Q0NBSAAAAAAAAAAAAAAAAT09PDVlZWfaampr/fX19/3R2c/+IpoX/RIE5/w4iCv8VVw3/ + HWsQ/yhwHP9CizT/VJxF/2CjUP9sol7/hLmX/6PTxv+x3tf/suHf/5Da4/9MxtX/Nb7O/zi6yP8psrX/ + G6mV/yKjcv8vqF3/Wb5d/1zOTP9JwT3/T85E/4TVfv+KmIn/aGdn/9PT0//Kysr/y8vLigAAAAAAAAAA + AAAAAEdHRyBqamr/m5ub/19fX/+KnYf/To5L/xExC/8LRgf/FmQK/yJzGP80hCP/P4wu/0+SO/9Yk0D/ + ap1X/3yuf/+23c//4e/j/9/y7f+p5Or/Y9Lh/0LG2f84vc3/KrC//xqhov8VlHj/Go9X/0CbU/9drlH/ + TcNA/0G+L/9b21L/m9KX/2ZpZf+bm5v/1tbW/8vLy5IAAAAAAAAAAAAAAABKSkogfn5//4KDgv9ucW// + bJlm/yJeHv8HNgP/EWcM/xp4Ev8lfxf/Moci/z+JKf9NjTH/XpVC/2+hYP+BtYz/v+HV/+rz6f/v+PL/ + 0PP0/27X6f9Z0N//Ucra/zG6x/8nrrT/GJ+I/zObaP9jpWD/VZtO/0yeRP8/tDf/RMk0/4Lgev+HmIX/ + b25v/9na2f/Ly8uZAAAAAAAAAAAAAAAAXFxcIIeIiv9tbmr/c4V0/0WLPf8JRgn/DmQM/xd8E/8WgA// + I4IX/zGHHv8+iyT/T5Ey/1+bSf9vqGv/g7uV/7Hc0P/s9ez/9Pn0/+z6+f963uf/ZNnl/0vQ3v83wc3/ + MLa9/yCmk/9arnr/bq1n/1ihU/9Dlj//NZEx/zarKv926Gf/m8WY/1tYXP/Iy8n/0dHRlwAAAAAAAAAA + AAAAAGtrayCMj5D/Yl9e/2iNZf8nfCD/DmUJ/w6AE/8VhBX/G4UX/ySGGf8wih7/QI8o/1GWOP9in1D/ + cqty/4W9mv+Y08n/3/Tu//P79v/1/Pr/ufLz/5Tp8f9Q1N//OcbS/zO7wf80sqH/b7R5/22uaP9ZpFX/ + RZlC/zSQM/8lhiT/Ys1V/6Pbov9YWln/u7u7/9fX15MAAAAAAAAAAAAAAAB3d3cQj5GS9lhaWf9bjFT/ + GHYV/wx+Ev8OhxX/E4cX/xuJGv8jixz/L48g/z+UKv9Smjv/YqNU/3Kvdv+Dvpz/j9TP/8Ls6f/0+/f/ + +P34/9v5+P+s8PL/ad7l/z3O1v80wsT/NLir/2m0ef9rsGb/V6ZT/0WeQv82mDX/KJAr/zmWOv+u56n/ + X2Je/7Gxsv/Y2Nht+Pj4AgAAAAAAAAAAAAAAAJyZnKZXWlj/T4ZL/w95E/8QjBv/Eo4a/xWOG/8ajxz/ + I5Ee/y+VIv9AmSz/UZ88/2GnU/9ur3P/f72Y/4rQxP+r5+X/9fr2//n9+v/x/fn/tPPz/2zh5P9J0tf/ + P8fE/z/AtP9Ys3b/YapT/1GkRf9CoD//Nps3/yuXL/8chSL/l9OT/1hcWP+8vLz/39/fQAAAAAAAAAAA + AAAAAAAAAACup6pAYGBg/zx5Pf8Rih3/DY8a/xSTHP8WlB3/G5Ue/yOXIP8vmiT/Pp4t/0+iO/9fqE7/ + bLBt/3y9kP+Jy7n/qOTl/+H29P/5/ff/9/z6/8Pz8/+G5uf/btvb/2bQyf9qx6r/YLJl/1inQP9IoTP/ + Pp81/zKbMP8vnzT/JZkv/2GnYP9SUlD/zc3N4uXl5QkAAAAAAAAAAAAAAAAAAAAAtLSyAnRuddgqcS// + D5Ud/xGXHv8TmB//FZkg/xqaIf8inCP/LJ8m/zqiLf9KpTj/WapK/2ixZP93u4X/hcar/5TX0v/C6+r/ + 9vv2/+L18//C7vD/oeTi/4/azf9wwZL/ZrRm/12tS/9PqDr/QaQu/zigL/80oDH/NKQ5/zCiPv8wjjn/ + W1hX/9/f3YD4+PgBAAAAAAAAAAAAAAAAAAAAAAAAAACWmJuBG3Ql/xCbH/8SnCD/E50i/xWeI/8ZnyX/ + IKEn/ymjKf81pi7/Q6k3/1KuSP9htF7/cLx6/37Fnf+N0ML/qd/a/+X28v/O8Oz/pN/Y/47Vv/9/yJ3/ + cb16/2a1Xv9ZsEn/S6s5/z2lL/83pTL/N6g5/z+rRv9Crk//L5k7/3yEfMrp6+kHAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAwsTFKTCUPP0ToiT/EqEj/xOhJP8WoiX/GaMm/x+jJ/8npin/Magu/z6sNv9NsEP/ + W7ZX/2m+cP93xo7/hc6v/5nazP/B6+L/zfDp/6Lgz/+J1bH/eciQ/2y9b/9gtlb/U7FE/0atN/83qi7/ + N6s1/0CuQ/9JsVD/WLxn/zulR/+avZ1iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTBwwEeli3P + EaEj/xSkJv8VpSf/FaYo/ximKf8cpyn/JKks/y2rL/85rjT/RrE+/1G3TP9gv2P/ccmA/3/Qnv+L1rT/ + md/I/5jizv+R3Ln/iNah/3zOh/9nwGj/WbdQ/0yyQP9Brzf/OK40/z+xQ/9Kt1L/V7lg/3fMgv9IrlX/ + mMeeTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpkekRapKf8grDP/Ha0x/xeqLf8Xqyv/ + Gqsr/yCsLf8orS//Ma8z/zyyOf9PvUn/Yctd/3HPdf9104X/d9iV/4Dbpv9+3a7/fNic/3rUif9vznb/ + YMVe/1G+S/9Fuj//PLM5/z6zQv9IuVH/Ub1d/2fEc/+b3KH/S69b/7bmvzQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAA+THlcOrCb/PLtT/zu9T/8ut0P/IbQ2/xywL/8fsC//JKsw/yKKOv8lhkv/ + O6dE/0KsUP82kGH/O5Fp/1Csb/9buHz/RZiE/1Kyev9l0HH/T6tf/zeRX/83mEn/N6s+/yaJUP8mjU7/ + QbVO/13DZ/9/0Ir/qeKy/1u2afTf/OUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kkEd + D64m/0LMWv9m03f/Uctk/z/DU/8xwkX/J786/x2hNP8Jg5b/EXJv/wyOpv8bcFj/BaLS/xlwbv8kjXz/ + O5VY/wWp3/8yjVv/Rq5U/wufxv8PhJb/DYSc/x5+R/8Ika7/GIWC/0jAWf9o0XT/p+Gv/4zfmf+Axom0 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGwIrsmwTv/ieSX/3zfj/9p1nb/ + UtJl/z/OU/8wt0b/FHRk/wuJnv8Ep9f/FGNS/wWi0v8TeHz/MpZF/ziiRv8Fo9T/MJRG/zGXQ/8Eptj/ + KJU8/xuFU/8Qf2X/B5Cl/xN+kP88mmz/e9GI/73sw/9ryHf/ldmeQwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAmpTE3D7gd/WLXcf+s6Lb/l+eg/4Dgjv9r2nv/TLZk/wihz/8Rcnz/ + FG5c/xR5UP8Dncr/CmVf/xl+Pf8dhzj/A6LT/xl9Ov8YeT//AqPT/xmbMf8RiEr/CXxl/wWPpP8SbYj/ + CpzN/3avmP+U3p3/d8WCvdP02QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + fsuAAC2vNKwTvCL/kueb/8Xtyv+u7LX/mOaf/3rSiv8rk5z/FHSM/xSDkf8VdWP/BJW+/wVvfv8Eb3v/ + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHyU9PT2T + VVVV6m5ubv+JiYn/nZ2d/6urq/+wsLD/sLCw/6Ojo/+AgID/YWFh4jQ0NIYqKiobAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIhFGRkaY + XV1d+4aGhv+2trb/29vb//Dw8P/5+fn//Pz8//z8/P/6+vr/9fX1/+vr6//V1dX/tbW1/3FxcfY2NjaF + LCwsCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT05 + U1NT4n9/f//Dw8P/5+fn/+Hh4f/b29v/29vb/+Dg4P/o6Oj/8PDw//f39//9/f3//Pz8//z8/P/5+fn/ + 39/f/7CwsP9ZWVnUJCQkJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCTl5eXveioqL/z8/P/76+vv++vr7/zc3N/8vMzP+2t7f/paeo/5mbnP+cnp//q6ur/7/AwP/d3d3/ + 8fHx//n5+f/8/Pz/9PT0/8/Pz/9wcHDtJiYmNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEFBQUFiYmL4rq6u/7Cvr/+3trb/wcHB/5WVlP9ZW1v/VFZW/2ptb/90fn//foeJ/3qChP95fX7/ + XmZn/z5MUP9ka27/r7Cw/+jo5//29vb/9fX1/9nZ2f91dXXuMzMzKwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA3NzcbXFxc6qGhof+fn5//v7+//4aFhf9QT07/gYWA/7zBvf/R19T/x9jN/8HYyP+92MX/ + utfJ/77ZzP/L29L/yNHM/56pqP9qbW//XVxc/7W1tf/v7+//8vLy/9TU1P9qamrZaWlpDAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAE5OTrKFhYX/oKCg/66vrf9YV1b/hIWD/7rEu/+kv6T/kLqL/3Sld/9gnHD/ + VJ5x/1Cjdv83pXX/Nqp0/0axdf9ow4b/j9Cf/7LTuv+0t7L/Xl9c/4OAgv/n5uT/7Ozs/76+vv9tbW2S + AAAAAAAAAAAAAAAAAAAAAAAAAABDQ0NEbW1t/5ubm/+hoKH/W1tc/6Crov+QsJD/aJVd/0RqPf9AbDz/ + To5W/1yqbP9euID/YsGL/zS9i/8hu4H/JLl2/xuwZP8or1z/UcBt/5HTkP+yy6//en56/3Jxcf/h4eH/ + 4eHh/56envu2trYoAAAAAAAAAAAAAAAAAAAAAFZWVr2Li4z/o6Si/2RiY/+frJz/caBq/zdfL/8kUB// + N34s/02YQP9gqWb/b7iK/3LBov90ya//QsWv/zHGqf8/zab/OM6Q/zTNfv81w2X/Wb9V/3DPaf+ezZz/ + gYV//3t8e//m5eb/yMjI/62trZgAAAAAAAAAAAAAAABCQkIiaWlp/qOjo/9oZ2n/k6OQ/12TWf8dPhj/ + GlUT/yx4IP8+fzL/V5NL/3StcP+Ny6f/ldbC/4/ZzP9q08//QcjH/0fIwP9KxrL/Pr+P/0XEcP9k0V3/ + VMNI/13PU/+WzpX/bHNr/5+hoP/g4OD/ubm50vLy8gIAAAAAAAAAAEZGRm6FhYX/g4OD/3+Ff/9pmmD/ + FzgT/xVSDP8fbBL/NX0n/0yWPf9eoE3/bqNi/5HDq/+y3dL/ueTg/4nY4f9CxNT/NbvL/yyzuv8appH/ + I6Fn/0OvW/9dyE//ScM8/13TUv+XwpT/ZWRj/9DQ0P/Hx8f/7+/vCQAAAAAAAAAAWVlZf5eXl/9kZGT/ + ep52/yRYIP8KPwX/FmkN/yZ6Gf82hyT/So41/1iSPv9uoF7/kcGj/9rt4f/n9O//q+bt/1rQ4f9Ixdf/ + LrXD/x2kpP8Xk27/O5hY/1qjUf9Mt0D/P8Ix/3vgc/99inv/m5ub/8/Pz//f398SAAAAAAAAAABra2t/ + iYqJ/213b/9Ki0P/CT4I/xBtDP8XfhH/JoMZ/zWIIv9IjSz/XZhD/3KobP+Oxan/4vDm//P48//W9PX/ + X9bk/13U4/83wc3/K7K3/yOhff9qrm3/WqBU/0SXP/85pi7/XNdP/5O9j/9wb3H/1dbV/93d3RQAAAAA + AAAAAHl4eX95enn/aYRn/yJ1Hf8ObA7/FIIV/xmEFv8lhhn/Nosg/0qSMf9gnUz/dK13/4fDqv/K6uT/ + 8vr2/+36+f+e6+//Z9vm/znH0/8wub7/SLGP/3Oxb/9cpVf/Qpc//y+KL/9Esjf/nd2c/1xfXf/V1dX/ + 4+PjEAAAAAAAAAAAgYGBY3B0dP9chVb/FXYU/w6FFf8Rhxf/GYka/ySMHf81kSP/S5g0/2CiUP90sXv/ + h8Sr/6Pi4v/z+vb/9v34/8r39f+J5+3/PtDX/zPBwf9Ft5n/brFq/1mnVP9DnkD/MZcx/yKGJv+g35z/ + XmFe/9LS0+rt7e0FAAAAAAAAAACMi4wNdnV28kt6Sf8PgRj/EZAb/xSQG/8akR3/JZQg/zWZJv9Knjb/ + XqZO/3Cxdv+CwqP/mN3a/+j39f/5/fn/5fr4/4np6v9Y1tr/TcrG/1G/of9eqlL/T6M//0CfO/8xmzP/ + JpUu/2y0av9dYFz/2drbtfb29gAAAAAAAAAAAAAAAACAeoCZNWo4/w+SHf8RlR7/FJce/xqYIP8kmyL/ + Mp4n/0ajNP9aqEn/bLJs/3/Amf+R1cz/xu7s//f89v/k+Pj/p+vr/43f3P9yx6b/Z7hu/1eqQv9FozD/ + Op8w/zGfMf8voTn/OpZC/25sa//b3NtY+Pj4AAAAAAAAAAAAAAAAALSwuD0qcDP/EZof/xOcIP8UnSP/ + GZ4k/yGgJv8uoyr/Pqcz/1GtRv9ktWL/dr+I/4fMtv+m3tn/6vjz/7fo4/+a2s3/gcul/3C8eP9is1b/ + Uaw//z+mMP83pTL/Oag9/0CtS/8xmj3/f4Z/uNrd2wEAAAAAAAAAAAAAAAAAAAAAv7/FAT+ZSuESoiT/ + EqEj/xSiJf8Yoyb/H6Qn/yqnK/84qzP/Sq9B/1u3WP9twXn/fsyh/5bYxv/D7OL/tunf/5LZu/97y5P/ + ar1r/1u0Tv9Lrjv/Oaov/zmsOP9Er0f/VLhh/0WsUf+YvZxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + FpcmkhSkJv8ZqCr/FKcp/xioKv8cqSv/Jasu/zGuMv9Bsjv/UrpN/2jHbP96z43/g9ao/4/dvv+H3bv/ + h9eg/3nOhP9iv2H/UbZI/0KyOv87sDn/RrVM/1G8XP93yX7/WLlm/6LSqTgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAOmR5XFKws/zW3Sf8nsjz/HLAw/xquLP8hri7/KaYy/zGcOP9Ju0f/ULdV/1ewZv9iwXf/ + bMiK/2O8jf9s0X7/YsZr/02uVP9DtkL/N6Y9/zKeQP9GuFL/X8Nq/5/apv9du2z7y/PSEgAAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmMain.Designer.cs b/AllPurposeAutoSetup/frmMain.Designer.cs new file mode 100644 index 0000000..7015743 --- /dev/null +++ b/AllPurposeAutoSetup/frmMain.Designer.cs @@ -0,0 +1,170 @@ +namespace All_Purpose_Auto_Setup +{ + partial class frmMain + { + /// + /// 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(frmMain)); + this.btnStart = new System.Windows.Forms.Button(); + this.menuStrip1 = new System.Windows.Forms.MenuStrip(); + this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); + this.label1 = new System.Windows.Forms.Label(); + this.btnSelectConfigFile = new System.Windows.Forms.Button(); + this.label2 = new System.Windows.Forms.Label(); + this.txtBoxConfigFile = new System.Windows.Forms.TextBox(); + this.menuStrip1.SuspendLayout(); + this.SuspendLayout(); + // + // btnStart + // + this.btnStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 14.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnStart.ForeColor = System.Drawing.Color.Purple; + this.btnStart.Location = new System.Drawing.Point(11, 80); + this.btnStart.Margin = new System.Windows.Forms.Padding(2); + this.btnStart.Name = "btnStart"; + this.btnStart.Size = new System.Drawing.Size(127, 48); + this.btnStart.TabIndex = 0; + this.btnStart.Text = "START"; + this.btnStart.UseVisualStyleBackColor = true; + this.btnStart.Click += new System.EventHandler(this.btnStart_Click); + // + // menuStrip1 + // + this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.fileToolStripMenuItem, + this.helpToolStripMenuItem}); + this.menuStrip1.Location = new System.Drawing.Point(0, 0); + this.menuStrip1.Name = "menuStrip1"; + this.menuStrip1.Padding = new System.Windows.Forms.Padding(4, 2, 0, 2); + this.menuStrip1.Size = new System.Drawing.Size(390, 24); + this.menuStrip1.TabIndex = 1; + this.menuStrip1.Text = "menuStrip1"; + // + // fileToolStripMenuItem + // + this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; + this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); + this.fileToolStripMenuItem.Text = "File"; + // + // helpToolStripMenuItem + // + this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { + this.aboutToolStripMenuItem}); + this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; + this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); + this.helpToolStripMenuItem.Text = "Help"; + // + // aboutToolStripMenuItem + // + this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; + this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22); + this.aboutToolStripMenuItem.Text = "About"; + this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label1.ForeColor = System.Drawing.SystemColors.Highlight; + this.label1.Location = new System.Drawing.Point(-3, 33); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(200, 31); + this.label1.TabIndex = 2; + this.label1.Text = "Generic Setup"; + // + // btnSelectConfigFile + // + this.btnSelectConfigFile.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnSelectConfigFile.Location = new System.Drawing.Point(3, 143); + this.btnSelectConfigFile.Name = "btnSelectConfigFile"; + this.btnSelectConfigFile.Size = new System.Drawing.Size(190, 30); + this.btnSelectConfigFile.TabIndex = 3; + this.btnSelectConfigFile.Text = "Select Configuration File"; + this.btnSelectConfigFile.UseVisualStyleBackColor = true; + this.btnSelectConfigFile.Click += new System.EventHandler(this.btnSelectConfigFile_Click); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label2.Location = new System.Drawing.Point(6, 185); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(116, 13); + this.label2.TabIndex = 4; + this.label2.Text = "Current Config File:"; + // + // txtBoxConfigFile + // + this.txtBoxConfigFile.BackColor = System.Drawing.SystemColors.ButtonHighlight; + this.txtBoxConfigFile.Location = new System.Drawing.Point(123, 181); + this.txtBoxConfigFile.Name = "txtBoxConfigFile"; + this.txtBoxConfigFile.ReadOnly = true; + this.txtBoxConfigFile.Size = new System.Drawing.Size(255, 20); + this.txtBoxConfigFile.TabIndex = 5; + // + // frmMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(390, 215); + this.Controls.Add(this.txtBoxConfigFile); + this.Controls.Add(this.label2); + this.Controls.Add(this.btnSelectConfigFile); + this.Controls.Add(this.label1); + this.Controls.Add(this.btnStart); + this.Controls.Add(this.menuStrip1); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.MainMenuStrip = this.menuStrip1; + this.Margin = new System.Windows.Forms.Padding(2); + this.Name = "frmMain"; + this.Text = "Generic Setup"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing); + this.Load += new System.EventHandler(this.frmMain_Load); + this.Shown += new System.EventHandler(this.frmMain_Shown); + this.menuStrip1.ResumeLayout(false); + this.menuStrip1.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Button btnStart; + private System.Windows.Forms.MenuStrip menuStrip1; + private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; + private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Button btnSelectConfigFile; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtBoxConfigFile; + } +} + diff --git a/AllPurposeAutoSetup/frmMain.cs b/AllPurposeAutoSetup/frmMain.cs new file mode 100644 index 0000000..d2f984c --- /dev/null +++ b/AllPurposeAutoSetup/frmMain.cs @@ -0,0 +1,395 @@ +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; +using System.Diagnostics; +using System.IO; +using System.Text.RegularExpressions; +using System.Threading; +using System.Reflection; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; + +namespace All_Purpose_Auto_Setup +{ + public partial class frmMain : Form + { + frmSetupStatusDisplay dlgBuildSoftwarePackage; + + private bool restartApplicationRequested = false; + + private bool rebootRequested = false; + + string pathAndNameOfConfigFile = ""; + + public frmMain() + { + InitializeComponent(); + + Version appVersion = Assembly.GetExecutingAssembly().GetName().Version; + + DateTime buildDateTime = File.GetCreationTime(Assembly.GetExecutingAssembly().Location); + + this.Text = "Automated Windows Setup - " + buildDateTime.ToString("MM/dd/yyyy") + " - Version " + appVersion.Major.ToString() + "." + appVersion.Minor.ToString(); + } + + private void btnStart_Click(object sender, EventArgs e) + { + bool iniFileValid = false; + string msg = string.Empty; + + while (!iniFileValid) + { + iniFileValid = true; + if (pathAndNameOfConfigFile == null || pathAndNameOfConfigFile.Length == 0) + { + msg = "INI file is not provided"; + iniFileValid = false; + } + else if (!String.Equals(Path.GetExtension(pathAndNameOfConfigFile), ".ini", StringComparison.OrdinalIgnoreCase)) + { + msg = "File " + pathAndNameOfConfigFile + " is not an INI file"; + iniFileValid = false; + } + else if (!File.Exists(pathAndNameOfConfigFile)) + { + iniFileValid = false; + msg = "INI File " + pathAndNameOfConfigFile + " doesn't exist"; + } + + msg += "\nPlease select a valid INI configuration file to continue..."; + + if (!iniFileValid) + { + List buttons = new List() + { new MessageBoxCustom.clsCustomButton("Select File...", "0"), + new MessageBoxCustom.clsCustomButton("Cancel...", "1"), + }; + + string result = MessageBoxCustom.Show(this, MessageBoxCustom.PopUpMsgType.CUSTOMQUESTION, buttons, msg, "ERROR!!!", -1); + + if (result == "0") + { + OpenFileDialog openFileDialog1 = new OpenFileDialog(); + openFileDialog1.InitialDirectory = Application.StartupPath; + openFileDialog1.Filter = "INI File (*.ini)|*.ini"; + openFileDialog1.FilterIndex = 2; + openFileDialog1.RestoreDirectory = true; + + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + pathAndNameOfConfigFile = openFileDialog1.FileName; + txtBoxConfigFile.Text = pathAndNameOfConfigFile; + processConfigFile(); + } + + } + else + break; + } + } + + if (iniFileValid) + { + bool proceed = runApplicationUsingAdminAccount(); + + if (restartApplicationRequested) + { + this.Close(); + } + else if (proceed) + { + // we only ask for login account if we're starting a new setup process + if ((int)Properties.Settings.Default["CurrentSetupStep"] < 1) + { + provideWindowsPasswordForAutoLogin(); + } + + dlgBuildSoftwarePackage = new frmSetupStatusDisplay(this); + dlgBuildSoftwarePackage.FormClosing += getReasonForSetupFormClosing; + dlgBuildSoftwarePackage.parentForm = this; + dlgBuildSoftwarePackage.ShowDialog(); + + if (restartApplicationRequested) + { + this.Close(); + } + + if (rebootRequested) + { + ProcessStartInfo proc = new ProcessStartInfo(); + proc.WindowStyle = ProcessWindowStyle.Hidden; + proc.FileName = "cmd"; + proc.Arguments = "/C shutdown -r -t 1"; + Process.Start(proc); + + this.Close(); + } + } + } + } + + public string getConfigFile() + { + return pathAndNameOfConfigFile; + } + + private void aboutToolStripMenuItem_Click(object sender, EventArgs e) + { + frmAbout dlgAbout = new frmAbout(); + dlgAbout.parentForm = this; + DialogResult result = dlgAbout.ShowDialog(); + } + + void getReasonForSetupFormClosing(Object sender, FormClosingEventArgs e) + { + if (dlgBuildSoftwarePackage.restartApplicationRequested) + restartApplicationRequested = true; + + if (dlgBuildSoftwarePackage.rebootRequested) + rebootRequested = true; + } + + private void frmMain_Shown(object sender, EventArgs e) + { + string[] args = Environment.GetCommandLineArgs(); + + if (args.Count() > 1) + { + pathAndNameOfConfigFile = args[1]; + if (!PathManip.IsAbsolutePath(pathAndNameOfConfigFile)) + pathAndNameOfConfigFile = Path.GetFullPath(Path.Combine(Application.StartupPath, pathAndNameOfConfigFile)); + } + else if (Properties.Settings.Default["ConfigFile"].ToString().Length > 0) + { + pathAndNameOfConfigFile = Properties.Settings.Default["ConfigFile"].ToString(); + } + else if (pathAndNameOfConfigFile.Length == 0) + { + pathAndNameOfConfigFile = Path.Combine(Application.StartupPath, "config.ini"); + } + txtBoxConfigFile.Text = pathAndNameOfConfigFile; + + processConfigFile(); + + if ((bool)Properties.Settings.Default["AutoRunOnStartup"]) + { + Properties.Settings.Default["AutoRunOnStartup"] = false; + + Common.deleteTaskSchedulerForAutoRunAfterReboot("Auto_Win_Setup_Task"); + + btnStart.PerformClick(); + } + } + + private void processConfigFile() + { + if (pathAndNameOfConfigFile.Length > 0 && File.Exists(pathAndNameOfConfigFile)) + { + IniFileManip iniFile = new IniFileManip(pathAndNameOfConfigFile); + string sectionName = ConfigFileManager.enum_INI_SECTION_NAMES.General.ToString(); + string program = iniFile.ReadValue(sectionName, "program_name"); + + if (program.Length > 0) + { + this.label1.Text = program; + } + } + } + + private bool runApplicationUsingAdminAccount() + { + bool proceed = true; + string msg = ""; + if (pathAndNameOfConfigFile.Length > 0 && File.Exists(pathAndNameOfConfigFile)) + { + IniFileManip iniFile = new IniFileManip(pathAndNameOfConfigFile); + string sectionName = ConfigFileManager.enum_INI_SECTION_NAMES.Global_Settings.ToString(); + string provideAdminAccount = iniFile.ReadValue(sectionName, "Always_Run_Application_Using_Admin_Account"); + + if (String.Equals(provideAdminAccount, "true", StringComparison.OrdinalIgnoreCase) + || + String.Equals(provideAdminAccount, "yes", StringComparison.OrdinalIgnoreCase)) + { + // if application is not run using an admin account + if (!WindowsAdministration.IsApplicationRunAsAdmin()) + { + msg = "This software application must be run using an Administrator account.\n\nClick OK to run this application using an Administrator account."; + + MessageBoxCustom.Show(this, MessageBoxCustom.PopUpMsgType.INFO, null, msg, "INFO", -1); + + ProcessStartInfo proc = new ProcessStartInfo(); + proc.UseShellExecute = true; + proc.WorkingDirectory = Environment.CurrentDirectory; + proc.FileName = Application.ExecutablePath; + proc.Arguments = pathAndNameOfConfigFile; + proc.Verb = "runas"; + try + { + this.Hide(); + Process.Start(proc); + restartApplicationRequested = true; + } + catch + { + this.Show(); + proceed = false; + // The user refused the elevation. + // Do nothing and return directly ... + //return; + } + } + } + } + + return proceed; + } + + private void provideWindowsPasswordForAutoLogin() + { + if (pathAndNameOfConfigFile.Length > 0 && File.Exists(pathAndNameOfConfigFile)) + { + IniFileManip iniFile = new IniFileManip(pathAndNameOfConfigFile); + string sectionName = ConfigFileManager.enum_INI_SECTION_NAMES.Global_Settings.ToString(); + string provideAdminAccount = iniFile.ReadValue(sectionName, "Provide_Windows_Password_For_Auto_Login"); + + if (String.Equals(provideAdminAccount, "true", StringComparison.OrdinalIgnoreCase) + || + String.Equals(provideAdminAccount, "yes", StringComparison.OrdinalIgnoreCase)) + { + enableWindowsAutoLogin(); + } + } + } + + private void enableWindowsAutoLogin() + { + string errMsg = ""; + string password = ""; + string password2 = ""; + string registryPath = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"; + + frmUserInput inputDialog = new frmUserInput(this); + inputDialog.parentForm = this; + do + { + inputDialog.richTxtBoxOverwriteText("There might be one or more reboots during the setup process.\n\n"); + inputDialog.richTxtBoxAppendText("Please provide the password for " + WindowsAdministration.GetWindowLoginID() + " so that the application can auto-login to continue the setup process.\n"); + inputDialog.richTxtBoxAppendText("If there's no password, leave the field blank."); + inputDialog.ShowDialog(); + + password = inputDialog.getUserPassword(); + + if (password.Length > 0) + { + inputDialog.richTxtBoxOverwriteText("Please re-enter the password."); + inputDialog.clearUserPassword(); + inputDialog.ShowDialog(); + password2 = inputDialog.getUserPassword(); + inputDialog.clearUserPassword(); + + if (password != password2) + { + MessageBoxCustom.Show(this, MessageBoxCustom.PopUpMsgType.ERROR, null, "The passwords you entered do not match. Please re-enter the password.", "ERROR!!!", -1); + } + } + } while (password.Length > 0 && password != password2); + + string username = Regex.Replace(WindowsAdministration.GetWindowLoginID(), @"[^\\]+\\(.+)", "$1"); + + WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, Microsoft.Win32.RegistryHive.LocalMachine, "AutoAdminLogon", Microsoft.Win32.RegistryValueKind.String, "1", ref errMsg); + + if (WindowsAdministration.GetDomainName() != System.Environment.MachineName) + { + WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, Microsoft.Win32.RegistryHive.LocalMachine, "DefaultDomainName", Microsoft.Win32.RegistryValueKind.String, WindowsAdministration.GetDomainName(), ref errMsg); + } + + WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, Microsoft.Win32.RegistryHive.LocalMachine, "DefaultUserName", Microsoft.Win32.RegistryValueKind.String, username, ref errMsg); + + if (password.Length > 0) + WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, Microsoft.Win32.RegistryHive.LocalMachine, "DefaultPassword", Microsoft.Win32.RegistryValueKind.String, password, ref errMsg); + } + + private void frmMain_Load(object sender, EventArgs e) + { + this.AllowDrop = true; + this.DragEnter += frmMain_DragEnter; + this.DragDrop += frmMain_DragDrop; + } + + private void frmMain_DragEnter(object sender, DragEventArgs e) + { + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + { + e.Effect = DragDropEffects.Copy; + } + + else + { + e.Effect = DragDropEffects.None; + } + } + + + private void frmMain_DragDrop(object sender, DragEventArgs e) + { + + if (e.Data.GetDataPresent(DataFormats.FileDrop)) + { + string[] filePaths = (string[])(e.Data.GetData(DataFormats.FileDrop)); + + if (filePaths.Length > 1) + { + MessageBoxCustom.Show(this, MessageBoxCustom.PopUpMsgType.ERROR, null, "More than one file detected. Expecting only one file of type INI", "ERROR!!!", -1); + } + else if (!String.Equals(Path.GetExtension(filePaths[0]), ".ini", StringComparison.OrdinalIgnoreCase)) + { + MessageBoxCustom.Show(this, MessageBoxCustom.PopUpMsgType.ERROR, null, "Wrong file type detected. Expecting only file of type INI", "ERROR!!!", -1); + } + else + { + pathAndNameOfConfigFile = filePaths[0]; + processConfigFile(); + } + } + } + + private void btnSelectConfigFile_Click(object sender, EventArgs e) + { + OpenFileDialog openFileDialog1 = new OpenFileDialog(); + + if (pathAndNameOfConfigFile.Length > 0) + { + openFileDialog1.InitialDirectory = Path.GetDirectoryName(pathAndNameOfConfigFile); + } + else + openFileDialog1.InitialDirectory = Application.StartupPath; + + openFileDialog1.Filter = "INI File (*.ini)|*.ini"; + openFileDialog1.FilterIndex = 2; + openFileDialog1.RestoreDirectory = true; + + if (openFileDialog1.ShowDialog() == DialogResult.OK) + { + pathAndNameOfConfigFile = openFileDialog1.FileName; + txtBoxConfigFile.Text = pathAndNameOfConfigFile; + + processConfigFile(); + } + } + + private void frmMain_FormClosing(object sender, FormClosingEventArgs e) + { + Properties.Settings.Default["ConfigFile"] = pathAndNameOfConfigFile; + Properties.Settings.Default.Save(); + } + } +} \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmMain.resx b/AllPurposeAutoSetup/frmMain.resx new file mode 100644 index 0000000..d238e28 --- /dev/null +++ b/AllPurposeAutoSetup/frmMain.resx @@ -0,0 +1,3898 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + 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 + z/PlLMsW0zSdl1J28jxvSymbUsq6UqrKGAsAeHEcu2maCqUU55xLznlmWVbMOY8sy5oIIUa2bQ+EED3b + tneFEDtCiC3LsjaEEGu2ba85jnP593//99+wstj7pm3fAezbvr2F7cfHC7Vv+7ZvN73tO4B927e3sO07 + gH3bt7ew7TuAfdu3t7DtO4B927e3sO07gH3bt7ew7TuAfdu3t7DtO4B927e3sO07gH3bt7ew7TuAfdu3 + t7D9/08bzI8AXVWFAAAAAElFTkSuQmCCKAAAAIAAAAAAAQAAAQAgAAAAAAAAAAEAEwsAABMLAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxJISEgsQEBAQzo6OlY2NjZmNTU1cjExMXsoKCh/ + KysrfTAwMHc2NjZtPz8/X0hISE1PT084V1dXIGBgYAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGCjY2NjYlJSVjHx8fnhwcHMMYGBjk + Ghoa/RwcHP8fHx//ISEh/yQkJP8lJSX/JiYm/yQkJP8jIyP/ISEh/x8fH/8cHBz/Ghoa/xkZGf8cHBz/ + ICAg9CQkJNQvLy+xOzs7gVBQUExkZGQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZGRgUuLi42 + JSUleiUlJb0iIiLvIiIi/yQkJP8kJCT/JSUl/zExMf84ODj/QUFB/0xMTP9UVFT/Wlpa/1xcXP9hYWH/ + b29v/2xsbP9mZmb/XFxc/1BQUP9ERET/Ozs7/zU1Nf8tLS3/KCgo/yMjI/8iIiL/JCQk/ygoKP0lJSXW + MjIyoUpKSlJWVlYZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPDw8BycnJz8fHx+YGxsb3SQkJP8rKyv/MzMz/0FBQf9VVVX/ZmZm/3Nzc/98fHz/ + h4eH/4qKiv+Pj4//lZWV/5qamv+cnJz/nJyc/5ycnP+cnJz/np6e/6Ojo/+lpaX/p6en/6ampv+mpqb/ + oaGh/5iYmP+Pj4//f39//2lpaf9OTk7/NDQ0/yMjI/8jIyP/JSUl/yMjI/UrKyu/QkJCaFpaWh4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpJxQUFIMbGxvaKSkp/zg4OP9AQED/ + W1tb/2tra/92dnb/fHx8/3x8fP96enr/e3t7/35+fv+IiIj/iYmJ/4qKiv+NjY3/kJCQ/5OTk/+VlZX/ + lpaW/5eXl/+ZmZn/m5ub/5ycnP+enp7/oKCg/6Ghof+goKD/oKCg/6mpqf+wsLD/sLCw/6ampv+Wlpb/ + ioqK/3V1df9WVlb/ODg4/x0dHf8YGBj/ICAg9S8vL7dERERNV1dXCgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwC + GhoaQCMjI7MhISH3JSUl/z4+Pv9dXV3/cXFx/3d3d/91dXX/eHh4/39/f/+AgID/gICA/4KCgv+IiIj/ + jY2N/5OTk/+VlZX/mJiY/5ycnP+goKD/o6Oj/6enp/+pqan/r6+v/6+vr/+wsLD/sbGx/7Gxsf+ysrL/ + srKy/7Kysv+zs7P/sbGx/6+vr/+urq7/rq6u/66urv+wsLD/qamp/6ampv+dnZ3/fn5+/1VVVf82Njb/ + JSUl/xkZGf8iIiLbMTExeUlJSRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwEHR0dTB8fH8YhISH/NTU1/1NTU/9vb2//eXl5/3h4eP91dXX/ + c3Nz/3l5ef9/f3//h4eH/4uLi/+Pj4//lpaW/5+fn/+oqKj/ra2t/7CwsP+3t7f/vr6+/8bGxv/Nzc3/ + 09PT/9XV1f/S0tL/0tLS/9HR0f/Q0ND/z8/P/8/Pz//Pz8//zs7O/83Nzf/IyMj/wcHB/7y8vP+6urr/ + ubm5/7y8vP+vr6//qqqq/7S0tP+4uLj/t7e3/6enp/97e3v/RkZG/ysrK/8bGxv/Hh4e7TIyMotPT08d + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkQiAgIMUpKSn/ + SEhI/2lpaf9wcHD/a2tr/29vb/93d3f/fn5+/4CAgP9+fn7/gICA/4qKiv+ZmZn/p6en/7Ozs/++vr7/ + ycnJ/9TU1P/h4eH/5OTk/+jo6P/t7e3/8fHx//b29v/5+fn/+vr6//X19f/19fX/9PT0//T09P/09PT/ + 8/Pz//Ly8v/s7Oz/5eXl/+Xl5f/h4eH/3d3d/9fX1//Q0ND/zMzM/8rKyv/Gxsb/u7u7/7Ozs/+vr6// + sLCw/62trf+oqKj/i4uL/2JiYv8yMjL/GBgY/xsbG+0wMDCFUFBQFQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAJiYmKSUlJa4rKyv9RERE/19fX/9wcHD/cXFx/25ubv9wcHD/dnZ2/39/f/+Kior/ + lJSU/5mZmf+rq6v/vLy8/83Nzf/f39//7Ozs//X19f/8/Pz//v7+//7+/v/+/v7//v7+//////////// + //////////////////////////////////////////////////////39/f/4+Pj/+vr6//v7+//5+fn/ + 9/f3//Pz8//y8vL/6urq/93d3f/S0tL/zc3N/8nJyf++vr7/tLS0/7S0tP+4uLj/rq6u/46Ojv9hYWH/ + MTEx/xcXF/8lJSXkNTU1aERERAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjDh0dHX4wMDDvR0dH/1tbW/9hYWH/ + YWFh/2lpaf9qamr/b29v/39/f/+NjY3/mJiY/6mpqf/Gxsb/3t7e/+zs7P/29vb//v7+//////////// + +/v7//n5+f/6+vr//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////////////// + //////////////////////////////////////7+/v/+/v7//v7+///////9/f3/9vb2/+rq6v/k5OT/ + 4ODg/9TU1P/IyMj/xMTE/7q6uv+xsbH/s7Oz/7S0tP+bm5v/XFxc/ykpKf8RERH/KSkpxzw8PDQAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAB0dHTcjIyPPODg4/19fX/9tbW3/ZmZm/2dnZ/9sbGz/ampq/3Z2dv+Li4v/oqKi/729vf/T09P/ + 5OTk//Pz8//7+/v/9/f3//j4+P/+/v7///////39/f/8/Pz//f39//39/f/+/v7////////////+/v7/ + /v7+//39/f/8/Pz/+/v7//v7+//7+/v//Pz8//39/f/+/v7//v7+///////+/v7//f39//7+/v////// + /v7+//7+/v/+/v7///////n5+f/4+Pj//f39//z8/P/39/f/7+/v/+Hh4f/U1NT/y8vL/83Nzf/AwMD/ + qqqq/6ioqP+srKz/jY2N/1hYWP8gICD/FxcX9CkpKYRLS0sOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmJgklJSV8MTEx805OTv9oaGj/Z2dn/2pqav9ra2v/ + cnJy/4GBgf+SkpL/qqqq/8DAwP/V1dX/7Ozs//j4+P/6+vr/+vr6//r6+v/7+/v//f39//z8/P/7+/v/ + 9/f3//b29v/19fX/8/Pz//Hx8f/x8fH/8PDw/+/v7//u7u7/7e3t/+zs7P/s7Oz/7u7u/+/v7//x8fH/ + 9PT0//f39//5+fn//Pz8//v7+//8/Pz//f39//7+/v/+/v7//////////////////v7+//z8/P/7+/v/ + +fn5//z8/P///////Pz8//Dw8P/r6+v/4eHh/9PT0//IyMj/vLy8/7Gxsf+vr6//s7Oz/25ubv8+Pj7/ + Gxsb/yIiIss0NDQtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIyMb + KSkpt0FBQf9eXl7/Z2dn/2VlZf9mZmb/bm5u/3l5ef+Ghob/o6Oj/8bGxv/j4+P/7Ozs/+7u7v/z8/P/ + 9fX1//f39//39/f/9fX1/+7u7v/q6ur/5ubm/+Li4v/d3d3/2tra/9jY2P/X19f/1tbW/9fX1//Z2dn/ + 3Nzc/+Dg4P/h4eH/5OTk/+Xl5f/r6+v/7Ozs/+7u7v/x8fH/9PT0//f39//4+Pj/9/f3//b29v/7+/v/ + /f39//7+/v/+/v7//v7+//v7+//6+vr/+fn5//z8/P/8/Pz/+/v7//r6+v/7+/v//f39//7+/v/5+fn/ + 7+/v/+Dg4P/R0dH/wMDA/7Ozs/+urq7/urq6/56env9jY2P/IyMj/xgYGO0yMjJlAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoPzc3N+JPT0//XV1d/1lZWf9dXV3/ampq/3BwcP+EhIT/ + oqKi/8HBwf/Z2dn/5+fn/+/v7//z8/P/9PT0//Ly8v/t7e3/4uLi/9bW1v/Pz8//y8vL/8nJyf/IyMj/ + xsbG/8jIyP/MzMz/0NDQ/9PT0//X19f/2dnZ/9zc3P/g4OD/4+Pj/+fn5//p6en/7Ozs//Ly8v/z8/P/ + 9fX1//f39//6+vr//Pz8//39/f/6+vr/9fX1//v7+/////////////7+/v/9/f3/9/f3//n5+f/8/Pz/ + /v7+//39/f/6+vr/+vr6//z8/P/+/v7////////////7+/v/8/Pz/+np6f/Y2Nj/zMzM/8LCwv+ysrL/ + srKy/7CwsP99fX3/MzMz/xsbG/40NDSUREREDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKWM1NTXw + WVlZ/2FhYf9XV1f/YGBg/29vb/98fHz/mJiY/7e3t//U1NT/7Ozs//f39//09PT/7+/v/+np6f/h4eH/ + 1tbW/8vLy//Dw8P/vr6+/729vf/FxcX/yMjI/8fHx//IyMj/ycnJ/8zMzP/Pz8//0dHR/9XV1f/W1tb/ + 19fX/9ra2v/d3d3/39/f/+Hh4f/h4eH/4+Pj/+Tk5P/m5ub/6enp/+vr6//u7u7/8PDw//Ly8v/29vb/ + +fn5//7+/v///////v7+//7+/v/+/v7//f39//v7+//8/Pz//v7+///////////////////////6+vr/ + +fn5//39/f/9/f3/+fn5//Dw8P/o6Oj/4ODg/8rKyv+7u7v/rKys/66urv+Wlpb/SkpK/xoaGv8hISG7 + NTU1GQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACgoKAMqKip+Pj4++lpaWv9jY2P/YWFh/2ZmZv95eXn/jIyM/6Wlpf/Ly8v/ + 5eXl/+zs7P/s7Oz/6enp/+Dg4P/Q0ND/xcXF/8DAwP+4uLj/tbW1/7e3t/+9vb3/wsLC/8PDw//FxcX/ + ysrK/8/Pz//S0tL/0tLS/9DQ0P/Pz8//1dXV/9fX1//Y2Nj/2tra/9zc3P/d3d3/39/f/93d3f/Y2Nj/ + 2NjY/9nZ2f/a2tr/2tra/9vb2//b29v/3t7e/+Hh4f/j4+P/5ubm/+rq6v/u7u7/8/Pz//j4+P/8/Pz/ + /v7+///////+/v7//f39//39/f/9/f3//Pz8//b29v/19fX/+fn5//z8/P/9/f3//Pz8//n5+f/39/f/ + 4ODg/9LS0v/BwcH/srKy/7u7u/+oqKj/VlZW/x0dHf8ZGRnYQEBAJAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKysHMjIykExMTP9UVFT/ + Y2Nj/2dnZ/9mZmb/dnZ2/5mZmf+8vLz/2dnZ/+np6f/r6+v/3d3d/87Ozv/ExMT/vLy8/7S0tP+xsbH/ + sbGx/7Ozs/+2trb/vb29/8LCwv/Hx8f/yMjI/87Ozv/Y2Nj/4uLi/+jo6P/p6en/5ubm/+Li4v/i4uL/ + 4uLi/9/f3//d3d3/2tra/9fX1//V1dX/1NTU/87Ozv/Pz8//z8/P/9LS0v/T09P/1dXV/9XV1f/a2tr/ + 4uLi/9zc3P/X19f/1tbW/9jY2P/c3Nz/4ODg/+Xl5f/t7e3/9/f3//7+/v/////////////////7+/v/ + +/v7//z8/P/7+/v/+/v7//v7+//7+/v//Pz8//39/f/19fX/7e3t/9/f3//Ozs7/u7u7/7i4uP+qqqr/ + bm5u/yMjI/8hISHjMTExNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAALCwsCTMzM5lHR0f/XFxc/1tbW/9hYWH/bm5u/4KCgv+lpaX/y8vL/+Li4v/m5ub/ + 3Nzc/83Nzf+9vb3/sLCw/6ysrP+srKz/rq6u/7Gxsf+1tbX/vLy8/8TExP/MzMz/1dXV/9ra2v/j4+P/ + 5OTk/+Li4v/e3t7/1NTU/8rKyv/BwcH/ubm5/6SkpP+fn5//mJiY/4+Pj/+Hh4f/fX19/3d3d/90dHT/ + dXV1/3h4eP98fHz/g4OD/4mJif+Pj4//k5OT/5ycnP+qqqr/s7Oz/8DAwP/Ly8v/09PT/9fX1//Y2Nj/ + 29vb/+Dg4P/k5OT/7Ozs//Hx8f/19fX/+vr6//7+/v/////////////////+/v7//Pz8//r6+v/5+fn/ + +fn5//r6+v/w8PD/6urq/97e3v/V1dX/vb29/66urv+5ubn/d3d3/xkZGf8XFxfnPz8/OgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4uLgcyMjKZRkZG/1paWv9WVlb/ + YWFh/29vb/+Kior/tbW1/9ra2v/o6Oj/3d3d/8nJyf+7u7v/sLCw/6moqP+ioqL/pKSk/6+vr/+1tbX/ + urq6/8fHx//X19f/4ODg/+Hh4f/d3d7/2trb/9DQ0P/ExMX/tLS1/6Chof+Ji4v/d3p7/21wcf9kaGn/ + VFlb/1BWWf9NVFf/SVBU/0RMT/8+Rkn/PUNH/zxCR/8/R0v/PkdL/0BKTv9GT1L/TlRX/1RYWv9XWlv/ + XF1d/2FiYv9mZ2f/bm9w/3x/f/+RlJP/pqmp/7K0tP/GyMn/1dbW/9TV1f/Y2dn/3d7e/+Pj4//m5uf/ + 6urr//b29v/8/Pz//f39/////////////f39//r6+v/39/f/9vb2//r6+v/v7+//7u7u//Dw8P/W1tb/ + wcHB/7i4uP+wsLD/dXV1/ywsLP8dHR3oREREOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA3NzcDODg4kEdHR/9WVlb/YWFh/2ZmZv9ra2v/kpKS/8jIyP/g4OD/2NjY/8vLy/+7u7v/ + qqqq/6ampv+lpKT/p6am/6Kiov+tra3/w8PD/9PT0//f39//6Ojo/+np6f/g4OH/0NDQ/7W2tv+en5// + goSE/3J0dv9kZWf/VVVZ/0dITP8/QUX/PD1D/zc6QP8qLzT/Jywy/yQrMP8iKTD/ICgv/x8oLf8iKjD/ + Iyox/yMqMf8eJy7/Hiku/yMsMf8qMDX/MjQ4/zc4Ov8+PkD/R0VG/0lISf9ISEv/SEpO/0xRVv9TWF// + VFlg/21yd/+Ok5T/oqan/7m8vP/O0M//4OHf/+Xl5P/e393/4uLi/+fn5//x8fH//v7+///////+/v7/ + +fn5//n5+f/5+fn/8/Pz//r6+v/6+vr/9fX1//Pz8//b29v/vr6+/7i4uP/AwMD/f39//yUlJf8fHx/m + TU1NLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw8PH5NTU3/V1dX/1lZWf9jY2P/ + dnZ2/5qamv/IyMj/3t7e/9XV1f+9vb3/qamp/6CgoP+hoaH/pqWl/6moqP+3t7b/vb28/9HR0f/j4uL/ + 6Ojo/+bm5v/S0tL/s7Oz/5eXl/+Dg4T/aWpq/09QUf9HSkr/P0NE/zI1OP8pKi7/JSYs/yYoLv8pKTL/ + LCw3/zM4Pf81O0D/Nj1E/ztBSf8+RU3/Q0xS/0hQWP9LUFn/Sk9U/0FKTv8+R0z/P0ZL/0FGS/9CRUn/ + R0dK/0JBRf83Njn/Nzc6/zM1Ov8oLjb/JC04/yQwO/8nNED/LzxD/0BKTf9QWVz/YGdo/36Dgv+qrqv/ + y87K/9PV0P/Y2tj/3t/f/+Xl5f/s7Oz/8fHx//v7+//6+vr/+/v7//X19f/19fX/8fHx//Hx8f/19fX/ + 9vb2/+vr6//e3t7/yMjI/7S0tP+1tbX/dHR0/x8fH/8xMTHgTU1NHQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAzMzNjQkJC+lZWVv9bW1v/ZGRk/3x8fP+np6f/zc3N/97e3v/Gxsb/qKio/5ubm/+ampr/ + mZmZ/5ycnP+np6b/vby8/9vb2//l5OT/4ODg/9PT0v+7u7v/np2d/3p6ev9hX2H/T09P/z0+P/8tLzD/ + KSss/yIlJP8kJyb/KzAt/zU4N/9ER0b/VllZ/2hqav94env/jJiV/5Ognf+eqqn/qra0/7XBv/+/ycj/ + w87M/8TPzf/Gzcv/w8rI/73GxP+0vbv/q7Sx/6Gpp/+epaP/jZST/291df9mbm3/VWBf/z9OTv8rP0D/ + HTU1/xEsLf8WKi7/ICw0/yYxOf8vOT//PUVJ/1BWWf9ucnT/jpCQ/7a4uP/P0M//3N3d/+Hh4f/i4uL/ + 6+vr//Ly8f/+/v7//Pz8//b29v/29vb/9/f3//Dw8P/q6ur/7u7u//Pz8//f39//ysrK/7Gxsf+tra3/ + fHx8/ykpKf8vLy/KWFhYFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyPzo6OvBQUFD/WFhY/2JiYv+AgID/ + qqqq/8rKyv/FxcX/tra2/6Ojo/+Wlpb/lZWV/5qamv+lpaX/vb29/9LR0f/g39//4+Pj/9DQ0P+xsbH/ + j5CO/3Nycv9ZWFf/QD8+/zQ0M/8pKSj/HR0e/xweH/8zNjf/UFBP/2hoZf+FhoP/oqOg/7q7uf/LzMj/ + 1NbT/93f2v/a5eD/2OLd/9Pe2v/P2tX/y9jT/8rX0//L2NP/zNjU/8zW1v/M1db/y9XV/8zX1v/R29n/ + 1d/e/9zk4//d5eT/2ODf/9Pb2P/J0s//tMC8/5emof9xhYD/U2pl/ztMUP8eLTf/EiIr/xknL/8jLjX/ + MDY9/0FESf9aWl7/bm5w/4eHh/+xsbH/1dXV/+Pi4v/f39//4eHh/+np6f/29vb////////////6+vr/ + 7u7u//Ly8v/19fX/9PT0//X19f/c3Nz/ycnJ/8DAwP+kpKT/aGho/yQkJP9CQkKobGxsBwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACkpKRs2NjbiT09P/19fX/9eXl7/d3d3/6ampv/FxcX/v7+//6Wlpf+RkZH/jY2N/5GRkf+fn5// + t7e3/9PT0//q6ur/6unp/9fX1/+zs7P/iomJ/2trav9aWFj/RUVE/ysuKf8bGxj/GRsY/ystKv9FRkb/ + Zmto/5CVk//GxMb/2NPX/9rY2//c297/29vc/9PV1v/Lz8//xszL/8zS0//M0tP/y9PT/8rT0v/M1NP/ + zdbV/8/Y1f/R2df/0tfc/9DW2f/N1Nj/ytLW/8rR1v/J0dX/zNTX/8nP1P/Eyc7/zNDU/9fZ2v/b3t7/ + 293c/9fY1//U1dP/tLu7/3yJjv9UZGn/OEhN/yQzOv8mMDj/MDQ5/zY3Pv8/P0L/T05P/2loaP+CgYH/ + qqqq/9fX1//k5OT/2dnZ/+jn5//19fX/+vr6//v7+//29vb/9/f3//T09P/v7+//7u7u/+zs7P/k5OT/ + xMTE/7Ozs/+rq6v/WFhY/yYmJv9UVFR+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAJNjY2t0dHR/9eXl7/Z2dn/3l5ef+ioqL/ + v7+//7q6uv+ioqL/lpaW/46Ojv+SkpL/pKSk/8HBwf/e3t7/4+Pj/8rJyf+traz/ioqJ/2xra/9WVVX/ + PTw7/yglJf8eHxv/HyMc/zc5Nf9obGf/pqum/9DX0f/k6uX/6O3o/9bW2//LydL/xsfN/8THzP/J0NL/ + 0dna/9bg3v/X4uH/3eLh/9/k4//i6eX/5Ovn/+Xs5v/i6+T/3+ng/97o3//e5eT/4Ojn/+Lq6P/j7On/ + 4uvp/9/p5//c5uT/3eXk/+Ll5//d4eL/1tja/83P0f/Gx8r/ycjL/9HLzv/X2tj/4Onl/+Xs6f/L1dP/ + lJ+h/2Bqb/9DSk//ODxB/y4uMP8zMjH/RURE/1NSUv9kY2P/hoaF/7Kysv/a2tr/5OTk/+Pi4v/r6+v/ + +Pj4//39/f/39/f/9PT0//Ly8v/m5ub/8vLy/+3t7f/b29v/zMzM/729vf+fn5//PDw8/zU1NfZdXV1K + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADExMXxJSUn/WVlZ/2VlZf92dnb/m5ub/7u7u/+2trb/oKCg/5aWlv+SkpL/k5OT/6urq//R0dH/ + 5eXl/9jY2P+6urr/lZWV/3l5ef9aWVn/ODc2/yYlJP8jISH/Li0s/1ZZVf+Gi4T/tru2/9je2P/Y3tn/ + yM/K/77FwP++xcD/0NTT/9TZ2P/S2df/09/Z/9bl3f/W593/0ebZ/8vj1P/J4M//yN/O/8Tdy//C28j/ + vtrE/73awv+828H/vNvC/7zayP+62cf/uNrH/7jax/+73cn/v+DM/8Lizv/H5dP/0eja/9br3P/X6d3/ + 1+Tb/9bf2f/W3dj/3N/c/8TNx/+0wrr/xNDJ/9Td2P/e5+L/1tzc/7O5uv+IjY//V1lZ/zw7Ov8xLy7/ + MjEw/z08PP9QUFD/cHBw/5STk//Hx8f/2tra/+bm5v/s6+v/8/Pz//39/f/7+/v/9fX1//T09P/t7e3/ + 6+vr/+np6f/a2tr/wcHB/7i4uP+MjIz/NTU1/0pKSuJycnIZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxMTE5PDw8805OTv9hYWH/dnZ2/5KSkv+vr6// + rq6u/5ucm/+SkpL/kpGS/5uam/+0s7T/1NTU/+Li4v/Ly8v/oaGh/4ODgv9kZGH/QEA+/y0sLP8fHh7/ + JiUk/0tKSv+PjY7/x8vH/9Pb1P/S2dL/y9LM/8HIwf+9xL7/ydDK/9rh3P/U3dD/0N3L/9Lhz//O4c3/ + xNzF/7jVu/+szLP/pMmt/5zLqP+azKf/lcik/5DGn/+LxJr/iMOX/4jFl/+Jxpn/iMad/4LFnP99xJr/ + fcWb/4LHnv+Hy6L/i86k/4/Pp/+Tzav/mdCu/6bVt/+03ML/weHL/8fi0f/I4dL/z+DS/9Xf0//Q29H/ + xtHJ/8HMxv/H0c7/09rZ/9vh4P/Gx8j/lpSV/1hWVv82NDP/Ly4t/zU1Nf9DQkL/U1JS/4SCg/+pqKj/ + zMvL/9zb2//l5eX/8fLx//r6+//7/Pz/+vr6/+jo6P/n5+f/6enp/97e3v/Q0ND/xMTE/7Kysv9ubm7/ + Ojo6/2ZmZqqgoKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ojo6Djc3N9BMTEz/U1NT/2dnZ/+JiYn/o6Oj/6enp/+Tk5P/i4uL/5CQkP+bnJr/wMG//93e3P/a29n/ + vby7/4uKif9raWj/VFJW/zAuN/8jISX/JSQj/05NSv+enZn/zs7M/9fW2P/HycP/usC1/7vBuP/EysH/ + zNXN/8zX0f/G083/wc7K/7TNtf+ry6r/pcik/5vBmf+QvY7/ir2I/4rBif+KxIv/fb+H/3zAif99wor/ + e8OK/3nDiP9zwoX/ccGC/2/AhP9qvYj/Zb+I/2HBif9iwor/ZcOM/2fEjf9kw4r/a8eO/3PKk/9rwoz/ + a72K/3PAkP9/xZr/isuk/4zNo/+j0K//utO8/77Ywv/E28n/yNrP/8jV0P/Fzcz/wcfI/9Pa1v/f5N// + 0tLQ/6Kfn/9cWFr/LCkp/yoqKf88Pjr/R0lF/2FjYP+VlpX/wsPD/9DPz//j4uL/8fDv//f19P/4+Pj/ + 8vLy/+vr6//o6Oj/5eXl/9zc3P/W1tb/t7e3/6ysrP9YWFj/T09P/4SEhF8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODiARUVF/1dXV/9mZmb/eHh4/5aWlv+fn5// + jIyM/4WFhf+Qj5D/oqOi/8nNxv/h5N//ztDL/6Okn/+GhYH/ZmNi/05KR/8vKzL/Hhot/0hFTv+Ni4r/ + x8e//9DRx//CxMD/wsTH/8rMyf/HzsP/wMu+/7nKt/+yyLL/p8Wq/5q/ov+UuZ3/iruO/4a9if+Evof/ + gb6E/3u/fv93v3r/dL94/3C8df9ip2//XqZv/1ymb/9YpW7/VqVu/1Okbv9SpG//UKNw/0efcv89oHH/ + NaFx/zalc/88qnb/P694/z6xd/9GtXn/ULx6/1W/ev9Zw3r/YsmC/2jNiP9pzon/Z86F/3bJjP+HyJf/ + kM6e/5/Urf+v17r/utbF/8HTy//F0s3/vM/B/7vLvP/O08z/4d3e/8/IzP+Jg4b/RkdF/ycrJf8wOC// + P0U//1daWf+Gh4n/p6Om/9jT1P/w6+f/7+rm//r6+v/8/Pz/9/f3/+3t7f/m5ub/4+Pj/9zc3P/Ozs7/ + wMDA/5OTk/9CQkL/Z2dn5p6enhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Pz8/Kz8/P/BRUVH/YWFh/3BwcP+Hh4f/nJyc/5qamv+Hh4f/iYmJ/6enp//Pz87/3+Lf/77Av/+ZmJf/ + eHh3/1taWv89Ozv/JCIi/ygmJf9pamX/vr+6/9ze2f/Dx8H/tb22/77Hwv/By8f/uMnF/67Gvv+kwa7/ + l7uX/4y4hP+FuXb/f7pt/327av94s2n/d65s/3CnbP9nnm3/YJNt/1eJa/9Ngmj/Q3xl/zt4Wf85eVr/ + OXtd/zh+Yf85gmX/O4Ro/z6GbP88iG3/M45q/yOMZ/8UiWP/EIpi/xONZP8OjmL/CI5e/xKRX/8hmGH/ + Kpxj/zOmZ/9AsW7/Ur58/1bDf/9bxYD/YsaB/2jHgf9qx3//cseF/4DLkv+P0KL/ntWu/6jYtP+y1rr/ + w9zF/8TTxP++xLz/09HQ/+Xh4v+1s7T/YF9f/zg5Nv8yMjD/MzAy/05JT/91cXX/qKOk/9nV0f/v6+f/ + 6+vq//X19v/6+vr/9fX1/+vr6//k5OT/2tra/9DQ0P/BwcH/p6en/3Fxcf9aWlr/kJCQnAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj6yS0tL/1xcXP9ra2v/gYGB/4uLi/+MjIz/ + i4uL/5OTk/+pqan/y8zL/9nZ2v+urLD/j42Q/25sb/9bW13/Ozs9/x8eIP89PT7/mpuV/9bZyP/Fyb// + tr63/625s/+vwbX/rMOv/6O7o/+Rupb/grSI/3Spd/9wpm3/dq5s/3ezaf9rq1v/YKFP/1+MVP9XgFP/ + RnVM/zpqSv86ZE3/QGtT/0V0Wv9Fe2L/Q4tj/0KPZv9Ckmr/RZZv/0ebcv9JoHX/SaJ4/0uke/9IqHj/ + Oqd3/yqjdP8jo3L/IqJz/xqhcP8Vom3/FZ5q/xWcZv8RlGH/CIxW/waKT/8Zlln/JaFe/y2nX/85t2X/ + Pr9k/0C+YP9PxWr/Ycx6/3DRhv93z4z/dsqJ/5TPoP+r1rH/uNe5/8HUv//EzcL/x8rG/8/Oz//W1Nb/ + ioaH/0dBRP80LDH/PjU9/01HS/9rZmj/o6Cc/8PBvP/Y2Nj/7Ozs//r6+v/4+Pj/7+/v/+jo6P/g4OD/ + 2tra/8fHx/+9vb3/np6e/11dXf97e3v4tra2OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ozs7SENDQ/9VVVX/ZGRk/3Z2dv+QkJD/lpaW/4aGhv+BgYH/qqqq/9bW1v/T09P/srGz/4uJj/92c3j/ + T09S/y4wM/8uMTL/YWZl/6+1tP/Hy8X/xMS6/7W8tf+ntq7/nrWm/5e3m/+Qt4v/ibN8/3qza/90smX/ + c61m/2miYf9dkVf/UntO/0JnQf82YDn/OFE9/ztWRP8+ZUr/QXRQ/0eDV/9Pj13/Vpdi/1ecZv9SpGf/ + Uqdt/1OpcP9SrHL/U7Fz/1W1dv9Wtnn/WLd+/1G0gv9BsX//MbB9/yivfP8nr37/I69+/x2ue/8grnr/ + Iq51/yCrbv8Vo1//Ep9a/xuiYf8Sm1b/CZVM/w6dTP8Xp0z/I61Q/zW3Wv9EvmP/VMVw/2PNe/9u0oD/ + g9OT/5TUnv+j16X/r9au/7XQtP+5ybn/v8e//8rNyf/Qzcz/pKCg/11XWv8tKS3/NC80/0E+P/92dXD/ + l5aR/729vv/a2tr/8fHx//j4+P/z8/P/7u7u/+rq6v/i4uL/0dHR/8jIyP+2trb/fn5+/2lpaf+jo6PD + 0tLSBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/Pwc8PDzKTU1N/11dXf9vb2//iIiI/5aWlv+SkpL/ + kZGR/6Kiov/Hx8f/1tbW/66urv98e33/bmlv/1BMUv8yMjT/MTU0/3B2c//AycX/wczG/7S9t/+prar/ + m6uh/5aynv+RuZf/g7SA/3epaP9zqFr/bqJc/2WUWf9chFH/SWpD/zJQLv8uQyv/Mkcy/zdTPv89a0b/ + RHlN/0uEU/9Qjlr/VJpd/1mhX/9cp2T/XKpq/12ycv9ftHf/X7d7/165ff9cu37/X76A/2DAgf9gwIb/ + V7yJ/0S7h/82uof/KrmG/ya5hf8muoX/IbeA/yO5gP8luX3/Jrp4/yO4bv8ouXD/K7hy/x2vZv8OpFj/ + F6lZ/xyqWP8Rnk3/E5tJ/ySkUP88tGH/Tb9s/1XEbf9kyXj/d9CF/43XkP+X1ZX/n9Kc/6fNpv+wyq7/ + s8ex/8DIu//U2c//xsrF/2doaP80NDb/MS4v/0lHRv9oZ2X/kZGR/7i4uP/d3d3/8fHx//b29v/19fX/ + 7u7u/+Xl5f/c3Nz/zc3N/7+/v/+pqan/bm5u/4qKiv/Ozs5SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + PDw8VUFBQf9XV1f/ZmZm/319ff+VlZX/kZGR/319ff+hoaH/09PT/8/Pz/+ioqL/goKC/2poav9QS07/ + MzAz/zk6Of+JkIr/x9DJ/7jFuv+jtKb/nKue/6GzpP+SspX/fKp9/2ykav9qpGP/aZ5a/2GTTv9Sc0r/ + OFE4/yU3Iv8oMyT/LUcp/zliMv9EcDz/R3M+/0eGQ/9NkUr/VJpT/1iiXf9cqWT/Xatn/16sbP9crXP/ + YrV9/2K4gv9iuob/Y7yK/2TAjP9nwo//asOP/2nEk/9gxZT/TMOT/z3DlP8rwo//IsCK/yLAif8avX7/ + Hr5//yPAgv8gvnz/Hbx1/ynAfv8pwHv/Jb13/xy5bP8ht2r/J7Vp/yKwYP8hqlv/HqNX/x+hU/8op1T/ + Na9Y/0rBZv9ey3D/d9V7/4HVfv+J0YT/l9KS/6PUof+r1Kn/tc2y/7LFrv/G1cX/z9jR/4aLif8uLS7/ + LSor/0ZDRf9mZmb/j4+P/7q6uv/d3d3/7+/v//T09P/v7+//6Ojo/+Li4v/U1NT/xsbG/8DAwP+Kior/ + enp6/729vc3a2toHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSgZAQEDNUlJS/2dnZ/90dHT/h4eH/5OTlP+IiIn/ + ioqK/8LCwv/b29z/paWm/3l5ef9tbm7/WlhY/zMuL/9BPj7/mpyY/8TNxP+zwbT/s8Kz/6W2pP+SqI// + haiA/32tdP9np1v/WaBN/1WXTf9LekT/MVAs/yAyHP8iNB//J0Ui/y9XJ/83aS3/QXcx/0eDN/9Niz7/ + TphG/1KfT/9VpFj/Walg/1yuZ/9es2z/YbZy/2W5e/9nvIP/Zr+J/2bAjP9mwo//aceU/2/Kl/9zzJr/ + dM6f/2rOoP9WzaD/Pcuc/y3Jl/8kx5P/H8WO/xrEh/8fxoj/JMeH/yPFgv8qyIr/McmM/zLJiv8pxX// + I8J3/yG+dP8gunD/H7hq/yO2aP8puGf/K7Zh/yWvWP8eqFD/JKtN/z++V/9m1Gz/ddly/3nUc/+C0H7/ + jc+K/5XPkv+pzqb/sdKw/6rFq/+6y7z/ytTO/5SVl/80LjP/Lict/05OTv9tbW3/k5KS/7m4uf/b29v/ + 7u7u//X19f/x8fH/5ubm/93d3f/Ozs7/xMTE/6mpqf96enr/np6e/9PT01MAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCS0tLS/9dXV3/cHBw/3x8fP+NjY3/ioqK/4SEg//BwsD/2trZ/6qqqP96enj/cXBw/2NgY/8xLy// + Pj46/52dlv/FyLn/uMGt/6m5ov+Zs5n/jayV/3uke/9vpV//aKFZ/2KfVP9MhUH/J1Mg/xouF/8dJhr/ + I0Qe/ypaIP8yYyb/PHMs/0OBNP9Jizf/SZA4/0iRPv9NmUj/UqJU/1aoXP9asGT/YLhs/2G9cv9jwnr/ + aMSD/27Fi/9uxpD/bceU/27Kl/9wzZz/c8+c/3bQnv950qX/cdSs/1/Ur/86zJ3/LMqb/yfKnP8py53/ + JMqX/yfMlf8r0JX/Lc6U/zXRmf80z5X/Ns+S/zDOiv8tz4X/I8h7/x7Cdf8mxnb/Lcd1/zDDcv8svWr/ + K7hk/ym2Xv8rtVf/LK9N/0C0Tv9cw1n/cNFn/3jScP980nX/gdV8/47Lh/+c0Zn/ocmi/6/Ks//Az8P/ + zdLL/5OPjf9HQUL/Nzk4/1NTUv9tb23/k5WT/7m7uv/g4OD/9/X2//Xz9P/p6en/5OXk/9TU1P/Gxsb/ + vr6+/4iIiP+Hh4f/0NDQyPf39wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pz/AWlpa/1xcXP90dHT/gYGB/42Njv+JiIj/ + naGc/+Lm4P+2uLP/ent2/3Z1cv9jX2D/QTpA/0xJTP+nsqj/u8Gx/7S6of+tuZj/mrOM/3unef9hnXD/ + Vppb/16gTf9UiUr/N1sz/xorGf8XHxX/HDAa/yZHJv8rYSX/MG8j/zZ2Kf89gC7/Q4kz/0iSNf9LmDn/ + TpxA/1WlSP9aq1P/XrFe/2G2aP9mvHP/ZsB6/2fDg/9rxYz/dMWV/3TFmv90xp//c8ei/3bKp/94y6f/ + eMuo/3nMrv9vz7L/Xc20/zzGp/81x6v/MMao/zPJqv8zyqf/Lsqg/yvQnf8106P/QNam/z7Xn/9A2Jz/ + ONaS/zLWjP8t04T/LdCB/y/Pfv8xzXz/Nsp7/zbGef82w3L/NsBt/zO8ZP82t1j/RLJS/06uSv9buE3/ + as1b/27aZP9p3V//d9hr/4bXgP+Q0Jb/msWh/67Lrf/E1Ln/xcy5/6aonf86Pj3/LTIv/05TT/9udHD/ + lJmX/8C+v//m4OP/9O/y/+3t7f/n5+f/2NjY/9DQ0P/Jycn/np6e/4mJif/CwsL/8/PzQAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QEBANEdHR/xfX1//ZGRk/4ODg/+Wlpb/hYWF/52dnf/S1NH/wMK//4SFg/98fHr/Y2Ni/0E+P/9GQkT/ + lpSW/8HKwf+0vrT/m6qd/4+okP9+o3r/aZ5h/1ydTv9Vk0b/Rnc9/x9GGf8UJhH/FSoS/xxBGf8nViP/ + LmEp/ypwI/8reyP/MYAo/zmILv8/jzT/Rpc5/0ucPf9Qn0P/VqNP/1ymW/9jqWb/aaxy/2+vfP9xsIT/ + crKN/3Wzlf9utJj/brae/224o/9vu6b/dMCt/3bEsf94xrL/dMS0/2TBsv9Sv7P/QL20/zS8s/8zvbT/ + NsC3/zXBtP8vwan/Mcem/z7Kr/9IzLP/Rsur/03Pq/9Kz6T/Rc+c/z7VlP852o//NteJ/zTUhP820oD/ + OM96/zrPdf860G//N8hn/zrAXv9KvFn/ULhP/1a2TP9Yukv/XcRT/2LRXP923Gv/edZ0/4DPgf+RzJH/ + ncuX/6nFn/+3xLD/v8S9/46QkP8yMzP/OTo5/1VXVf+Bg4H/m5qb/8fDxf/39fb/8/P0/+jo6P/g4OD/ + 19fX/8vLy/+zs7P/j4+P/62trf/p6emjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT2YUFBQ/2RkZP9ycnL/i4uL/5SUlP+NjY3/ + w8PE/8zMzf+FhYb/b29x/2NiZf9PTlH/R0hK/4WHhv+9v73/qrSt/5eqn/9/oYz/cp98/2edaP9jnlb/ + Wpc9/ztrJf8ZNRf/ECgO/xQrEv8aQRb/IFgb/yZoH/8sdCL/KX0i/yqDJP8ziSn/PpAz/0aVOv9Klz// + TZhD/0+YRv9Ul0//XJdZ/1+WX/9lmGz/bJ99/3KiiP96pZP/fKia/3ezn/92t6b/d7qs/3e9sf94wLb/ + eMO6/3fFu/92xb3/cse//2nFwv9WwL3/R769/z+/vv8/wMD/QsDA/zq+t/8xvK3/N76u/0jFuf9Qx7n/ + TsSw/0nDqP9EwKH/Rc2g/z/Wmf881JL/O9OK/z3UhP9B1YD/P9V4/zjTbP860WX/Q85d/1jNX/9hy1r/ + XsJQ/1G1RP9KsEH/S7VG/1/OV/9l0mH/dNRv/4LVe/+Kz37/l8aM/6rEqv+8ycP/wcLA/3x8e/8zMjL/ + Q0FC/2ZlZv+AgID/pqen/9vc3P/z8/P/8PDw/+rq6v/e3t7/z8/P/8XFxf+ZmZn/mpqa/93d3dUAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + U1NTD0BAQOpXV1f/Z2dn/319ff+Kior/hoaG/6urq//X19j/oJ2g/2tpbv9tbHH/TExR/0BDRv9+hYL/ + tr62/7W/tP+XqJ3/g6OH/2+mdP9go2H/VppS/0qFQf8uWx//FCsK/w4ZDP8SMRH/HEgY/yNaG/8hZRn/ + IXEa/yd8Hv8uhCP/NYgp/zyLL/9DjTj/SI08/0qKQP9Jh0H/S4ZE/1KFTP9biVX/YIxd/2STav9qoX3/ + dKuM/3+zmP+GuqL/h8Sp/4fIsP+Iyrf/h8y8/4fPwP+G0cP/hdLG/4TTxv990Mf/dM/I/2fNyv9Sycb/ + QsXF/z7DxP86wb//OcG8/zvCuf9AxLr/Ssi7/1XLv/9Wyrz/UMWx/0fApv9Ewaf/PMGd/z/FmP89yIv/ + R8+J/1PVjP9T1oT/R9Ry/0HSZv9J0l//WtNf/2TSXP9jzFX/W8JP/1O5Sv9LtEb/Rrw+/1LIS/9l1V3/ + cdpl/33YbP+O1IL/nMuf/6PBrv+9xrv/vsO7/29xbP80MjL/WFZW/2pra/+LkI3/rrKw/+Hh4f/39/f/ + 8vLy/+Xl5f/U1NT/ycnJ/6ampv+Xl5f/zc3N3vX19QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUlVQEBA/2BgYP9wcHD/goKC/4qKiv+SkpL/ + zMzM/7y7vP99e33/dHN3/11cYv9ERUv/XmNi/663r/+tvKn/nLCY/4Kkif9pnGj/XqNU/1GfQf84gC3/ + HU0a/wwaDP8MEQv/DiwM/xZDFv8gVxn/JGgZ/yp4G/8tgR7/KYAf/zWBKv9AgzL/PoAx/z57Mv9BejX/ + Rns7/0p9QP9PgUf/WYpP/2SUWf9sn2P/catw/3q8gv+Fypb/i8+i/5HUq/+Z2rf/m9y+/5rdw/+Y3sb/ + l9/J/5bgy/+V4c3/k+DN/47fzv+H39H/fd/W/2rb0/9X183/UNXL/0zUyP9L0sj/SM7G/0HLwf89xrv/ + Q8a8/0zIvP9Py7f/Ucyx/1rKtf9YxbL/Sr6j/zi1iv8+uYf/ScCF/1LHgf9UzHb/SM9o/1LWaf9j2mn/ + ZtVg/2LOVP9hy1P/XchT/1fATv9EuTj/Rb07/0/KR/9d1lH/a9xb/33ab/+J0Yr/j8eX/6fEpP/B2L7/ + r7qs/1haVf87OTn/WFhY/21yb/+Kj4z/v7+///Dw8P/09PT/7Ozs/9ra2v/Gxsb/tra2/6Ghof+9vb3k + 7u7uEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAENDQ7VFRUX/ampq/3p6ev+Hh4f/k5OT/7CwsP/Kysr/iYmJ/3Jwb/9yb3D/UE9T/1BTVv+ao53/ + qbmm/5irjv+Nq4P/ZJ1o/1mWVf9VlET/OHYl/xRHCv8IHQX/DBMP/w4oFf8QRAz/GlYU/yBnFv8ldBn/ + L4Eh/zSCJP8veSH/M3Um/zlzK/84cSz/OnIw/0F4Nv9Mgz7/WI9J/2GaVP9tp1z/erFo/4K7c/+ExH7/ + ic+O/4/Vn/+P1qj/k9iv/5vZuv+d3MH/m9zF/5ndyP+Y3cr/lt3M/5Tdzv+S3c3/itvN/4Tb0f932dT/ + ZtfU/1PSzf9Hz8r/R9DN/0XPzP9Fzcn/Rs7H/0vPxv9LzsH/Scq8/0nIuv9ExbX/R8Ky/1TEt/9GvaL/ + Q72W/0vAlP8/uH//PrV0/z6zbP82uWD/Tcpq/2fYcf9u2Gj/adRa/2fSVv9k0FX/XstR/1PDQf9Guzn/ + Qbs6/0rIQv9W00v/ZtZZ/3fWcf+D1oP/l82V/6TOov+xy6//lZ+S/0BBPv88PDz/Zmpo/3N3dP+dnZ3/ + 0tLS/+/v7//v7+//39/f/8rKyv/ExMT/ra2t/7W1tfXk5ORi9vb2AQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUVPDw88lJSUv9ycnL/goKC/5KSkv+YmJj/ + wcHB/6mpqf9ramr/bGlj/15cWv9XWFn/f4WE/7G9s/+WqI//kKWA/36mb/9PoFD/V5lW/0JyO/8UMg3/ + CBcF/w0YCP8XKRD/GkgW/xFdC/8Zag//IngU/yV8Ff8mdhj/KG0b/zFqI/8zbif/NnMq/zp4L/9CgzX/ + TZA9/1mfSP9krFP/brdd/3K7YP93vGX/fbtt/328dv+JxI//jsih/5HKrf+WzbX/mM67/5nQwP+b08b/ + mdXK/5jVzf+W1s7/k9XN/5XW0f+V19X/jNbY/33T2/9gytD/TsXO/zy/yv83vsz/N7/K/znCyv85wsj/ + QMXI/0bGx/9Hx8H/TsnA/1bPxv8+xrL/Lb6l/yy7nv8vupf/K7aH/y2zfP85tn3/QLh5/ziybv8+tGf/ + TsFj/2fQZv9u2V7/bttY/2fXVP9g0lD/X8ZH/1XBRf9Duj//OLk3/z7EO/9Y10v/atxb/3HXZ/+K1Yn/ + kMuP/6TKof+0w7D/eHp3/zY2N/9ZXVz/am5t/4KBgf+qqqr/6Ojo//Hx8f/h4eH/1NTU/83Nzf+ysrL/ + r6+v/93d3fTy8vIZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAElJSVE9PT3/YWFh/3d3d/+Hh4f/lZWV/6urq/+7u7v/f39//2VkZP9nZ2H/UlFP/3d3eP+qr67/ + nKuc/4ulhP+BonH/aJ5W/0mgQf9AfUD/HTke/wYIA/8LFgf/FDcN/xlKC/8eYhH/IHMT/xtxDv8cdBD/ + HnES/x5nE/8gYBf/LGIh/zh4LP9BiTP/SZA7/1OdRP9cp0z/Y61S/2OxUv9ks1P/Zq9V/2mrV/9tqF3/ + bqdn/32xg/+Iu53/j8Gu/5vJu/+czb//odLH/6DTyf+h1c3/otbR/6PZ1P+i2tb/o9rX/6Pb2v+a2t7/ + itfg/3DN2f9ZxdL/RL7P/zy90/86vtH/OsDO/zi+zP87v8z/PL3K/z68xP87usD/Nrm6/yO3qv8fvKf/ + ILmi/x60lP8bsIP/IK57/yqwd/8prm7/MbBs/zWvZP88sVn/Vr5g/2TJX/9oz1j/ZtNV/2PTUv9by0T/ + Ws1J/07DR/86tDb/Orgz/07PQ/9d3E//X9pU/3zYeP+H04T/mc2W/7TOsf+nr6X/YWJh/zs7O/9sbG7/ + c3Nz/4mJif/R0dH/8fHx/+bm5v/b29v/0NDQ/7e3t/+wsLD/1dXV//Dw8CAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/p0hISP9paWn/eXl5/4yMjP+SkpL/ + yMjI/6Kiov9kZGT/ZGNj/2FhYP9WVlb/nZ2e/6Sspv+NpYz/f6d3/2WeWv9SmkP/RJE0/xhFFf8GDQT/ + CQ4D/w4oBP8MRQX/DV4L/xduFP8nchX/IGsQ/xxlD/8cYxL/ImcW/ylwHf8wdyT/P4wx/0ubO/9QnkD/ + VqFG/1ujTP9fo0//XqFQ/1yfTv9gm1D/Z5tU/2+fXf9tomX/eq99/5DCo/+Ev6P/lcq3/6HSw/+k1cf/ + p9jN/6vb1P+v39n/suLd/7Tj4P+x4t//q+Df/6Pf4v+T3OT/f9jk/2LN1v9Ox9X/QcXX/zzD1P82v8// + NL7O/zW8zP83usv/OrnJ/zm3xf8xsb3/IKyv/yGwsP8erab/GqiW/xqlhv8fpH7/JqZ2/yemb/8mp2L/ + Lqxg/z2wY/9MsmX/U7Jf/127Xv9nx1z/bNFb/1PZRP9S10L/Vc9F/06/Pv9DszT/P7g0/0nRQv9X4U// + b9lg/3rZcv+M1Yf/otOj/7jOuP+HjYX/Qzs//1xUWf9tbm7/c3R0/6Wlpf/q6ur/7+/v/9vb2//Ozs7/ + wcHB/7i4uP/S0tL/8vLyHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAGtrawRCQkLfS0tL/2xsbP97e3v/jo6O/6mpqf+2trb/g4OD/2JiYv9iYWH/VVJS/3Z5dv+irKT/ + nK6d/4WohP9tn2b/U5RJ/0WHNv8jVBX/CScG/wUOA/8LIgb/GEIK/xdYCP8VZxH/FmkS/xZiC/8ZZA3/ + H2gQ/yZwFv8veR//OYMq/0SMNf9HlDj/R5Y4/0iUOP9IkTn/TZI//1SWRf9bnE3/YaJS/2GcT/9onFT/ + bZ5a/22hY/9upm7/fLSL/3q3lv+ezr7/qNbK/6nYy/+x3dT/uOLb/77m4f/C6eT/wenm/73n5f+25OX/ + quPm/5zg6f+M3uz/adDc/1PJ2f9Dxdf/OsLS/zG+zv8vvc3/MLrL/zC4yf82ucv/O7jK/zezwv8lrbb/ + H6uy/xilpP8Yopn/HKCN/xqbf/8bmHH/H5hq/yCeYf8YmVX/G5dP/zenXP9LtWH/VLpe/169Wf9iwFH/ + WM1J/1nRSv9b00z/UcpD/0O9NP87tyz/Pb8w/0jLO/9l21j/cNto/3vRdf+Y1Jb/r9Gv/6Ctnv9qZ2b/ + TUhK/2pra/9paWn/jIyM/9LS0v/u7u7/4eHh/9LS0v/FxcX/uLi4/9HR0f/v7+8jAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ2dnAUNDQ/9QUFD/cXFx/4GBgf+Tk5P/ + vb29/52dnf9hYWH/YmJi/19fXv9dW1n/mZ+X/56xn/+Ep4X/bZ9r/1iVU/89hzf/LWwj/w4eBf8FFAP/ + BhwD/ww7Cf8YVg7/GGIK/xlmDP8XYw7/FGAN/xtoEP8lcRf/Lnsg/zeEJ/8+iy7/RpM1/0STNf9DkDT/ + RZA2/0iOOf9Njj3/UJE//1iXRf9emkn/X5hJ/2WZT/9qnVf/cqNi/3Smaf94qXX/eK2D/6LMu/+r2Mz/ + tN7O/8Pk0f/U6dr/3Ozi/+Du4//f8OT/1O7r/8Po6f+25uj/peLn/4na5P9s0+P/YNDf/1fO2/9DyNX/ + McDP/yu7y/8vucv/MLrK/zfA0f8zuMj/NLTH/ymuv/8bprH/FKKm/xOenf8Um5H/E5eE/xWUdv8WkWf/ + GZRa/xmVVP8VkVL/GJFT/ymaU/9Or13/Yrld/2G2Uf9Xt0j/VsBJ/1fMSf9R0EP/Rso3/z/BLf8/uyv/ + Q70v/1LXRv9j3lr/a9Vm/4fWhf+l1aL/s8yw/5KZjv9MSkn/YWFh/2FhYf9ycnL/sbGx/+jo6P/o6Oj/ + 19fX/8jIyP+6urr/z8/P/+vr6yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARUVF/1hYWP94eHj/ioqK/5mZmf+/v7//gICA/1BQUP9lZWX/X19e/3x7d/+ptqb/ + iqyJ/2qca/9RklH/SI5E/y12KP8TRQz/CgkD/wYZA/8HMwb/C08J/w5dCP8PXwX/FV8G/xljDP8cahX/ + I3EZ/yp6H/8wgSL/NIQk/zeIJP87iif/PIor/z+MMP9HkDf/TZM8/1KVPv9Skz3/VpM//1eSPv9ck0P/ + Y5hM/2mcVv9womD/dqdp/3uqd/9/sIj/lcWu/67Zzf+74dP/zunY/97u3//l7+b/6fLn/+n06v/f8+// + z+7w/8Hq7v+q5Oj/idrh/2zT4/9m0+T/X9Hf/0nL2P86xdT/OcLV/zu/0/84vc//Nr7O/zG4xv8xtMX/ + Ka++/yKotf8dpa3/GqGj/xecl/8VmIn/FZN7/xiRbv8bkWH/G5JZ/xiQVv8XjFD/IYtJ/0KaT/9bqlX/ + ZLFW/1+uUv9atE7/U8FH/07NQP9Kzjv/Rsg0/0S8Lv8/tin/O8sx/1ffT/9n4WD/edt0/5nclf+v2az/ + qLuk/2BmXv9UU1T/YGBg/2VlZf+RkZH/2dnZ/+/v7//Z2dn/ycnJ/76+vv/Nzc3/5+fnNwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHR0f/ZGRk/4CAgP+VlZX/ + oqKi/6ysrP9oaGj/UFBQ/2dnZ/9lZWT/mJuU/56zmv9xoG7/WppY/0KMP/86gTX/HVkY/wQeAv8JDwP/ + DCsG/w1LCP8KWwj/Cl0F/wxeBv8YZQj/H2wO/x9xF/8kdxr/Kn4f/y+BIf8xhCD/M4Me/zKEIP83hif/ + QYov/0qROP9RlT7/VJY//1OTO/9UkTv/VY86/1qRQP9jl0v/aZxV/2+gYP93p2z/fa17/4K0jv+Mwab/ + sNvQ/8Ll2P/W7N//4vDj/+jx6f/r8+r/7PXt/+X28P/b8/L/ze/x/7fp7f+V3+j/c9bl/2nT5v9j0+P/ + U9Df/1DQ5f9QzOX/R8TY/0PC1P84vsz/MrrH/zC1xP8psL7/J626/yOps/8fpKn/G5+c/xeaj/8VlID/ + FY9x/xWNY/8UiVb/GYxS/yqUVv84lVH/SJVR/1OZTv9dpFL/Zqxc/1ytU/9QskX/Sb4//0rHPv9JyDr/ + Rb0y/zu1KP8rvSD/StlA/2XsXf9v4mf/jeKG/5vWlf+pyqX/h5SF/1JRU/9iYWL/Y2Nj/3R0dP+/v7// + 7u7u/93d3f/Kysr/w8PD/8vLy//i4uJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAEtLS/9vb2//h4eH/5ycnP+oqKj/kpKS/1paWv9ZWVn/ZmZm/3R0c/+ep5v/ + h6WD/2CXXP9RnE3/Poo4/yZnIf8PNwr/BA4B/wQhAf8KPAP/DlcF/wthB/8LYgz/EWcP/x90EP8hdg// + HHIQ/yJ4Ff8ofhr/LIIf/zGFIf8zhSH/NYci/zyJKf9FizD/So40/0yONv9NjTT/UI41/1iSPf9ck0D/ + X5VE/2aZT/9snVj/caFj/3upcv+Ar4H/greS/4/Dqv+03dP/yefd/9ru4f/m8eX/5/Hp/+rz6f/u9u// + 6vfy/+L19P/X8vP/x+/x/6jn8f9+2un/atPl/2LR4v9Uztz/VNHi/1nP5f9Pxtf/TsXX/z/Bzf84vsv/ + M7nH/ymzv/8nr73/JKy3/x+nq/8Zop7/FJ6S/xWahv8UlHf/EY1m/xuPXv8plFr/OZdZ/06cXP9eoVz/ + W51T/1eaTv9coFL/VZ9L/02iQ/9LrEH/TLhA/0vBQP9Iwzz/P78y/y64If9AzDP/XeVQ/2zoYv+D5Hv/ + idKE/6DPnP+kuKH/ZWNl/2BfYP9lZWX/Y2Nj/6Ojo//m5ub/4uLi/87Ozv/FxcX/ycnJ/97e3k0AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExM/3h4eP+NjY3/ + nZ2c/66ur/97e3z/U1NT/2FhYf9hYGH/iIiI/5ypmP92mXP/U5FP/0WVP/83hTD/EEYL/wUXAv8JEgX/ + BDwB/wlQAv8PYQP/D2YM/xNpGv8acR//H3wU/x99Df8geg//JX0V/yqAGv8uhB//MIUh/zSIJP83iSb/ + Pokq/0eLMP9JizH/S4sw/0yLMf9QjTT/WJA7/2GVQ/9kmEr/aZpR/22eW/90pWn/fqt4/4Gyhf+At5P/ + mMm1/7zh2f/P6t//3e7i/+fx5f/q8+v/7vXu//D37//t9/T/6/j1/+P28//T8/P/t+72/5Di8/9w2Oz/ + ZNTp/1XP3v9Uz97/WM7e/17N4P9dzuP/S8jX/zvBzv82vsv/MLnG/yu0wv8osLz/Jq20/yOrrP8ep57/ + GqGO/xibff8Tk23/HZNi/zicYv9YpGr/YKNj/2WlXv9ho1r/W55U/0+WSP9Plkb/UZhH/1CeRv9MpkP/ + RrI+/0DBOv89xjb/PLsu/za5Jf9N1T3/bu5f/33mcf+E137/mtSX/6/Lrv+Ef4T/V1dY/2RkZP9YWVj/ + jIuL/9vb2//o6Oj/1tXW/8bGxv/Hx8f/2traVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABSUlL/enp6/46NkP+foJ//rK2r/2praf9QUlL/YmNk/2RmZf+VmZP/ + jaKL/2mVYv9KkUH/OYsy/yhtIv8FKAL/CBgF/xIuDP8FUQH/Cl4C/xBpBf8UbhH/GXIe/xp4Hv8WfA// + Gn4L/ySCFP8mgxb/K4Mb/y+FIP8xhyL/NIgl/zeIJf87hyX/QYgo/0eKLP9LjC//UI4y/1SRN/9akz3/ + YZdF/2WaS/9pnVP/bqBf/3Snbf99rnv/gLWJ/4O8mf+GwaX/s9zR/9Hq4f/g8OT/6vLm/+zz7f/v9u// + 8vjw//H49P/x+fX/6vfw/+L49v/B8ff/muf1/3DY6/9i1uv/WNTj/1TQ2/9b0Nv/aNPl/2bU6f9Qy9z/ + O8TP/zXAzP8yvMj/L7fE/yy0v/8qsbn/KK+y/yGspf8dpZD/GJ57/xaYcf8glmb/SKJq/2uwcv9srGX/ + ZaRc/2GiWf9hpVv/T5hK/0+XR/9SmEr/UJlJ/0eaQf89oDn/Na00/zi4M/9IxTT/MLMe/znAKv9n6lv/ + dudt/4Tge/+X2JL/rdKs/5eflv9YWlb/YV1g/1ZTVv92d3f/ysvK/+3u7f/Y2dj/x8fH/8jIyP/b29tU + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF1dXf96enr/ + iYiQ/6aoqP+doZf/WVtV/1BUVf9eY2b/doF5/5OnkP9ylnH/U5NJ/z+UL/8xgSr/EEIT/wMbAf8EOQT/ + BEwB/wVdAf8KZAX/Em4N/xh4Ef8YfxH/Fn8P/xN+C/8Xfg//H4AV/yKBGP8ohBz/LoYg/zKJJP81iiX/ + OIok/zuKI/8/iiT/RIsn/0qOK/9QkC//U5M1/1eXPP9emkT/Zp1N/2qgV/9vpGP/dKpy/32xgf+BuI7/ + hsCd/4fDpv+03dL/1+3j/+Pw5f/r8+j/7vXu//D38f/z+PL/9Pn1//X69P/z+vP/6vr3/831+/+K3eP/ + adbl/1nV5v9W1eP/Wdbg/2bY5f9t2er/Y9Tk/1HP3P8/ydT/NsTO/zbAyv81u8b/NLfD/zG0vf8or7L/ + Gqih/xiijP8YnXv/GJlw/yqcav9Yq3T/dLN0/3GuaP9oq2P/Y6df/16jV/9VnU//TplI/0mYRP9Fl0H/ + Qpc+/z+XPP89lTv/PJs1/0jFKf87vyf/KbIf/0rURP907mr/feZx/5Lbiv+m3KD/m7+W/2hxY/9hVV3/ + XVNd/2BjY/+stK7/7PHt/9fY1//Jycn/zc3N/97e3k8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX19f/3t7e/+Pjpb/qKqq/5CTi/9VVlH/VVZY/19kZv95iHr/ + i6OI/2uWaf9OkUb/NYsp/yR0Hv8FOwj/AisD/wQ/Bf8LVwX/CWQG/w5qC/8UdBH/GHsT/xl/E/8WfxD/ + E38M/xd/Dv8ggRX/I4IX/yeDGv8shh7/MYgh/zKIIf80hx//O4ki/0GKJf9HjCj/TI8s/1KRMf9VlDf/ + WJc+/1+aRv9lnk//aaFY/26lZv90q3X/fbKD/4K5kf+Dv5z/i8at/6rYy//P6eD/5fHn/+zz6f/v9e// + 8ffy//T58//2+vX/+Pr0//n89f/u+/f/1fj7/5rk6/9q1+P/WNbo/1HU4P9Z1uD/Z9nl/23a6f9h1eX/ + Tc7b/zzJ0/83xc//N8HL/ze9yP84ucb/NLbB/yyxtv8fq6b/G6aR/x2hff8hn3f/O6R2/2Swe/91s3L/ + dLBq/2mrZf9lqGH/YaRa/1efUv9Qm0r/SZhE/0SXQP9Aljz/PJQ5/ziTN/8zki7/NaQh/0nAOf83uS3/ + Nbsp/336bP966Wz/j+CI/6Tfov+ozKP/eYRz/2FWXv9bUlz/WFtb/56noP/j5+T/19fX/8rKyv/Ozs7/ + 3t7eTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYmL/ + fn19/5WYm/+prKv/f4F5/05OSv9ZWlz/YGhm/3ySfv9+nnr/YJJb/0WNPf8ogSD/EWMN/wI4Av8EQQr/ + CE0J/xJnEP8QcA7/E3UQ/xh7Ff8Zfxb/GYIV/xaBEf8Ufw3/GIAP/yCBFv8ighb/JoQY/yqFGf8vhxz/ + NIkf/zeJIP87iiL/QIsm/0WNKv9LkDD/UZM1/1aVPP9amUP/YJxM/2WgVP9po1//badq/3Wtef9+s4f/ + hLmQ/4bAn/+GxrT/k9DG/7nh2P/i8ub/6/Xn/+317f/v+PP/8Pn0//L69f/3+/b/+vr4//n8+//q/Pz/ + zPf5/4Di5/9Z2OX/WtTd/2jZ5/9j2eb/Vtbj/07V5P9F0eH/OcnY/zjF1P83wc7/N77I/za6xv8zt8D/ + KbK2/yCtq/8cqJ3/HqOI/zGjd/9br33/dbZ//3Wzdf9zsG3/b61l/2ipYP9fpVv/V6FT/1CdS/9JmUT/ + Q5Y+/z6UOv84kTX/M44x/y6LLP8tjCT/OqYy/zy0MP82uST/c/Fb/33yav+M6Ij/neKf/7Tcr/+Nmoj/ + YVhe/1tTW/9PUlH/jJSO/9nc2v/Z2Nj/zMzM/9HR0f/g4OBHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZmZv+AgID/mp6i/6epqf9ub2r/SklF/2BgYf9kbWj/ + fpp+/3Cbav9Wj0v/OoYy/yB5HP8DVAL/A0AD/w1SDP8MXg7/FXUX/xV7FP8WfhX/GYAX/xqCF/8Zgxb/ + F4IT/xaBD/8ZgRL/IIMW/yODF/8mhRj/KoYZ/y+HG/80iR7/OIoh/z2MJP9Bjij/Ro8s/0ySMv9SlDf/ + V5c+/1uaRf9hnU3/ZqFX/2qkYf9uqWz/dq57/3+0if+EupL/h8Cg/4XGs/+PzsX/r93V/+Hy6v/p9Or/ + 7Pbu//D48//x+fX/8vr2//f79//7+/r/+fv8/+r6/P/H8/H/jeTl/27e6P9r2eD/feHw/3Pg7/9Z1uH/ + RtHc/z7O2/85ydj/OcbV/zjD0P83vsr/N7zG/zS5wf8rtLn/JK+v/yKso/8sqpH/SK6G/2m1gv93tnv/ + drN0/3Owbf9urWb/Z6lg/1+mW/9YolT/Up9N/0qaRv9Elz//PZM5/zePM/8xjC7/L4ou/zSHNP8igB// + MKAn/0LBLf9f3ET/gfpu/4jshv+V4Zr/uOS0/5ytmf9hXl//WVRZ/0hLSf98g33/09bU/93c3f/Ozs7/ + 0tLS/+Hh4UYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + a2tr/4ODg/+doqb/n6Ki/2NhXv9KRUT/ZmVl/2h1af98nnn/YZdY/0eNOf8vgSf/GnMZ/wJNAv8FUgL/ + EWML/xBwE/8RfRf/FIIW/xWCF/8YhBj/GYQY/xmEFv8YgxT/GYMV/xyDFf8ggxf/I4QY/yaFGP8qhhr/ + Logb/zOJHv84iyH/PY0l/0KOKf9GkC3/TJMz/1OVOP9YmD//XJtG/2KeT/9nolj/aqVi/2+pbv93r3z/ + gLWK/4W6lP+HwKD/hcWx/4vNwf+j2dD/1vDr/+b17f/p9u//7/jz//L59f/z+vb/9vv3//v7+f/6+/v/ + 7fz8/8719P+p7vD/kOnw/4rk6v+T6vX/iej2/23d6v9Q1N//QtHe/zrL2v85x9b/OMTQ/zjAy/83vcf/ + NLrB/y62uv8nsrP/J66j/zStkf9MroD/aLJ5/3i1eP93s3P/cbBs/2ytZf9lqV//X6Za/1mkVf9SoE7/ + S5xH/0WYQf8+kzr/OJA1/zKNL/8wjDD/Noc6/yB2H/8fhxn/Nasl/1TMPv9/9m3/hOqB/5HilP+05rH/ + pr2j/2loZ/9YVVn/QUZE/210cP/Q0dD/5OHi/9DR0f/U1NT/4uLiQQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvb2//hoaG/5yipf+UmZn/X11a/01GR/9samn/ + a3xs/3Wfcv9VlEv/O4sr/yiAIv8TbhX/AlUC/w5kBf8Tbwz/DnsU/wmBFP8RhRX/EYQV/xSEFf8VhBX/ + F4UX/xmFF/8chhf/HoYY/yGFGf8khhr/KIcb/yuIHP8wih7/NIsg/zmMIv89jiX/Q5Aq/0iSL/9OlDX/ + VZc6/1qaQf9enEn/Y6BR/2mjW/9spmX/cKtw/3iwf/+Bto3/hbuW/4jAov+FxK//icu+/5fVzP+85+P/ + 3PXu/+f27//v+PP/8/r2//L79//1/Pf/+vz5//n7+f/y/f3/1vf1/8L09v+y8/f/p+/y/6Pv9v+V6fP/ + fuHs/13X4v9E0tz/OczY/zrJ1v85x9L/OcLM/zi/x/81vMP/MLi9/yu1tv8vsqj/PbGU/1azhf9wtn3/ + erV3/3izcv9xsGz/a61m/2WqYP9fp1r/WaRU/1KgTv9MnUj/R5tD/0CWPP86kjf/NZAz/zCNMP8wiTP/ + Koct/xl8Gf8chhX/Tbo8/3XjZf+G64L/kuST/67lrP+sx6n/dHZy/1dWWP8+REH/Y2pm/8rJyv/l4uT/ + 0tPT/9bW1v/k5OQ9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAHNzc/+IiIj/mKCj/4qQkP9fW1r/UUlK/3Fvbf9wgnH/bp5q/0yRQv8xiB//J4Mi/wlmDv8KYwr/ + GXMN/xh7Df8LgA//BIEP/w2DEf8OgxH/D4QR/xCEEv8WhRb/GYcX/x2JG/8fiBr/IYYZ/ySHGv8niBv/ + K4od/y+LHv80jCD/OI4i/z6QJ/9Dkiv/SJQw/06WNv9UmDv/WZpC/1ydSf9joVL/aKVc/2yoZv9xrHL/ + eLGA/4C3jf+Eu5f/icKm/4nGsf+Jy77/mNfW/5/c2f++6OX/5fjy//H59f/1+vf/8/z4//T99v/5/Pb/ + +/36//P9/P/i+/r/0/n4/8L18/+u8Ov/qPDx/6Lt8/+N5e//bd3n/0vW3/890dz/PMzZ/zrI0/84xM3/ + N8HI/zS+xP8wu77/Kri4/zG2qv9CtZr/WraJ/2+1e/94tHP/eLNw/3Kybf9rr2f/ZKtg/1+nWv9YpFX/ + UqJP/02fSf9HnET/Qpo//z2YO/84lTf/M5Iy/y+RK/8tji//HH0g/xd3Fv8zkij/Zs1Z/5T0jv+W6JX/ + q+Sp/7HQr/+BhH//V1dZ/ztCP/9ZX1v/w8DD/+Xi5P/V1dX/19fX/+Tk5D0AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0/4eHh/+boaX/hoyM/1pZWP9QSkv/ + b25r/3KFbv9pnGL/Qo84/y+GHf8jgR//BmUM/w9vEf8YeRL/FYAP/wmBDP8HgxD/DYMR/w2EEf8PhRL/ + EYQT/xWGF/8aiBn/HYoc/x+JG/8ghxn/I4gb/yaJHP8qix3/Lowe/zONIP84jyP/PZEn/0OSK/9IlDD/ + Tpc2/1SZO/9Zm0L/XZ5L/2OhU/9ppV3/bKho/3Gsc/94sYH/gLeO/4K7mP+IwaX/g8Op/47PxP+Y2t// + l9zh/6jh3f/d9fD/8fn0//X69//y/Pj/8/32//j99v/7/vn/9v77/+f7+P/c+fj/zPb2/7Xy7f+r8O// + qu/0/53p8/964On/T9fc/z3S2f89z9r/O8vT/zjHzv83w8n/NcDE/zC8v/8rubj/Lret/z+2nf9WtYv/ + bLR7/3ezcv93s3D/crFs/2qvZf9jq1//XadZ/1ilVP9Sok7/TJ9J/0edRP9Cm0D/P5o8/zmXOP8zljP/ + MZgp/yiOKf8ghSf/HHwh/x93Hv9StEv/nviY/5vrlv+r56j/tNWy/4aOhv9YWVr/PkNA/1dbWP+6uLv/ + 4N7h/9PT0//Z2dn36OjoMAAAAAD4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABzc3PMhISE/6iqrv+Gjo3/SFFO/0VISP9lZ2L/coNq/2KbWv80iiz/L4Qm/xhyE/8HbAn/ + BnUN/wd9Ef8HgBL/DIcW/xGLGf8Rhhj/EocY/xOIGf8UiBn/Foga/xiIGv8aiRr/HIob/x+LHP8ijB3/ + Jo0e/ymOH/8ujyD/MpAi/zeSJf89lCn/QpUt/0eXMv9NmTj/VJw9/1meRP9doE3/Y6RV/2ioX/9sq2n/ + ca91/3izgv+AuZD/gLyY/4PBov+Ixqv/ltTM/43Y3P+W4Ov/pePj/9bz7v/x+fP/9fr4//L8+P/y/ff/ + 9/32//z++P/5/vv/6/z4/+L6+v/T+Pv/ufXz/6vx8P+s7/P/qOv2/4jl7/9W297/QNTa/0DR3P89ztb/ + O8rQ/zrFy/82wsX/ML/A/yu8uv8subH/Obej/1G2j/9ntXz/c7Ry/3Wzb/9ws2z/aLBk/2GsXv9cqVr/ + VaZS/0+kTP9JoUb/RZ9C/0CdPv88mzr/Npg1/y+VL/8slSv/MZsz/ySOKf8bgSL/IH4l/yuHLf+P4Yz/ + qvOi/7HoqP+02bT/hJKI/1laWv9IREL/XFpX/7W2t//a293/zMzL/93d3Zj29vYF+Pj4Afj4+An4+PgA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHp6emaKior/qKis/4eNjP9IUU// + RUhI/2ZoY/9vg2n/YZpZ/zSLLf8mfR//FXEQ/wlwCv8KehH/C4QW/wuEFf8NiBb/EYsZ/xGIGP8SiBn/ + FIkZ/xWJGf8XiRr/GYka/xuKG/8dixz/IIwd/yONHf8mjh7/Ko8g/y6QIf8zkSL/N5Ml/z2UKf9Dli7/ + SJgy/06aOP9UnT7/WZ9E/1yhTf9jpVX/aKhf/2ysaf9xr3X/eLSC/4C5kP+AvJj/h8Om/4jGq/+U08v/ + jNjd/5De6P+c4OD/xu3l//H59f/3+vf/8/z4//P99//3/ff//P74//r++//u/ff/5vr6/9j5/f+99/f/ + q/Lx/6ru8f+o7PX/jujy/2Hf4/9F193/QNLe/z7P2P89y9H/OsfL/zbExf8xwb//Lb25/yq6s/80t6b/ + TLaR/2K0ff9ws3L/dLNu/2+yav9osGP/Yaxd/1ypWP9WplL/UKRL/0qhRv9Fn0L/QZ0//z2cO/83mTb/ + MZcy/zCYMf8slzD/J5Is/yePL/8fgCX/DGoN/12zW/+2/rH/s+uq/7nduf+OnJL/V1hX/z87OP9YV1T/ + wMLD/+Li5f/Nzc3/4eHhkuvr6wL4+PgB+Pj4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAhISEDY2NjvKnpan/iIyM/0pST/9GSEj/Zmhj/2yAZv9cmFb/M40v/xt3F/8QcQ7/ + C3UQ/w5/Fv8PiRr/DooZ/xCKGf8SjBr/EYoY/xKKGP8Tixn/FIsZ/xaLGf8YjBr/Gowb/xyNG/8fjhz/ + Io8d/yaPHf8pkR//LZIg/zKTIv83lSX/PZYp/0OYLP9HmTH/TZw3/1SePf9ZoEP/XKNL/2KmVP9mqF7/ + aqto/26vc/90s4D/fLiM/368lv+EwaP/hMOq/4bKvP+P19X/kN7e/5Lf2f+v6ef/4/f1//f58//4+/f/ + +f36//n9+v/5/fr/+f76//n++v/y/vn/5f35/9H69v+28/D/oe/u/5Tt8/+A6PH/Zd7i/0rW3P8/097/ + O9LY/zfNzv8zyMX/NMXB/zXCvf83wbr/Mb21/zW7rf9EuJf/U7N9/2Syb/9tsWb/bbBi/2euXf9hq1f/ + X6lU/1amTf9Nokb/R6FD/0OgQv8/nkD/Opw7/zabOf8ymTT/M5s0/yyWL/8mkiz/KZMv/ySIKv8GZQj/ + KYUp/6Txn/++9bb/ut+7/5Cflv9SUlL/Ojc1/1tbVv/Iycv/5OXn/9DQ0P/l5eWM7u7uAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjYyNmaShpP+Oj5D/ + T1VS/0RGRv9jZWH/aX5k/1iVU/8viy3/EXIQ/w5zD/8OfBT/EYYa/xGMHv8Rjxz/E44a/xOOGv8SjBr/ + E4wa/xSMG/8WjRv/F40b/xmOHP8bjhz/Ho8d/yCPHv8jkB7/JpEf/yqSIP8vkyH/M5Uj/ziWJ/89mCv/ + Q5ku/0ibM/9NnTj/VJ89/1mhRP9cpEz/YqdU/2apXf9pq2f/ba9y/3Szf/97uIv/fbyU/4LBof+Ew6r/ + hsq6/5DX0/+T393/k+Da/6vo5//b9PP/9vjz//f69//5/Pr/+fz6//j9+v/4/vr/+f75//X++P/p/ff/ + 2fr3/7308v+k8PD/jOvu/3Xk5/9k3t//VNje/0nV3v9E0tj/P87P/zrKx/86x8L/PcO//z7Bu/83vrf/ + Ob6w/0e6m/9UtYH/Xa9p/2auX/9nrFn/YKlS/1qnTf9Xpkr/UqNG/0uhQv9HoUH/RKBB/0CfQP88nj3/ + N5w5/zOaNf8znDT/Lpox/yWRKv8ikCr/K5Ix/xN7GP8Lbgz/cMRr/8f8vv+84b3/jZuR/0tLS/86NzX/ + ZmVh/8vMzv/g4OL/1dXV9evr62T19fUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACKiYozop2g/5mXmP9ZXVv/QUJD/1xgW/9mfGH/UpBO/yaFJP8KcQz/ + DnoT/xGEHP8Qix3/EI8d/xOQHf8UkRz/E5EZ/xKPG/8Tjxv/FJAc/xaQHP8XkBz/GZEd/xuRHf8dkh7/ + IJMe/yOTH/8mlCD/KpUh/y6XIv8ymCT/N5kn/z2aK/9DnC//R50z/02eOf9ToD7/WKNE/1ymS/9hqFL/ + Zqpb/2msZv9sr3H/c7J9/3q3if98vJP/gMCd/4TDqf+EyLX/jdTO/5Te3f+W4N3/qefm/9Ty8v/w+PT/ + 9Pr3//f7+f/5/Pn/+v35//n++f/5/vr/9/35//D9+f/g+vn/xvb2/6nx8/+N6+z/dOTl/2bg3/9g3OH/ + WNfe/0/T1/9K0NL/RszM/0XJx/9IxsX/SsTA/0HDu/9AwbL/Tb6e/1m4g/9WrWH/YaxY/2SrUv9dqUv/ + VqVE/1KlQv9Ooj//SaA9/0agPv9DoD7/QKA+/z2fPf83nTn/Mpo0/zGaMv8vmzL/KJcu/yWWLf8tmTb/ + Howl/wpzDf85jzX/uO6w/8Xqxf+MmZH/QUJC/zUyMP9wbmv/0NDS/9zd3//b29vi8/PzB/f39wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACknaLM + pKGh/2VnZf8/Pz//VVlU/2J6X/9MjEv/G30c/wp2D/8Sghn/FIwf/w2MHP8MjRr/EZEc/xWTHP8Vkhv/ + EpIc/xOSHP8Ukh3/FZMd/xeTHv8Zkx7/G5Qf/x2UH/8glSD/IpYg/yaXIf8pmCL/LZgk/zKaJf82myj/ + PZws/0KcMP9HnzT/TaA5/1OhPv9Xo0P/XKVK/2GpUv9lq1r/aK1k/2yvb/9zsnv/ereH/3y8kv9+wZv/ + hcSn/4XHs/+H0MX/ld3d/5jg3v+p5+j/0/T0/+j39v/v+fj/9Pv4//f9+P/5/fj/+v75//j++v/5/fn/ + 9/z6/+f7+//O9/n/sPHy/5Ps7f9+5+n/b+Lk/2ne4f9i2dv/V9TU/1DR0f9Oz9D/T83M/1PKx/9XyML/ + T8W6/03EsP9XwZ7/X7qD/1KrWP9bqk//YKpL/12oR/9WpkH/UqU+/06iPP9IoDr/RJ85/z+eOP8/nzr/ + PJ85/zedNv8ymjP/L5cw/y2bMf8tnzX/LqE3/y2bN/8ajSL/FYMa/x97Hf+Tyov/yu/K/4qYjv87PDz/ + Mi4s/318eP/Y2dr/29vd/97e3aj4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKyhp2atqav/bnBv/z0+PP9OU03/YHpf/0iLSP8SdBX/ + C3oT/xaLH/8XkiT/C4sb/wWIFf8PkBr/FpQc/xWTGv8Tkhv/FJIb/xWSHP8Wkxz/GJMd/xqUHf8clB7/ + HpUe/yCVH/8kliD/J5ch/yuYIv8umSL/Mpok/zebJ/88nSr/Qp4u/0efMv9LoDj/UqI9/1ajQv9bpUn/ + YKhP/2SsWP9orWL/a69t/3GyeP94toT/e72P/37Bmv+HxKf/isez/4XMv/+U2tj/oOPk/6fl5v/D7e// + 3PT0/+r5+P/z/Pn/+P35//v99//6/fj/+f36//v9+//5+/r/6vr6/9D2+P+08fL/m+3u/4jp6v955OT/ + c+Dh/3Dd3v9j2Nj/WtbV/1jT0v9b0M7/Ys/J/2XLwP9kyrn/X8Wq/2jCm/9it3f/VKlS/2GrTv9gqUf/ + WqZA/1OkOv9MojT/R580/0WfNf9BnjT/P581/z2fNv83nTP/Mpwx/y+aL/8uly3/MaAz/zCiNv8qnjP/ + K5w1/xyTJf8flCX/GngY/2+jZv/I7Mj/fIqB/zU3Nv84NTP/kZCM/+Di4//W1tj/3NzcbQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + rqKnDbKtr/J3eXj/PDk8/01PTf9bdFv/Q4dF/wtxD/8Mghf/FpAj/xaTJP8LjRv/B4oW/w2RGf8VlB3/ + FJMc/xSUHP8UlBz/FpQd/xeUHf8YlR7/GpUe/xyWH/8elh//IZcg/ySYIf8nmCH/Kpkj/y6aI/8ymyX/ + Npwn/zydKv9Cny//RqAz/0qhOP9Rozz/VqRB/1qmRf9gqE3/Y6tW/2euYP9qsWr/cLN2/3e2gf95u4z/ + fcCX/4jEpP+Lx7H/h8u8/5LX0/+k4ub/qubp/7Tp6P/O8fD/5Pn3/+769v/3/Pb/+v32//r9+P/4/Pr/ + +fz6//n7+//r+/v/0vb3/7Tw7v+d6+n/kOnp/4jn6P+J5uj/guLj/3Hb2v9n19X/Z9XR/3PV0f9zz8L/ + fc++/3nMr/9rxJf/e8SV/2W0a/9aq07/X6pI/1yoQv9Vpjz/UKQ2/0uiMf9GoDD/Q58x/0CfM/9AnzT/ + PJ40/zWcL/8wmi3/LZkr/y+bLv81pDb/L6I1/yOZLf8tnzj/JJsv/ySaLv8ZfRv/UZBL/7Xctf9wfHL/ + MS8w/0Q/P/+qqab/4+Tk/9XV1tjk5OQ6+/v7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsrKxmY6Lj/9DN0P/U0tT/01gTf85gjz/ + Cn8R/w2RHP8Pkx3/D5Md/xCUHv8RlR//EZUf/xKVIP8Tlh//E5ge/xSYHv8VmB7/Fpgf/xeZH/8ZmSD/ + G5kg/x2aIf8gmiL/I5si/yacI/8pnST/LZ4l/zGfJv81oCj/OqAq/0GiLv9GozP/SaI3/0+jO/9UpUD/ + WKdF/16pTP9hqlP/ZK1d/2mxZ/9utHP/dbd+/3e7iP97v5X/hcKh/4vGr/+Jy7v/hdDF/5re3f+r5ur/ + quTh/7rq5f/a9vT/7/v2//T78f/5/PT/+v34//f8+v/4/Pv/9vz7/+r6+v/U9vf/u/Hw/6ft7P+Z6en/ + j+Xk/5Lk4/+W5OX/i+Dh/3va1v921M3/etDB/2zBn/+FyKf/ecWT/2O8df9qum//X69W/12sSv9cq0T/ + V6o+/0+oOf9KpjP/SKUv/0KiLf8+oS7/PaEx/z6hMv89oTX/N58x/zOdL/8wnC3/MKEy/zGhNP8xojf/ + MKI6/zSkQf8kmTP/I5g1/xWJI/8vkDX/hreG/25xaP8xIyv/UkhO/8jHxf/c3tv/2NnYafT09AH4+PgG + +Pj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAC0tbMzramu/1NHU/9FPkX/SV5J/yx4Mf8Uihz/D5Qc/w+VHP8PlBz/EJUd/xGVHv8RlR7/ + E5Yf/xSXH/8TmB7/FJge/xWYH/8WmB//GJkf/xqZIP8cmiH/Hpoh/yCbIv8jmyL/JZwj/ymdJP8sniX/ + MJ8m/zSgKP85oSz/PaEu/0KiMf9HpDb/TaU6/1KmP/9Wp0X/XKlL/2CrUv9jrVv/Z7Bl/22zcP91t3z/ + druG/3q/kf+Ewp7/icWs/4bItv+BzL7/jtfP/6Lh4f+l4+H/r+fi/87x7//q+vX/9vv0//n89P/5/Pf/ + 9vz6//X8+//y+/r/5/r6/9P29//A8fL/sO3v/6Pp6v+a5eX/nOTh/53j4P+V4N3/i9vV/4bVyP9nwZr/ + X7Z+/2S1c/9htGb/YLNd/1uuU/9hrk//YKxI/1urQ/9Wqj7/Tag5/0mmM/9IpjD/QaMu/z2iLf85nyz/ + OJ8t/zqgMf84oDH/Mp4v/zCdLP8xoTP/MqI1/zKkOP8zpDz/N6VD/yecNv8nmjf/HZAr/ymNMP9bkFz/ + UVdM/ygbIf9qYmb/3t3b/9bY1f/c3dte+fj5Afj4+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+ur7SbWNu/zczN/9EX0f/ + IHMn/xOPHP8QlR3/D5Yd/xCWHf8Qlx7/EZce/xOXH/8TmCD/E5gg/xKZH/8TmR//FJkf/xWZIP8XmiD/ + GJoh/xqaIf8cmyL/Hpsj/yGcI/8knST/Jp4l/yqeJv8unyf/MqAp/zehK/87oi7/QKQx/0WlNf9Lpjj/ + T6g+/1OpRP9Yq0r/XaxR/2GuWf9osWP/brNr/3W3df92uoD/d7yL/37Alv+ExaT/hciw/4fLuv+L0cb/ + ktbQ/5Ta2v+j4eT/wevu/+L29f/0+/b/+Pz0//j89//0+/j/1/Lt/9Ly8//Q8fL/yPD1/8Xu9v+46/H/ + r+fq/6nm5v+g49//nOHa/5rf1P+W2cb/ic+u/2q8g/9puHf/Z7Zu/2i0Zf9ns1z/Y7BV/1+vTv9brUf/ + V6tC/1KqPf9NqDj/SaY0/0WlMP9Aoy7/PaEs/zmgLf83oC3/N6Au/zegMP80oDD/MaAx/zOjN/8zozj/ + NKU7/zSmPf85p0b/LKA8/yuePP8mmTT/JIwr/zlyPP84QzX/KiEm/46Gi//u7u3/2drXpgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAALq4vXmRiZP/NDQ2/zpaPv8ccyP/CowU/w+XHf8QmB7/EZkf/xGZH/8SmR// + E5kg/xSaIP8UmiD/E5sh/xSbIf8VmyH/Fpsi/xebIv8ZnCL/G5wj/xydI/8fnST/IZ4l/ySeJf8nnyb/ + KqAn/y6hKP8yoir/NqIs/zqkLv8+pDH/RKY1/0qoOP9Nqj3/UatE/1atSv9br1D/YLFY/2WzYf9rtWn/ + c7hz/3S6ff91vYj/fL+T/4HEn/+Ex6v/h8q2/4vPw/+R1M//k9jZ/5vd3v+15uX/zuzo//D59f/2+/b/ + 9vz4//H69//I7OH/tebf/6rg2P+s4d7/verv/6Te2/+Y29H/nN/V/5bbzf+D0bf/dMmj/3PEmP9vwIr/ + cbyA/3G6d/9vt3D/arRj/2eyWv9isFP/Xa9N/1qtR/9Wq0L/Uak8/0yoOP9IpzT/RKYx/z+kLv88oy3/ + OaIu/zehLv82ojD/NqMy/zajNP80ozT/N6U7/zenPf84qT//OKhD/z6rS/8ypEH/M6NC/yuhOf8kkiz/ + L200/yg3Jv9BOz3/tbC0/+7v7uLa3dsPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrW6ILm2vv5CSEb/ + Jkwr/xp5I/8GkBL/D5ke/xGaIP8QmR//EZsg/xKbIP8TmyD/FJwh/xScIv8TniL/E54i/xSeIv8WniP/ + F54j/xifI/8anyT/HJ8k/x6gJf8goCX/I6Em/yaiJ/8poij/LKMo/zCkKv81pS3/OaYv/z2mMf9CqDX/ + SKk4/0yqPf9QrET/Va5J/1mwUP9dslf/Y7Rf/2i2af9vuXH/cbt6/3O+hf95wI//f8Sb/4LGpv+FyrH/ + is6//5DTyv+T19P/mNrX/6zh3f++5t3/5PXy//D69f/y+vb/8fr2/9Dw6f+56ef/sOTg/6Te2P+f3NP/ + mdnO/5PYyP+K1L3/htCz/4XNrP+ByaP/esSU/3a/iP94voD/cLhx/2+3bP9qtWH/ZrNZ/2CxU/9cr03/ + Wa9H/1WtQf9Qqzz/Sqs3/0epNP9DqDH/PqQu/zqjLf83pC//OKQx/zelMv82pzT/NqY3/zWmOP86pz7/ + PKhB/z2rRf8+rEj/RLBR/zqqSP87qUn/Mag//yeeMv8uczT/HjEf/2lnZ//d2dz95+roQQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy8rQxmZsa/8fSCb/Fnsi/wuZGf8Qmx7/EZse/xGcH/8SnB// + E5wf/xSeIf8UnSD/FJ0h/xKeI/8SniP/E54j/xSeJP8WniT/F58l/xmfJf8boCX/HaAm/x+gJ/8ioSf/ + JaIo/yejKf8royr/L6Qs/zKlLf82pi//Oqcx/z+oNf9FqTj/Sas9/06sQv9Tr0j/V7FP/1uyVf9gtV3/ + Zrdm/2y6b/9vvHj/cb6C/3nCjP9+xZj/gcej/4TKrv+Jzbv/kNHH/5XW0P+c2tb/q+Db/7rm4P/S7+v/ + 5/f0//H79v/z+/f/1PPu/7rr6v+w5uL/quLc/6Le1v+e29D/ldjH/4zTvP+N0bT/h8ym/4DHnP97xJH/ + dMCD/3O+e/9vu3D/bLlq/2e2YP9ktVn/X7NT/1uxTf9XsEf/U65B/06sPP9Iqzj/RKk1/0CoMf87pC// + OKQt/zilMf82pTL/N6c0/zeoNv83qTn/N6k7/zypQv8/q0X/QK1J/0OwTf9KslX/QK5O/0KtUP81rUT/ + Kqc4/yt3Mv8nQCr/lZaV//Du8IwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJyc9s + laGd/yxZNP8Teh//D6Ie/xCcH/8QnB//EZ0g/xGdIP8SnSD/E54h/xSeIf8UniL/E58l/xSgJf8UoCX/ + FqAl/xegJv8YoCb/GqEn/xuhJ/8doif/IKIo/yKjKf8loyn/KKQq/yulK/8vpiz/MaYu/zSnMP84qDP/ + Pak2/0KqOf9HrD3/TK1B/1GvR/9VsU3/WbJT/120Wv9jt2L/arlp/2u8cv9wv37/dsKI/3vFlP9+xp3/ + gcio/4bMtP+N0MD/k9XJ/5rZ0P+m3tj/s+Tf/7/o4f/i9vP/6/n0//H79f/T8uz/uezr/7Do5P+m49z/ + oN7U/5razP+S1sL/idK3/4bPrP+Dy6L/fMeX/3bDjP9ywIL/b714/2u7b/9luGf/ZLZf/2K1V/9eslH/ + WbFL/1WwRv9RrkD/Ta08/0irOP9DqjX/P6gy/zqkL/83pC3/NaUx/zanM/83qDX/N6o3/zirO/83rD3/ + P6pF/0CsSP9Cr0v/RrJQ/020WP9DsVH/Rq9U/ziwSP8qrDj/LHo1/0xnUP+/wsDR9/b3BwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/xRa7w8H7SnhS/w5+HP8OoR//EqAh/xKfIf8SoCH/ + EqAh/xOhIv8ToCH/FKEi/xShI/8ToCX/FKAl/xWhJf8WoSX/F6Em/xihJv8aoib/G6En/x2iJ/8foij/ + IqMo/ySjKP8npSn/KqYq/y2nK/8wpy3/NKcv/zipMf88qTT/Qas3/0WsOv9LrUD/UK9F/1SyS/9YtFH/ + XbVY/2K4YP9oumf/a7xw/26/e/90wYT/ecWO/3vHmP9+yaP/hMyu/4zPuv+S08L/mNjK/6Hc1P+p4t3/ + sOTc/8/w6//n+fP/7vrw/9f07f+67Or/sOjh/6bj1/+e3s//l9rH/4/Wvf+G0rH/g86o/3/Lnv93xpP/ + csOI/2/Afv9svnT/aLtr/2O5Y/9itlv/YbRV/1yzT/9XsUr/VLBE/1CvP/9MrTr/R6w3/0OqNP8+qTH/ + OKYu/zamLf80pjD/N6gz/zapN/85rDv/Oq0+/zqtQP9Cq0b/QqxI/0ayT/9KtVb/ULZc/0m1WP9Ptlz/ + PrFN/yqrOv8uhDj/dpZ6/9/k4WoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAMnEyLhtmHL/CIoX/wqeHP8VpSf/FaUn/xSkJv8ToyX/E6Ml/xOiJP8SoSP/E6Ek/xSiJP8VoiT/ + FaMk/xajJP8XoyX/GKMl/xqkJf8boyX/HKMl/x6kJv8hpCb/I6Un/yamKP8ppir/LKcr/zCoLf8zqS7/ + Nqox/zurM/9ArTf/Ra06/0muPv9OsEP/U7JK/1e0T/9btlb/YLle/2a7Zf9ovW3/a792/3HCf/91xYr/ + d8eT/3rJnf+AzKr/h860/47Suv+T1sL/mtrO/5/f2f+p493/uOjd/9v07P/t+e7/2PPq/73s6P+y6N7/ + peLT/53ey/+W28H/jde3/4PTrP+Az6L/fcuZ/3bGjv9yw4P/b795/229b/9qu2f/ZLhf/2K2WP9ftVL/ + WrNN/1WyR/9SsUH/Tq88/0quOP9FrTb/QKwy/zuqL/81qiz/NKsu/zWsL/83rDT/O6w6/z2tP/9ArUL/ + Qq1F/0mwRf9FrEf/TbVX/1G3YP9Wt2j/WL1q/2bGc/9Nr1n/NaVC/ymUNP+Pv5T/8/DyQAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8DCX2yYcf8IiRb/C58d/xOjJf8ToyX/ + E6Ml/xOjJf8SoyX/EqEj/xKhI/8ToST/FKIl/xSiJf8VoyX/FqMl/xejJf8Yoyb/GqMm/xqkJv8coyb/ + HaQm/yClJ/8ipij/JaYq/yioK/8qqCz/Lqkt/zGqL/81qzH/Oaw0/z2tNv9Crjr/R689/0ywQv9Qskf/ + U7RO/1e2Vf9cuVz/Y7xk/2a+bP9pwHT/cMN9/3TFh/93yZD/ecua/37Npf+F0K//i9K3/5DVvf+W2cn/ + mt3T/6Ti2f+x5tv/yO7g/+X37P/T8uj/vOvl/7Dm2/+m4s//nd/H/5jcv/+P2rX/hder/4HSof9/zpb/ + eMmM/3PFf/9wwnX/b79t/2u6Y/9muFv/YrdV/121T/9YtEr/U7JE/1CxP/9NsDv/SK44/0StNP8/rDH/ + Oqsv/zSrLf8zqy3/M6ww/zesNv87rTv/Pq5B/0KuRf9Er0f/S7NK/0evS/9QtVj/UrVh/1m4av9gwXD/ + bst6/1KyXf83p0X/LZc5/5C/lP/08fIVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAADEwcMOapdw9giKFv8Knx3/EaEj/xGhI/8RoSP/EaEj/xGhI/8SoSP/EqIk/xOiJP8Toyb/ + E6Mm/xSkJv8VpCb/FqQn/xekJ/8YpCf/GaUn/xqkJ/8cpSj/HqYp/yGmKv8kpyv/J6gt/yqpLf8tqS// + MKow/zSrMv84rTT/Pa42/0GvOf9GsD3/SrFB/02zRf9QtEr/VLZP/1i5Vf9evFz/Yb1k/2bBbf9sxHb/ + ccd//3TJif97zZb/fs+f/4LQp/+J07D/jtW3/5TYvv+Z28b/nd7M/6bj1f+u5tv/vu3m/7fr5P+q5uD/ + o+PV/5/fyv+a3cH/l9u5/5HZsf+J16n/htOg/4XRlf99zov/dciA/2/Fdf9qwGv/ZL1i/1+5W/9dt1P/ + W7VN/1azSP9SskP/TbA//0mwO/9Grzj/Qq43/z6tNP85rDL/Nasv/zOsL/81rDT/Oa07/z2uQf9BsEX/ + RLBI/0izTf9PuFH/TLRS/1K2XP9VtGH/YLtt/2rHeP910IL/VbZh/zmpRv8xmj7/kL+U/wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhmGmsCo4b/waaGf8QoCL/ + EaAj/xGhI/8SoiT/E6Ml/xOjJf8VpCb/FaQm/xSlKP8UpSj/FaUo/xamKP8Wpij/F6Yp/xmmKf8ZpSj/ + G6Yp/xymKf8epyr/IKgr/yOpLP8mqi3/Kasu/yyrL/8vrDD/M60x/zeuMv88rjT/QK83/0SwOv9IsT7/ + S7ND/061R/9RtUz/VbhS/1u6WP9fvWD/Yr9p/2nDcv9vxnz/ccmF/3jNkf97z5r/f9Gi/4XTq/+I1bH/ + j9a4/5PZv/+W3MT/neDN/53h0P+i5Nb/nOPU/5ji0/+W4Mv/k93A/5Hbt/+Q2bD/jNio/4fWov+G1Jr/ + hdKT/37Oiv93y4D/ccV1/2rCav9jvWH/Xbpa/1u3Uv9ZtUz/VLNH/0+yQv9LsD7/R686/0OvOP9Arjb/ + PK40/zmtMv80rTH/Na0z/zmuOf8+sED/QbFG/0SyS/9ItU//TblT/1C8V/9RuFn/WLdi/1y1Zv9qv3X/ + edCE/4HXjP9auGX/O6pK/zefQ/+Ww5v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAFyfZWIQlCH/A5cV/xChIv8SoiT/EqIk/xSkJv8VpSf/FqYo/xinKf8Xpyn/ + FKcp/xSnKP8Upyn/Fagp/xaoKf8XqCn/GKgq/xmoKf8aqCn/HKgq/x6oK/8gqSv/Iqos/yaqLf8oqi7/ + K6sv/y2sMP8xrTH/NK0z/zmvNf89rzf/QbA6/0SyPf9Is0D/S7VF/062Sv9SuFD/WLxW/1y+Xf9hwmf/ + acZw/2/Jef9zy4L/eM2N/3zPlP9/0Zv/gtOk/4HTqf+H1a//i9e1/4zZuf+S3cL/kt7D/5Lfxv+I3sD/ + h93B/4vdv/+K27X/i9mt/4zYp/+J1qD/hNSZ/4LTk/+B0Y3/e82E/3PJev9sxXD/ZsFn/1+9X/9ZuVf/ + V7dQ/1a2Sv9StEb/TbJC/0ixPv9EsTv/QrA5/z6wN/88sDX/OK81/zeuNf86sDr/PrJC/0S0Sf9HtU3/ + SbZR/0y4VP9QvVn/U79e/1a7Yf9fu2j/Z7pt/3jFgP+K3JP/jN2V/164av87q0z/PaVL/57NpegAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbLB1KBGVIv8Elxb/ + E6Ml/xSkJv8VpSf/F6cp/xmpK/8aqiz/Hast/xurLf8UqCn/Fagp/xWoKv8WqCr/F6kq/xepKv8ZqSv/ + Gakr/xqpKv8cqSv/Hakr/x+qLP8iqi3/JKst/yasLv8prC//LKwv/y+uMf8yrjP/NrA1/zmwN/88sTj/ + QLM8/0W1P/9Jt0P/TblI/1O9Tv9awVf/YcRe/2fHaP9vy3L/dM17/3fNgf96zon/fdCQ/3/Slf9/1Jz/ + fdWh/4HWqP+G167/htmx/4zcuv+M3b3/i929/3zbtf973LX/g921/4Tbrv+F2ab/iNih/4fVmv+B05P/ + f9KN/3zPh/90zH7/bch0/2fEa/9iwWL/Xr1c/1i6Vf9WuE//U7dK/061Rv9KtUL/RrQ+/0O0PP9Asjr/ + PLE3/zuwN/86sDj/PLE8/0GzRP9FtUr/SLZN/0q3Uf9NulX/T7tY/1G+XP9RwGD/Wr9m/2fBb/9xv3b/ + hs2M/5fin/+S4Jz/X7dr/zqpS/9AqU//qNmx2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAB9v4UBEJId7AmbG/8VpSf/FqYo/xinKf8aqiv/G6wt/x2uL/8gsDH/ + Hq8x/xKpKf8UqSv/FKkr/xWpK/8Wqiz/F6ss/xirLP8Zqiz/Gaks/xqqLP8cqy3/Hast/yCsLv8irC7/ + JKwv/yatMP8prjH/La4y/zCvM/8zsDT/N7E2/zqxN/8+sjr/QrU9/0e3Qf9PvEn/V8BR/1/GWP9jyV7/ + Z81m/23Pbv91z3f/eNB+/3rPhP950oj/etWL/3jXkf9315f/e9ic/37Zov+B2af/hNut/4fds/+I3bb/ + ft2y/37etf9+3a3/f9qm/4DYnf+B1pf/gNWQ/33Tiv960oX/ds9//3HMd/9syHD/Z8Zn/2LCX/9cv1j/ + Vr1S/1O8Tf9Qu0j/S7pE/0e7QP9EuT7/Qbc7/z+0Of87sjf/OrE4/zuxPP8/skP/RLVJ/0i3Tv9KuVL/ + TLtW/068WP9PvVv/Tr5d/06/YP9bwWr/b8V2/3rFfv+R15X/ouqn/5fhoP9etWz/OadK/0KrU/+w47nH + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjRiz + DKMg/xaoKP8Xqiv/Gqwu/xyrMP8irTX/JK83/ya0OP8hsTT/Fqou/xeqLv8Xqi7/F6st/xarLP8Xqyz/ + F6ss/xirLP8Zqyz/Gqss/xusLf8drC3/IKwu/yKsLv8krS//Jq0v/ymtMP8srjD/Lq4y/zKvM/80sDP/ + OLE1/zyzOP9BtTz/RrhB/02+SP9WxE//XclW/1/NW/9hzl7/ZtBl/27RcP900Xj/ddJ8/3TTfv9z1X// + cdeD/3DYiP9z2Y3/d9qU/3nbmf983J//gd2m/4DcqP973Kn/geCx/3rbpP942Zr/eNiS/3rWjv951on/ + d9SF/3XSf/9z0Xn/bs9z/2nMbP9ly2T/Ysle/13GV/9Xw1H/UsFL/0zARv9JvkP/Rb5A/0K8Pf9AuTv/ + PrU5/zuyOv87sTv/PrNA/0C0Rf9Ctkr/RbhN/0i5Uf9Ku1X/Trxa/1G+Xf9Rvl//UL5j/17Ebf9yyHv/ + hMqI/53WoP+s67H/leGf/1e1Zv81pkj/SaxZ/7zsxKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSLI3oKqh//D6oj/xGxKf8ZtjX/HKc3/zOrS/82qkv/ + M7hH/yi1Of8nrzz/JK87/yGvN/8drjP/Gq0v/xeuLP8Vrir/Fa4o/xatKP8XrSn/GK0r/xuuK/8drSz/ + IK0t/yKtLf8krS7/J64v/yquMP8srjD/L64x/zKuMv80rzT/OLA2/z60Ov9EukD/TL9G/1PGTP9Zy1H/ + WcxV/1bLVv9azFn/YMxg/2XNav9pzm//adBy/2fRc/9p0nb/a9R8/2/Wgv9z2Yr/ddmO/3bZkv952Zn/ + edib/3PXnP9926j/cteZ/3HVkP9v1In/cdWF/3DVgf9u1H7/b9R5/27Tc/9p0W3/ZM5n/2DMYf9dylv/ + WchV/1XFUP9QxEr/ScBD/0a9Qf9Cvj7/P7s8/z63PP87sjv/OrA6/zmwPP85sT//OrJB/zuzRf9Atkn/ + RbhP/0q7VP9TvVz/WMBi/1u/Zf9jvm7/Z8tz/3bRgv+X0Z//s8+3/7vkwv+J3Zf/QbtV/y6lRP9jq3H8 + 4PznRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Lpw9QAicGv8OqCP/Da4m/xKxLP8frjn/PrhW/z+yU/85uU3/M7xF/zG1Rf8ttUP/KrQ//ya0O/8gszf/ + HrIz/xyyMf8asS7/F64s/xitLP8ariv/G64s/x2tLP8frS3/Iq4t/ySuLv8mri//Kasw/yqmMv8roDT/ + K5o1/y2YNv8xmzn/OKU9/z+xQf9GvUX/TsZJ/1LGTf9Pwk7/SrlO/0ixTv9HrVP/TKxY/1CuXv9Tr2L/ + VLBj/1WzZ/9aumz/YcV0/2nPe/9p0X//aMuD/2bBhP9iuYT/WbWD/2e6kv9euob/YsCD/2XJfv9o0Xv/ + adR6/2fVdv9n1HP/Zs9t/17HZv9Wvl//ULVZ/0yvVP9JrlD/SbBN/0a0Rv9DuEH/QLs//z+7Pv88tT3/ + OKk9/zSfPf8xmj3/L5g9/y2ZPf8unT7/MKU//ziuQ/8/tk3/SbpV/1O/Xf9awWT/XsFo/2XAb/9szHf/ + ftSJ/53UpP+628D/uunD/4LZj/9AtVH/NaFG/4C8ie7a++EqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOsVwKC4sY+g+kI/8MrCP/C68m/x+0Of9Ix1// + S79f/0bBV/9CxFX/O71P/zq8Tf80u0r/L7pE/yu4P/8mtzr/JLc4/x+zNP8bsS//HbEw/x2xL/8dsC// + HbAv/x+wMP8hsDD/I68x/ySqMv8knzT/Io42/yB8N/8dbzj/H2o6/yJwPf8nfT//L5A//zimQf9DuUT/ + SL1H/0OvSP85lUj/MX5I/y5ySf8ucUv/MXFN/zNyUP8zc1D/N3lV/0CJW/9Po2T/XL1u/2HEc/9ctnP/ + T5pu/0OEaf86d2f/O3ls/zqEav9Dmmz/VbVx/2PJcv9p03H/ZdJu/2DMaf9Xu2H/S6Va/z6PVP81fk// + L3RM/y5ySv8vekj/M4lF/zicQP87rD7/OrM9/zaoPv8tkT//JntA/yJtQf8gaUH/IW5C/yN7Qf8okT// + MqZD/z62Tf9Jvlf/VMFf/13EZ/9gxWv/Z8Nz/3PNf/+J15X/pNqt/8Lryf+177//d9KF/0CwUP9DolH/ + oNSo2eD75wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQgR3KD50h/w+vJv8IsCL/GLY0/0jMYf9c0G//WMtp/0/JYv9Fwlj/QsFX/z7AUv84vk7/ + M7tI/y+5Q/8sukD/Jrc8/yK2Nv8jtTX/IbQ0/yG0M/8htDP/IbQy/yKzMv8jsDH/IqIy/x6INv8WZjj/ + DlxV/wpyh/8JgJ3/CoKe/w9zgP8ZYE3/JXZA/zKYQf86p0T/NZRE/xyJhP8OhKH/DYGh/w6Bov8OgaL/ + DoGj/w+Co/8PgqT/FIyn/zZ9Xv9Mp2L/Vbdo/0yhZv8klaH/FIiq/xCCqf8Pgqn/Eoir/yCVof9IoWb/ + W8Fp/2HPaf9by2X/Ubde/0CTVv8tak7/HV9j/xF0jv8NgaL/DYCh/w91j/8ZYF3/JWtA/y6MPv8xnzz/ + Lpg9/xyJav8Nip//CoCg/wqAoP8KgaH/Do2h/x+JYv8xoEb/QLdQ/0zBWv9XxWP/YMhr/2PKb/9syXn/ + gNCK/5vao/+v4Lf/xvfO/6rvtf9qynj/RKxU/16qaf++6cWvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGEL5ERmSP/ErMq/wa2Iv8Ptyv/ + PspX/2refv9s133/Xsxu/1HJZP9Ox2L/ScZd/0TDWP8/wVL/OL1N/zW7Sf8vvEb/LL1A/yu9Pv8ouzz/ + J7o6/yW5OP8kuTX/I7kz/yO0NP8emjP/FW42/wWawv8Avv3/Aqzj/weDov8JgZ//A6fb/wG59v8NfZT/ + IWlA/y2LQP8qgED/GlJG/wG7+P8Avv3/BKrf/wyBof8NgaH/DYGi/wqPuP8Bufb/JWhe/0CXV/9Msl7/ + Q51c/ytkVP8ReZr/AL79/wC+/f8Pe57/ImJP/0GeXP9Uwl//Wcxf/069W/89l1P/JmNU/wmVwf8Avv3/ + AL79/wC+/f8Avv3/AL79/wC+/f8Ki6z/HmM+/yeIO/8ojjv/HW09/xBPVP8Avv3/AL79/wSl2f8YS0X/ + Jn5H/zWmSv9FvVX/UMVf/1vKaP9kzW//aM90/3TSgf+Q1pn/rd+0/7zpw/+++sj/lOih/1zCav9QsF7/ + h7+N/9f3220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAASqFWVhmdKv8TtCn/B7si/wi3Jf8vwEn/beGB/3vfiv9s0Xv/X9Jx/1zRb/9Xzmr/ + UMpk/0nIXf9DxVf/QMNU/zzDUP82xEr/NMNH/zDDRP8swUD/KL88/ya+Of8jvjf/I7o1/xWRL/8SXzj/ + Aqnf/waCov8NRTr/FVk9/xhWQP8SRED/B460/wC+/f8Oc4b/IWo+/yNvP/8YSUD/Abj0/wC+/f8JlcH/ + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6rQKwFsRX/BLsS/xXBKP8iuTb/Ssxe/5X4pv+e4K3/ + ld+h/5DlnP+L5Zv/gd+W/3rbiv9z2Hn/addz/2PYdv9g13L/WdVt/1LUZv9K01//RdBZ/0PQVv89ylH/ + NbdL/yqTSP8ZXUT/CnqX/wKv5v8Avv3/AL79/wC+/f8Avv3/AL79/wiHpv8YZzv/HG86/xJKPP8BuPT/ + AL79/wOp3v8JgJ7/CoCe/weRuf8Gns3/IWo+/zOfPf8/wj//QslB/zuzQ/8qf0P/EWV2/wC+/f8Avv3/ + EGV1/yh+P/84sj//QchA/zy8QP8qj0H/F09B/wC+/f8Avv3/CIOj/xtpPf8qpTn/McM3/yy5Nv8gjjn/ + ElI8/wG49P8MYF7/FHU2/xN8Nf8OTjv/Abj0/wC+/f8IlcL/Emh//w2CpP8SeZT/JWJi/z58YP9ep3X/ + e8uK/5Demv+z57n/yfPO/8Pzyv+S25v/Y8hw/1K1X/94wYD81PvZSgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + acJ2KBWaH/sAugn/CMgY/yO+Nv8jsjb/cu6K/7bqyf+p6az/neaa/5vkpf+X4bH/idyg/37hgf955Hv/ + ct6E/27dfv9p2nn/Ydlz/1rXbP9V1mb/UNZj/0nOXP89slT/Kn9O/w2Anf8Avv3/AL79/wC+/f8Avv3/ + A6nf/wWXwv8Lb4X/F10//x+DOf8efTj/Ek07/wG49P8Avv3/A6ne/wiAnf8JgJ3/CIqu/wWezf8faDz/ + L5w6/zq8Ov88wjr/N689/yh9P/8QZXX/AL79/wC+/f8PZXT/J309/zavPP87wzz/NrU9/yeJPf8WTT// + AL79/wC+/f8IgJ3/Gmo6/yilN/8uxDX/Kroz/x6QNv8RUzv/Abj0/wxgXf8TdTX/Ens1/w1PO/8BuPT/ + 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 + vOvB/7nwvf+s7LT/qeuy/6Tprf+b6Kf/lOae/4zkmP+J5JX/fd6K/2rHfP9PmGz/J2ty/wO07/8DtO// + E2mB/xlGS/8WT1n/DXqZ/wG7+P8TaGv/HXFA/xdnPv8NQz3/ALv4/wC+/f8Cmcb/CEI7/wdBOv8HQTn/ + BHSM/wKPtv8FQDj/A4Kg/wN0i/8FPzj/BT83/wRjcv8Avv3/AL79/wJhbv8EPzf/BD82/wNyh/8Cgp// + BEA2/wRJRv8Avv3/AL79/wKNsv8FTzb/CYgt/wuoKP8Lnin/CG8w/wRCOP8AvPv/A2Fs/wVLN/8HUDj/ + CUI8/wC7+P8Avv3/CJfF/x1GUP8dUmT/C5fF/wC+/f8Avv3/LHua/3Kbjf+bz6n/iNuT/2LLcP9SwWD/ + d8OB/NH32EYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIHPf38bnhr/ + Cb0b/w+8Jv8GwRr/CLEN/1LOUf+09b3/3Pfr/9Dl3P/I78n/wvbC/7jwwv+28b7/sO60/6jrq/+g6qT/ + meih/5Toof+K5Jb/fdeI/2m8ff9KjGv/K2pv/w6UwP8FsOr/AL79/wC+/f8Ct/T/CKHS/x9xY/8mekf/ + F31s/weOs/8Avv3/AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/Ap3L/wVAN/8CjbL/AL79/wC+/f8Avv3/ + AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/AL79/wKNsv8DX2j/AZC2/wC+/f8Avv3/AbDo/wOFmv8Igjj/ + Cp0o/wqVKf8FgmP/ApC2/wC+/f8BoM7/BGNp/wZhZf8EjbH/AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/ + CK3m/yKDqf9XfXn/gLSV/4/Qm/9qynX/U75g/1u8Z/+28r+j3/7kBgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0+nTDIPDiOcdoyr/BacR/xiyJP8Ixw//B7wQ/0rKYP/G88n/ + +v3x/+H55P/G7db/xe7S/8j0zf/B77r/tuip/7DoqP+r6a3/oeaw/5nipf+T3pv/h9GU/3O5h/9Zl3X/ + Q3hn/zViXv8vWVr/KldW/yxeVf80dFj/OYxX/zaTU/8rgUv/H2VG/xhRRP8UTkL/E05B/xJOQP8PTj3/ + DU87/wtUOP8JXjX/CmYz/wtcNf8KUzb/CE02/wdMNf8GSjX/BEkz/wJJMv8DSjP/BUs1/wZLNv8GTTb/ + B1A1/wdTNf8HUDX/B001/wZMNf8HUjT/CGou/weKJv8InSL/B5kk/wd+Kf8GYTD/BVI1/wZWNf8LXzf/ + EGA7/xVXQf8bUEn/H09N/yNRUf8nVlP/LFZY/zZXYP9KZm//Y4aA/3Osif9txoH/ZNBz/1y9Y/9ns2// + pdasyOf77AsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + wPDETW/KefgPnhb/B7sE/wavIP8KtDL/EKoX/1vLTv/F98D/5vvv/+Hu5f/Y69P/1/PZ/8zy0v/A78r/ + vvLH/7vyvv+w5q7/puSp/6Hmqv+b4aT/j9ma/37Ij/9utYL/Yad5/1qedP9SnW3/U6Nr/1Wta/9Stmf/ + TLZg/0CpWP84m1L/MZFO/yuNSP8pjEf/JoxD/yGLPv8dizv/GI82/xWXM/8VmjH/E5Ew/xCLL/8Ohi// + DYQu/wuEK/8Hgyn/BYIm/wWCJ/8Jgiv/CYMq/wmGKv8JiCn/CYko/wmHKP8JhSj/C4Uq/wuJKv8LkSX/ + CqAh/wmpH/8KpyD/C50l/wqRKf8KiSv/DIot/xONMv8bjjr/Jo1E/zOOUf88j1r/QpJf/0yXZv9Ql2r/ + YJ93/3Wwiv97u4v/b71+/2TEcv9ix27/Z7Rt/6Tep87P99QbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu+rBXmG/aPAIrwz/Dqkl/wumKP8JtRP/ + CaoG/02/Tv+98cP/6/bq//Hy6//n9uj/3/vm/9L43P/D7sz/v+nC/8nuyf++78D/r+u1/6vqsv+j6Kv/ + meGj/4/bmv+G1pP/gdKP/3rPhv92z4H/dNJ//2zSeP9kz3D/Wslo/1TEYv9OwV7/RbxV/0G6U/89uk7/ + NrhI/zC2Qv8puDv/Jbk4/yG4Nf8bsDD/Gq8v/xetLf8UrCn/Dqwl/wyrI/8IqR//Bqkf/wqqIf8KqiH/ + CKsf/wirHf8Iqxz/B6oc/weqGv8Lqx//Dqsi/wysH/8Lrh3/DLEd/w2zH/8QsSP/ErEm/xGuKP8VrSz/ + Hq8z/yuxPf85tUv/S7pb/1a/Z/9ewm7/bcN6/3HHfP92z4H/eNeG/3XWgv9synf/Ybxt/2W5b/+Vypm5 + yfPLFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAArOO1REe0UuYRlQv/BqQI/wi5Hf8AqxL/C6EM/03BTf+y7bn/6/n1/+r76v/q+OL/ + 5PXa/9722f/W9dv/yvDc/8Puzf++7sL/uuy+/7TruP+r57H/ouWp/5vko/+Y46D/kN+Y/4vdkv+G247/ + ftmH/3XVf/9s03f/Z9Fy/2PQbv9XyWL/U8hf/07HWf9GxVL/PsNL/zbBRP8xv0D/Lr49/yS5Nf8iuTT/ + Hrcx/xq3Lf8Vtin/EbUj/wy0If8LtB7/CbQc/wq0HP8Isxv/CLMY/weyFv8GshX/BLIT/wmzGf8Osx3/ + DrIb/w6xHP8PsRz/ErMg/xe2Jf8auSf/G7cr/yC2MP8pujn/OL5F/0jEVP9ZyWX/Y85v/2zQdv98z4P/ + etKA/3Tafv9u3nr/ZNFw/2C/a/9uvnj/gcaJmsPmww8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo86lJE+iQcwKkwj/ + AZ4O/wanG/8FqQ//BawF/yizMf+H0JT/z/fR//z+9P/89PH/9/Pw/+f97P/H+tj/yPHR/9Dt0f/K7cz/ + wuvE/7rovf+y5rf/q+Sx/6fjrf+h36X/m9yg/5fcnP+Q2ZT/h9WN/37ShP930H//c897/2fIcP9kx23/ + XMZm/1TDYP9MwFn/RL5Q/z68Sv86ukf/M7pC/zG5QP8stzv/JrY2/yC0Mf8csy3/GLIp/xSxJf8OsB// + DrAf/wyuHP8Krhj/Ca0X/werFP8HqxL/Cq4X/w2uGv8OrRv/Dqwc/xKsHf8XriL/HLIo/x+0Kv8nsjP/ + L7Q8/zi6Rf9Gv1L/VMRe/2LJa/9rzHX/cc16/33Og/94z4D/cdN5/2TOcP9VuWH/YLBq9YvKlXe37b8E + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAos+rEjiRQZsPhwv/EKAT/wSbD/8CqQX/AaoC/yKiIP94zHv/ + 0O/Y//f8/P/59v3/5PXn/9P8zP/Y99b/3vDe/9jv2f/Q7dL/yOrK/8Dpw/+55r3/teW7/7Dgs/+q3a3/ + pt2p/57aof+V15r/jNSR/4bSjP+C0Yj/eMx//3TJev9sx3X/Y8Rt/1rBZf9Rvlz/S7xW/0i6VP9Bukz/ + QLlK/zq3Rv8ztkD/LrQ5/yqxNP8msDD/Hq8r/xWtI/8VrSL/E6wg/xCpHf8OqBv/DKYX/wulFf8MqBb/ + C6kX/w6oGP8Ppxr/FKce/xupJf8hrSr/I68s/zKyPP89tkb/RrtQ/1LAW/9dxWX/aMhw/2/Jdv9yyXj/ + d8x+/3rSgf9uyHX/XLBj/2WtbeSFwo1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tNu2AE2hR2INiBXrBpUX/wufFf8Opwr/CKED/xOWF/9Mr1n/ouGy/+H96v/z/PL/7/Lj/+/z5//r9uv/ + 5fXl/97z3v/V8Nf/zu3Q/8fqyv/D68f/vuTA/7jhu/+14Lf/rd6v/6Pbpv+b2J7/lNaa/5DVlv+H0o7/ + hdCK/3zNhP9yyXv/acVy/1/Bav9awGT/Vr9g/0+8VP9MulL/SLhM/0C2R/86s0D/NLE7/zGvN/8prjL/ + HKsq/xyqKP8aqSX/F6Yi/xWlHv8Uoxv/EqIa/w2kF/8JpxX/DaQY/xCjGf8WpB7/Hacm/ySqK/8mqy7/ + OrND/0a4T/9PvVn/WsJi/2bFbf9uxnP/ccV2/3PEeP9tzHX/ZsJs/2CtZv9tq3Kyg7aIGwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKpUiYUixq8GIAV/yCMG/8NoRT/ + A5oG/wSXBv8lpyb/gdGB/9bt1v/18vX//ff7//f99v/y+fL/6fbp/+P04//a89z/0/HW/87x0f/K7Mv/ + xenF/7/mwP+45Ln/sOCx/6jdq/+i26X/n9ih/5TYmP+Q15X/iNOP/3/Qh/92zH7/bMh0/2jGcP9jwmv/ + W7xd/1i7Wv9TuVX/TbZP/0WzSf8+sUL/Oq8//zKtOf8lqzD/JKot/yKoKv8fpSb/HKMk/xigH/8Xnh3/ + EKIY/wylFP8Poxf/EqEY/xmjH/8hpSf/Kagu/y2qMv9FtEv/UbpZ/1i9X/9hwWb/acRu/27Ec/9wwnT/ + b8B1/2DBaf9Rp1jtVpxcboi5jAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAH64fQc8dTlsGnAY6gqMCv8BigL/A5kE/wSYB/8QhxD/QpxB/5zdl//o+Of/ + /f79///8/v/58/j/8fDw/+337f/l/ef/2fvc/9X81f/O+sv/xfDD/8Hqvv/C6L3/wOW7/7nbs/+u06r/ + nuCi/5rfnv+T2pf/jNOP/4TOiP9/yYP/fciB/3bEfP9nuW7/Zrls/2O5af9et2P/V7Rc/0+yVP9Lr07/ + Q61H/zesPP82qzn/Mqk1/y6mL/8ppCv/I6Ak/yCcIf8ZoB3/FaMb/xafG/8ZnB3/IZwl/yuhMP84qD3/ + Qa1F/1qzWv9kuGX/Zbtm/2S6Zv9kvGj/acBt/2a+av9btmH/WZlft22kdSgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kD4g + D3sOowN5BPoEigf/CpsP/wSLBv8GfQb/JI4j/2qvav+v2bD/2/Ta//f+9f/1+PP/9PTx//j39f/z9PL/ + 6PDl/+Hs3f/Z6db/1evS/9Huz//J7cj/veS8/7Lbsf+32bb/tNe0/63Trv+lzqb/ncme/5XEl/+Sw5T/ + icGN/3DAd/9rvXL/ZLhp/1y0YP9YtVv/VrZa/1e7Wv9QtVT/QadF/z6mQv85pT3/NqU4/zKkMv8upC// + LaYt/yCeJf8YmCH/HZsm/yGZKv8mmS3/LZw3/zymRv9JslT/VrBZ/160Xv9jt2T/YrNk/2CvZP9lsGn/ + aLFs3lupYFyEvIoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEm4TPQppCsQEgQb/CJIN/waMB/8ChQL/ + CncK/x9/H/9YqVf/qt6n/93u2//0+vH///r5//zw+P/87vr/+e33//Ls7//p7un/4fHi/9bx2P/J68z/ + wOfE/8nhyf/H38j/wNzB/7bYt/+r067/n86j/5nJnP+UyZf/idCO/4fNiv+AyoL/dMR4/2u+bP9huGL/ + WLFY/1ixWv9ds2H/VK5Y/0urT/9BpkP/N6M5/zCgNP8uozD/J5kt/yCPKP8gjSn/JpEw/zWePf9Ap0z/ + RKlR/0KlTv9NrFP/UqxV/12wX/9psmv/YaBk7VONVYFelF8SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAP5FCBAlpCk8CbQLKBX4F/wmLCP8EhQP/BYMF/w+ADv8feh3/So5H/5HBj//S7c// + 5vvj//r9+v///P//9/b3/+vu7v/j6uT/3erf/9vq3v/X6tr/w+DF/7/gwf+63r7/suC2/6ver/+i26j/ + mtmh/5fUnP+ayZr/msqZ/5bKlf+OyI7/hsKF/3y9ev92uXL/a7Jr/2GsZP9isWX/XbNh/1SvV/9CpkX/ + LJcv/x2LIP8kjSb/MZMy/zOUM/81lzj/PJw//0SiSP9OrFT/WLRd/1yzX/9crl7/V6FZ71SUVJBbjVke + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd6JwUFYAVL + BGAEwQl5CP0IgAb/AnUB/wV1BP8GcAf/DmwO/yqGK/9es1//odaj/8DmxP/T89b/5/vo//T99P/5/Pj/ + 9/f2//Hv7//c69v/2ezY/9br1f/O6c7/xeTF/7ndvP+u2LH/rNSv/7TOsf+tyqr/pMSf/5q+k/+Quov/ + irmE/4m4g/+GvoH/esZ7/2y5bv9XqVn/RJtF/zORNP8piyr/I4gk/yuNJ/82ki3/PJY0/0aeQP9Spkz/ + WKlS/1SjUP9PnUr/UphS6FGTUodQjlEfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1YDNgtlCp8KZwruA2gD/wFyA/8GfQf/ + BHcE/wdmB/8WaRj/LoAw/1mhWf+FwoX/sdyv/9DozP/i793/6/Pn/+rs5P/q7uX/6/Dl/+rv5v/m7eH/ + 3eba/9fh0//Q3cz/vNu4/7nZtf+z1q//qtCk/6DNm/+ZyZP/lsaO/4PAfv9fsl7/TaFN/zaNNf8ofib/ + JH0h/yqFJv8ykC//NZEu/zaQL/9Aljj/SZhB/06WRv9Rkkn/UI1Iy0SEPGc+dzsRAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAhPCBQCTQJgBGUDvgVvBfcGdQb/DH0K/wRrA/8AZgH/BmcF/w1nDP8bahj/ + Mncs/0qKRP9kn13/k72O/5vFmP+oz6T/tdmx/77fuv/E4b3/xeC+/8Hfu/+q36n/pdqj/5nSlv+HxIP/ + cbNu/1yiWP9NlUn/MoMu/w1vDP8UchH/GncW/yF8Hf8ogiP/L4Un/zSKLP8yii7/NIw2/z6PP/9CiUHf + P309k0R3QDddiVgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CVwHHwRYBGIMYwa1BGcB7QRsAP8JcQP/CHAD/wJoAP8AYwD/A2QC/wdnBv8OZA3/D2gP/xRwFf8aeBr/ + IXoj/yd6Jv8odyf/KXgo/y19Lv8qeSn/InQj/xpxGf8VbhP/EG4O/w9uDP8PdA7/En0Q/xV7Ef8ZexP/ + HnwY/yZ+Hv8vgST/NIQo/TOGMtEofDKOJHMsPi50NggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQALAE0APQJWAngEXQS1 + AV4A4ABgAP8AZAD/AGcA/wJpAf8BZwD/AGYA/wBkAP8BZAH/AmUC/wJmAv8CZwL/AmsD/wJqAv8CaQL/ + AmsB/wZtAv8Mcgb/EHUM/w90Cf8KbwX/EXIK/xt1E/UheRvLIXUcnBlpElYOXggjAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVWxAACFIEHgJNAEIBUQBkBFsDkAVaBasEWATC + A1YD1gJWAuUBWQHyAlsC+gNdBP4GXgL9BVwC9gVcAuwHXQTeCV4GzA5iCbcQZg2fDWEHeghTAlMNVwcw + Gl4SCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////8AAP////////////// + ///AAAAH///////////////8AAAAAH//////////////4AAAAAAP/////////////4AAAAAAAf////// + //////wAAAAAAAB////////////wAAAAAAAAH///////////4AAAAAAAAAf//////////4AAAAAAAAAB + //////////4AAAAAAAAAAP/////////8AAAAAAAAAAA/////////8AAAAAAAAAAAH////////+AAAAAA + AAAAAA/////////AAAAAAAAAAAAD////////gAAAAAAAAAAAAf///////gAAAAAAAAAAAAD///////wA + AAAAAAAAAAAAf//////4AAAAAAAAAAAAAD//////8AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAD/// + ///gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAAf////8AAAAAAAAAAAAA + AAH////+AAAAAAAAAAAAAAAA/////gAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAA////4AAAAAAAA + AAAAAAAAP///+AAAAAAAAAAAAAAAAB////AAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAD///4AAA + AAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAH///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAP/ + /4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAA + AAAB//4AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAA + AAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH/4AAAA + AAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB/ + /AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAA + AAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAA + AAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAX/wAAAAAAAAAAAAAAAAAAA/8AAAA + AAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB/ + /wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAA + AAAAf/+AAAAAAAAAAAAAAAAAAP//wAAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAH///AAAAAAAAA + AAAAAAAAD///4AAAAAAAAAAAAAAAAB///+AAAAAAAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAP///8AAA + AAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAH// + //gAAAAAAAAAAAAAAAB////4AAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAA + AAB////8AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAB////+AAAAAAAA + AAAAAAAA/////gAAAAAAAAAAAAAAAP////4AAAAAAAAAAAAAAAD////+AAAAAAAAAAAAAAAB/////wAA + AAAAAAAAAAAAAf////8AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/// + ///AAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAH/////+AAAAAAAAAAAAAAD//////gAAAAAAAAAAAA + AB//////8AAAAAAAAAAAAAAf//////AAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAH///////AAAAAAA + AAAAAAD///////4AAAAAAAAAAAAB////////AAAAAAAAAAAAA////////4AAAAAAAAAAAA/////////A + AAAAAAAAAAAf////////8AAAAAAAAAAAP/////////gAAAAAAAAAAP/////////+AAAAAAAAAAH///// + /////4AAAAAAAAAH///////////AAAAAAAAAH///////////8AAAAAAAAH////////////4AAAAAAAH/ + ////////////gAAAAAAH//////////////AAAAAAP//////////////+AAAAA////////////////+AA + AD////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////ygAAABgAAAAwAAAAAEAIAAAAAAAAJAAABMLAAATCwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARkZGATc3NwsnJycfKioqRSMjI2cnJyeQKysrqSsrK74rKyvOLCws2SQkJN4kJCTd + Jycn1SsrK8kuLi63Ly8voS8vL4E0NDRaPj4+NkpKShVkZGQGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGAS8vLyEmJiZmJCQkoiQkJNUkJCT0Hx8f/yUlJf8uLi7/ + Ojo6/0VFRf9MTEz/UFBQ/11dXf9aWlr/UVFR/0NDQ/8zMzP/Kioq/yUlJf8iIiL/JSUl/isrK+krKyvF + KCgojUVFRUpWVlYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANjY2AygoKCsiIiJ8Hx8fzSsrK/s7Ozv/ + SUlJ/1xcXP9tbW3/eXl5/4SEhP+Kior/kJCQ/5aWlv+ZmZn/mpqa/5qamv+dnZ3/oaGh/6Ojo/+kpKT/ + oqKi/5qamv+UlJT/g4OD/2hoaP9HR0f/NjY2/ysrK/8hISHwKysrsEBAQFxLS0sVVVVVAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCwsABsbGwwoKChW + GBgYuCIiIvJGRkb/XV1d/2hoaP90dHT/fX19/319ff99fX3/gYGB/4uLi/+Pj4//kpKS/5aWlv+ampr/ + nZ2d/6Kiov+jo6P/paWl/6enp/+pqan/qamp/6ioqP+tra3/r6+v/6urq/+hoaH/mpqa/4iIiP9mZmb/ + Nzc3/x4eHv0kJCTjLS0tlTU1NTNJSUkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAgICAMHx8faCAgINEzMzP+VlZW/25ubv91dXX/dHR0/3d3d/9/f3//h4eH/4uLi/+UlJT/ + oKCg/6enp/+rq6v/s7Oz/729vf/FxcX/y8vL/8vLy//Kysr/ysrK/8nJyf/IyMj/yMjI/8jIyP/CwsL/ + u7u7/7e3t/+4uLj/tra2/6ioqP+ysrL/rq6u/5mZmf9fX1//LCws/yAgIPYjIyOvPDw8PFtbWwEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCyEhIV4pKSnfQ0ND/2dnZ/9vb2//bW1t/3Z2dv+BgYH/ + goKC/4SEhP+UlJT/qamp/7u7u//MzMz/2tra/+bm5v/r6+v/7+/v//T09P/5+fn/+/v7//j4+P/39/f/ + 9/f3//f39//29vb/8/Pz/+rq6v/o6Oj/5eXl/9/f3//W1tb/0tLS/8rKyv++vr7/tra2/7Ozs/+tra3/ + oaGh/3p6ev8+Pj7/Ghoa/CEhIbRBQUE1VlZWAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIwMjIyM+Li4uwUJCQvtYWFj/ + Z2dn/25ubv9ubm7/fX19/4iIiP+ampr/tLS0/8zMzP/h4eH/7+/v//f39//6+vr//Pz8//7+/v/+/v7/ + /v7+//7+/v/+/v7//v7+//////////////////////////////////39/f/+/v7//v7+//z8/P/6+vr/ + +fn5/+/v7//c3Nz/1dXV/8zMzP++vr7/vLy8/7CwsP+ioqL/hISE/z4+Pv8cHBzxIyMjkjk5ORsAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Hx8fECIiIok5OTn1YWFh/2VlZf9mZmb/ampq/3Fxcf+JiYn/pqam/8PDw//c3Nz/8vLy//b29v/5+fn/ + //////7+/v/7+/v//Pz8//7+/v///////v7+//7+/v/9/f3//Pz8//z8/P/8/Pz//f39//7+/v/+/v7/ + //////7+/v///////v7+//39/f/+/v7//f39//f39//6+vr/9vb2/+vr6//Z2dn/y8vL/8fHx/+6urr/ + p6en/6Ghof9xcXH/MTEx/xwcHNwrKytQS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAjIyM7NTU10VFRUf9nZ2f/aWlp/21tbf94eHj/kpKS/7Ozs//Nzc3/ + 5OTk//X19f/6+vr/+/v7//r6+v/6+vr/+Pj4//Pz8//w8PD/7u7u/+vr6//r6+v/6urq/+rq6v/q6ur/ + 6urq/+zs7P/u7u7/8fHx//X19f/5+fn/+/v7//z8/P/9/f3//f39//7+/v///////v7+//v7+//6+vr/ + +/v7//7+/v/7+/v/8fHx/+np6f/X19f/x8fH/7a2tv+xsbH/nJyc/1xcXP8jIyP6IiIimzU1NRYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnBy8vL2dBQUHuWVlZ/19fX/9nZ2f/ + b29v/4eHh/+np6f/ycnJ/+Xl5f/v7+//8/Pz//T09P/t7e3/5eXl/93d3f/X19f/1NTU/9HR0f/S0tL/ + 09PT/9XV1f/X19f/29vb/+Dg4P/k5OT/5+fn/+3t7f/w8PD/8vLy//b29v/5+fn/+fn5//Pz8//7+/v/ + /v7+///////8/Pz/9/f3//v7+//+/v7/+/v7//n5+f/7+/v//v7+//39/f/z8/P/4+Pj/87Ozv+9vb3/ + tra2/6urq/+EhIT/MjIy/iAgIM86OjotREREAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKioJ + LS0tkE1NTfpdXV3/WVlZ/2lpaf98fHz/np6e/8TExP/o6Oj/8/Pz//Dw8P/r6+v/4eHh/9PT0//Hx8f/ + wMDA/8TExP/Hx8f/x8fH/8jIyP/Nzc3/0NDQ/9XV1f/X19f/2tra/97e3v/i4uL/5OTk/+fn5//p6en/ + 6+vr/+/v7//y8vL/9PT0//b29v/7+/v///////7+/v/9/f3//f39//v7+//9/f3//v7+//7+/v/+/v7/ + /f39//r6+v/9/f3/+fn5/+7u7v/h4eH/0NDQ/7u7u/+tra3/mZmZ/0pKSv8eHh7lJycnTwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACoqKhE2Nja1UFBQ/mNjY/9iYmL/c3Nz/5CQkP+2trb/3t7e/+rq6v/m5ub/ + 3t7e/83Nzf+/v7//ubm5/7W1tf+5ubn/wMDA/8PDw//Gxsb/z8/P/9XV1f/X19f/1NTU/9jY2P/c3Nz/ + 3Nzc/97e3v/f39//4ODg/9ra2v/a2tr/29vb/9vb2//c3Nz/3d3d/+Li4v/h4eH/4uLi/+bm5v/v7+// + 9vb2//r6+v/+/v7//f39//39/f/9/f3/+fn5//b29v/6+vr//Pz8//z8/P/6+vr/7+/v/9ra2v/Dw8P/ + uLi4/6+vr/9dXV3/HBwc9ioqKm1LS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExGzw8PLtYWFj/XFxc/2lpaf92dnb/ + np6e/8zMzP/j4+P/4eHh/9DQ0P+8vLz/tLS0/7CwsP+xsbH/tbW1/7u7u//FxcX/zs7O/9XV1f/c3Nz/ + 4eHh/+Pj4//e3t7/19fX/8nJyf/Dw8P/vLy8/7S0tP+srKz/p6en/6SkpP+mpqb/qqqq/7CwsP+1tbX/ + urq6/8nJyf/Pzs//1dXV/9nZ2f/b29v/29vb/+Pj4//v7+//+fn5//z8/P/9/f3//f39//7+/v/9/f3/ + /Pz8//v7+//6+vr/+/v7//Dw8P/k5OT/z8/P/7y8vP+rq6v/dHR0/yAgIPohISF2Q0NDBgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy8W + Ozs7vlJSUv9YWFj/ZmZm/35+fv+ysrL/3Nzc/+Hh4f/Nzc3/u7u7/66trf+kpKT/qamp/7Kysv+5ubn/ + ysrK/9jY2P/d3d3/3Nzc/9fX1//Kysv/tra2/5ydnf+Fh4j/eHt8/2Zpa/9dYmT/V11f/1BVWP9HTE// + REhM/0ZLTv9HTVH/TFNW/1ZbXf9eYWL/Y2Vl/2xsbP90dXX/g4WF/5qcnP+ztbX/wsTE/9bY2P/X2Nn/ + 3d7e/+Tk5P/r6+z/8/Pz//z8/P/+/v7///////39/f/5+fn/9/f3//j4+P/s7Oz/7Ozs/9fX1/+8vLz/ + s7Oy/29vb/8kJCT5KioqeGJiYgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAADs7Ow5BQUHBUVFR/19fX/9paWn/hYWF/8XFxf/e3t7/y8vL/7e3t/+oqKj/ + paSk/6moqP+oqKj/v76+/9bV1f/j4+P/5OTk/9bW1v+9vb3/mpub/3p8fP9kZ2j/U1RX/0NESf87PEL/ + ODlB/y4xN/8nLTP/Iyox/yEoMP8gKS//Iysz/yQqMf8dJy3/ICkv/ykvNP80Njr/PDw+/0VDRf9IR0n/ + REZK/0RJUP9JT1f/UVdf/3h+gP+Wm5z/tLe2/9LU0v/i4+H/3t/d/+Lj4//x8fH//f39//39/f/4+Pj/ + +Pj4//T09P/4+Pj/9vb2//X19f/a2tr/vr6+/729vf98fHz/ISAg+jQ0NHQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzDD09PahTU1P/W1tb/2pqav+UlJT/ + yMjI/9XV1f+6urr/pqam/52dnf+goKD/qqqp/8TDw//T09P/4ODf/9jY2P/BwMD/l5eX/3R0dP9YWVn/ + P0FC/zU4OP8wNDT/KSwt/yosLv80Njr/QEFH/1RbXf9faWr/bHZ5/3qDh/+GkJL/jJWY/46Ulf+Gjo// + foeI/3V9fv9tcnP/Z2ts/0lMTf9AREX/MTo9/yIwNv8eMDf/IDM5/yw4Pf84Qkf/TlVY/3Z7e/+ipaT/ + vb+9/9na2v/h4eH/4+Pi//Ly8v/6+vr/+/v7//X19f/y8vL/9PT0//Dw8P/s7Oz/3t7e/8LCwv+tra3/ + cXFx/y4uLvk6OjpZWFhYAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjID + NjY2hklJSf1ZWVn/bW1t/5mZmf/FxcX/xcXF/66urv+YmJj/mJiY/6CgoP+4uLj/0M/P/+Li4v/S0dH/ + ra2s/4WEhP9fXl3/QUA//zMzMv8iIyP/Jykq/z9AQP9aW1j/fn98/6Chnv+5urf/ycvI/9DZ1P/P2tX/ + zdjU/8vX0v/M2NT/zdrV/87X1v/N1tb/zNbV/83X1f/Q2dj/1Nza/8rS0f+/x8X/qbWy/4WVkv9XbWn/ + OE5N/yEwOf8YJy//Iy82/zE4Pv9NT1P/b3By/5GRkf/BwcH/4ODg/+Hg4P/l5eX/8/Pz//z8/P/9/f3/ + 8/Pz/+/v7//09PT/9PT0/97e3v/Dw8P/sbGx/2hoaP8qKirrS0tLOwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDBgRkZG+l5eXv9nZ2f/lZWV/8DAwP+1tbX/mJiY/42Njf+VlZX/ + srKy/9TU1P/k5OT/1NPT/66trf95eHj/V1ZW/0FAP/8jJSD/HB0a/zs+Ov9qbWv/l52Z/8TExv/U0Nb/ + 1tXY/9bX2f/R1NX/y9HR/8/U1f/R1tf/0djY/9LZ2P/T29n/1NzY/9bb3f/U2t3/0tjc/9DX2//P1tr/ + z9bZ/8rP0//Q09f/19na/9XY2P/T09P/zM3M/5+qrP9ygIT/RVRZ/yw3Pv8vMzj/OTk+/0ZFRv9kY2P/ + ioqJ/8DAwP/c3Nz/4eDg/+/v7//4+Pj/+fn5//f39//z8/P/7e3t/+3t7f/g4OD/vr6+/7Gxsf9VVVX/ + NjY221hYWB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMCpDQ0PrWVlZ/2xsbP+Tk5P/ + uLi4/7CwsP+ZmZn/kZGR/5ubm//BwcH/29vb/9PT0/+qqan/g4KC/1NSUv89PDz/LCoq/ywtKv9UWVL/ + k5iS/8TJxP/S2NP/z9XQ/9HT1P/Oz9X/ys/R/87Y1v/V4t3/1eXd/9Xj2v/V49r/1uXa/9Xl2P/S5dX/ + 0OTS/9Di1//Q49r/0OXa/9Lm2//S5tv/0uXc/93q5P/d5+H/1t3a/87T0v/Q0dH/09PS/8TQyv/V39r/ + ztfV/6y0tv92fH//SUxO/zQ0M/8+PTz/R0ZF/2FhYP+YmJj/ysnJ/97e3v/q6ur/9vb2//r6+v/39/f/ + 7+/v/+/v7//q6ur/3t7e/8LCwv+hoaH/RERE/kZGRrFycnIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + MjIyCzk5Ob5RUVH/aGho/4eHh/+urq7/qamp/5eWl/+Tk5P/oaGi/8bFxv/e3t7/wMDA/5OTk/9mZmT/ + Pz8+/ygnJ/8mJST/WVdX/6qtqv/K0cr/0NfR/8bNx/+/xsD/ztXQ/9Xd0//S3c//0uLR/8vgzf+92ML/ + sNC3/6bPsf+iz67/m8uo/5XIov+Rx5//ksmf/5HJpP+LyKP/h8ii/4vKpf+Tz6r/mNOu/57Ss/+o17n/ + t9zE/8Xizv/M4tT/zeDT/87az//M2M7/xtHL/8nT0P/P1tb/w8bH/4qIif9FREP/MTAv/zk5OP9NTEz/ + d3V2/66trv/V1NT/4+Li//Ly8v/6+vv/+/v7/+zs7P/p6en/4+Pj/9DQ0P/AwMD/iIiI/0FBQf9oaGhq + oKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj4AODg4fEpKSv9aWlr/enp6/56env+enp7/jY2N/5GRkf+qrKj/ + 1NXS/9PT0f+pqKb/cW9u/1VSVv8qJzL/Kyks/19eW/+0s67/zs7O/8nLx/+9wrf/vsa7/8bRx//D08r/ + u8zF/67Js/+iyKP/mMKZ/4y+iv+GwIT/h8WG/32/hP95voX/d8CG/3S/hP9uvoD/a71//2W5g/9duoT/ + Wr6F/17Aif9hwor/YsOJ/23Jj/9nwoj/asCJ/3bFk/+Cy53/i82f/6zQsv+21rz/wdrI/8fXz//EzMz/ + xs3M/9Tc1P/Nzcz/l5OU/0VBQv8tLiv/PkE8/1RXU/+TlJP/wL/A/93b3P/x7uz/9/X1//b29v/s7Oz/ + 6Ojo/97e3v/R0dH/urq6/3V1df9SUlLtfX19LgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT0vQkJC7FlZWf9ubm7/ + jo6O/56env+Hh4f/j4+P/7Gysf/Z3dj/xcfE/5OTkf9raWf/SEVE/yUiI/9JRk3/pqal/8bIwf/AxL3/ + wsfG/8TMyv+8zMP/sMay/6LBnv+TvY3/ibqD/4G2e/9+tnr/e7R8/3Ovev9op3X/XJ5v/02OY/9Hi2H/ + RYxk/0SOZv9Ej2n/RJFr/zuSbP8pkWn/HpJn/yGWav8gmmn/Ipxo/zWnbP9Cr3D/T7x2/1/Ig/9iy4b/ + ZsmE/3XGiv+Ay5H/kc+g/6HRsP+z1b//u9fD/7/Uwf/J0cj/0M7N/8XAwv9wcG//MDMv/zg8N/9HSEn/ + e3h9/7iztP/q5uH/8/Du//j4+P/39/f/7Ozs/+Tk5P/Z2dn/xsbG/6Wlpf9XV1f/dHR0tK+vrwgAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABAQECxUVFR/2ZmZv+AgID/jY2N/4+Pj/+Tk5P/srOy/9fW1/+ysbT/hYSG/2VkZv86Ojv/ + JyYn/3Jzb//Ex7n/w8nA/7S9uP+wwbX/rcKv/5u8of+HtZD/eKp6/3mucP93s2j/a6xY/2WaV/9ciVf/ + R3hP/0BsUf9Db1f/RHVf/0GDYf9AiWT/QY9p/0OUb/9GmnP/R5x3/0Widv8xoHP/IZ1v/x6db/8VnWz/ + Epxp/xWaZf8Tk1//Do9V/x+aXf8vqWX/PLNo/0fBa/9KwGb/Xch2/3PQif9+0JH/is2Y/63Ws/+71bz/ + w87B/83QzP/Ny8z/oJ2e/0lFRv81LjP/SUJI/3Brbf+zsaz/1dPR/+rq6v/6+vr/8/Pz/+jo6P/e3t7/ + 0NDQ/7q6uv+IiIj/Z2dn+qKiolYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7O0tISEj/Xl5e/3V1df+Tk5P/j4+P/4WFhf+5ubn/ + 1dXV/6+usP+Cf4X/XVxg/zAyNP9BRUX/mZ+e/8PIw/+7vbX/qbau/562pv+St5P/iLJ8/3qvaf9zrmT/ + a6Jh/1eIUf9HaUP/OVw7/zhXPv8+X0j/QnJP/0iFV/9TlF7/WJ1k/1Wmaf9Vq2//Va5z/1Wydf9Xt3j/ + WLl8/1S2gv8/s4D/LbF+/yexf/8jsX//H7B8/yKweP8grW7/F6Zf/x6nZP8RnVb/CplO/xamTv8gqlD/ + NbRZ/03Ba/9izXr/ctCE/4zSl/+i2KT/rtOt/7TLtP+9x73/yszH/7i1tP9lYWP/Lysv/z05O/9zcW3/ + o6Kg/87Ozv/w8PD/9fX1//Dw8P/q6ur/2tra/8vLy/+wsLD/cXFx/5GRkd7R0dEMAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09Cz4+PsNUVFT/ + a2tr/4uLi/+RkZH/jY2N/7W1tf/Ly8v/qqqq/3d2d/9YVFj/NjM3/1BUUf+qsq3/uMW8/6i1q/+jsKf/ + kK6U/4KwhP9zqWz/bKFZ/2aTVv9Lbkb/OE0y/y9HK/81VDH/PV47/0FzQ/9Kh03/UpRY/1igYP9cp2T/ + XKpr/16ydf9gtn3/YLmC/2C8hf9jwIf/ZcGK/13Ajv9Fv43/Mb6M/yW8iP8ivIX/Hrp+/yS9gP8iu3j/ + Irpz/ym8d/8ftWz/F69h/yKwYf8bplb/HaFR/yelVv86s1//T8Bp/2fNeP+B1IT/j9OM/53Qmv+r0Kn/ + tcyy/8DMu//Gz8X/gISD/y4uLv9APT3/aGdn/5ubm//S0tL/7+7u//X19f/t7e3/4uLi/9TU1P/BwcH/ + nJyc/3t7e//FxcVu2traAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAQEBAUEtLS/tmZmb/e3t7/5KSkv+Hh4f/np6e/9fX1/+lpaX/dnZ2/2JhYf83MzT/ + XV1b/7S7tP+4xbn/rb2t/5erlf+Jq4X/dqtu/12gU/9ZllH/SHFA/ytCJf8lOSL/KUgj/zNeK/9AdjL/ + SYM7/02SRP9SnlD/V6Vb/1usZf9fsmz/YrV1/2a6gP9lvoj/ZcCN/2jFkv9uyZb/csub/2rMnv9Qy53/ + NcmY/yXGkv8exIv/G8OF/yPFh/8jxIL/LMaI/zDHh/8nw3z/Ib9z/yK6cP8ftWf/JLNk/yiyYP8krFb/ + JatQ/0C9Wf9t13H/edZ1/4PRf/+S0JD/os+f/7HPr/+yybP/wc7F/46PkP8uKS7/Qj9B/21tbP+hoaH/ + 0NDQ/+3t7f/z8/P/6urq/93d3f/Jycn/ubm5/39/f/+qqqrZ1tbWEwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAHSEhIxFpaWv9ycnL/hYWF/4uLi/+TlZP/ + 1dbT/6mppv93d3X/aGVn/zs4Ov9lZ2H/trir/7nCq/+jt5v/jK6R/3Siev9qo1r/YZlU/0Z4Pf8hQBv/ + HCsZ/yREH/8tXyL/OG4p/0KAMv9JjTf/SZI7/06aRv9VpVX/Wa5g/2C4a/9iv3T/ZsSA/27Fi/9wx5P/ + b8mX/3HMnf90zp7/edCj/3PUrP9Z0q7/M8qe/yvKnv8ry57/KMuY/yrPlv8w0Jj/NtGZ/zfRlP8w0Ir/ + Ks6B/yHGeP8pyHf/MMZ1/y/Abv8tuWb/LLde/y6yUf9GtU//Y8Vb/3TRav951XL/gdJ5/5TRkP+gyqP/ + ssu2/8rTx/+TkYz/RENC/0ZHRv9tcG7/nZ+e/9PT0//08fP/7u3u/+bm5v/R0dH/xsbG/5iYmP+VlZX/ + 2traawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBB + T09P+GBgYP9/f3//i4uL/46Ojv/BxcD/u725/4GBfv9oZ2X/RkJE/2RgZP+6w7n/sbqq/6Gwlv+HqX7/ + Z59l/1aXU/9QiEP/LFIn/xksFv8bMxj/Jksj/ytlJv8udiT/N38r/z+KMv9HlTf/TZw+/1SjSf9cqln/ + Y7Bo/2q2dv9suYH/b7yN/3C8lf9wvp3/cMCi/3TEqf93x6v/eMiv/2vHsf9QxLH/NsCt/zDBrv8yxK// + MMSp/y7Kov890Kv/RNKp/0fUpP9A05n/ONOQ/zPUiP8y0oP/NdCA/zjMe/85yXP/NsZq/za7XP9HtVP/ + U7NL/1/BUv9n013/b9tl/3/YeP+Lzo//nsme/7TMqv/AyLb/jpGN/zM1NP9JTUr/dXl3/6inqP/f2tz/ + 9PPz/+np6f/Z2dn/0NDQ/6+vr/+RkZH/09PTzvLy8ggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABAQECjWlpa/21tbf+NjY3/jo6O/7Gxsf/DxMT/fn5//2ppa/9NTU// + Wltb/6yurf+st6//kKeZ/3mgg/9pnmj/YJ1N/0Z9L/8ePRr/EigQ/xg4Ff8hWBz/KWsh/yp4Iv8rgiX/ + N4st/0OTOP9Klz7/TplD/1OZTf9dmlv/Y5pn/2uhev9zpYr/eqiW/3axnf90t6X/dLus/3e/s/93w7j/ + d8W7/3DFvP9gw77/Sr67/z6+vP8/wL//Pb+6/zK+rf88wbH/Ssa3/07GsP9Jxab/Rcif/0DXmf861Y// + OtOG/z7Uf/881HX/OdJq/0DMX/9Xyl3/XsRU/1S2R/9NtET/WsZS/2nTY/9503X/idGB/5jHjf+vxLD/ + v8XC/319fP81NTT/WFdX/4GBgf+3t7f/7e3t//Dw7//m5ub/1dXV/8TExP+UlJT/wMDA8uzs7CYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxVERETzYmJi/3l5ef+IiIj/ + mZmZ/8/Pz/+Oi4//bGtw/1FRVv9QVFX/oqqk/7K+sf+QppX/daR3/2CkX/9Pkkn/NGQr/xUrDP8PIA3/ + GEAW/yJZG/8iaxn/JXgc/y6DI/84iCz/QIoz/0aJOv9Jhj//SoNC/1GFSv9dilf/Y5Jj/2ujef95spD/ + hbyf/4rHqv+LzLT/i8+8/4rSwf+J1MX/iNbI/4LUyP920sr/Ys/L/0rKx/9Bx8T/PcXA/z3EvP9Bxbv/ + S8i8/1TKvP9QxrH/S8Sq/0PCo/8/w5f/PsWH/0/Qiv9T1IL/R9Nt/0nSYv9d1GD/Y9BY/17FUP9Tu0z/ + SbhB/0zERP9k1Vv/c9pk/4jWev+Zyp7/q8Gv/8HJvf9sb2r/Q0FB/2RkZP+Kj4z/wsTD//Ly8v/w8PD/ + 3t7e/8rKyv+kpKT/rq6u99/f3zMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEVFRWVISEj/bm5u/4GBgf+QkJD/urq6/62trf93dXX/ZmVo/0lKT/+IkYv/qLil/5euj/9unnL/ + XZpU/0qQN/8hWxb/DCEM/wwYEP8RPA7/HFYW/yNrGP8ufyD/L4Ah/zJ7Jv88ei7/O3Yv/z92NP9Kfz3/ + VIhI/2GWVP9xpWL/erNx/4HFhf+L0Z3/kNap/5nat/+d3cH/mt7G/5nfyf+W4Mz/leDO/47ezv+E3tL/ + ctzV/1rXz/9N08v/StPK/0jQyf9FzcP/R8vA/0nJvP9Jx7X/SMWw/1jFtv9IvaD/QruP/0W8hf9HvHf/ + Qr9o/0zPaP9n2m3/Z9Rc/2POVP9fy1T/U8FG/0W7Of9JxEH/WtRN/27YYf+B04D/lMqU/6/RrP+quqf/ + U1ZQ/0VFRf9rcG3/lJaV/9nZ2f/x8fH/5ubm/8vLy/+6urr/qqqq+tfX11v39/cAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVBD4+PrVWVlb/eXl5/42Njf+fn5//vb29/3x7e/9raWT/ + WllZ/21xcv+qt6v/lKeJ/4and/9UnlX/UoxM/yNKGf8JHQX/DxwK/xg8Fv8SWgz/Hm4T/yV6Fv8odxr/ + LW8g/zJuJv83cyr/PHox/0iIOv9YnEj/Z6xW/3G2X/96u2j/f71z/4fFiv+Oy6P/k86w/5fQuv+a08H/ + mdXH/5jWy/+V1s3/k9fO/5LX0v+H1tf/btDV/1LIzv89wsr/OcHL/zvEyv89xcj/RcfH/0jIwf9Qy8H/ + S8q7/zbAqv8xu53/M7mR/zG0f/88tnv/PLVx/z62aP9YyGf/a9Zi/23ZWf9l1VT/X8xM/1TAQv9Aujz/ + PsE6/1bUSv9s2mD/gdZ9/5LMkf+qyaf/kpqP/z09Pv9eYmH/eXt6/6ioqP/s7Oz/6enp/9XV1f/IyMj/ + qqqq/9TU1OPy8vIPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGHEBAQO5nZ2f/ + f39//5KSkv+2trb/mJiY/2ZmZf9hYFz/ZWRk/6Knpf+VqJT/gqR2/2ieV/9Glj7/KFEp/wgOBv8MIAf/ + E0QK/xtgEP8ichP/HHAP/x1uEf8eZRT/JmQc/zd3K/9Fjjb/UJlB/1ulS/9irFL/Yq5R/2SrU/9qp1j/ + baVi/3mufP+LvaH/k8Sy/53Nv/+h0sf/otXM/6TY0f+m29b/pdzY/6Xc2/+Z2t//gNTe/1/I1P9EwNH/ + PL7T/znAz/83vsz/Or3L/z27xv85ucD/K7Wy/x+5qP8ftqD/HK+M/x+sff8prnX/K61r/zSvZf9DtF3/ + W79g/2XJWv9n0Vf/X9FM/1fPRf9MwkP/PLU0/0fGPf9Z203/bNtj/4PVff+bz5j/scaw/3d7d/9FQ0T/ + cG9w/39/f//R0dH/7u7u/93d3f/Ly8v/s7Oz/83Nzf/w8PAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARkZGVEVFRf9ubm7/g4OD/5qamv+6urr/d3d3/2JhYf9aWVj/g4aE/6Oupf+HpoT/ + aZ5g/0+TQf8taCD/CR4G/wkUBP8TOgb/EVkJ/xVrE/8eaQ//HGYP/x9oEv8qchz/NX0o/0GNM/9KmTr/ + TZk+/1KaRP9anUv/Xp9P/1+cT/9onFX/bp9f/3Kocv+Eu5n/i8Or/6LTxP+n18v/rt3U/7Xi3P+55uL/ + ueXj/7Lj4v+k4OX/j93o/2zR3P9Nx9f/PsTV/zW/z/8yvc3/MrrK/ze5yv86t8b/K6+4/yCtsf8bqKL/ + GqOQ/x2ggf8innL/I6Fo/yOiW/8wpVv/SrFh/1e6X/9jwlr/X89O/1XWRf9X0Ej/Sb06/z22MP9Eyzr/ + XdlR/3Paav+I04T/qtOr/5yomv9TTE//YmBh/21ubv+oqKj/6+vr/+Dg4P/Nzc3/vb29/8vLy//w8PAZ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHfkpKSv9zc3P/h4eH/7Kysv+VlZX/ + YWFh/2FhYP9lZWL/naid/46rj/9uoGz/TY5H/zV4K/8OJAb/BRYD/wswB/8ZVQz/GGQL/xdlD/8VYQ3/ + H2sS/yt3HP83gyf/Qo4y/0aTNv9EkTX/Ro83/0uOPP9Sk0H/XJpJ/2CaS/9nm1L/bqBd/3KlaP92qnr/ + jr6j/6nWyf+03c7/x+XV/9Xq4f/a7eP/1O3n/8Po6P+x5ej/l9/n/3HU4v9bzt3/ScnX/zPB0P8tu8v/ + L7nK/zW9zv81t8j/L7HC/x6otP8VoaT/FJ2W/xWYhf8Wk3L/GJNh/xmVVf8WklH/JppV/0muXP9iuVr/ + W7lM/1fCSf9Xzkn/S8w9/z/ALv8/uyv/TMs9/2PdWf9z1G7/mNaX/6/JrP96fXb/V1ZW/2JiYv+Dg4P/ + 09PT/+np6f/T09P/v7+//8rKyv/s7OwfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + RkZGf1RUVP99fX3/kpKS/7a2tv9xcXH/WVlZ/2JiYv+LjYf/mbKX/2uea/9NkEv/OH80/xRIDv8JDQP/ + CCkF/wpNCf8NXQb/EV8G/xlkC/8ebRb/Jncc/y9/If80hSP/OIgk/zqJKf9AjDH/S5I6/1KVPv9Tkz3/ + VpI+/1mSQf9kmU3/bJ9b/3WmaP98rHv/g7eV/6zXzP/A49X/1+zc/+Xv5f/p8uj/5fTt/9Tw8P+/6u7/ + nODl/3LU4/9m0+P/Vs/c/0DI2P89w9j/O7/S/ze+zv8xt8b/LbHB/ySqt/8epaz/GZ+e/xaZjf8Vk3n/ + GZBo/xqQWv8Yj1T/H4xO/zyWTv9cqFT/Yq9V/1yyUP9RwUX/S8w9/0fJNv9Dui3/OL0p/07aRv9p4mL/ + ht2B/6jZpP+crpj/WVtY/15dXv9qamr/sLCw/+zs7P/X19f/w8PD/8nJyf/m5uYrAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHf2JiYv+Hh4f/n5+f/6Ghof9cXFz/Xl5e/2tra/+cppn/ + faN5/1ibVf89iDn/JGAe/wYdA/8HHAL/DUMG/wtdB/8KXwj/FGcK/yBxDv8ecxT/JnsZ/y2BH/8xhCD/ + M4Qf/ziGJv9EizH/TJE4/1CSOf9SkDj/V5E8/1uSQf9mmU7/bJ5b/3embP+Ar4L/gbiW/67Zzv/J59z/ + 3+/h/+fx6P/r8+r/6/fw/+H18//P8PL/r+ju/3/a6P9p0+X/W9Dg/1PQ4/9TzOP/SsTW/z/Az/80u8j/ + LbTC/yeuvP8jqbP/HaOk/xadk/8VlYD/E49r/xWLW/8jkVb/OphX/1CaVv9Xm1D/XqJU/1umUv9NrEP/ + Sro//0rEPv9Gvzb/Mrkk/z7NM/9j6Fn/euVx/5DXiv+myqL/dXp0/19eX/9kZGT/ioqK/+Li4v/c3Nz/ + x8fH/8jIyP/g4OA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUlJf21tbf+Pj4// + p6en/4qKiv9XVlb/YWFh/3x8fP+Xp5P/ZpVi/0mVRP8xeyv/CzMH/wcQBP8EOwH/DFYC/w5lCf8SaRj/ + HHQY/yB8Dv8geRD/J30X/y2DHv8xhiL/NYgl/zyJKf9HizD/Sosx/0yLMf9RjTX/XJM//2OXSP9pm1P/ + cKFh/3updP+Asob/ib6g/7Tc0v/Q6t//4u/i/+ny6v/u9e3/7vfy/+r39f/e9fP/w+/z/5Tj8v9t1ur/ + W9Hi/1PP3f9Zzd//W8zf/0zH2P85v83/MrrH/yuzwf8nrrn/I6qt/xymnv8Zn4n/FJVz/xuSY/87nGL/ + V6Fk/2OkX/9goVj/VZpN/0+XR/9Pmkb/TaRE/0izP/9Bwzr/PMAx/ze7KP9W3Uf/depp/4TZfv+h1J3/ + maGY/15cXv9iYmL/bm5u/9DQ0P/k5OT/y8vL/8fHx//b29s+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAUFBQf3Jycv+QkJP/qKmn/3R2cv9UVlf/Y2Zm/4uSiv+AnX3/VZNL/zqLMv8cVRj/ + BB8C/w4wCf8FVgH/DWUE/xRvD/8Zdhv/F3sU/xh9DP8jghX/J4MZ/y6FH/8yhyP/Nogl/zqIJP9CiCj/ + SIss/06OMf9Ukjj/XZZB/2WaSv9qnlb/caRn/3utev+Bt43/hb+f/6rWyf/V7OL/5vHk/+zz7P/w9u// + 8fjy//L59f/r+PL/1PX3/5/o8/9s1+r/XNXn/1XR3f9g0t//adXo/1XO3v86xM//NL/K/zG5xf8utL7/ + KrC2/yGsp/8bo4v/Fpp1/x+Xaf9Tpm7/bq9s/2enX/9io1v/WZ9T/06XR/9PmEn/SphE/z+dO/82qDX/ + Q740/ze6I/8+xjH/a+hh/4Hjd/+a2JX/qcOm/2VqYv9gWl//X11g/7O1tP/q7Ov/zM3M/8nJyf/b29s+ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW1tbf3R1df+RkZj/o6eh/2NlX/9VV1n/ + anJv/4ygif9olWb/RZI4/y1/Jv8INgr/Ay4D/wdNA/8IYgP/D2wL/xd4Ev8YfxH/FH8N/xZ+Df8ggBb/ + JYIZ/yyFHv8yiSP/NIgi/zqJIv9BiiX/SI0p/1CQL/9VlDf/W5hB/2SdTP9qoVr/cahs/3uwf/+CupL/ + hcKi/6fWx//X7OP/6fLn/+707f/x9/L/9Pn0//b69P/2+/T/3/n5/53l6/9l1uX/VdXk/1jV4P9p2eb/ + adfn/1PP3f88yNL/NsLM/za8yP82uMT/LrO6/x6rpv8bo4v/Gpx3/y2fcf9jr3j/dLFt/2usZf9jp1// + W6FU/1CbSv9ImEP/QpY+/z6VO/86kjn/OqUp/0PALv8wtib/XuFS/33rcP+U3Y3/qNaj/3mJdP9hVV7/ + WVZb/5Sclv/m6eb/zc3N/83Nzf/e3t48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + X19ff3d3d/+Zm5//mZyX/1hYU/9ZW13/bXtx/4Gdfv9dklj/OYkw/xhsE/8COQT/BUMI/w9fDP8Pbw3/ + FXYS/xl9Ff8YgRT/FIAO/xd/Dv8ggRb/JIMX/ymFGv8xhx3/NYgf/zqKIf9Biyb/SI4t/1CSM/9Wljz/ + XJpG/2SeUf9po1//capw/3yxhP+DupL/hsOo/5TPw//G5tz/6PPm/+317P/w+PP/8fn0//b69f/6+/j/ + 7/v7/8n1+P9z3eb/WNbi/2HW4/9i2OX/V9bl/0jR4f85yNb/N8PQ/ze+yf82ucX/L7S8/yKurf8cp5f/ + JKJ+/02rev9ytXz/dLFw/2+tZ/9mqF//W6NX/1GdTP9ImEP/QZU9/zqSN/8zjzH/LYwm/zqmMf83syr/ + VdhB/33yav+P5Iz/qt+p/5Oljv9hWF7/U1FV/4CIgv/c3t3/z8/P/9DQ0P/g4OA3AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZWVlf3t7e/+eoqb/jI2K/05MSP9hYmL/cYVz/3Kcbf9NjUP/ + LIAn/whZBv8GRwT/DlsN/xNyFv8VfRX/F4AW/xmCF/8YgxX/FoER/xmBEv8ggxb/JIQX/ymGGf8wiBz/ + Noof/zyMI/9Cjin/SZAv/1GUNv9Yl0D/XptJ/2WgVf9qpWP/cqt0/32zhv+Fu5T/hsOp/4zMwf+44dn/ + 5fTq/+v27f/w+PT/8fr2//b79v/7+/r/8/v8/8/19P+K5ej/ct7l/33h7f9z4O7/UdTf/0DP3P85ydj/ + OMXS/zi/y/82u8X/MLa9/yWwsf8krJ//OqyK/2Ozgf93tXn/dLFx/2+tZ/9lqF//XKRX/1OgT/9JmkX/ + QZU8/ziQNP8wjC3/NIo0/yV+I/8xoyb/S8kz/3z1Z/+I6Yj/puKm/6a+o/9iXmD/Tk5P/2xzbv/Y2dj/ + 09PT/9LS0v/h4eE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2trf4CAgP+eo6b/ + f4B+/01IR/9oamf/co1x/2KZWf88iS7/IXof/wVWBf8LXgT/EXAQ/w19Ff8ShBX/FYMW/xeEF/8YhBb/ + GoQW/x2EF/8hhBj/JYUZ/yqHG/8wiR3/Nosg/zyNJP9Djyr/SpIx/1OVOP9amUH/YJ1M/2eiWP9spmX/ + c6x2/3+0if+Fu5f/hsKp/4nKvP+n3NT/2PLr/+f27//w+PP/8vr2//X79//6+/n/9fz7/9f39v+x8PP/ + nu3x/5rr8/+L5/T/Ztrl/0fS3v86y9n/OcfT/zjCzP83vcb/Mrm//yq0tv8tr6H/RK+J/2aze/95tXb/ + dLFv/2ytZv9kqV7/XKVX/1OgT/9LnEf/Qpc+/zqRN/8yjjD/Mos1/yiAKv8dhRn/Oasp/3XnY/+G6YT/ + oOKf/67Nq/9qamn/S0xN/11kYP/V1NX/2NfX/9XV1f/j4+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAcHBwf4ODg/+Xn6L/dnd2/1FJSv9wcW3/cJBu/1WVTP8xiCH/GXUa/wdhCP8XcQz/ + EnwP/wWAEP8OhBH/D4QR/xGEEv8WhRb/G4cY/x6IGv8hhhn/JYcb/yqJHP8wix7/Nowh/zyPJf9Dkiv/ + S5Qz/1OXOv9am0P/YJ9N/2ejWv9tqGj/dK54/3+1i/+FvJn/icSr/4jKu/+Z2NX/suPg/9/28P/y+fX/ + 8/v3//P89//5/Pf/9/37/+T7+v/N+Pf/tvLw/6jv8f+b6/L/e9/q/0/W3/88z9r/O8rV/zjFzv83wMf/ + MrzB/yu4uf80taf/TbWR/2y1fv94tHP/dbJv/2yvaP9jql//W6VX/1OiT/9Mnkj/RJpB/z2XO/82lDb/ + MJAu/y2OL/8aex3/I4Yc/2DHU/+S8I3/nuSd/7HVr/92eHX/SU1N/1FYVP/Py87/2tnZ/9fX1//k5OQu + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0e4GBgf+boaT/bXJw/01KSv9tcGr/ + bpJo/0eRPv8thR//EnET/wptDv8TexH/DYEP/wmFEf8OhBL/D4UT/xGFFP8Whhj/G4ka/x6JG/8giBr/ + JIkc/ymLHf8vjB//NY4i/zyRJv9Dkyz/SpYz/1OZO/9ZnET/YKBP/2ilXP9tqWr/dK96/3+2jP+CvJr/ + hsKn/4zNv/+W2+D/nd7g/9Hx7P/y+fX/8/v3//L99//4/fb/+f76/+v8+f/b+fn/wfTy/6zx7/+p7vT/ + j+Xw/1ja3/890dr/PM7X/znIz/83w8j/Mr7C/yy6uv8wt6v/SbaV/2e0fv92s3L/dLJu/2uvZv9iql7/ + WqZW/1KjTv9Kn0f/RJxB/z+aPP83lzb/MJYt/yyTK/8ghib/Gncd/0GgPv+c85f/o+ie/7Tbsv97gnz/ + TU9O/1FTUP/DwsX/1tXW/9jY2Ojp6ekc+Pj4Afj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + eHh4N4KCgvukpqn/Zm5s/0JHR/9nbGT/a5Fj/zyONf8nfSD/Dm4M/wd1Df8IgBP/CoQV/xCKGf8Rhxj/ + E4gZ/xSIGf8XiBr/GYga/xyKG/8gix3/JI0d/ymOH/8vkCH/NZIj/zyTKP9Dli7/Spk1/1OcPf9Zn0b/ + YKJR/2inXf9trGv/dLF7/3+4jf+BvZr/hsSn/5PRxf+N2d//meDn/8Xt5//z+fX/9Pv4//L99//4/fb/ + /P75/+/9+P/i+vv/yPf5/63y8f+r7vP/nOnz/2Xf5P9C1dz/P9Da/z3L0v85xcr/M8HD/y29u/8subD/ + Qrab/2G0gP9zs3H/crNt/2mxZf9gq13/WKdW/1CkTP9JoUX/Q55A/z2cO/81mDX/L5Yv/y6YMf8kjir/ + IIQn/xt4Hv+G14P/sPCo/7fftf99iYH/TkxL/1NQTf/Fxsj/0tLT/9nZ2a/z8/MD+Pj4Bfj4+AIAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAB4yMjMajo6b/aG9t/0RHRv9obGT/Z45g/zyQN/8bdhb/ + DXIO/wx8FP8OiBn/DokY/xGLGf8RiRj/EooZ/xSKGf8Xixn/GYsa/xyMG/8gjRz/JI4d/ymQHv8ukiD/ + NJQj/zyVKP9DmC3/Spo0/1KdPP9ZoEX/X6RQ/2aoXP9rrGr/cbF5/3y3i/+AvZn/hsOn/4jKu/+P2dr/ + kN7d/63n4//q+PT/9/r2//j8+f/4/fr/+f36//f++f/t/fn/2Pv4/7j08f+h7vD/juvz/2rg5f9G1d3/ + PdLb/znO0P80yMX/NcO//zXAuv8vvLP/Pbmh/1O0gv9osm7/b7Fm/2ivX/9hq1j/WqhR/0+jSP9HoEP/ + Qp9B/zucPP81mTf/Mpo0/y2XMP8nky3/JYws/w1sEP9MpUv/tvau/7vjuf+Cjob/R0VE/1FPS//Q0tT/ + 1tbX/97e3qrs7OwB+Pj4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyLjWSin6L/ + cXNy/0NGRv9kaWH/YYpc/zaNM/8Pcg//DnkT/xCFGv8Rjh3/Eo8b/xOOGv8SjBr/E4wa/xWNG/8Xjhv/ + Go4c/x2PHf8hkB7/JZEf/ymSIP8vlCL/NZYl/zyYKv9Dmi//Spw1/1OfPP9ZokX/X6ZP/2WpW/9prGj/ + cLF4/3m3iP9+vZb/g8Kl/4XItf+R2Nb/kd7a/6bm5P/g9PL/9vn1//j7+f/5/Pr/+P36//n++f/z/fj/ + 4/z3/8T29P+g7/D/f+fq/2ff4P9T2N//SdPb/0LP0f88ysb/PcXB/z/CvP84v7f/Qb2m/1K2hv9ermX/ + Zqxa/2CpUv9Ypkr/U6RG/0uhQf9GoEH/QqBA/z2ePf82mzj/Mps0/zCbMv8kkiv/JZEt/xyFIv8Xehf/ + nuKX/8Dovv98h4D/QUA//1tZVv/S09X/19fY++Tk5HL29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAIqJiw6knqLxgYGA/0NFRP9bYlr/XIZY/ymEKf8LdQ//EYQa/w+LHf8Pjxv/ + E5Ic/xSRGv8SkBv/E5Ac/xWRHP8Xkh3/GpIe/x2THv8glB//JJUg/ymWIf8umCP/NJkm/zubKv9DnDD/ + Sp42/1KgPf9Yo0X/XqdO/2SqWf9prWf/b7B2/3m2hf98vZT/gsKi/4TGsf+N1M7/lN7d/6Xm5f/Z9PP/ + 7/j2//T7+P/4/Pn/+v75//j++f/3/fn/7Pz6/8/3+P+n8PH/hOjq/2zi4v9k3OH/WNXZ/07R0v9Kzc3/ + TMnI/1DGwv9HxLn/S8Go/1q6if9WrFv/YatR/16pSv9VpUL/UaQ//0qgPP9Enzv/QJ87/z2fO/82nDf/ + MZky/y6aMf8qmzL/K5s0/yGQKf8OdxH/bLJl/8Tswv95hH3/NzY1/2VjYP/X2Nn/2dna8efn5y739/cA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpKqaj4+P/0RFRP9UW1L/ + WIVW/x16H/8NfBT/F44i/w2NHf8Iihf/E5Ib/xWTGv8Tkhv/FJIc/xaTHP8Ykx3/GpQd/x2UHv8hlR// + JZcg/ymXIf8umSP/NJsm/zucKv9Cni//SZ81/1GhPP9XpEP/XqdM/2SrVv9orWT/brBz/3e2gv97vpH/ + gsKg/4nHsf+Iz8X/mt/f/6bl5v/M8PD/5ff2//H7+f/4/fj/+v34//n9+v/7/Pr/8fv6/9X3+P+u8PH/ + j+vs/3nl5f9w3+H/Z9na/1nV1P9W0dD/XM/L/2HLwv9eyLb/YMOj/2O6gf9WqlL/YKpK/1ynQv9SpDr/ + SqE1/0afNf9BnjX/Pp83/zmdNf8ynDL/L5gu/zCdMf8voTb/K500/yCUKf8Zix7/Qog7/7zkuv9ueXL/ + NDMy/3l3c//d3+H/19fYyuvr6woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACzrK44m5qa+EdDSP9RVVH/T31Q/xV4Gf8OiBr/FZIj/w6PHf8KjRn/EZMc/xSUHf8TlBz/ + FJQc/xaVHf8YlR7/GpYe/x2XH/8hmCD/JZgh/ymaIv8umyT/NJwm/zqeKv9DoC//SKE1/0+iO/9WpEH/ + XadJ/2KqU/9nrmH/bLJv/3W2fv95vI3/gsKd/4rGrv+JzcD/mdzb/6nl6f+26ef/1/Xz/+z69v/3/PX/ + +v33//j8+f/5/Pr/8vv7/9f3+P+x7+3/mOrp/4vn6P+K5eb/f9/f/23Z1v9s1dD/ddHG/3/OvP93yaX/ + csOQ/2m3cP9bq0z/XalF/1WnPP9OpDT/R6Ev/0KgMP9AnzP/Pp80/zedMP8wmi3/Lpot/zOiNP8toTT/ + KZ00/yecM/8ili3/Jnwl/53MnP9iaWL/NzAz/5qXlf/e39/42dnacfDw8AYAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrq6cEq6qryFpQW/9NSU3/QG9C/xWEHP8OlBz/ + D5Qc/xCVHf8RlR7/EpUf/xOWH/8TmB7/FJge/xaYH/8YmR//Gpkg/x2aIf8gmyL/JJwi/yidJP8tniX/ + M58n/zihKv8/oi7/RqM0/02kOv9UpUD/WqhI/2CqUf9krV3/arJr/3O2e/93vIn/gMCZ/4rFq/+Gyrr/ + idPK/6Ti4/+p5OD/w+3q/+n59v/2+/L/+fz2//f8+f/2/Pv/7/v6/9j3+P+68PH/pOvr/5bm5f+Y4+L/ + luLi/4Xb2P9808b/Zr+Z/267if9ounX/X7Ri/2CvVP9frEn/WatB/0+oOv9KpjL/RaQu/z6hLf86oC7/ + PKAy/zmfMf8ynS7/MZ4w/zGhNP8xozj/M6M+/yqdOf8jlzT/G4gl/2WiZv9WVlD/OSwz/768u//Y2dfn + 39/eI/j4+AX4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + vry/a3tyfP88PT3/NWs6/xWJHf8PlR3/D5Ud/xCWHv8Rlh7/Epcf/xOYIP8SmR//E5kf/xWZIP8XmiD/ + GZoh/xybIv8fmyL/Ipwj/yadJP8rnib/MKAn/zahK/88oi7/Q6Qz/0qmOP9QqD//VqlH/12sUP9jrlv/ + a7Jn/3S2df92uoP/fL+S/4TEo/+FyLL/iM/B/5PX0v+a3d3/tOfp/9319P/1+/X/+Pz1//X7+P/d9PH/ + 2fT1/83x9f/B7vX/sent/6fm5/+f497/m+DZ/5XazP+DzKv/Zrl+/2e2cf9mtGP/ZLFY/1+uT/9brEb/ + VqpA/06oOf9IpjP/Q6Qv/z2hLP84nyz/N58t/zegL/8zny//MqEz/zOjN/80pTv/NaVA/y+hPv8qnTr/ + IpEt/zp8Pf84PTT/S0JH/97c3P/Y2daW4+TjCPj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAubi9HZ+aovA2PDn/K2gx/wyIFf8Plx7/EJge/xGZH/8SmR// + E5og/xSaIf8TmyH/FJsh/xWbIf8XnCL/Gpwj/xydI/8fnST/Ip4l/yafJv8qoCf/L6Ip/zWjLP86pC7/ + QKYz/0ioN/9Nqj7/VKxH/1quT/9gsVn/Z7Rk/3C4cf9zu37/eL6M/4DDnP+Ex6z/iMy7/4/TzP+T2Nj/ + p+Hh/8bp5P/v+fX/9vv3//L69//E6+L/suTe/6ng2v+y5eb/mdrR/5fbz/+P18T/fMyr/3XFmf9xv4f/ + cbt7/3C4cP9qtGD/ZLFW/16vTv9ZrUb/U6s//0ypOP9HpzP/QaUv/zyjLf84oi//NqIw/zakMv81ozT/ + NqU4/zimPf85qUH/O6pH/zenRf80pEL/Jp0y/y12M/8pMyf/gHt+/+fo59Pa3dsIAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrW6A8PByLNIU0z/ + HGAk/wyQGP8Qmh7/EZof/xGbH/8SnCD/FJwg/xScIf8TniL/E54i/xWeI/8WniP/GJ8k/xufJf8eoCX/ + IaEm/yWiJ/8poyj/LaMq/zOlLf84pi//Pqcz/0WpOP9Lqz7/Ua1G/1ewTv9dslf/ZLVj/2y5bv9wvHv/ + db+I/33Dl/+Cx6b/h8u2/4/Rxv+U19L/ot3a/7jl3f/f8/D/7/n1//L69v/M8Oz/tOfk/6nh2/+g3NP/ + mdnM/43Vv/+L0LL/g8qk/3vElf92wIX/crt3/224bP9otV//YrNW/1ywTf9Xr0b/Uaw+/0qrOf9FqTT/ + P6Yw/zmkLf83pDD/N6Uy/zenNf82pzj/Oag9/z2pQv8/rEf/Q69O/0CtTv8+q0z/K6c5/y2ANP8uPy// + ure58ejo6TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAMvK0F54h3//GWIj/xCbH/8QnB7/EZwf/xGdH/8SnSD/E54h/xSeIv8TnyT/ + E58k/xWfJf8XnyX/GaAm/xugJv8eoSf/IaIo/ySjKf8opCr/LaUr/zCmLf81pzD/O6g0/0KpOP9IrD3/ + T61E/1WwTP9as1X/YLVe/2m5af9svXb/c8CE/3vEkv9/x6H/hMqv/4zQv/+V1sv/odzV/7Lj3v/J7Of/ + 6fj0//H69f/N8e3/tern/6nk3v+f3dP/l9nI/4vTuf+Gzqv/gMmd/3nEj/9yv4D/brx0/2i5af9ktl3/ + YbRU/1uxTf9Vr0X/T60+/0mrOf9DqjT/PaYw/zekLf82pTH/N6c0/zeqN/83qzr/O6pA/0CrR/9Dr0z/ + SLJT/0axU/9Er1L/La48/y2FN/9ccF//zc7NfO3t7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/xQ2qta/0KHoz/wybHP8ToSL/ + EqEi/xKhIv8ToSL/E6Ai/xShI/8ToCX/FKEl/xWhJf8XoSb/GaIm/xuiJv8doif/IKMn/yOkKP8npSn/ + K6Yq/zCnLP81qC//Oaky/0CrNv9GrDv/Ta5C/1OxSf9ZtFL/X7db/2a6Zf9qvXH/cMB+/3fEi/97x5n/ + gMqn/4nOt/+S1MH/m9rO/6bg2v+z5d7/2fTu/+358P/Q8uz/terl/6fj2P+c3c3/k9nB/4fTsv+BzqX/ + e8mY/3PEif9uv3v/a7xu/2S5Y/9htln/XrNR/1ixSv9TsEL/Ta48/0isN/9BqjP/Oqgv/zWnLf81pzD/ + N6k1/zmsO/87rT//QK1E/0OsR/9Is1L/TrZb/063Xv9Rt17/Na5E/yyPOP+RrpXw4ubkGQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACyt7KpNI4+/weaGf8UpCb/FKQm/xOjJf8SoyX/EqEj/xKhI/8UoiT/FaMk/xajJP8XoyX/ + GaMl/xqjJf8doyX/H6Qm/yKlJ/8mpin/Kqcr/y6oLf8zqS//N6sy/z2sNv9Erjv/Sq9A/1CxR/9WtFD/ + W7dZ/2O7ZP9ovm7/bcF5/3PEhv93yJP/fMuh/4TOsP+N07n/lNfF/5vd1P+o49v/wevf/+b37P/Q8ej/ + uOri/6jj0/+c3sf/ktq7/4XWrf+A0J//esqS/3PFg/9vwHX/bbxp/2e4Xv9htlX/XLRO/1WyRv9QsD// + S686/0WtNf8/rDH/OKst/zOrLf80rDD/Oaw3/z2tP/9BrUT/R7BH/0euSP9PtVn/VLZl/1u9bf9lw3H/ + RKtQ/yuYN/+axZ7U9PHzCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcq55SMow8/QibGf8RoSP/EaEj/xGhI/8RoSP/ + EqEj/xKiJP8Toyb/FKMm/xWkJv8WpCb/GKQn/xmkJ/8bpCf/HaUo/yGmKf8lpyv/KKgt/yypLv8xqjD/ + Nqsz/zyuNv9Crzr/SLA//02yRf9RtEz/VrhT/127XP9jvmf/asJz/3HGf/92yo3/fM2c/4LQp/+K07P/ + kda8/5jbx/+g4NH/rubZ/8Lu5f+67OX/quXc/6Hgzf+a3cH/lNq2/4rXq/+F0p7/gM6R/3bJgv9uw3P/ + aL5n/2G5XP9dtlL/WbRL/1KyRP9NsD7/SK85/0OuNv89rDP/N6sw/zOrLv81rDT/Oq09/z+vQ/9Er0j/ + S7VO/0u0Uf9StVz/WLZm/2bDdf9uynr/Rq9T/zCcPf+Qv5TB8u/xAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXrJoR + L5E85QSYF/8QoCL/EaEj/xKiJP8ToyX/FaQm/xWkJv8UpSj/FKUo/xWmKP8Wpij/GKYp/xmmKP8bpin/ + Hacp/yCoKv8jqSz/KKot/yurL/8vrDD/NK0y/zquNP9Arzf/RbE8/0qzQv9OtUj/UrdO/1m6Vv9fvWH/ + ZcFt/27Gef9zyof/es6V/37Rn/+F06v/itWz/5HYvP+V3MP/m+DM/53j0f+X4tD/leDM/5LdwP+P2rT/ + jdiq/4fWof+F05f/gtCN/3jLgf9uxHL/Zr9l/126W/9atlH/VrRJ/1CyQ/9JsD3/Ra85/0CuN/88rjT/ + Nq0y/zatNP87rzz/QLFF/0SzS/9JtlH/T7xX/1K5Wv9at2T/ZLpu/3nOhP970ob/S7FY/zaiRP+XxZy9 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALps8tAKWFf8SoiT/E6Ml/xWlJ/8Xpyn/Gagq/xmpK/8UqCn/ + Fagp/xWoKf8WqSn/GKkq/xmoKv8aqCr/Hakr/x+pLP8iqi3/Jqsu/ymrL/8trDD/Ma0y/zavNP88sDf/ + QLE7/0a0P/9KtkX/T7hM/1e9Vf9fwV//aMdr/3DKeP91zIP/e86P/37Rl/+A06H/gdSo/4fXsP+L2rf/ + kN3A/4/ewv+B3Lv/hN27/4fbs/+I2Kj/ideg/4TUl/+A0o//e86F/3HJef9ow2v/Yb9g/1m6V/9Wt07/ + UrVI/0y0Qv9Gsj7/QrI6/z6xN/87sDX/Oa83/z2xPv9DtEf/R7ZN/0u4Uv9Ou1f/Ub9d/1e9Yv9lvWz/ + dcF7/47blv+F1o//TLFb/zumSv+j06unAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHpgsegaXFv8VpSf/ + FqYo/xmpK/8brC3/Hq4v/x+vMP8TqCn/FKkq/xWpK/8Wqiv/F6or/xiqLP8ZqSv/G6os/x2qLP8gqy7/ + I6su/yasL/8qrTH/Lq4z/zOwNP84sTb/PLI5/0K0Pf9JuEP/Ur1M/13EVv9jyWD/a81r/3TPdv94z4D/ + etCH/3vUjP951pT/eteb/3/YpP+C2ar/htyy/4jdtv983bP/ft2y/3/aqP+B2J7/gtaV/3/Tjf960YX/ + dM58/23Jcv9mxGb/X8Bc/1e9U/9Tu0z/TrlH/0i5Qf9Etz3/QLU6/zyyN/86sDj/PbE+/0O0R/9It07/ + S7lT/027V/9PvVv/Tr9f/1jAZ/9wxHb/g8yH/53lo/+L15X/TK9b/z2oTf+v4biYAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAF5EkPwqdHP8UqSf/GK4t/xurMf8mrDn/KbI7/ySzNv8aqzD/Gasw/xirLv8Xqyz/ + Fqwr/xerK/8Yqyv/Gqwr/xysLP8grC3/Iqwu/yWtL/8prTD/La4x/zCvMv80sDP/ObI2/z+0Ov9HuUL/ + UcFL/1vIVP9ezVr/Yc9f/2rQa/9y0Xb/c9J7/3HVff9v14H/cNiJ/3bakf9425j/fdyg/3/cpv993ar/ + e92o/3jZmv9315D/d9aK/3XUhP900n3/b9B1/2nNbP9ky2L/X8ha/1jEUv9QwUn/Sr9E/0W+QP9Buzz/ + P7c6/zuzOv87sjz/PrRC/0G1SP9EuE3/SbpT/068Wf9Svl7/U75j/13EbP92yoD/lM+Y/67ls/+F1pD/ + RLFW/0SmVf/B7shqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH5EuGA2gIO0OqiP/ErMs/xysNv85r1D/ + ObNN/y+5Qf8rsUH/J7E9/yKxN/8crzL/GbAu/xevK/8WrSr/GK0q/xuuK/8drSz/IK0t/yOtLf8nri// + Kqww/y2oMv8vpTP/M6Y2/zutO/9DuEH/TcNI/1XIT/9TxlL/UcFS/1O/WP9Zv2L/XsFo/17Ca/9gxXD/ + Zst4/23Tgf9v1Yf/cNCN/27LkP9nyZH/csya/2nMiv9r0IL/bNR//2vVev9r1HX/Z9Bt/1/JZP9Ywlz/ + U75V/1G9T/9KvUf/Rb1B/0G9Pv89tzz/Oa08/zanO/80pjz/NKc+/zWsQf89s0f/RblR/1G9W/9awWP/ + Yb5r/2jJdP+A04v/qdKv/7zjw/9204T/OLFN/16qa/jg/OYpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QKlPBQ2QG8cOpiP/C64k/xuyNf9Hwl3/Rr1Y/0DCUv85u03/NbpJ/y65Q/8otzz/I7Y3/x+zNP8asS7/ + HLAv/x2wLv8dry7/IK8v/yOvMP8lqTH/JZo0/yKGNv8gdzj/I3Y6/ymDPv8zm0D/QLRD/0m/SP9Er0n/ + OZFJ/zOASv80fU7/OH5R/zl/VP8+h1n/S55i/1y8bv9ixXb/Wa50/0uSb/8/g2z/Rot1/0Wdbv9bvXP/ + Z89z/2bTcP9gy2n/VbZg/0WcV/85h1D/NH5M/zSDSf83lUT/O6g//zu0Pf82pz7/LIw//yV4QP8jc0H/ + JHtA/yiRP/81qkT/Q7pS/1LAXf9dxGf/Y8Nu/2/Ke/+M1pf/suC5/7ruw/9uzXz/O6ZL/4PDjebb++IO + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOBIJAQoSP/C7Ek/xO1Lv9MzWT/XtBw/1TKZv9Hw1r/ + QsFW/zu/UP80u0n/L7pD/ym4Pv8ktzf/I7Y2/yK1NP8itDT/IrQy/yOxMf8gnDP/GHU//wxydv8Hh6j/ + B5C1/wqJpf8Wcmv/KH9C/zafQv8vikr/EYmc/wqQuP8KkLj/CpC5/wuRuf8Mkrv/H4eP/0aaXv9Ssmb/ + OZJ3/xWGpP8Mkb7/DY65/x2Gkf9KpmT/Xcln/1rKZP9Kqlr/MHdV/xh0gf8Mia3/CpC5/wuJrv8VdHr/ + JnVC/y6XPP8qkD3/E4B+/wiMsP8Hj7f/DIKc/x2EZv81pkj/R75W/1bFYv9hyWz/aMt1/37Pif+h26n/ + ve3E/67xuP9gxG//TqZb/6rdsbsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGPP1cUoCf/ + Dbcm/wq3Jv9Cy1r/ct+E/2jQeP9XzWr/Uspm/0vHX/9DxFb/O8BQ/za/TP8xwUT/Lr9B/yq9Pv8mvDn/ + JLs2/yO4NP8YjDH/C4CF/wKs4v8JbX3/EVtY/w1pev8DrOL/DYWa/yR0QP8jbkD/DH+Z/wC+/f8LiK3/ + FlVb/xhZXP8SbYT/EY+t/zmMUv9JsVr/N4VV/xdqfv8Avv3/BqLV/x5eTf9EqVr/Vchb/0u6V/8ve1D/ + C5W8/wC9+/8Dq+H/C4Wo/wuDpf8Epdn/C4yn/yF1Pv8kiDr/Flc+/wSezP8Avv3/EWl8/yZ6SP87sk// + TMRb/1vLaP9mz3L/cNR9/5DZmv+3477/v/TH/5Hmn/9TvWP/drp+/8fqym8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAG+8eR4bpS3/C7cl/wW7I/8xwUv/euKL/3vZif9q233/Zdh3/13Tb/9Tzmb/ + S8te/0XJWf88yFD/OMhM/zHHRf8qxD//JsM6/yC+M/8YjTT/EHyA/wlwfv8UZDv/H3dA/xZRQP8JfZv/ + Abby/xRhWf8cYD7/C32X/wC+/f8LgaD/IF1C/yh0Q/8hYUr/G4iH/zuZTP9Iu1H/OZRP/xhmcf8Avv3/ + B5vK/yNpSf9EtFH/TshR/z+pTv8cbWb/Abn2/wK07/8VT07/H2ZB/yJpQ/8WT0v/BZ7O/xRrWv8ghTj/ + FmI6/wSaxv8Avv3/E2h2/y+NTf9Dv1X/T8pg/1/QbP9q1Hb/dt2E/6Djqv/I587/vPPF/3PUgv9JuFr/ + m9Of6dfw1xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmpji5BK8X/wzEJ/8kuDz/ + atx8/4zkmf994oz/eN+O/2zbgv9k2nD/YNdv/1XNaf9IzV3/Q85X/zzMUP8zykj/LclB/ybCOv8npj// + HX9W/xNpUP8YZz//G2NC/xJOSv8Gkrv/AL79/w9obv8ZWjz/CnyW/wC+/f8KgKD/G1c//yNqQP8fd13/ + L4RD/0CxRv9Hw0r/OZtK/xhnbP8Avv3/B5rH/yZwRv9CuUj/SMdI/zadRv8Va27/AL37/wadzP8dY0D/ + LqQ9/zCqPf8gbz//CYWl/wxze/8afjf/E2g4/wSaxv8Avv3/EmV2/yp5T/8+qlf/UL5k/2XPdP9y1X7/ + hOCQ/63mtf/S7tf/re23/2DKb/9PuF//pt+shAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA8pUo8C6sX9grBG/8aui3/P8lS/5Dwn/+T3p7/i96g/4Lhl/933oT/ddt+/2fQdf9d1XD/ + V9Nq/03RYv9E0Fj/Ps1R/zrJTf8vsEb/IH9D/xFbVf8Ke5X/BprH/wKy6v8Avv3/Abbx/xJnW/8ZYjv/ + Cn2W/wC+/f8IiKv/EVJW/xFdZv8NkKr/LIc//z+7Qf9DxUT/NJtF/xZnav8Avv3/B5rG/yRwQf88uEH/ + QcVC/y+ZQv8Sa3D/AL79/waVwP8ecj3/L7Q5/y68N/8egTr/CH+W/wl4hf8VeTb/EGc3/wOaxv8Avv3/ + EWV7/xhbYf8mcGH/QIhh/2Kzdv9+0Yr/nOGl/7/qxf/H8s3/htiQ/1nBZv91w3/wxPLKKQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4y4YCKKY2rACzCf8QxiL/JLQ3/2jmfv+v6L// + n+ag/5jloP+R36r/gNyN/3fief9u3YD/aNt5/1/Ycv9V1Wj/UNVh/0jPW/85q1H/HXJe/wOt5P8Avv3/ + AL79/wGy7P8EnMn/DW95/x13O/8bcjn/CX2V/wC+/f8Dp9n/Bo+1/waVv/8LjKn/KIM7/zm4O/89wTz/ + MZk//xVnaP8Avv3/BpnG/yJvPf84tT3/OsA9/yuUPv8Qam//AL79/waQtf8ddjr/LLY2/yu9NP8chDf/ + CICV/wl4hf8TeDX/EGY4/wOaxv8Avv3/DniY/wmWxP8Dsuv/E4qt/0N7a/99xI7/rOWy/8b0y/+k563/ + aMh0/1SvYP+n266o4P/lBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QKNKLg6uGPQHxBT/G7Yu/ynHPv+s67T/tPG6/6fdsP+o5bb/memj/4vokv+D4ZH/fN+L/3Pcg/9o23n/ + Y9lz/1nSav8/nlv/FYCS/wC+/f8HmMT/E1pj/xdRRf8VUkL/GWhB/yCPO/8aejj/CH6V/wC+/f8GgJ7/ + DkU7/xBNPf8Kg43/HHo3/ySbNP8opzT/Iow3/w9lZP8Avv3/BJnF/xhoOf8moDX/JqM4/x1/Ov8MZm3/ + AL79/wSPtP8Wdjb/IbUw/yG8L/8VgzT/BoCU/wZ3hP8PeDP/DmY4/wOaxv8Avv3/E2N4/xxGTv8Sepz/ + AL38/x9/oP90rI3/tOW9/7fvvv971ob/W75o/3/DiPLh9ucUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcsV5AjOuO5sEpxD/Ebok/w/AI/9gzmL/rfjA/7zsyv+26rP/ + ruyx/6Dnsf+W46D/kOOc/4fgk/983or/ddyD/2nUef9Ko2X/G32Q/wC+/f8QaH7/GlJI/x5oSf8UYVr/ + DIqW/xmBPf8Scjn/BX2V/wC+/f8Df53/B1A3/wheNf8HWUD/B1o4/wZ0WP8Hdkb/B2My/wRcYP8Avv3/ + AZjE/wVQNP8HbC//BYVs/wVUNf8DYGr/AL79/wKPtP8IbDH/DK0n/wy0Jv8Jei//A32T/wN0hP8IbTP/ + CV43/wOaxv8Avv3/E2N5/x1GUP8YaYT/AL79/xKRwf9vnIv/ruO4/5fkof9WvmT/bcF4+Lzpwnfw+/MA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzCfCAtpzb3 + BbQS/xTFJv8Wuh//bt58/8P7zv/H7sr/uea+/7fuvv+p6rH/pOmt/5rnpf+P5Jr/iOKU/33eiv9iu3f/ + Nnps/weq3/8ImMb/GFJc/xhPUv8MfJz/CZO4/xtuQf8UYD3/B32Y/wC+/f8EgqL/B0M6/wdFOf8Dg6H/ + BFpi/wNxhf8EZHH/BUA3/wRaYv8Avv3/AZjE/wQ/N/8EQjj/ApG4/wRBOP8DZHH/AL79/wGYwv8GWzT/ + C5wp/wukKP8HZzL/An2X/wJ2jf8GUTb/CEo5/wOcyP8Avv3/FGR7/x1NW/8MlsT/AL79/x2Nt/95o5L/ + mNqk/2/RfP9SvGD/ldSeu+P86AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABnvmWMGawi/wy4If8JvBn/IL4g/43nl//b9Oj/0+3W/8T0x/+68MX/ + t/C7/63rq/+h6KP/muik/4/lnP9+1Ir/YKt5/zl4bv8Xiqv/Cp/P/wig0v8LmsX/GYSN/yh7Sv8Xe2z/ + CJG2/wSfzv8En87/A5/N/wKfzf8CoMz/BWFl/wRvfP8Cn8z/Ap7M/wGey/8Bnsv/AJ7L/wGezP8Bnsz/ + ApW+/wNXW/8ChKP/AZ7M/wKXv/8Ee2//CZEr/wmXKP8FfWD/ApO2/wKPsf8GWlT/B298/wWYxf8Gn9D/ + CKDR/wmg0/8Mn9P/IIuz/1SDgf+AvpP/d82C/1e8Y/92yYHpxPbMOAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC73b0bb8V33g+iGP8OtxP/ + Brsb/x+2Mf+n56D/6fzo/9bv4f/O7tP/y/LM/73su/+37rj/r+qz/6Dip/+Z4aL/itKW/3G2hf9WlHP/ + SIBp/z96Yv9AhGD/RZlg/0KlWv8zkVD/J3hK/yBtRf8dbEP/GWw//xVsO/8QdDb/D38y/w96Mv8NbjL/ + Cmgy/whnMP8FZS7/A2Us/wZmMP8IZzD/CGsw/whvLv8IbC//CGgv/wltL/8Jgij/CJ0h/wihIf8Iiij/ + CHMu/whwMP8QdzX/GnU+/yVvS/8ublT/NnRa/z12YP9QfnD/apeE/3Oyhf9nyXf/XsFp/3vCgPS04LpT + 5/vsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAsOy2PV29ZOIIsA7/DKcr/wqxGP8isx3/meGd/+b15//r8eX/3/jk/9H32//B7sn/ + wevC/7ztvf+s6rL/pOes/5ffof+H05T/fcuM/3THg/9wyH3/as14/2HMbv9TwmT/TLtd/0G1VP88slD/ + NrFJ/y2vQf8lsTn/IbQ2/xqtMP8XqS7/FKYs/w+lJ/8KpCP/BqMg/wmjI/8JpCL/CKUg/wilHv8HpB7/ + CKQe/w2lI/8LqB//C64e/wyxH/8PrSP/EKon/xKnK/8dqjT/LqxD/0OyVv9St2X/YLtx/2u+ef9zyYH/ + eNKH/2/Kev9hvm3/dL177KrerVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKzjtSZDrUjODZkJ/waxF/8BqBH/ + H60g/4Tbiv/c9eb/7Pro/+v13//i9t7/0vXe/8Tv0f/B7cT/uuu9/6/otP+k5av/nOOk/5XgnP+N3JT/ + hdqN/3rWg/9u0nj/aNBy/1zKZ/9Vx2D/TMZY/0LCT/83wEX/Mr1B/yi6Of8kuDX/HrYw/xi2K/8StCT/ + DbMh/wqzHf8Ksxz/CLIZ/wexFv8FsBT/BrEV/w2yHP8OsRv/D7Ac/xKyH/8Ytib/HLcp/yG1Mf8uuj3/ + QsFP/1jIY/9mznH/dc99/3vRgf9y2nz/ZtVz/16+af9zwX7aks+YOQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACGvH8YOpw4pgaNCvwLpRf/AqUI/wutD/9gwGX/zfHO//r5+P/19PX/2Pvd/8320f/W7tb/ + zezP/8Lpxf+357v/sOS1/6ngrv+i3Kb/m9uf/5DWlP+E0on/fdGE/3LLef9qx3L/YMVq/1TAYP9JvlT/ + QrpP/zu6SP84uET/MLY+/yi0Nv8isjD/HLAr/xKvIv8RriD/Dqwc/wyqGf8JqBT/CqkU/wysGP8Oqhr/ + Eakc/xerIv8fsCn/JrEw/zS0QP9Bu0z/UsJc/2PIa/9ty3b/dsx9/3rQgf9ty3X/W7dl/Wi0cbuQzZkg + t+2/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcK56CDiXM3ALjhT0B5wV/wqnCf8Onwv/ + RKxN/6bftP/p/PD/7Pfm/+r04f/o9Of/3/Pf/9Tv1v/K7Mz/wunG/7zlv/+14Lf/rt+x/6Lapf+X15v/ + kNWV/4fRjf+Azob/dMp9/2fFcf9bwGb/Vb5g/068VP9JuU//QrZI/zm0QP8ysDn/LK80/x2sKv8aqib/ + F6gj/xSlHv8Soxr/D6MY/wqnFv8NpBj/EqQb/xymJP8kqyv/Lq82/0O3TP9Qvln/XsNm/2vGcf9xxXb/ + ccl3/2vHcv9ksWn3baxziIjAjw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAjmzgzGoQbwh2AGf0MnRD/ApcE/xegGf95x3n/0ejQ//n3+P/4/Pj/8Pfw/+bz5//c9N// + 0/TW/8zxzv/F7MX/vOe9/7Titf+s3q3/pdil/5janP+Q2ZX/hdOM/3rOgf9vyHb/acVx/1+9Y/9bu13/ + VLhX/0u0T/9BsEX/Oq0//yusNP8oqi//I6Yq/x+jJv8anx//Fp4b/w6lFv8QoRf/F6Ac/yGkKP8sqDH/ + O65A/1S4Wv9dvWH/ZcFq/2zDcP9twXL/ZLtr/lWqXdJYnV5AiLmMAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATIVKDyd3JXQHgAbpAosD/weaC/8Igwn/ + O5w5/5/Snf/j8+P/+Pv3//T08v/w9u7/6/rr/9/33v/V8tH/zOvI/8nrxv/D58D/tdqy/6vbq/+l2qf/ + nNOe/5LMlP+Kxoz/hcSJ/2+8df9nuW3/YLZl/1i0XP9TtFf/T7RT/z2pQf85qDz/NKY2/y+kL/8ooin/ + IqAk/xeeHv8anSH/IJom/ymcMP89qUT/ULJU/2K2Yv9kuGX/YbVk/2i6bP9kuGjuWqhgh2edbhYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAcgRwoCG0IoAaCCfgHkAv/BIUF/xSAFf9Dl0P/mdGX/97w2//3+vT//fT4//nu9v/z7PD/ + 6ezn/9/w4P/R79P/wOfE/8TgxP/D3cT/uNi5/6vRrf+dyp//lsaZ/4fMi/+AyYP/dMN3/2i9av9dtl7/ + VrNY/1exW/9OrFL/Q6dG/zijOf8vojL/K6Eu/x+SKP8gkCr/K5c0/zqjRf9CqE//SKlR/1OtVv9gsmL/ + Zaxo/FmZXLFlpGcxZ6xrAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5FCAQpqCy4DcAOqBn0G9AaEBf8Hgwb/ + EXoQ/zOCMf+Atn7/v+S9/+f55//3+/j/8fXy/+nv6v/i7eT/3+vh/8vkzf/C4sT/uuG+/7DgtP+k26n/ + mteh/57Ln/+dyZv/lMeT/4nBh/99unr/dbZy/2iyav9js2b/WK9b/0OkRv8pkiv/H4oh/zCSL/81lTT/ + PJs+/0ejSf9RrFX/WbBc/1mqW/hWnle0VZFVPmqXaQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQZxAECV8JMQZqBpUHcAXoBnAF/gNyBP8Hcwj/HH8d/06YT/98uH7/qtmr/9Xx1f/v+O3/ + 9fbz/+rv5v/l7uH/4e7e/9jp1f/J38n/wNjA/7nUtv+xz63/p8mh/5vElv+Uwo3/kMKJ/3bCdv9brFz/ + PpM+/yyGK/8piCj/Lo4r/zWRLP8/lzf/TZ5G/1agTv9QlknsSY9FpFKSUztQjlEGAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZxwbA1YEaANkAsEFdAb7 + B3YG/wVqBP8HaQf/GnMZ/zN+MP9WkVD/dahu/5/Dmv+v0Kv/vtu5/8jjw//M48b/y+HF/7Tgsf+p2qb/ + mc+V/4C9fP9nqWL/U5lO/yJ+If8fehz/IHsc/yZ/If8vhij/NIwu/zSNM/9AkD/8Q4hBzUaBQXVVikwg + Wo9TAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGWAUgCF8GagZlAq4EaADiB2sC/AJoAP8AZAD/BGgD/wpmCf8MaQz/ + EXER/xh1Gf8edR7/H3Me/yJ4I/8fdR//F3EX/xJvEP8QcA3/D3MN/xF7Dv8WexH/HHwW/yN8HP4sfSHl + M4Mrtit/M3Ukcy0mLnQ2AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAIATwAS + CF0INgJcAWMBWwCbAFsAvgFgAd4BXwHrAV0B8gFcAfgBXwH8AmIC/gNlAv8DZAH8AmMB+QVlAvMMagbs + D20K4QhjA8MQaQmfHXMWaiR3Hz0YZxETDF0GBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVeFAcRWxAYClcJJgVVBTICVQI6 + A1cEPwZYAz8HVwM7ClkGMxBcCygZYhUaHmcaCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////// + ////////////////////////////////+AAAP///////////wAAAB//////////+AAAAAH/////////w + AAAAAB/////////gAAAAAAf///////+AAAAAAAH///////4AAAAAAAD///////wAAAAAAAA///////gA + AAAAAAAf/////+AAAAAAAAAH/////8AAAAAAAAAH/////4AAAAAAAAAB/////wAAAAAAAAAA/////gAA + AAAAAAAAf////AAAAAAAAAAAf///+AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAD///4AAA + AAAAAAAAB///wAAAAAAAAAAAA///gAAAAAAAAAAAA///gAAAAAAAAAAAAf//gAAAAAAAAAAAAf//AAAA + AAAAAAAAAP/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/8AAAAAAAAAAAAAH/8AAAAAAAAAAAAAD/8AAAA + AAAAAAAAAD/4AAAAAAAAAAAAAD/4AAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAfwAAAAAAAAAAAAAA/4AAAAAAAAAAAAAB/4AAAA + AAAAAAAAAB/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAB/+AAAAAAAAAAAAAD/+AAAA + AAAAAAAAAP/+AAAAAAAAAAAAAf//AAAAAAAAAAAAAf//AAAAAAAAAAAAA///gAAAAAAAAAAAA///gAAA + AAAAAAAAA///gAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAA + AAAAAAAAB///wAAAAAAAAAAAB///4AAAAAAAAAAAD///4AAAAAAAAAAAD///4AAAAAAAAAAAD///8AAA + AAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///+AAAAAAAAAAAP///+AAAAAAAAAAAP////AAA + AAAAAAAAf////gAAAAAAAAAA/////gAAAAAAAAAA/////wAAAAAAAAAD/////4AAAAAAAAAH/////8AA + AAAAAAAH/////+AAAAAAAAAf//////gAAAAAAAA///////wAAAAAAAD///////8AAAAAAAH///////+A + AAAAAAf////////gAAAAAB/////////8AAAAAH//////////gAAAA///////////4AAAH/////////// + /4AH//////////////////////////////////////////////////////8oAAAAQAAAAIAAAAABACAA + AAAAAABAAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKED09PSY1NTU2 + LS0tPi0tLT06OjozS0tLIVhYWAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAPJSUlTiQkJIwjIyPA + IyMj6SwsLP84ODj/QEBA/0dHR/9FRUX/Ojo6/ywsLP8nJyf8Jycn4SwsLLMqKip9Ojo6PVZWVgYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpChkZGVksLCy1 + Nzc39lBQUP9jY2P/c3Nz/4KCgv+Li4v/k5OT/5iYmP+ZmZn/nZ2d/6Kiov+jo6P/np6e/5qamv+Dg4P/ + Xl5e/0VFRf8pKSntJSUlnzY2NkFXV1cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4U + ICAggjQ0NOpTU1P/b29v/3Z2dv9/f3//h4eH/5CQkP+dnZ3/paWl/7CwsP+6urr/wMDA/8DAwP/AwMD/ + wMDA/8DAwP+6urr/tLS0/7W1tf+qqqr/oqKi/3p6ev9AQED/JSUl1ScnJ2RPT08HAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACYmJgooKCh7PDw88WRkZP9ubm7/d3d3/4eHh/+RkZH/q6ur/8nJyf/e3t7/7Ozs//Ly8v/39/f/ + +/v7//v7+//6+vr/+fn5//n5+f/x8fH/7+/v/+np6f/g4OD/1dXV/8PDw/+6urr/r6+v/5SUlP9OTk7/ + IyMj3CwsLFhEREQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACIiIkU9PT3bXV1d/2VlZf9tbW3/h4eH/62trf/R0dH/7+/v//v7+//+/v7/ + +/v7//39/f/+/v7//v7+//39/f/9/f3//f39//7+/v///////v7+///////+/v7//v7+//n5+f/y8vL/ + 5ubm/9DQ0P/BwcH/tLS0/5OTk/9ISEj/IiIivCwsLCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjBzMzM49RUVH8ZmZm/29vb/+Hh4f/ubm5/9zc3P/z8/P/ + +Pj4//b29v/y8vL/7Ozs/+fn5//k5OT/5OTk/+bm5v/n5+f/6+vr/+7u7v/09PT/+fn5//n5+f/9/f3/ + /v7+//7+/v/7+/v/+/v7//z8/P/5+fn/8fHx/9vb2/+/v7//sbGx/4GBgf8xMTHyIiIiYAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpGUBAQMRZWVn/YWFh/3t7e/+srKz/ + 39/f/+7u7v/s7Oz/4ODg/87Ozv/Hx8f/yMjI/8jIyP/Ozs7/1NTU/9jY2P/e3t7/5OTk/+np6f/t7e3/ + 8fHx//X19f/29vb//Pz8//7+/v/8/Pz/+/v7//39/f/8/Pz//v7+//z8/P/6+vr/6urq/9XV1f+6urr/ + oaGh/0tLS/8jIyOXNTU1BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExJ0ZGRt5iYmL/ + aWlp/5aWlv/MzMz/5ubm/9ra2v/IyMj/ubm5/7a2tv+9vb3/xcXF/83Nzf/b29v/3Nzc/9ra2v/c3Nz/ + 29vb/9ra2v/W1tb/1NTU/9bW1v/Y2Nj/39/f/9/f3//h4eH/6urq//Pz8//8/Pz//v7+//39/f/4+Pj/ + +/v7//z8/P/6+vr/5eXl/8jIyP+2trb/YmJi/yEhIbgxMTENAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + MTExKklJSeZcXFz/cnJy/62trf/d3d3/0dHR/7m4uP+pqaj/r6+v/7q6uv/Ozs7/2NjY/9ra2v/P0ND/ + t7e3/5ydnv+Fh4j/dXh6/2lsbv9cX2H/WVxf/11hY/9obG3/c3V2/4GBgf+RkpL/q6ys/8HDw//V1tb/ + 39/g/+np6v/y8vL//Pz8//7+/v/8/Pz/+fn5//b29v/p6en/1tbW/7i4uP9tbW3/IyMjwkRERA4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAOzs7IEtLS+NdXV3/eHh4/8DAwP/S0tL/tLS0/6Wlpf+rqqr/t7e3/9jY2P/g39// + xcXF/5ydnf9tb3D/UlRW/zo7QP8yMzr/MDM6/y00Of8vNj3/MztC/zc9RP8vOD7/Mzo//zw+Qf8/P0H/ + Pz9C/zg+RP88RU7/WmJn/4OJiv+1uLf/2NrX/+Dg4P/w8PD/+vr6//r6+v/19fX/9fX1//X19f/Y2Nj/ + vb29/3Nzc/8nJye8TU1NBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyEEJCQtNbW1v/goKC/8DAwP+/v7//nJyc/52dnf+1tLT/ + 19bW/9HR0f+kpKP/bGxr/0NDQ/8pKiv/MzU1/09RT/91d3X/l5mX/6+1sv+3w7//vsrH/8bRzv/J0tD/ + xs/O/7/Ix/+8xMP/rLOz/5afnf9tfXv/PFRS/yQ0Ov8gLTT/OEBF/2Zoa/+en5//0dHR/+Tj4//v7u7/ + +vr6//n5+f/u7u7/8vLy/97e3v+6urr/bGxs/zExMaFsbGwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwAjw8PK1dXV3/fHx8/7m5uf+np6f/ + j4+P/6Wlpf/T09P/0tLS/6Cgn/9iYWH/OTg3/ycpJf9UWFT/mJyZ/8XHx//RztT/0dPW/9HX1//R2Nj/ + 1tzc/9jf3P/X4dv/2N/d/9ff4P/W3t//1N3e/9PZ2//W2Nv/0tTV/9HQ0f+6wsH/j5ud/09bYP84PEL/ + PDs8/2FgYP+bmpr/0tLS/+np6f/29vb/+Pj4//Ly8v/s7Oz/3Nzc/7q6uv9WVlb/REREbwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3N2pUVFT/ + eXl5/62trf+hoaH/lZWV/7Kxsv/Z2dn/ra2t/2xsa/83Nzb/Li0t/3Z3df+4vrj/z9XQ/8PKxP/P1s// + 0tzS/8/g0v/D3Mn/tda+/6/Uuf+n0LH/os+s/6LQsP+cz7H/nNGy/6XWuP+u2sD/u97I/8jg0P/Q4Nb/ + x9PJ/8vWz//P2NT/usDB/3x7fP88Ojr/PDw7/2ZmZv+zsrP/3t7e//Hy8f/5+fr/8fHx/+np6f/S0tL/ + rq6u/0pKSvhpaWkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADg4OCRJSUnzZmZm/5iYmP+Tk5P/k5OT/8HEv//Ky8j/jYuK/09MTv8uKzb/cnFt/7/Au//KzMv/ + v8a7/77Mvv+1y7r/pcSq/5bDmP+Kv4r/gL+B/3a5ff9ss3z/aLR8/2Kzef9csHv/TrB8/061gP9SuoL/ + XcCF/2HAgv9vx43/ec2V/5bNpP+s1bX/vtfH/8POy//K1sz/ycjG/3hzdf80NjP/RkpF/42Ojv/Mysv/ + 8u7s//j4+P/t7e3/4uLi/87Ozv+Wlpb/WFhY0Z6engYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABDQ0OzXl5e/4GBgf+Tk5P/k5OT/8bGx/+2t7j/dnZ3/zw8PP9JSEb/ + sLOq/8DHwf+0wrf/q8Kx/5K5m/+Csn3/ebRq/22nXf9hk17/T4Bc/0p6YP9BfmH/PoVi/z+Mav9Dk3D/ + QJly/yeYbf8al2v/EZdn/xeYZP8dmWD/LKRk/0C0b/9QwXL/W8Rz/3jOjf+N0p7/rda0/77Qvv/Q0s// + rq2u/09NTP88Njz/dXBz/8vIxP/p6en/+Pj4/+np6f/Z2dn/u7u7/3Fxcf+KiopzAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8PDxGUFBQ/3R0dP+Tk5P/jo6O/8fHx/+sq6z/ + cGxy/zg5O/9vdXT/u8K9/6+2rv+btaL/iLOD/3msZ/9qnl3/UHtK/z1bO/84XD7/Qm5M/0uIV/9Xm2D/ + WKdq/1ivdP9YtHj/Wrp8/1i6g/87tYL/KLSB/yKzf/8js3v/H7Bt/yCtZ/8RoVj/FqVS/x+nUP8+t2H/ + Xcl1/33Qi/+d1p7/rc6s/7vJuv/Cw73/bmxt/zY0Nv9wbmv/uLi4/+7u7v/z8/P/6Ojo/9DQ0P+np6f/ + f39/8M7OzhUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkoBRkZGyGZmZv+Li4v/ + iIiI/8TExP+kpKT/bWxt/z46O/+IjYj/uca7/56vnv+Nrov/aqVk/12VU/9BYjj/KUAn/y9PKP9BczX/ + SodB/1KcUf9aqGL/X7Bs/2K2e/9kvIf/ZcGO/23HlP9qyZn/R8iZ/yjEkf8dwof/IcKE/yLCf/8txIP/ + I792/yK5bv8hsmP/JKxc/yirVf9DvV7/ddZ2/4bSgv+c0Zn/sMyt/77Pv/+EiIf/NTA0/2xsbP+5uLj/ + 6+vr/+/v7//e3t7/xsbG/4qKiv+ysrKKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QEBAQ1dXV/94eHj/i4uL/7GzsP+trqr/cW9u/0hER/+PlIr/t7+o/5aykP9vonb/YpxU/0BrOP8dNBn/ + JEUh/zBoJP9AfzD/SZE3/06bQ/9YqVj/YLZr/2TAev9txIv/ccaX/3LKn/92zaL/dNCs/03Nqv8uyKL/ + Lcqh/yvNmv820p3/OtOY/zLSi/8ny33/Lcp5/zLEdP8wvGj/MLZY/0u1UP9rymD/dddt/4rTg/+fyqP/ + wNC9/5GRif88Pz3/b3Nw/7u8vP/x7vD/6Ojo/9DQ0P+rq6v/pqam8fPz8xEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAEhISLJmZmb/jo6O/52dnf+5urn/dXV1/05OT/+Hh4f/rbmw/4ekjf9sn2b/ + UY09/yRGHv8WLxP/IlYd/ytwJP8ugSb/P480/0qYPv9SnEr/Xp9e/2qkdv90qov/dbGZ/3K4pf90vq7/ + d8S2/3DEuP9UwLn/O724/zvAu/8zwK3/Qcay/0zJr/9HyKL/P9SX/zjUiv870oD/O9Jy/zvKYv9Vw1j/ + V7pL/1W/Tf9t1Gb/gtF//5rJkP+3xbf/f4B//0FBQP+AgID/0M/Q//Dw7//f39//xMTE/5ycnP/i4uJe + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKShlOTk76dXV1/4uLi//CwsL/f32A/1ZWW/9yeHb/ + rbqr/4Gjhf9go1r/PXs2/xYsEP8RLg//IFga/yZ0G/8tgCL/PIUv/0KEN/9Jgj//UYVJ/2OSW/9up3b/ + gb6X/47Lq/+R07r/j9bC/43ZyP+I2cr/d9bO/1XQy/9Fy8X/QcnB/0LHvP9Oyb3/Tsew/0zEq/8/wJT/ + SMeI/1DPe/9J0mX/YtVh/2DKU/9UvUz/SL4//2HUVv992G7/lsmb/7nJtv9rbmj/VVRU/4yRjv/i4uL/ + 7u7u/8/Pz/+lpaX/x8fHdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBvXV1d/4WFhf+np6f/ + mpqZ/2tpZ/9dX2L/orCh/42ogP9Zm1n/OWss/wwlB/8TKxL/FVgO/yN0Fv8seR7/MXEk/zh0LP9Cfzb/ + WJdI/2utW/98uWv/hcSE/4/Ppf+X07b/m9fD/5nZyv+V2c3/kdnQ/4HX1v9aztD/QMfL/z/Hyv9Cycf/ + SMnB/0zJvf9BwrD/Obyb/zi4hv89tXb/Prpo/2LQaf9r1ln/YtFS/1PBQf9Cvjz/VdFK/3XYbf+Vz5P/ + p76k/0pLSv9na2n/p6en/+7u7v/X19f/vLy8/8TExNPy8vIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCvm9vb/+Ojo7/tLS0/2trav9cXFn/mJya/42nif9onln/OX0y/wwXCv8OLwf/F14P/yFwEf8caxD/ + ImgX/zV3Kf9JlDr/WKJI/2GoUf9hp1H/a6NZ/3Wqc/+Lv6T/nMy9/6PUyf+n2dL/q97a/6je3P+X2+H/ + as7Z/0TC1P85wND/N77N/zu7yP83t7//IbSs/x2wnP8dqYH/KKpy/y+sZP9HtGD/X8Fd/2fPV/9W0kX/ + S8FA/0K8N/9X2k3/e9dz/5/RnP+Rm5H/UU1Q/3d3d//U1NT/4uLi/8XFxf/ExMT/8fHxEAAAAAAAAAAA + AAAAAAAAAAAAAAAAampqAUhISPd2dnb/oqKi/46Ojv9hYWH/cHFu/5itmf9un2r/QIM2/xArCf8JIgX/ + GFQK/xdmD/8XYw3/JnEX/zeCJ/9FkTb/RpM3/0qQO/9WlkX/YJxN/2mcVf9wpGf/ebCG/6XSxP+03s// + yufe/9Ds5P/C6Of/qOPn/3rX5P9Ty9r/N8LR/y67zP8zusz/NrbH/yKrtv8WoaD/F5uI/xmVbv8bmFn/ + IJhU/0WuXP9hu1b/V8VJ/1XOR/9BwDH/QsEx/2LbWP+B1H3/qcio/2VkYv9lZWX/oKCg/+jo6P/Nzc3/ + xcXF/+3t7RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSUlL/hYWF/6mpqf9iYmL/ZGRk/5agk/9woG7/ + RYtC/xhME/8JFwT/CkoI/w1eBv8ZZQr/IHEY/y1+IP80hSH/OIcm/0SOM/9RlT7/U5I9/1iRP/9mmlD/ + c6Rl/36ugv+gzrz/yOfY/+Pv5P/q8+r/3PPw/7zp7f9/2OT/ZNLj/0nM3P9CxNn/Or/P/zG3xf8nrbv/ + HqWr/xibk/8Wknb/GI5d/xyPU/85lE7/XKZT/1+vVP9Ov0P/Sck6/0G5LP9C0Dj/beNm/5zbl/+OoIv/ + Wlla/3Nzc//d3d3/0tLS/8bGxv/k5OQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX19f/5OTk/+ZmZn/ + Wlpa/3Fxcf+Oo4r/UpZN/ytvJf8IGwX/BzoC/w1gB/8SaBX/H3gQ/yF4Ev8rgRz/MoYi/zqIJ/9HjDH/ + TIwz/1SPOP9glUT/aptV/3enbf+BtIv/ptLD/9Tr4P/n8ef/7fXt/+n39P/V8vL/m+Tx/2jU5/9Uz9// + V8ze/03H2P83vcr/K7TB/ySstf8cpJ//F5qC/xeQZf88m2D/XKFe/1yeVP9Tmkv/TqFE/0q0QP9Bwjf/ + OL4q/2HkVP+D3Xz/o8qg/2hmaP9hYWH/vLy8/9vb2//Gxsb/3NzcKAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAGlpaf+Xl5r/g4WA/1hbXP+BioD/b5hp/z2MM/8QPA7/CTMG/wdcAv8Tbw3/GHoX/xZ9Df8jgRb/ + LIUe/zOIJP85iCT/Q4oo/02OL/9Wkzn/Y5pI/2ygW/94rHf/g7qT/53PvP/b7uP/7PPq//H38f/z+fT/ + 6vn0/6zq8v9l1uj/V9Pg/2bV5P9b0OH/OcTP/zO7x/8vtL7/I62q/xmhhP8emWz/X6xx/2qqY/9hpFv/ + UJlK/0yYRv9Bmj3/OaU2/z+/KP9FzDr/e+dw/5/Ymv98inn/XVZc/5OWlP/i5OL/ycnJ/9zc3CkAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABubm7/nZ+h/2xuaP9bX2D/f5d+/1iRUv8keR3/AzgF/wpTCf8ObQz/ + F3oU/xeAEv8Vfw3/IYEW/ymEGv8yiB//OIkh/0OMJ/9OkTH/V5Y9/2KdTf9rpGL/ea9+/4S8l/+Tzbz/ + 1Ovh/+316//x+PP/9vr1//f7+P/J9Pf/Z9rm/1vV4f9j2eb/UNLh/znH1P83v8r/NbjD/yWvr/8cpI3/ + OqV4/3CzeP9vrmj/Y6de/1OeTv9Gl0L/PJQ5/zOPMP85pSz/N7gq/3rxZ/+X4pT/mLKT/15VXf90enf/ + 293b/83Nzf/f398mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXV1/5+jpf9ZV1T/ZGpm/3Kabv9BiTf/ + EGMO/wlSB/8RcBT/FX8W/xmCF/8YgxX/GYIT/yGDF/8ohRn/MYgd/zuLI/9Ejyr/T5M1/1qZQv9kn1P/ + bKdn/3uxgv+GvZn/icm7/8Lm3v/p9e3/8Pj0//T79v/6+/r/2/f3/43m6/+B4uz/cN/s/0XR3f85yNf/ + OMHN/zW7xP8ps7X/Kqya/1mxgP93tHb/cK5p/2OnXf9VoVH/SJlD/zqRN/8wjC//K4Er/zGlJP9t5lf/ + jOaN/6zNqP9fXF7/XGJf/9nZ2f/R0dH/4eHhIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8fP+Um5z/ + V1JR/252bf9hmFr/L4Uj/wpjDP8VcAv/Cn8R/w+EE/8ShBP/GIUX/x2HGf8ihhn/KYgc/zKLH/87jiT/ + RZIt/1GWOP9bm0X/ZqJW/26pa/98s4b/hr6d/4jIt/+j3Nj/2fPt//L59f/z/Pf/+fz4/+f7+v/C9fb/ + qO/x/5Dn8P9X1+H/O83Z/znFz/82vsX/Lbi6/zizoP9ktYH/eLRz/26vaf9iqV3/VaJR/0qdRv8+ljv/ + NJEz/y2MLv8afRn/Vr9J/5Hrjv+t2Kv/aWpp/01TUP/W09X/1dXV/+Tk5B8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAB9fX3ylJmb/05PTv9ud2n/UJRI/yZ/Hf8JbQ3/D30R/wuGE/8PhRT/EoYW/xeHGf8ciRv/ + IYkb/yiLHf8wjiD/OpEm/0WVLv9RmTn/W55H/2alWf9uq27/fLWI/4O+nv+My7n/ldzi/8Dr5//z+fb/ + 8vz3//n99//w/fn/1/j5/7Hy8P+m7PT/ad7k/z7S2v87ytL/N8LH/y68vP80t6j/X7WE/3Wzcf9tsWj/ + X6pc/1OkUP9In0X/P5s9/zSWNP8tlSz/H4Ql/y+ML/+c7Zf/sd+u/291cP9OT0z/ysrM/9TU1OPq6uoO + +Pj4AgAAAAAAAAAAAAAAAAAAAAAAAAAAiIiImZiam/9HTUv/aXRl/0mTQ/8adRX/C3gQ/w2HGP8Qihj/ + EYkY/xSKGf8Xihr/G4sb/yGNHP8ojx7/MJEh/zqUJ/9FmC//UJw6/1uhSP9lp1n/ba1u/3q2h/+Cv57/ + icm3/4/b3v+p5eH/8Pj1//b8+P/5/fn/9v75/+X8+v+89fP/ou3y/3Xj6v9D1N3/O87U/zbGxf8zwLz/ + Mbqv/1G1if9tsm3/a7Bj/1+qWP9SpEz/RqBD/z6dPf80mTX/L5gx/yeRLf8Vdhn/eMp1/7nntf9xeXT/ + S0lG/9PU1v/W1tbH7+/vAfj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAIyLjDObmZv/S05O/2NwYP9AjTz/ + DnQQ/xCEGv8Rjx3/E48a/xKNGv8Vjhv/GI8c/xyQHf8hkR7/KJMg/zCVI/86mCn/RZsx/1CfO/9ao0f/ + ZKlY/2qtbP93tYT/f76Z/4TGsP+R2tf/n+Th/+X28//3+vj/+f35//n++f/x/fj/z/j2/5nu7/9s4eL/ + Vdjf/0fR1P9Aycf/Q8O//zzAtf9QuY//X61g/2KqUv9Wpkf/TaJB/0WgP/8+nz7/NZs3/zCbMv8llCz/ + Io0p/zCNLv/A7bz/aXBs/1JPTP/W1tj/3Nzbkfb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + qKKlzFRVVP9ZaFj/MIIx/w9/Fv8RjR//DI0Z/xWTG/8Tkhz/FZId/xiTHf8clB7/IZUg/yiXIf8wmST/ + Opwp/0SeMf9PoDv/WaRG/2OqVf9qrmj/dbR//32/lf+Gxq3/jdTO/6Lk5P/W8/P/8Pr4//n9+P/5/vn/ + +fz6/9z4+f+l7/D/e+Xn/2vd3/9Z1dX/VNDP/1zLxP9YxrP/YL2M/1mqUv9eqEb/UqQ7/0igN/9Bnzf/ + PJ43/zKbMv8vmjD/LaA1/ySWLf8bgh3/pdKg/11lYP9eXFn/2tvd/93d3UUAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAALKvr2ZhXWH/UltS/yR+KP8Pjh3/EJIf/w2RG/8TlB7/FJYd/xaWHv8Zlx7/ + HZgg/yKZIf8omiP/L5wk/zieKf9DoTH/TaI5/1elQ/9hqVD/aK9j/3K1ev96vZD/icWp/4rPxP+l4+X/ + uern/+f59v/4/PX/+Pz5//j8+//e+Pn/re7t/5Do5/+N5OX/d9vZ/3LTzP94yrH/cMST/2q4cf9dq0n/ + Vqg9/0ukMv9CoS//P6Ay/zmeMv8wmy3/MaAz/y2gNP8qnTf/HY4o/2+tb/9QUE3/gn5+/9zd3NDm5uYQ + +Pj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tbMNiIGJ9EJMQ/8dgST/D5Uc/xCVHf8Rlh7/ + E5cf/xOZH/8VmR//GJog/xyaIf8gmyL/Jp0k/y2eJv82oSr/PqIv/0mlN/9Tp0H/XKtO/2WvX/9xtXP/ + d7yI/4TDof+Fyrf/k9fS/6Ph4P/X8/L/9/v0//f8+P/k9/X/1fT2/7vu8v+l5+j/nePf/5Tc0/94yKX/ + ZbZ1/2SzYf9fr1H/W6xF/1CpO/9HpjH/P6It/zifLf84oDD/Mp8v/zKiNv8zpTv/MaI//yWYNP84hzz/ + NzUy/7Gtrv/Y2deB+Pj4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKqlraY2SDn/ + EoIb/xCYHv8RmR//Epog/xSbIf8TnCH/FZwi/xidIv8bnSP/H54k/yWgJv8roSj/M6Mr/zulMP9GqDb/ + TqtA/1iuTf9hslz/bbdt/3O8gf99wpf/hMiu/43Rx/+W2dj/u+bi/+/59f/z+vb/wevk/6rh2/+m39v/ + lNnL/4nSuf94x5z/c76E/3C4cf9os17/X7BQ/1etRP9Nqjr/Racy/z2kLv83oi//NqQy/zWkNf85pz7/ + O6pE/zuqSf8zpUH/KoQy/zxCOv/W1NXI2t3bBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAADLydBMUWtY/xGMHv8QnB7/EZwf/xOdIP8UniH/E54k/xSfJP8XnyX/GqAm/x6hJ/8joij/ + KaQq/zClLf83pzD/Qak3/0qsP/9UsEr/XLNY/2i4aP9vvXr/esOQ/4HIpv+Lz73/mNfQ/6/i3P/W8e3/ + 8Pr1/8bv7P+s5d//ntzS/4/Vv/+Hzqr/e8WU/3K/fv9quWz/ZLVb/1yyT/9Ur0P/S6w6/0KpM/85pC7/ + NqUx/zeoNf83qjv/PqpF/0OvTP9GsVP/Pa5M/yuRNv9ufHD08e7wJQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7/FBoqjj+wMkhv/E6Ik/xOiI/8ToSP/E6Ej/xShJf8VoiX/ + F6Im/xqiJv8eoyb/IqQn/yilKf8upyz/Nakw/z6rNf9HrTz/UbFH/1q1VP9kuWP/a75z/3XDh/97yJv/ + hc2x/5PVwv+h3tb/uOfg/+f47//J8Or/q+Xa/5rcyP+J1bT/gM2g/3TFi/9uvnb/Zrll/2G1Vv9Zskv/ + UbBA/0itOP8/qjH/Nqgt/zWpMf86rDv/Pa1B/0StRv9LtVf/Ubhh/1C3Xf8tmjr/m7qfqgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7n3+ZCZQZ/xKiJP8SoiT/ + EqEj/xKhI/8UoyX/FaQl/xekJv8ZpCb/HKQn/yCmKP8mpyv/K6kt/zKqMP87rTX/RK87/02xRP9TtU// + Xbpc/2W/bP9wxX7/eMqS/4HPpv+N1Lf/l9rI/6bi1f/G7uP/vOzk/6bi0v+Z3cD/i9iu/4PRm/93yYb/ + bsFx/2W6X/9dtlH/VbNG/02wPf9Frjf/PKwx/zSrLv82rDX/Pa5A/0SwSP9Ls07/UrVd/2C+cP9iwW7/ + M6BA/5PBl4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + X5tnRAmVGv8QoSL/EqIk/xSkJv8WpSf/FKYo/xWmKP8Xpyj/Gacp/xunKf8fqCr/JKos/yqrLv8wrDH/ + OK40/0CwOP9IskD/TrVI/1a6VP9gv2P/bMZ1/3XMif990Jv/hNOq/43Xt/+U3MP/meHM/5Hgyv+P3cD/ + jtmv/4jWof+D0pP/ecyC/2vDbf9eu1z/WLZO/1CzRP9HsDz/Qa83/zquNP83rjX/PrFB/0W0TP9MuVT/ + U7xc/164Z/95zIP/ccl8/zqmSf+ayJ96AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAG2wdQoLlhz6FKUm/xenKf8aqyz/Ha0v/xSoKv8VqSv/F6or/xipK/8aqSv/ + Haos/yKrLf8mrC//LK0x/zKvNP85sTf/QbQ8/0u5Rf9YwVP/ZMhi/3HNdP94zoP/fNKO/3vWmf+A16X/ + htqw/4nduf993bT/gdut/4PYnv+B1JH/etGG/2/Kdv9kw2X/Wr1X/1O5S/9LuEP/RLY9/z6yOP86sDj/ + QLND/0i3Tv9MulX/T71b/1W/ZP9wwnb/lNya/3nLhf89qU7/rN61aAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZwfyxOrKP8brTL/LKxA/ym0O/8erDT/ + G6wx/xesLf8WrCr/GKwq/xusLP8frC3/JK0u/ymuMP8vrjH/NK80/z2zOf9JvET/V8dR/1zNWf9jzmT/ + bs9z/27Sef9t1X//c9iL/3jalv992qH/e9yn/3XYmv901ov/c9WD/3HSef9pzm3/Ycpf/1jGU/9OwUf/ + Rb5A/0C6PP87sjr/O7E9/z60Rf9EuE7/TbxY/1W/Yf9ew2z/gc2J/67ds/9uy3z/RKhV/sfwzzoAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+VHpENqST/ + F7Ax/0S8Wf89v0//NbhJ/y23Qv8ktTn/HrMz/xqvLf8cry3/Hq4u/yKvL/8mqDH/JpQ1/yWDN/8tizz/ + O6lB/0vASP9FsEv/PJNN/z+PU/9DkVn/SZth/129cP9kxXr/VqZ4/02Yev9Ppnj/YcZ3/2fTdP9hymr/ + T65c/0CVUv88kkz/PaRD/z21Pv82pj7/K4g//yeCP/8qkz//OrBI/06+Wv9dw2f/a8d2/5LWm/+76MP/ + XsRt/2OzcPHc++IOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAXgiVXEKYl/w20Kf9T0Wn/XM5t/0rFXf9BwlX/NrxK/y26Q/8nuTr/JLc3/yO2NP8itDL/ + HYw0/wqGk/8HiKr/CYem/xODhf8ujUH/JXtT/wegzv8Li7H/DoGi/wyWvv86iV3/TKli/x1+jv8IoNP/ + GX6O/06wY/9ZyWL/PZFX/xWHnP8InMr/B5zL/xKFkf8phT3/I4dH/wmFpP8Gmcb/G3hk/zuvTf9TxWH/ + Y8tv/3zQh/+t4bT/sfK7/1a6Zf+RyZjHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWKtjHRepK/8GuiP/Ss1h/3rbiP9l13f/WtFt/0zLYP9Dx1f/ + OcZM/zHFRf8owjz/Ir41/xd8Nv8GiKf/FWA8/xdWQP8Fm8j/EnZ5/xtZP/8Bu/j/EG+B/yRlQ/8YcXP/ + MoxY/0ayU/8gbWj/AL79/xttZf9IulP/R7ZR/xeCiv8Buvf/E2No/x5eRf8Od47/EX59/x9/Of8IgJj/ + BKrf/yd1Sv9EwFb/Ws1p/2rUd/+R4J3/xuvN/4zhmv9YvGf/vt++aAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaoym7CcIg/y++RP+H55X/ + gd+R/3TdjP9p3HP/XtBv/03PYf9Czlb/NctK/y3GQf8nnkD/FWtR/xdiSP8QanL/A6rf/wqEm/8XVDz/ + Abv4/w5uf/8dXED/H31l/zypRP9EvUn/IHJg/wC+/f8ecl7/Q75G/zqpRf8Nhp7/BKfb/yJ5P/8wsjv/ + GmdB/wiMp/8XfDb/B4OX/wSq3/8hYEz/P6Fa/2DFcv951oT/qOax/8vx0f9s0Hr/bMR45+X74gkAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Oa9KNQewE/4YwCv/Xdlx/6XlsP+U5Z3/h92c/3Tdev9p23v/Xddw/0/UYv9Gz1n/MZ5N/wyFnf8Buvf/ + Abn1/wSg0P8WdFb/F2E6/wC7+P8Glb7/CIeo/xODhf83rjz/PLs//x1xW/8Avv3/G3FZ/zq7Pv8xoj// + C4af/wSgz/8ihzr/Lb41/xhwOf8GjKj/E3g1/weDl/8Eqt//Dnqb/w+TuP8/hHP/h9CU/8Duxf+c4qX/ + Wblm/5vVo4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAarCSsC7sZ/x/BNP+j66r/sOW6/6nosv+T6J3/huGU/3reif9s23v/ + YNRw/zeIWf8CtfD/DXiU/xhZSf8UYFT/HIU//xRoOf8Au/j/B2t8/w1SOv8McVz/Gogz/x2XMv8PaVT/ + AL79/w5pU/8clzL/F343/waCnf8Cn8z/FIYy/xu8LP8PbzT/BIuo/w13M/8Gg5f/BKrg/xtFTv8NjLb/ + EpjG/4S6mf+17Lz/ast3/3vFhefh9ucJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWrdeKBipI/wOwCD/OsdE/7b2xP+/67// + s+u8/6PorP+Y5aP/ieKV/3vdiP9Som3/DZ3J/w93lf8bVE7/Coiq/xhwUP8RWTz/ALz5/wRsfv8HTDj/ + BHGA/wRjav8FXVn/BFNT/wC+/f8DUlL/BFxX/wNiaf8CgZ7/AaPT/wdxMP8LqSf/Bl4z/wKLrf8HWDb/ + BX+Z/wSq4P8dSVX/CprK/xGf0f+Dspn/hdqR/1y8aP666sJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABat1uc + D7Af/wy7Fv9W0l//2/Pg/8zz0f+/8cj/tOyw/6Xppv+W5aP/gNCN/1CSdf8jh5v/Fouq/xqLnf8tglX/ + Gnxs/wuHoP8Jhp//B4ad/wWDjf8HZFT/BIeZ/wOEmf8ChJj/AoSY/wOFmf8EY2H/BHuH/wODk/8Gf0n/ + CZom/wV8Xf8DgY3/CWFQ/w18jv8Rh6b/FYqp/yKKrf9TjYv/eMaJ/2C+av+M05ad3/7kAgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAwPDEE1a9XtEIsBX/C64h/13KWP/c9OD/4vLg/8/11/+/78X/t+q4/6Xnrf+S2p7/ + ecOK/2q3ff9kvHb/W8Ns/0m0Xf88p1L/M6NL/ymhQf8fpjf/GaUx/xSbLv8PmCr/CJYk/weWJf8JlyX/ + CZoi/wiYIf8LmSX/C6Mh/wutH/8OpCX/D5sr/x6fN/83ok//TKhj/1+ucv9wvYL/c8aB/2PAb/+KyY6n + z/fUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs47URO6U5tQajD/8FpxL/S8NP/8vv0f/y+Oj/ + 5Pfk/8fy1P/F7cf/tum7/6blrf+c4aL/kdyX/4LXiv9y0Xv/Zcxv/1jHYv9JwlX/Or5I/y+6P/8nuDj/ + HbUv/xSzJv8Nsh//C7Ec/wiwF/8GrhP/C7Aa/w6vG/8SsB//G7Un/yS1Mv84vEX/Vsdh/2vOdf97z4L/ + btZ4/16+afx6xISFw+bDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKLPqwQnjyd/ + CpYU+gemCf8tqS3/rd64/+z58P/i9tv/4fLi/9Pu1P/D6cb/ueW9/6/fsv+h2qT/kNWV/4TRi/94y3// + ZsVw/1W/YP9LvFX/Q7hL/ze0QP8tsDb/Hq0q/xerJP8Tpx7/D6QY/wunFv8OpRj/GKci/yOsLP88tUX/ + UL5Z/2bGbf9xx3f/cct4/2W1a+xvs3ZSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAByRJzoffhzVB5QJ/wycDv9quGr/3e/b//n8+f/t8+3/4Pbi/9H10//G7sX/ + u+a5/7Der/+g2aH/kdmW/4HQh/90x3r/Z79s/126Yf9StVb/RbBJ/zSsO/8sqTH/JKQp/xyeIP8Sohn/ + FKAa/yGhJ/8zqjj/VbZZ/2G9ZP9pwW3/aL1t/1qsYbNYnl8dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5A+CAl5CXcHhQrwBokI/yeOJv+AvYD/ + 3fHa//j49P/18fL/6ezm/9zu2//J68r/vN+9/7rZu/+p0Kr/mMea/4bGiv92w3r/Zbto/1m2W/9RsFX/ + RqlJ/zikOf8uozD/H5gn/yGUKv8ynjv/Q6pO/1WvWP9is2T/YKZj22StaFOEvIoBAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + C2sMFQR0BIYGfAbvB34G/x17HP9nqGb/uOC4/+Lz5P/q9Ov/6vLr/9rp2v/K5cv/vOO+/6narf+k0KX/ + oMme/5DAjP+Bun3/c7lz/2CxY/9DoEX/JY0n/y2PK/86mDj/SqNJ/1KoU/9XplnbVZtXZ1uNWQcAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1YDDgtlCmgCZwPHBXYF/QtuC/8jeyT/V5xW/4y2hv+zz67/ + xt3B/9DlzP/P4sr/vt66/6rXp/+QxYz/drFw/0iZRf8shir/JX4h/zCJKv80jjD/QpI+90uNRbJMikRN + Pnc7BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVZBCAHZANr + BWcBrQNmAeUBYwD/BmcF/wlpCf8Pbg//FW8U/xdyF/8UcBT/Dm4M/w9xC/8OdQv/FncQ/CF7G9ksfSGd + L4IyWCVzLRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAVWxAABE8BGANWAj0FWQVbAlYCbwJaAnsEXgN/BVwCeQhdBWsPZAtW + C1wFMxBYCQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////////////////wD////////gAAf/// + ///wAAAP/////8AAAAP/////AAAAAP////4AAAAAf///+AAAAAA////wAAAAAA///+AAAAAAB///wAAA + AAAD//+AAAAAAAH//wAAAAAAAP/+AAAAAAAA//4AAAAAAAB//AAAAAAAAD/8AAAAAAAAP/gAAAAAAAAf + 8AAAAAAAAB/wAAAAAAAAD/AAAAAAAAAP4AAAAAAAAA/gAAAAAAAAB+AAAAAAAAAHwAAAAAAAAAfgAAAA + AAAAB+AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAB+AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAA+AAAAAAAAAD + 4AAAAAAAAAfwAAAAAAAAD/AAAAAAAAAH8AAAAAAAAA/4AAAAAAAAH/gAAAAAAAA/+AAAAAAAAH/8AAAA + AAAAf/wAAAAAAAB//AAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAP/+AAAAAAAA//8AAAAAAAD/ + /wAAAAAAAf//gAAAAAAB//+AAAAAAAP//8AAAAAAA///wAAAAAAH///gAAAAAA////AAAAAAP////AAA + AAB////+AAAAAP////+AAAAD/////+AAAA///////AAAf///////gAf///////////////////////// + KAAAADAAAABgAAAAAQAgAAAAAAAAJAAAEwsAABMLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAMDAwCCQkJEIkJCR9IyMjqjAwMM48PDziQUFB7UBAQOw1NTXfKioqyCgoKKMtLS1y + MjIyNlZWVgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAGxsbAx4eHkQwMDCmRkZG8l1dXf9xcXH/goKC/4+Pj/+YmJj/nZ2d/6Kiov+mpqb/ + pKSk/52dnf9/f3//YWFh/zw8POgnJyeULy8vMklJSQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACsrKwMmJiZSQUFBzllZWf93d3f/fHx8/5GRkf+qqqr/wsLC/87Ozv/c3Nz/ + 4uLi/+Dg4P/f39//29vb/9PT0//Jycn/vr6+/7W1tf+Wlpb/W1tb/SsrK7opKSk7VlZWAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiJ0JCQr1ZWVn+bGxs/4eHh/+wsLD/2tra//Ly8v/6+vr/ + /f39//7+/v/+/v7//f39//7+/v///////v7+//7+/v/8/Pz/9/f3/+jo6P/T09P/wMDA/6Kiov9cXFz7 + JycnoiwsLBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcnJwI4ODhkUFBQ82pqav+FhYX/vb29/+Xl5f/09PT/ + 7u7u/+fn5//h4eH/4ODg/+Li4v/m5ub/6+vr//Dw8P/39/f/+fn5//39/f/+/v7/+/v7//v7+//7+/v/ + 9fX1/93d3f+8vLz/lpaW/0JCQuUmJiZFREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqBD8/P5NcXFz+cXFx/6ysrP/f39// + 5OTk/9HR0f/CwsL/wsLC/8nJyf/Q0ND/1NTU/9ra2v/f39//4eHh/+Li4v/m5ub/6urq/+/v7//09PT/ + +vr6//7+/v/+/v7/+vr6//v7+//x8fH/1dXV/7CwsP9fX1/4ISEhbEtLSwEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy8GREREpVxcXP+EhIT/ + ysrK/9PT0/+4t7f/sLCw/7q6uv/Nzc3/1dXV/8/P0P+4ubn/n6Gi/42Pkf9+gIL/dXh5/3l8fv+GiIn/ + lJWV/6enp//AwcH/1tbW/+fo6P/y8vL/+/v7//39/f/7+/v/9vb2/+Pj4/++vr7/bm5u/iUlJXtiYmIB + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwNHR0ed + XV1d/5OTk//Nzc3/sbGx/6alpf+6urn/09PT/8jHyP+YmJj/YmRk/0RHSP83OTz/PkFH/0VNUv9QWV7/ + WF9k/1BZXf9QVVj/TE1P/z9DRf8zPkX/RVBV/3R6fP+ztrT/1tfW/+zt7P/5+fn/9/f3//X19f/r6+v/ + x8fH/29vb/4xMTFxWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAD09PXlaWlr+l5eX/7a2tv+ampr/r6+v/9DQ0P+3trb/cnJx/zg4Nv8+QD//cHJy/6Cgof/AwsH/ + zdLQ/8/Y1v/P2db/0drY/9DY2f/P2Nn/ztXW/8TKyv+hq6n/cX1//z1KUP82PEL/YGBi/6SkpP/Y2Nj/ + 8PDw//j4+P/z8/P/6+vr/8XFxf9nZ2f6PT09TQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAANzc3PVZWVvqNjY3/qqqq/5iXmP/AwMD/wMDA/3R0c/84Nzb/V1dV/6CmoP/Hzcj/ + 0dfS/8/X0f/L3dD/wNrI/7rYw/+z1rz/sda7/63Wvv+w2cH/ud3I/8Tezv/M2tH/zdfQ/83Y0v+vtrf/ + c3R0/z89Pf9gX1//s7Kz/+bm5v/39/f/8fHx/+Xl5f+9vb3/VlZW62lpaRwAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA9PT0MSkpK2nR0dP+YmJj/mJiX/8fJxv+enpz/TUpL/1FPVP+mp6L/ + x8vJ/7rHuv+vyK//nMGd/429jP97tX//a6x3/1+ldP9ap3X/VKZ2/0Cndv9ArXn/SbR7/1m7fv9uyY7/ + hcuY/6LTrf+408L/xdXJ/8DAvf9qaGj/PkI9/4WFhv/c2Nf/9vX0/+7u7v/b29v/p6en/19fX7Svr68C + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDQ0N/Y2Nj/4yMjP+YmJj/w8PE/4aEiP9ERUb/ + fYB+/7vBt/+lu6r/kriN/3esdP9jlVv/UH5K/0h1T/9IfVf/TY9j/0ucbP9NpnT/Tqt7/y+oeP8fp3b/ + GqVw/xadYP8gol//Ka1c/z+6Yf9oy4D/jdGa/7TUs//Dy8L/m5mY/0U/Q/91cnD/zMvL//X19f/o6Oj/ + zMzM/4SEhP6YmJhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQBdSUlLvgYGB/5GRkf+/v7// + fn5+/0lGSP+Zopv/qbiq/4ytjP9rpGX/UXpF/zRPL/82Wy7/RXo//1GYVP9bqWX/YLN1/2O7hf9mw43/ + aMaU/z/ElP8jwYr/IMCC/yTAff8ov3r/H7Zp/x+sXf8rrVv/Rr1j/37Vff+Y0JX/ss6v/666sP9LSUr/ + bGts/83MzP/w8fD/39/f/7i4uP+SkpLR1tbWBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSoFra2v/ + ioqL/7m7uP+CgoD/U1BS/6KnnP+htJf/b6Jw/1KGRv8nRSL/JEgg/zJxJv9EizT/TptC/1urXf9muXb/ + bcCL/3DDmv90yaT/dM2s/0TIqv8uxqf/LMqe/zrRof870pf/Ls+E/zDMfP8zw3D/Mrpe/1C4Uv9tzmP/ + gdV5/5/Lof+0vq3/U1RS/3J1c//U0dL/7Ozs/9DQ0P+bm5v/1tbWUAAAAAAAAAAAAAAAAAAAAAAAAAAA + T09PBVJSUuV/f3//qqqq/4+OkP9WV1n/l5yX/5Cqlf9knWT/PGot/xUxE/8fVRn/Kngh/zeILP9Hjjz/ + T49H/2CUX/9xp4P/gLef/4DDsP+Ayrz/fM3C/2HJw/9CxMH/OsG5/0TFuP9Px7H/Rcmh/zzMjf9H04D/ + QtFm/13MWv9Uu0r/VsVP/3bVbf+ay5X/qrOq/09PTv+Ji4r/5OXk/+Li4v+xsbH/vr6+kQAAAAAAAAAA + AAAAAAAAAAAAAAAAQUFBR2FhYf+Pj4//qKio/2lnZ/96gX7/lq2N/1yZWf8mVRv/ECQP/xdXEf8odxr/ + MHYj/zp3Lv9Khj3/Y6BU/3m0bP+IypT/ldSy/5rZxP+X28v/ktvP/3vY1f9Nzcz/QsrK/0PJxP9Kyb3/ + SMWz/zy7l/8+uX3/Qr5q/2TTZf9l0lX/U8JD/0jFQf9s1mP/lc+T/46di/9TVVT/o6Sk/+vr6//IyMj/ + u7u7zvLy8gQAAAAAAAAAAAAAAAAAAAAAREREl3Z2dv+np6f/dnZ2/2lpZ/+YqZn/aJ1b/ylbI/8MHwb/ + FVoO/x5sEP8haxX/NXkp/0uWPP9aokv/YaVR/2uiW/9+tIr/l8q4/6bXzP+u3tn/reDe/5Pb4v9XyNb/ + OsDS/zW8zP86ucb/JbKx/xysmP8ipnn/Kahl/0ayXv9ixlv/WtFJ/0rBPv9IyD3/cNln/5/Pnv9rbGn/ + b29v/9TU1P/V1dX/wsLC//Dw8AwAAAAAAAAAAAAAAAAAAAAATExMv4KCgv+bm5v/X19f/4mTh/9tnmz/ + M3Mt/wkcBP8PTAn/FmML/x5sFP8xgCL/Powt/0WQNv9Rkj7/W5ZF/2mdVv92qHH/msiz/8Xk1f/f7uT/ + 1O7r/6nj6P9p0uH/RMjX/zW90P81usr/J627/xigof8Wln//GZJe/x2SUv9RqVb/XLdP/1DKQv9Cvy// + TdBB/3/aev+btJj/XFxb/5ycnP/g4OD/xcXF/+jo6BIAAAAAAAAAAAAAAAAAAAAAXV1dv5eXl/93d3f/ + amlp/4Whgv9EjT//DzAL/wk8A/8NYgz/HHIQ/yN5Ff8vgyD/N4cl/0iNM/9Qjzb/XJNB/2ucV/98rHr/ + m8u2/9bs4P/q8+r/6fby/8jv8f962er/V9Dh/1TK3v8+wM//LLTB/yKpr/8YnY//FpBn/zyZXf9anlf/ + V55O/02pQ/9Gvjv/OcAs/2rlX/+X1JL/cnVy/29vb//c3Nz/yMjI/93d3R0AAAAAAAAAAAAAAAAAAAAA + ampqv5ucnf9gYmD/eYN6/2GWWv8jZR7/BzME/wpiBf8XdxP/Fn0P/ySCF/8vhyH/OIgj/0WLKf9SkTT/ + YJlG/26jYP9+s4b/l8u0/9/v5P/v9e//8/n0/+X49f+D3uv/V9Ti/2fW5f9Hytf/NL7J/y+0vf8dp5j/ + H5tx/2atcP9mp2D/VJxO/0mYQ/87mzn/Prcr/03RQ/+L4YL/jKOI/15ZXv/Gysf/zMzM/93d3R4AAAAA + AAAAAAAAAAAAAAAAcnFxv5eamv9YWFb/dI50/0SKPP8KUQj/DVwO/xR4Ev8ZgRb/FoAQ/yKCF/8thhv/ + OIoh/0WOK/9UlTn/YZ1N/26nav+Atoz/i8i1/9Lr4v/u9/D/9Pr1//b7+v+l6+7/atvm/1/Y5v8+zNv/ + OMHO/zO4wf8irKX/Q6uB/3Szdf9qq2P/V6FS/0SXQP81jzL/MI8r/0K+Mf+E7Xn/osmg/1lVWf+oran/ + 0dHR/+Dg4BsAAAAAAAAAAAAAAAAAAAAAe3t7v4qPj/9dW1n/ZpNh/yqAIv8MYQf/DXsR/xGEFP8WhBX/ + HIYY/yOGGf8tiRz/OY0j/0eSLv9WmD7/Y6BT/3Cqb/+CuJH/iMez/7Li3f/q9/L/8/v3//j8+f/O9vf/ + pu7x/4Lj7f9D0Nz/OcbQ/zS8w/8utK7/WbOF/3azcv9orGP/V6NT/0ebRP84kjb/Loov/yWMH/974nL/ + p9qm/11fXv+Vl5b/19fX/+Pj4xcAAAAAAAAAAAAAAAAAAAAAfn5+q4WKiv9ZW1j/V5FQ/x14GP8LdxD/ + DIUT/xCGFv8Uhxj/G4kb/yKKHP8sjR//OJEl/0eWMf9WnED/ZKRW/3Ctc/+AupT/i8m0/5bd4v/f9O// + 8/z3//n9+P/l+/n/ufTz/6Dr8/9P2N7/PMzU/zXCxv8turT/VbWM/3Szb/9lrWH/VaVS/0aeQ/86mTn/ + LpYu/yCEJf9guF3/sOSr/2VpZv+Li4v/1tbW5ezs7An4+PgBAAAAAAAAAAAAAAAAjIuMTIiJiv9UWFT/ + To1K/xF1Ef8Phhn/EYwZ/xKLGf8WjBr/G40b/yKPHf8skiD/OJYm/0eaMf9WoEH/YqdV/22ucf99upD/ + hcav/5Db2v/H7uv/9/v3//n9+v/0/fn/zvj1/5Ts7/9b2+D/QNDW/zjGw/83v7j/SbiU/2evZf9hqlX/ + UqRI/0SgQf85nDr/MJoy/yWQLP8jhCX/tOmv/2FmYv+Uk5P/2trbxvHx8QEAAAAAAAAAAAAAAAAAAAAA + iomLBJaTlOJNUk3/P4I+/xCBGP8NjBv/FJIb/xORHP8Wkh3/G5Me/yKVIP8smCL/OJso/0aeMv9UokD/ + YalS/2uvbf96uov/hMSp/5HY1P+87Oz/7vn3//n9+P/5/fn/4Pn5/5rt7v9u4OL/WtXW/1LOzP9Vx73/ + Wr6V/1uqUv9YpkL/S6E6/0GfOf84nTb/L5ox/yudNP8aiiD/jMKH/1VZVf+lpKP/2trafff39wAAAAAA + AAAAAAAAAAAAAAAAAAAAAKSio39QTFD/Lnoy/xCQHf8Okhz/EpQe/xSWHf8Xlx7/HJgg/yKaIf8rnCT/ + Np4o/0ShMv9RpD7/XqlN/2iwZv92uYT/hcOk/4zSyP+r5eX/3PXy//j89f/4/Pr/5Pn5/6rt7P+R5eX/ + gt3c/3HOvf9zw5j/Z7du/1yrRv9Ppjf/Q6Iv/z2gMv80nS//MZ8x/y6hN/8mmjP/UZxT/0pHRv/DwsH3 + 3NzdKPj4+AAAAAAAAAAAAAAAAAAAAAAAAAAAAL27viJiYGT7IHkn/xCXHf8Rlx7/E5gg/xOaIP8WmiH/ + Gpsi/yGdJP8onyb/M6Eq/z6kMf9MqDv/WKxL/2WxYP9zuXr/fsGX/4bLt/+U2NX/v+no//X79v/i9fH/ + wOrp/6/m5v+b39b/iNO6/3PAi/9qtWn/YbBT/1erQ/9Kpzb/P6Mu/zehLv81oTH/NKQ4/zenQf8xokD/ + LIg0/0tLSP/f396c5ebkAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALa1ugGDi4nEFHsg/xCbH/8SnCD/ + FJ0h/xOeI/8WnyT/GqAl/x+hJ/8moyj/L6Us/zmnMf9Gqjv/U69J/1+0W/9sunL/eMKN/4PJq/+R08n/ + q+Da/+D08P/f9fH/r+Xh/5zbz/+K0rX/fseZ/3K+fP9ot2T/XrJR/1OuQv9Hqjb/O6Uu/zalMv83qTf/ + PKpC/0OvTf9CrlD/LJY4/3iDedvo6OkPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACutrFq + HI8q/xOiJP8ToiP/E6Ej/xShJP8WoiX/GqIm/x6jJv8lpSj/Lacr/zapMf9CrDn/T7BF/1q2Vf9nvGr/ + csKC/3vJnf+L0bj/nNzQ/73q4v/d9ez/r+bc/5fbxP+D0an/d8eN/22+cv9jt1z/WrNM/0+vPv9DrDT/ + N6kt/zaqM/88rT//RK5G/061W/9YvGb/NKBB/5u8n3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACbq50ZG5Qq+BGhI/8SoiT/E6Ml/xSkJ/8WpSf/GKUo/xymKP8ipyv/Kqku/zOrMf8+rjf/ + SbFA/1K2Tf9evF//a8R2/3jMkf+E0qn/kdi8/5/gzv+s59v/nODN/5Patf+H1aD/fMyI/2vBbP9duFb/ + VLNH/0mwO/8/rjX/Nawx/zuuPP9Eskr/TrhU/1q3Zf9yy37/PqdL/5TCmGAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZciyxSkJv8YqCr/HKst/xSoKv8WqSr/GKkr/xupK/8gqi3/ + Jqsv/y6tMf83sDX/QbM8/025SP9dw1r/bstx/3jOhv9805b/gNam/4nbtf+F3bn/gtyy/4XXn/9/047/ + c8x7/2PCZP9WulH/TbdF/0O0PP88sTf/PbE+/0e2Tf9Nu1f/VL9h/3PDef+P25f/RKtT/6nasVAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ0fkROtKf8mrDz/LbRA/yGuN/8brjH/ + F60s/xisK/8drCz/I60u/yqtMP8wqzP/Oa44/0q9Rf9YyVT/XMhd/2fJb/9ozXb/btSF/3XXk/9005z/ + c9Oa/3HUh/9w1Hz/aM1t/1zFW/9RwEz/Rb5B/z22PP84rDv/Oq9C/0S3Tv9Tvl3/XsJr/43PlP+Z3KP/ + R61Z/cny0SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIoeVw2pJP8wvkn/ + TsZg/z6+Uv8xukb/Jrc7/x+zM/8fsjH/IrEx/yCVNv8VfmP/F4R1/yyQTP89pkj/Iop6/yCHhP8kioj/ + Q59v/1Gucv8ri4//Lo+L/1q/bf9axWb/OY9j/yGHgf8jhW3/M5o//yiRTv8WgXr/HYVg/z2yTf9ZxWX/ + bsp5/6fgr/+O3Jr/abh06Nv74gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QZpNHRKtKP8gvzv/dNuE/17Tcf9Py2P/QMVV/zTESP8rwT//I702/xKFW/8Ke4b/FWNU/waZwv8eaUX/ + Bp7L/xNvev8dZ1v/KI90/0ChVP8Mk7r/FIGN/0u7Vv82k1f/BLDn/xB5hv8SeIP/EYKD/xxxO/8CreP/ + HnZi/0bAWP9i0G//hduR/77sxv9ozHj/ls6bmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAABOrI7sVviv/cd6C/4Xflv9y3YP/ZNRz/1DRY/9AzlT/M8hG/yWVR/8Sal7/ + DX+P/wKx6f8VY1D/BZ3J/xBseP8Yc2v/N55C/z6wR/8Mk7T/FoWF/0K/Rf8jg1r/A6vh/yaLPf8nlTv/ + CnyP/xVyN/8CrOH/GWdo/z2YX/9tynz/o+Ss/7Ppu/9fwm37reOzKwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6mOzcJuxb8NMZI/6zrs/+e4az/h+SP/3Xehf9k2XX/ + VdNm/yqPZ/8CsOn/C4ek/xBxcf8cfTr/BJ7J/wd/mv8LfIz/KJQ4/y6jOf8JkrH/EYKA/y+uOv8ZeVX/ + A6fZ/yCWNv8foDP/B3yN/xBvNv8CrOH/Em6J/wqdzP9Vmon/t+u+/3jRhP97w4Wr4P/lAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLFeQEjqiysDr0g/2TXb/+/8MX/ + sOq4/53mp/+L4pf/edyG/z+Vdv8Imsj/GldQ/w1+kf8XcD3/A57K/wVlbP8GYFT/BWZe/wZfSP8Cja// + A3B8/wRxY/8EVlL/Aanc/wmELf8Kjiz/A3mP/whaNv8BreL/GFZo/wmf0P9Gl6X/k9ye/2fDdOy+6sQf + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0w3Mq + JrIy9w+7Gv+M3pT/1vPa/8PwyP+w67D/nuan/4DMj/9Gk4T/Jo6b/yqPhf8ti1j/FYWF/w+Fh/8KiIL/ + CnJR/waFf/8Egn3/A4J9/wWBev8FbVf/BYJ6/wiLOf8IkDT/BYFx/w5tUf8YhY3/IYuX/zqQnv9rr4T/ + acNz/JDVmV0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAdsp9URenIfMNrxf/iNiM/+X25v/Y9Nj/xe/L/7LquP+c4KX/iNWU/3vThv9nzXP/ + VMJj/0W8VP8zuUT/JbY4/xuvMP8RrSb/Cqsg/wmrHv8Hqxn/Cqsd/w2uHf8RsSL/GK8r/y+0Qf9VwGT/ + b8Z6/3HTfv9owXP2hceLXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWgRDIPlRbYCKUN/2C/Y//g8uT/3/fd/9rw2//G68n/ + tuS6/6jdq/+T1pf/gdCI/3DJeP9YwWP/SLxT/zy3Rv8tsjj/Hq4r/xSrIf8Ppxn/DKgW/w+nGv8dqyf/ + M7M9/1C/Wv9rx3L/c8t6/2W5bd9vuHg6t+2/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjmzgNH4AdkQWQB/kooSn/ + qdOn//H48f/q9Or/2vXb/8nsx/+75Lr/p9qo/5XWmf+Byob/b8F0/125Yv9Os1L/PK5C/y6oM/8koif/ + F6Ad/xieH/8tpDP/ULRU/2K7Zf9pvW37XbBkm1ieXxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAxxDTIGgQi0CYIJ/D2ZPP+iyZ//5/Dl//Hy8f/f7+D/y+XN/77ewP+n1qr/lc2Z/4nHiv9zu3L/ + Y7Nk/1OtVv81nzf/JpQp/y+WNP9Fp03/U6xX/V6oYLtcm185Z6xrAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAQZxABB2cGMQdrBpoFcAXvHX4e/1KbU/+TvpD/vdS4/83iyf/N48r/ + vtu7/6fQov+Fu4D/X6db/zaNNP8rhSf/M44u/0SUP/JRlkqgTJBJOFCOUQEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWAUIB2MDRgZnAokBYgC/ + BGMD5ghmCPcOag79EWwR/w9rDv0NbAn3DnAK6Bh3EsImex6NL4EtTCVzLQoAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAFV4UAgxYDBADVQMbBVgEHwhYBBsUXg8QHmcaAgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD//4AB//8AAP/8AAA//wAA//AAAA//AAD/4AAA + B/8AAP+AAAAB/wAA/wAAAAD/AAD+AAAAAH8AAPwAAAAAPwAA/AAAAAA/AAD4AAAAAB8AAPAAAAAADwAA + 8AAAAAAPAADgAAAAAAcAAOAAAAAABwAAwAAAAAAHAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAA + AAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAQAAwAAAAAADAADAAAAAAAMAAOAAAAAAAwAA + 4AAAAAAHAADgAAAAAA8AAPAAAAAAHwAA8AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAA + AD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAH8AAP4AAAAA/wAA/wAAAAH/AAD/gAAAAf8AAP/AAAAH/wAA + //AAAA//AAD/+AAAP/8AAP//AAH//wAA///wH///AAD///////8AACgAAAAoAAAAUAAAAAEAIAAAAAAA + ABkAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEVFRQQxMTEfMDAwOSkpKUYoKChENzc3NkBAQBpYWFgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwAjIyMhKysrdUBAQLxLS0vwV1dX/mlpaf9zc3P/ + dXV1/2lpaf9eXl79U1NT6jk5ObIoKChoPDw8F1dXVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + KSkpACUlJTw/Pz+0V1dX/HNzc/+Ghob/mJiY/62trf+8vLz/yMjI/8nJyf/Jycn/xMTE/7u7u/+wsLD/ + kJCQ/11dXfcyMjKjKioqKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiG0RERKtaWlr9dXV1/5ycnP/Jycn/ + 6Ojo//f39//9/f3//v7+//39/f/+/v7//v7+//z8/P/6+vr/8vLy/+Hh4f/IyMj/q6ur/2ZmZvktLS2U + LCwsDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAjIyMAOzs7T1FRUexvb2//oKCg/9nZ2f/v7+//6Ojo/+Hh4f/e3t7/39/f/+Xl5f/q6ur/ + 8vLy//n5+f/6+vr//v7+//v7+//8/Pz/+/v7/+7u7v/Ly8v/oqKi/0xMTN0oKCg2AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIBQ0NDc1xcXPuEhIT/ + ysrK/9vb2//IyMj/vb29/8TExP/S0tL/2NjY/9XV1f/T09P/0NDQ/9HR0f/W1tb/4uLi/+np6f/w8PD/ + /Pz8//39/f/6+vr/+fn5/+bm5v++vr7/Z2dn9CQkJFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA3NzcARUVFeF1dXf6dnZ3/zMzM/7a1tf+ura3/ycnJ/9DQ0P+xsrL/ + iouM/2Rmaf9MUFT/P0RJ/zpARP87Qkb/TlBS/19fYP9xdHf/kpaZ/7/Bwv/l5eT/8/Pz//z8/P/39/f/ + 7+/v/8vLy/9zc3P5KCgoVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Pz8/XV1dXf2jo6P/srKy/6Ojo//FxcX/v7+//4CAf/9DQ0P/R0pK/3R2df+Ulpb/qbKx/7W/vv++yMf/ + ucHC/7G5uv+co6P/e4eH/0pZXP8vO0H/YWRn/6enqP/e3t7/8/Pz//b29v/w8PD/zs7O/25ubvY5OTk8 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzc3KlhYWPSYmJj/oaGh/6qqq//ExMT/ + e3t6/z8+Pf9ucWz/r7Ww/9DV0f/O1tL/ydvQ/8Hayf+82cT/uNjB/7XYxf+528j/w93P/8rZ0P/O19H/ + wMvH/42SlP9QT0//XVxc/7SztP/r6+v/9vb2/+vr6//IyMj/X19f42lpaRMAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPj4+BUtLS8h9fX3/lJSU/7W2tP+oqaf/T01N/2tqa/+3urX/vMe//6vEqf+YwJX/ + g7WD/2+od/9dn3H/V6Jz/1Gjdf86pHX/Oap2/0iyd/9ev4P/esqS/5nRp/+00r7/x9PH/5SRkv9GSET/ + g4KD/+Pg3v/09PT/4+Pj/7Gxsf9lZWWkv7+/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQmJnZ2f/ + jo6O/7S0tP+TkZT/TU5P/5OZlf+tuq3/j7SN/3Ojaf9TfU3/RG1D/0Z5T/9RkV7/VKVu/1WveP9XtoH/ + M7KA/yCwfP8erXH/G6dj/xyoWP8xsVv/XMV2/5LTmf+yzrD/tLmx/1xaW/9xb23/1tbW//Dw8P/W1tb/ + kJCQ/aSkpD0AAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAZWVlbeg4OD/6mqqP+QkI//VlVU/6Wsnv+TsJX/ + bqBl/z5oN/8rTSX/OWwt/0uOPv9Xp1r/Ybhy/2rAiv9tx5f/cc2g/0DKn/8lx5T/KMqO/zHMjP8lxHj/ + KL1t/yq0Xv9Kv13/etBz/5bRkf+xyLP/aWhm/3Fycf/X19f/6ejo/7+/v/+enp679PT0AQAAAAAAAAAA + AAAAAAAAAABERERVbGxs/5ybnP+am5v/XFxd/5+moP+CpoP/UYhF/yBAHP8gUhv/LXol/0GONf9PlkX/ + YZ5j/3Otif94uqH/ecOy/3bIuv9Pw7v/OcG5/znFsP9My6//P8ya/zvRiP8/0Xb/Scdc/1m+Tv9hy1n/ + htGA/63Dqv9hYmD/hISE/+bm5v/Z2dn/q6ur/eTk5BsAAAAAAAAAAAAAAAAAAAAATU1NtIKCgv+oqKj/ + Z2Zn/4iSif99pnr/P3c1/xIqEP8ZVRL/Kncc/zZ4Kf9EgDf/XZlQ/3awbf+Ky53/mNa7/5fayf+R287/ + ddfT/0fMy/9Bycb/Scm+/0vGtP88u5P/Q714/1PLaP9m0lf/U8NF/1DKR/9903j/osCf/1dZV/+ho6L/ + 5+fn/7m5uf/Q0NBSAAAAAAAAAAAAAAAAT09PDVlZWfaampr/fX19/3R2c/+IpoX/RIE5/w4iCv8VVw3/ + HWsQ/yhwHP9CizT/VJxF/2CjUP9sol7/hLmX/6PTxv+x3tf/suHf/5Da4/9MxtX/Nb7O/zi6yP8psrX/ + G6mV/yKjcv8vqF3/Wb5d/1zOTP9JwT3/T85E/4TVfv+KmIn/aGdn/9PT0//Kysr/y8vLigAAAAAAAAAA + AAAAAEdHRyBqamr/m5ub/19fX/+KnYf/To5L/xExC/8LRgf/FmQK/yJzGP80hCP/P4wu/0+SO/9Yk0D/ + ap1X/3yuf/+23c//4e/j/9/y7f+p5Or/Y9Lh/0LG2f84vc3/KrC//xqhov8VlHj/Go9X/0CbU/9drlH/ + TcNA/0G+L/9b21L/m9KX/2ZpZf+bm5v/1tbW/8vLy5IAAAAAAAAAAAAAAABKSkogfn5//4KDgv9ucW// + bJlm/yJeHv8HNgP/EWcM/xp4Ev8lfxf/Moci/z+JKf9NjTH/XpVC/2+hYP+BtYz/v+HV/+rz6f/v+PL/ + 0PP0/27X6f9Z0N//Ucra/zG6x/8nrrT/GJ+I/zObaP9jpWD/VZtO/0yeRP8/tDf/RMk0/4Lgev+HmIX/ + b25v/9na2f/Ly8uZAAAAAAAAAAAAAAAAXFxcIIeIiv9tbmr/c4V0/0WLPf8JRgn/DmQM/xd8E/8WgA// + I4IX/zGHHv8+iyT/T5Ey/1+bSf9vqGv/g7uV/7Hc0P/s9ez/9Pn0/+z6+f963uf/ZNnl/0vQ3v83wc3/ + MLa9/yCmk/9arnr/bq1n/1ihU/9Dlj//NZEx/zarKv926Gf/m8WY/1tYXP/Iy8n/0dHRlwAAAAAAAAAA + AAAAAGtrayCMj5D/Yl9e/2iNZf8nfCD/DmUJ/w6AE/8VhBX/G4UX/ySGGf8wih7/QI8o/1GWOP9in1D/ + cqty/4W9mv+Y08n/3/Tu//P79v/1/Pr/ufLz/5Tp8f9Q1N//OcbS/zO7wf80sqH/b7R5/22uaP9ZpFX/ + RZlC/zSQM/8lhiT/Ys1V/6Pbov9YWln/u7u7/9fX15MAAAAAAAAAAAAAAAB3d3cQj5GS9lhaWf9bjFT/ + GHYV/wx+Ev8OhxX/E4cX/xuJGv8jixz/L48g/z+UKv9Smjv/YqNU/3Kvdv+Dvpz/j9TP/8Ls6f/0+/f/ + +P34/9v5+P+s8PL/ad7l/z3O1v80wsT/NLir/2m0ef9rsGb/V6ZT/0WeQv82mDX/KJAr/zmWOv+u56n/ + X2Je/7Gxsv/Y2Nht+Pj4AgAAAAAAAAAAAAAAAJyZnKZXWlj/T4ZL/w95E/8QjBv/Eo4a/xWOG/8ajxz/ + I5Ee/y+VIv9AmSz/UZ88/2GnU/9ur3P/f72Y/4rQxP+r5+X/9fr2//n9+v/x/fn/tPPz/2zh5P9J0tf/ + P8fE/z/AtP9Ys3b/YapT/1GkRf9CoD//Nps3/yuXL/8chSL/l9OT/1hcWP+8vLz/39/fQAAAAAAAAAAA + AAAAAAAAAACup6pAYGBg/zx5Pf8Rih3/DY8a/xSTHP8WlB3/G5Ue/yOXIP8vmiT/Pp4t/0+iO/9fqE7/ + bLBt/3y9kP+Jy7n/qOTl/+H29P/5/ff/9/z6/8Pz8/+G5uf/btvb/2bQyf9qx6r/YLJl/1inQP9IoTP/ + Pp81/zKbMP8vnzT/JZkv/2GnYP9SUlD/zc3N4uXl5QkAAAAAAAAAAAAAAAAAAAAAtLSyAnRuddgqcS// + D5Ud/xGXHv8TmB//FZkg/xqaIf8inCP/LJ8m/zqiLf9KpTj/WapK/2ixZP93u4X/hcar/5TX0v/C6+r/ + 9vv2/+L18//C7vD/oeTi/4/azf9wwZL/ZrRm/12tS/9PqDr/QaQu/zigL/80oDH/NKQ5/zCiPv8wjjn/ + W1hX/9/f3YD4+PgBAAAAAAAAAAAAAAAAAAAAAAAAAACWmJuBG3Ql/xCbH/8SnCD/E50i/xWeI/8ZnyX/ + IKEn/ymjKf81pi7/Q6k3/1KuSP9htF7/cLx6/37Fnf+N0ML/qd/a/+X28v/O8Oz/pN/Y/47Vv/9/yJ3/ + cb16/2a1Xv9ZsEn/S6s5/z2lL/83pTL/N6g5/z+rRv9Crk//L5k7/3yEfMrp6+kHAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAwsTFKTCUPP0ToiT/EqEj/xOhJP8WoiX/GaMm/x+jJ/8npin/Magu/z6sNv9NsEP/ + W7ZX/2m+cP93xo7/hc6v/5nazP/B6+L/zfDp/6Lgz/+J1bH/eciQ/2y9b/9gtlb/U7FE/0atN/83qi7/ + N6s1/0CuQ/9JsVD/WLxn/zulR/+avZ1iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTBwwEeli3P + EaEj/xSkJv8VpSf/FaYo/ximKf8cpyn/JKks/y2rL/85rjT/RrE+/1G3TP9gv2P/ccmA/3/Qnv+L1rT/ + md/I/5jizv+R3Ln/iNah/3zOh/9nwGj/WbdQ/0yyQP9Brzf/OK40/z+xQ/9Kt1L/V7lg/3fMgv9IrlX/ + mMeeTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpkekRapKf8grDP/Ha0x/xeqLf8Xqyv/ + Gqsr/yCsLf8orS//Ma8z/zyyOf9PvUn/Yctd/3HPdf9104X/d9iV/4Dbpv9+3a7/fNic/3rUif9vznb/ + YMVe/1G+S/9Fuj//PLM5/z6zQv9IuVH/Ub1d/2fEc/+b3KH/S69b/7bmvzQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAA+THlcOrCb/PLtT/zu9T/8ut0P/IbQ2/xywL/8fsC//JKsw/yKKOv8lhkv/ + O6dE/0KsUP82kGH/O5Fp/1Csb/9buHz/RZiE/1Kyev9l0HH/T6tf/zeRX/83mEn/N6s+/yaJUP8mjU7/ + QbVO/13DZ/9/0Ir/qeKy/1u2afTf/OUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kkEd + D64m/0LMWv9m03f/Uctk/z/DU/8xwkX/J786/x2hNP8Jg5b/EXJv/wyOpv8bcFj/BaLS/xlwbv8kjXz/ + O5VY/wWp3/8yjVv/Rq5U/wufxv8PhJb/DYSc/x5+R/8Ika7/GIWC/0jAWf9o0XT/p+Gv/4zfmf+Axom0 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGwIrsmwTv/ieSX/3zfj/9p1nb/ + UtJl/z/OU/8wt0b/FHRk/wuJnv8Ep9f/FGNS/wWi0v8TeHz/MpZF/ziiRv8Fo9T/MJRG/zGXQ/8Eptj/ + KJU8/xuFU/8Qf2X/B5Cl/xN+kP88mmz/e9GI/73sw/9ryHf/ldmeQwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAmpTE3D7gd/WLXcf+s6Lb/l+eg/4Dgjv9r2nv/TLZk/wihz/8Rcnz/ + FG5c/xR5UP8Dncr/CmVf/xl+Pf8dhzj/A6LT/xl9Ov8YeT//AqPT/xmbMf8RiEr/CXxl/wWPpP8SbYj/ + CpzN/3avmP+U3p3/d8WCvdP02QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + fsuAAC2vNKwTvCL/kueb/8Xtyv+u7LX/mOaf/3rSiv8rk5z/FHSM/xSDkf8VdWP/BJW+/wVvfv8Eb3v/ + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHyU9PT2T + VVVV6m5ubv+JiYn/nZ2d/6urq/+wsLD/sLCw/6Ojo/+AgID/YWFh4jQ0NIYqKiobAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIhFGRkaY + XV1d+4aGhv+2trb/29vb//Dw8P/5+fn//Pz8//z8/P/6+vr/9fX1/+vr6//V1dX/tbW1/3FxcfY2NjaF + LCwsCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT05 + U1NT4n9/f//Dw8P/5+fn/+Hh4f/b29v/29vb/+Dg4P/o6Oj/8PDw//f39//9/f3//Pz8//z8/P/5+fn/ + 39/f/7CwsP9ZWVnUJCQkJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCTl5eXveioqL/z8/P/76+vv++vr7/zc3N/8vMzP+2t7f/paeo/5mbnP+cnp//q6ur/7/AwP/d3d3/ + 8fHx//n5+f/8/Pz/9PT0/8/Pz/9wcHDtJiYmNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEFBQUFiYmL4rq6u/7Cvr/+3trb/wcHB/5WVlP9ZW1v/VFZW/2ptb/90fn//foeJ/3qChP95fX7/ + XmZn/z5MUP9ka27/r7Cw/+jo5//29vb/9fX1/9nZ2f91dXXuMzMzKwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA3NzcbXFxc6qGhof+fn5//v7+//4aFhf9QT07/gYWA/7zBvf/R19T/x9jN/8HYyP+92MX/ + utfJ/77ZzP/L29L/yNHM/56pqP9qbW//XVxc/7W1tf/v7+//8vLy/9TU1P9qamrZaWlpDAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAE5OTrKFhYX/oKCg/66vrf9YV1b/hIWD/7rEu/+kv6T/kLqL/3Sld/9gnHD/ + VJ5x/1Cjdv83pXX/Nqp0/0axdf9ow4b/j9Cf/7LTuv+0t7L/Xl9c/4OAgv/n5uT/7Ozs/76+vv9tbW2S + AAAAAAAAAAAAAAAAAAAAAAAAAABDQ0NEbW1t/5ubm/+hoKH/W1tc/6Crov+QsJD/aJVd/0RqPf9AbDz/ + To5W/1yqbP9euID/YsGL/zS9i/8hu4H/JLl2/xuwZP8or1z/UcBt/5HTkP+yy6//en56/3Jxcf/h4eH/ + 4eHh/56envu2trYoAAAAAAAAAAAAAAAAAAAAAFZWVr2Li4z/o6Si/2RiY/+frJz/caBq/zdfL/8kUB// + N34s/02YQP9gqWb/b7iK/3LBov90ya//QsWv/zHGqf8/zab/OM6Q/zTNfv81w2X/Wb9V/3DPaf+ezZz/ + gYV//3t8e//m5eb/yMjI/62trZgAAAAAAAAAAAAAAABCQkIiaWlp/qOjo/9oZ2n/k6OQ/12TWf8dPhj/ + GlUT/yx4IP8+fzL/V5NL/3StcP+Ny6f/ldbC/4/ZzP9q08//QcjH/0fIwP9KxrL/Pr+P/0XEcP9k0V3/ + VMNI/13PU/+WzpX/bHNr/5+hoP/g4OD/ubm50vLy8gIAAAAAAAAAAEZGRm6FhYX/g4OD/3+Ff/9pmmD/ + FzgT/xVSDP8fbBL/NX0n/0yWPf9eoE3/bqNi/5HDq/+y3dL/ueTg/4nY4f9CxNT/NbvL/yyzuv8appH/ + I6Fn/0OvW/9dyE//ScM8/13TUv+XwpT/ZWRj/9DQ0P/Hx8f/7+/vCQAAAAAAAAAAWVlZf5eXl/9kZGT/ + ep52/yRYIP8KPwX/FmkN/yZ6Gf82hyT/So41/1iSPv9uoF7/kcGj/9rt4f/n9O//q+bt/1rQ4f9Ixdf/ + LrXD/x2kpP8Xk27/O5hY/1qjUf9Mt0D/P8Ix/3vgc/99inv/m5ub/8/Pz//f398SAAAAAAAAAABra2t/ + iYqJ/213b/9Ki0P/CT4I/xBtDP8XfhH/JoMZ/zWIIv9IjSz/XZhD/3KobP+Oxan/4vDm//P48//W9PX/ + X9bk/13U4/83wc3/K7K3/yOhff9qrm3/WqBU/0SXP/85pi7/XNdP/5O9j/9wb3H/1dbV/93d3RQAAAAA + AAAAAHl4eX95enn/aYRn/yJ1Hf8ObA7/FIIV/xmEFv8lhhn/Nosg/0qSMf9gnUz/dK13/4fDqv/K6uT/ + 8vr2/+36+f+e6+//Z9vm/znH0/8wub7/SLGP/3Oxb/9cpVf/Qpc//y+KL/9Esjf/nd2c/1xfXf/V1dX/ + 4+PjEAAAAAAAAAAAgYGBY3B0dP9chVb/FXYU/w6FFf8Rhxf/GYka/ySMHf81kSP/S5g0/2CiUP90sXv/ + h8Sr/6Pi4v/z+vb/9v34/8r39f+J5+3/PtDX/zPBwf9Ft5n/brFq/1mnVP9DnkD/MZcx/yKGJv+g35z/ + XmFe/9LS0+rt7e0FAAAAAAAAAACMi4wNdnV28kt6Sf8PgRj/EZAb/xSQG/8akR3/JZQg/zWZJv9Knjb/ + XqZO/3Cxdv+CwqP/mN3a/+j39f/5/fn/5fr4/4np6v9Y1tr/TcrG/1G/of9eqlL/T6M//0CfO/8xmzP/ + JpUu/2y0av9dYFz/2drbtfb29gAAAAAAAAAAAAAAAACAeoCZNWo4/w+SHf8RlR7/FJce/xqYIP8kmyL/ + Mp4n/0ajNP9aqEn/bLJs/3/Amf+R1cz/xu7s//f89v/k+Pj/p+vr/43f3P9yx6b/Z7hu/1eqQv9FozD/ + Op8w/zGfMf8voTn/OpZC/25sa//b3NtY+Pj4AAAAAAAAAAAAAAAAALSwuD0qcDP/EZof/xOcIP8UnSP/ + GZ4k/yGgJv8uoyr/Pqcz/1GtRv9ktWL/dr+I/4fMtv+m3tn/6vjz/7fo4/+a2s3/gcul/3C8eP9is1b/ + Uaw//z+mMP83pTL/Oag9/0CtS/8xmj3/f4Z/uNrd2wEAAAAAAAAAAAAAAAAAAAAAv7/FAT+ZSuESoiT/ + EqEj/xSiJf8Yoyb/H6Qn/yqnK/84qzP/Sq9B/1u3WP9twXn/fsyh/5bYxv/D7OL/tunf/5LZu/97y5P/ + ar1r/1u0Tv9Lrjv/Oaov/zmsOP9Er0f/VLhh/0WsUf+YvZxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + FpcmkhSkJv8ZqCr/FKcp/xioKv8cqSv/Jasu/zGuMv9Bsjv/UrpN/2jHbP96z43/g9ao/4/dvv+H3bv/ + h9eg/3nOhP9iv2H/UbZI/0KyOv87sDn/RrVM/1G8XP93yX7/WLlm/6LSqTgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAOmR5XFKws/zW3Sf8nsjz/HLAw/xquLP8hri7/KaYy/zGcOP9Ju0f/ULdV/1ewZv9iwXf/ + bMiK/2O8jf9s0X7/YsZr/02uVP9DtkL/N6Y9/zKeQP9GuFL/X8Nq/5/apv9du2z7y/PSEgAAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmSetupStatusDisplay.Designer.cs b/AllPurposeAutoSetup/frmSetupStatusDisplay.Designer.cs new file mode 100644 index 0000000..211f3cf --- /dev/null +++ b/AllPurposeAutoSetup/frmSetupStatusDisplay.Designer.cs @@ -0,0 +1,81 @@ +namespace All_Purpose_Auto_Setup +{ + partial class frmSetupStatusDisplay + { + /// + /// 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(frmSetupStatusDisplay)); + this.statusRtxtbox = new System.Windows.Forms.RichTextBox(); + this.btnCancel = new System.Windows.Forms.Button(); + this.SuspendLayout(); + // + // statusRtxtbox + // + this.statusRtxtbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.statusRtxtbox.Cursor = System.Windows.Forms.Cursors.IBeam; + this.statusRtxtbox.HideSelection = false; + this.statusRtxtbox.Location = new System.Drawing.Point(-1, 0); + this.statusRtxtbox.Margin = new System.Windows.Forms.Padding(2); + this.statusRtxtbox.Name = "statusRtxtbox"; + this.statusRtxtbox.Size = new System.Drawing.Size(726, 554); + this.statusRtxtbox.TabIndex = 0; + this.statusRtxtbox.Text = ""; + // + // btnCancel + // + this.btnCancel.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.btnCancel.Location = new System.Drawing.Point(322, 558); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(75, 33); + this.btnCancel.TabIndex = 1; + this.btnCancel.Text = "CANCEL"; + this.btnCancel.UseVisualStyleBackColor = true; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // frmSetupStatusDisplay + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(725, 596); + this.Controls.Add(this.btnCancel); + this.Controls.Add(this.statusRtxtbox); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(2); + this.Name = "frmSetupStatusDisplay"; + this.Text = "Setup Status"; + this.Shown += new System.EventHandler(this.frmSetupStatusDisplay_Shown); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.RichTextBox statusRtxtbox; + private System.Windows.Forms.Button btnCancel; + } +} \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmSetupStatusDisplay.cs b/AllPurposeAutoSetup/frmSetupStatusDisplay.cs new file mode 100644 index 0000000..ba8ec58 --- /dev/null +++ b/AllPurposeAutoSetup/frmSetupStatusDisplay.cs @@ -0,0 +1,753 @@ +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; +using System.Threading; +using System.Diagnostics; +using System.Text.RegularExpressions; +using System.IO; +using System.Security.AccessControl; +using System.Management; +using System.Security.Principal; +using System.Runtime.InteropServices; +using Microsoft.Win32; + +using CommonLib.Windows.Forms; +using CommonLib.IO; +using CommonLib.Misc; +using CommonLib.Windows.Misc; + +namespace All_Purpose_Auto_Setup +{ + public partial class frmSetupStatusDisplay : ChildForm + { + enum SectionName { Setup_Step_Manager }; + private delegate bool SetupStepDelegate(string iniSectionName); + private delegate string CustomMessageBoxDelegate(MessageBoxCustom.PopUpMsgType msgType, List customButtons, string msg, string caption, int timeOut_ms); + private AutoResetEvent _resetEvent = new AutoResetEvent(false); + + private frmMain frmParent = null; + + public bool restartApplicationRequested = false; + + public bool rebootRequested = false; + + public bool setupProcessNeedRestartToContinue = false; + + BackgroundWorker bgwSetup; + + string pathAndNameOfConfigFile = ""; + string pathAndNameOfSetupLog = @"setupLog.txt"; + StreamWriter swSetupLog; + + ConfigFileManager configFileMgr; + WindowFeaturesManager windowFeaturesMgr; + DotNet2Pt0FrameworkManager dotNet2Pt0FrameworkMgr; + FoldersManager gutsFoldersMgr; + WindowsShortcutManager winShortcutMgr; + SetupMiscellaneous gutsSetupMisc; + SoftwareInstallManager softwareInstallMgr; + GutsSoftwareBuildAssistant gutsBuildAssistant; + FilePackageTransferManager fileTransferManager; + GutsConfigFileManager gutsConfigFileManager; + FileFolderRemovalManager fileSystemRemovalManager; + RunApplicationsManager runAppManager; + WindowsRegistryManager winRegistryManager; + NetworkAdapterManager networkCardManager; + + Dictionary richTextBoxLineNumberDict = new Dictionary(); + + List> configInfo = new List>(); + List configInfoFormatted = new List(); + + public frmSetupStatusDisplay(frmMain d_parentForm) + { + InitializeComponent(); + + this.frmParent = d_parentForm; + this.FormClosing += Form_FormClosing; + + statusRtxtbox.WordWrap = false; + } + + void Form_FormClosing(object sender, FormClosingEventArgs e) + { + if (swSetupLog != null) + swSetupLog.Close(); + } + + private void frmSetupStatusDisplay_Shown(object sender, EventArgs e) + { + swSetupLog = null; + + pathAndNameOfConfigFile = frmParent.getConfigFile(); + + // process the configuration file + configFileMgr = new ConfigFileManager(this, pathAndNameOfConfigFile); + + pathAndNameOfSetupLog = Path.Combine(Application.StartupPath,pathAndNameOfSetupLog); + + pathAndNameOfSetupLog = FileManip.GenerateUniqueFileName(Path.GetDirectoryName(pathAndNameOfSetupLog), + Path.GetFileNameWithoutExtension(pathAndNameOfSetupLog), Path.GetExtension(pathAndNameOfSetupLog)); + + try + { + swSetupLog = new StreamWriter(pathAndNameOfSetupLog); + } + catch (Exception) + { + try + { + pathAndNameOfSetupLog = PathManip.AddTrailingSlashToPath(PathManip.GetUserDesktopPath()) + Path.GetFileName(pathAndNameOfSetupLog); + + swSetupLog = new StreamWriter(pathAndNameOfSetupLog); + } + catch (Exception) + { + } + } + + bgwSetup = new BackgroundWorker(); + bgwSetup.WorkerSupportsCancellation = true; + bgwSetup.DoWork += new DoWorkEventHandler(bgwSetup_DoWork); + bgwSetup.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bgwSetup_RunWorkerCompleted); + + bgwSetup.RunWorkerAsync(); + } + + private void restartApplicationEventHandler() + { + restartApplicationRequested = true; + } + + private void rebootComputerEventHandler() + { + rebootRequested = true; + } + + private void setupProcessNeedRestartToContinueEventHandler() + { + setupProcessNeedRestartToContinue = true; + } + + private void updateStatusDisplayAndLogEventHandler(string displayMsg, string logMsg, List textPropList) + { + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + defaultTextProp.textFont = new Font(defaultTextProp.textFont.Name, 9); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, displayMsg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + if (swSetupLog != null && logMsg.Length > 0) + { + string str = Regex.Replace(logMsg, @"\r", "", RegexOptions.IgnoreCase); + str = Regex.Replace(str, @"\n", "\r\n", RegexOptions.IgnoreCase); + + swSetupLog.Write(str); + } + } + + public int updateStatusDisplayAndLog(string displayMsg, string logMsg, List textPropList) + { + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + defaultTextProp.textFont = new Font(defaultTextProp.textFont.Name, 9); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, displayMsg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + if (swSetupLog != null && logMsg.Length > 0) + { + string str = Regex.Replace(logMsg, @"\r", "", RegexOptions.IgnoreCase); + str = Regex.Replace(str, @"\n", "\r\n", RegexOptions.IgnoreCase); + + swSetupLog.Write(str); + } + + return FormControlsManipThreadSafe.getRichTextBoxLastLineIndex(statusRtxtbox); + } + + public void writeToLog(string logMsg) + { + if (swSetupLog != null && logMsg.Length > 0) + { + string str = Regex.Replace(logMsg, @"\r", "", RegexOptions.IgnoreCase); + str = Regex.Replace(str, @"\n", "\r\n", RegexOptions.IgnoreCase); + + swSetupLog.Write(str); + } + } + + public void removeStatusDisplayLine(int lineIndex, bool deleteLine) + { + FormControlsManipThreadSafe.RichTextBoxEraseLine(statusRtxtbox, lineIndex, deleteLine); + } + + private void updateStatusDisplayAtLineEventHandler(string displayMsg, int lineIndex, List textPropList) + { + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + defaultTextProp.textFont = new Font(defaultTextProp.textFont.Name, 9); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWordsAtLine(statusRtxtbox, lineIndex, displayMsg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + } + + public string displayMessageBox(MessageBoxCustom.PopUpMsgType msgType, List customButtons, string msg, string caption, int timeOut_ms) + { + if (InvokeRequired) + { + CustomMessageBoxDelegate del = new CustomMessageBoxDelegate(displayMessageBox); + return (string)this.Invoke(del, msgType, customButtons, msg, caption, timeOut_ms); + } + else + { + return MessageBoxCustom.Show(this, msgType, customButtons, msg, caption, timeOut_ms); + } + } + + private void bgwSetup_DoWork(object sender, DoWorkEventArgs bgwEvent) + { + string msg = "", errMsg = ""; + bool setupSuccessful = false; + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + BackgroundWorker bgw = sender as BackgroundWorker; + + setupSuccessful = displayAndLogHeaderInfo(); + + ConfigFileManager.parseConfigInfo(SectionName.Setup_Step_Manager.ToString(), configInfo); + + if (setupSuccessful) + setupSuccessful = verifySetupStepsInfo(); + + //if (setupSuccessful) + // setupSuccessful = configFileMgr.verifyConfigurationInfo(); + + int currentSetupStep = 0; + if (setupSuccessful) + { + // manages windows features + windowFeaturesMgr = new WindowFeaturesManager(this); + // add an event handler to an event raised by windowFeaturesMgr + windowFeaturesMgr.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + windowFeaturesMgr.UpdateStatusDisplayAtLine += updateStatusDisplayAtLineEventHandler; + + // manages .NET Framework 2.0 Settings + dotNet2Pt0FrameworkMgr = new DotNet2Pt0FrameworkManager(this); + // add an event handler to an event raised by dotNet2Pt0FrameworkMgr + dotNet2Pt0FrameworkMgr.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + // manages file package transfer + fileTransferManager = new FilePackageTransferManager(this); + // add an event handler to an event raised by FilePackageTransferManager + fileTransferManager.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + fileTransferManager.UpdateStatusDisplayAtLine += updateStatusDisplayAtLineEventHandler; + + // manages removal of files and folders + fileSystemRemovalManager = new FileFolderRemovalManager(this); + // add an event handler to an event raised by FileFolderRemovalManager + fileSystemRemovalManager.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + fileSystemRemovalManager.UpdateStatusDisplayAtLine += updateStatusDisplayAtLineEventHandler; + + // manages folders + gutsFoldersMgr = new FoldersManager(this); + // add an event handler to an event raised by gutsFoldersMgr + gutsFoldersMgr.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + // manages windows shortcut + winShortcutMgr = new WindowsShortcutManager(this); + // add an event handler to an event raised by WindowsShortcutManager + winShortcutMgr.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + // process GUTS config file + gutsConfigFileManager = new GutsConfigFileManager(this); + // add an event handler to an event raised by GutsConfigFileManager + gutsConfigFileManager.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + // setup miscellaneous items + gutsSetupMisc = new SetupMiscellaneous(this); + // add an event handler to an event raised by SetupMiscellaneous + gutsSetupMisc.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + // manages software installs + softwareInstallMgr = new SoftwareInstallManager(this); + // add an event handler to an event raised by softwareInstallMgr + softwareInstallMgr.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + softwareInstallMgr.UpdateStatusDisplayAtLine += updateStatusDisplayAtLineEventHandler; + softwareInstallMgr.RebootComputer += rebootComputerEventHandler; + softwareInstallMgr.SetupProcessNeedRestartToProceed += setupProcessNeedRestartToContinueEventHandler; + + // manages running applications + runAppManager = new RunApplicationsManager(this); + // add an event handler to an event raised by RunApplicationsManager + runAppManager.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + runAppManager.UpdateStatusDisplayAtLine += updateStatusDisplayAtLineEventHandler; + + // assist in building GUTS + gutsBuildAssistant = new GutsSoftwareBuildAssistant(this); + // add an event handler to an event raised by GutsSoftwareBuildAssistant + gutsBuildAssistant.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + gutsBuildAssistant.RestartApplication += restartApplicationEventHandler; + + winRegistryManager = new WindowsRegistryManager(this); + winRegistryManager.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + networkCardManager = new NetworkAdapterManager(this); + networkCardManager.UpdateStatusDisplayAndLogEvent += updateStatusDisplayAndLogEventHandler; + + Dictionary setupStepCalls = new Dictionary() + { { Common.enum_SETUP_STEPS.ASSIST_BUILDING_GUTS_APP, gutsBuildAssistant.gutsPrebuildCheck}, + { Common.enum_SETUP_STEPS.CREATE_DIRECTORIES, gutsFoldersMgr.createDirectories}, + { Common.enum_SETUP_STEPS.CREATE_WINDOWS_SHORTCUTS, winShortcutMgr.creatShortcuts}, + { Common.enum_SETUP_STEPS.CREATE_NETWORK_SHARES, gutsFoldersMgr.shareFolders}, + { Common.enum_SETUP_STEPS.ENABLE_INTERNET_INFORMATION_SERVICES, windowFeaturesMgr.enableWindowsOptionalFeatures}, + { Common.enum_SETUP_STEPS.INSTALL_SOFTWARE_PACKAGES, softwareInstallMgr.manageRequiredSoftwarePackages}, + { Common.enum_SETUP_STEPS.PROCESS_GUTS_CONFIG_FILE, gutsConfigFileManager.processGutsConfigFile}, + { Common.enum_SETUP_STEPS.SET_DOTNET_FRAMEWORK_2_SECURITY_ZONE_LEVELS, dotNet2Pt0FrameworkMgr.adjustZoneSecurityForDotNetFrameWork2Pt0}, + { Common.enum_SETUP_STEPS.SET_ENVIRONMENT_VARIABLES, gutsSetupMisc.setEnvironmentVariables}, + { Common.enum_SETUP_STEPS.TRANSFER_FILE_PACKAGES, fileTransferManager.manageFilePackageTransfer}, + { Common.enum_SETUP_STEPS.REMOVE_FILES_FOLDERS, fileSystemRemovalManager.removeFilesFolders}, + { Common.enum_SETUP_STEPS.RUN_APPLICATIONS, runAppManager.runApplications}, + { Common.enum_SETUP_STEPS.MODIFY_WINDOWS_REGISTRY, winRegistryManager.ModifyWindowsRegistry}, + { Common.enum_SETUP_STEPS.CONFIGURE_NETWORK_ADAPTERS, networkCardManager.configureNetworkAdapters}, + { Common.enum_SETUP_STEPS.PROMPT_USER, gutsSetupMisc.promptUser}, + }; + + foreach (string[] entry in configInfoFormatted) + { + currentSetupStep++; + Common.enum_SETUP_STEPS actualSetupstep = Common.enum_SETUP_STEPS.NOT_VALID_STEP; + + // the application had to be restart or rebooted in the middle of execution, we want to continue + // at the point where it left off + if ((int)Properties.Settings.Default["CurrentSetupStep"] > 0 && + currentSetupStep < (int)Properties.Settings.Default["CurrentSetupStep"]) + continue; + + if ( getActualSetupStep(entry[0], ref actualSetupstep) ) + { + setupSuccessful = setupStepCalls[actualSetupstep].Invoke(entry[1]); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = "\n<-------------------Date and Time: " + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture) + "------------------->"; + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + writeToLog(msg); + } + + if (!setupSuccessful || applicationNeedsToBeRestarted()) + break; + } + } + + // only genereate summary if the entire setup process is complete or if an actual failure occur + if (!applicationNeedsToBeRestarted()) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + + textProp.wordIndex = 0; + textProp.wordCount = 3; + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n\nOVERALL SETUP STATUS: "; + + if (!setupSuccessful) + { + msg += " - FAILED."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.FAILURE); + + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "FAILED."); + textProp.wordCount = 10; + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + Properties.Settings.Default["CurrentSetupStep"] = currentSetupStep; + } + else + { + msg += " - SUCCESS."; + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + + textProp.wordIndex = StringManip.GetPhraseWordIndexInText(msg, "SUCCESS."); + textProp.wordCount = 10; + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + Properties.Settings.Default["CurrentSetupStep"] = -1; + + string registryPath = @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"; + // disable windows auto login + WindowsRegistry.AddOrModifyRegistryKeySingleValue(registryPath, Microsoft.Win32.RegistryHive.LocalMachine, "AutoAdminLogon", Microsoft.Win32.RegistryValueKind.String, "0", ref errMsg); + // delete user password + WindowsRegistry.DeleteRegistryValueName(registryPath, Microsoft.Win32.RegistryHive.LocalMachine, "DefaultPassword", ref errMsg); + } + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + msg = Regex.Replace(msg, @"\r", "", RegexOptions.IgnoreCase); + msg = Regex.Replace(msg, @"\n", "\r\n", RegexOptions.IgnoreCase); + swSetupLog.Write(msg); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + + textProp.wordIndex = 0; + textProp.wordCount = 3; + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\nSETUP COMPLETED."; + + FormControlsManipThreadSafe.ModifyControlText(btnCancel, "CLOSE"); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + msg = Regex.Replace(msg, @"\r", "", RegexOptions.IgnoreCase); + msg = Regex.Replace(msg, @"\n", "\r\n", RegexOptions.IgnoreCase); + swSetupLog.Write(msg); + + DateTime dat1 = DateTime.Now; + msg = StringManip.TextAlign("\nDate and Time: ", 25, StringManip.enumTextHorizontalAlignment.Left) + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture); + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + writeToLog(msg); + } + else + { + if (restartApplicationRequested) + { + if (setupSuccessful) + { + if (!ConfigFileManager.ms_configGlobalSettings.suppressAllPrompts.alternateValue) + displayMessageBox(MessageBoxCustom.PopUpMsgType.INFO, null, "The application needs to be restarted.\n\n.Press OK to restart the application now.", "Info", -1); + } + else + restartApplicationRequested = false; + } + + Properties.Settings.Default["CurrentSetupStep"] = currentSetupStep; + } + + if (rebootRequested) + { + if (setupSuccessful) + { + if (!ConfigFileManager.ms_configGlobalSettings.suppressAllPrompts.alternateValue) + { + msg = displayMessageBox(MessageBoxCustom.PopUpMsgType.YESNO, null, "Reboot is required for the previous changes to take effect.\n\nWould you like reboot now?", "Info", -1); + + if (String.Equals(msg, "no", StringComparison.OrdinalIgnoreCase)) + { + rebootRequested = false; + } + } + } + else + rebootRequested = false; + } + } + + private void bgwSetup_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) + { + // if an exception is thrown + if (e.Error != null) + { + + } + else + { + swSetupLog.Close(); + + if (restartApplicationRequested || rebootRequested) + { + this.Close(); + } + } + } + + private bool getActualSetupStep(string strSetupStep, ref Common.enum_SETUP_STEPS enumSetupStep) + { + bool successful = false; + enumSetupStep = Common.enum_SETUP_STEPS.NOT_VALID_STEP; + + foreach (Common.enum_SETUP_STEPS enumStep in Enum.GetValues(typeof(Common.enum_SETUP_STEPS))) + { + if (String.Equals(strSetupStep, enumStep.ToString(), StringComparison.OrdinalIgnoreCase)) + { + successful = true; + enumSetupStep = enumStep; + } + } + + return successful; + } + + public bool applicationNeedsToBeRestarted() + { + bool restart = false; + if (restartApplicationRequested || setupProcessNeedRestartToContinue) + restart = true; + + return restart; + } + + private bool verifySetupStepsInfo() + { + bool setupSuccessful = true; + string msg; + ConfigFileManager.Ini_KeyValue iniVal = new ConfigFileManager.Ini_KeyValue(""); + string indentation = String.Empty; + + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = Common.getSetupStepTitleColor(); + textProp.wordIndex = 0; + textProp.wordCount = 10; + // set font size + textProp.textFont = new Font(textProp.textFont.Name, 12); + // set font style + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + msg = "\n\n-=Verifying setup step information=-"; + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + writeToLog(msg); + + if (configInfo.Count == 0) + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Error Description: The section " + SectionName.Setup_Step_Manager + " doesn't exist or have no entries."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + swSetupLog.Write(msg); + + setupSuccessful = false; + } + + if (setupSuccessful) + { + foreach (ConfigFileManager.Ini_KeyValue entry in configInfo) + { + List pair = new List(entry.iniValue.Split(new string[] { "," }, StringSplitOptions.None)); + + if (pair.Count <= 2) + { + pair[0] = pair[0].Trim(); + + if (pair.Count == 1) + pair.Add(""); + + pair[1] = pair[1].Trim(); + + Common.enum_SETUP_STEPS actualSetupstep = Common.enum_SETUP_STEPS.NOT_VALID_STEP; + + if (getActualSetupStep(pair[0], ref actualSetupstep)) + { + configInfoFormatted.Add(new string[2] { pair[0], pair[1] }); + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.iniSectionName + + "\n" + indentation + "Key: " + entry.iniKeyName + + "\n" + indentation + "Value: " + entry.iniValue + + "\n" + indentation + "Error Description: The setup step \"" + pair[0] + "\" specified in the value above is invalid"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + writeToLog(msg); + + setupSuccessful = false; + + break; + } + } + else + { + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- FAILED. " + + "\n" + indentation + "File: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + + "\n" + indentation + "Section: " + entry.iniSectionName + + "\n" + indentation + "Key: " + entry.iniKeyName + + "\n" + indentation + "Value: " + entry.iniValue + + "\n" + indentation + "Error Description: The value is invalid the INI file. Expecting install step and associated section name separated by comma"; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + writeToLog(msg); + + setupSuccessful = false; + + break; + } + } + } + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + + textProp.wordIndex = 0; + textProp.wordCount = 3; + textProp.textColor = Common.getSetupStatusColor(Common.EXECUTION_STATUS.SUCCESS); + textProp.textFont = new Font(textProp.textFont, FontStyle.Bold); + textPropList.Add(textProp); + + indentation = Common.getIndentation(1); + msg = "\n" + indentation + "- SUCCESS."; + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + writeToLog(msg); + } + + return setupSuccessful; + } + + private bool displayAndLogHeaderInfo() + { + bool setupSuccessful = true; + CommonLib.Windows.Forms.TextFormat.TextFontAndColor defaultTextProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + defaultTextProp.textFont = new Font(defaultTextProp.textFont.Name, 9); + CommonLib.Windows.Forms.TextFormat.TextFontAndColor textProp = new CommonLib.Windows.Forms.TextFormat.TextFontAndColor(""); + List textPropList = new List(); + + string msg; + + if (ConfigFileManager.ms_configGeneralInfo.programName.iniValue.Length > 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + + textProp.wordIndex = 0; + textProp.wordCount = 10; + textProp.textColor = Color.BlueViolet; + textProp.textFont = new Font("Tahoma", 17, FontStyle.Bold | FontStyle.Underline); + textPropList.Add(textProp); + + msg = ConfigFileManager.ms_configGeneralInfo.programName.iniValue; + } + else + { + msg = "\n\nFAILURE ENCOUNTERED: " + + "\nFile: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + " " + + "\nSection: " + ConfigFileManager.ms_configGeneralInfo.programName.iniSectionName + " " + + "\nKey: " + ConfigFileManager.ms_configGeneralInfo.programName.iniKeyName + " " + + "\nValue: " + ConfigFileManager.ms_configGeneralInfo.programName.iniValue + " " + + "\nError Description: Either one or a combination of Section, Key, or Value is not defined in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + setupSuccessful = false; + } + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + writeToLog(msg); + + if (setupSuccessful) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + + textProp.wordIndex = 0; + textProp.wordCount = 3; + textProp.textColor = Color.Brown; + textProp.textFont = new Font("Courier New", 10, FontStyle.Regular); + textPropList.Add(textProp); + + textProp.textColor = Color.Black; + textProp.wordIndex = 3; + textProp.wordCount = 100; + textPropList.Add(textProp); + + DateTime dat1 = DateTime.Now; + msg = StringManip.TextAlign("\nDate and Time: ", 25, StringManip.enumTextHorizontalAlignment.Left) + dat1.ToString(@"MM/dd/yyyy hh:mm:ss tt", System.Globalization.CultureInfo.InvariantCulture); + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + writeToLog(msg); + } + + if (setupSuccessful) + { + if (ConfigFileManager.ms_configGeneralInfo.applicationPlatform.iniValue.Length > 0) + { + // set font to default text and color + textProp.textFont = defaultTextProp.textFont; + textProp.textColor = defaultTextProp.textColor; + + textProp.wordIndex = 0; + textProp.wordCount = 2; + textProp.textColor = Color.Brown; + textProp.textFont = new Font("Courier New", 10, FontStyle.Regular); + textPropList.Add(textProp); + + textProp.textColor = Color.Black; + textProp.wordIndex = 2; + textProp.wordCount = 100; + textPropList.Add(textProp); + + msg = StringManip.TextAlign("\nApplication Platform: ", 25, StringManip.enumTextHorizontalAlignment.Left) + ConfigFileManager.ms_configGeneralInfo.applicationPlatform.iniValue + "-Bit"; + } + else + { + msg = "\n\nFAILURE ENCOUNTERED: " + + "\nFile: " + ConfigFileManager.ms_configGeneralInfo.pathAndNameOfConfigFile + " " + + "\nSection: " + ConfigFileManager.ms_configGeneralInfo.applicationPlatform.iniSectionName + " " + + "\nKey: " + ConfigFileManager.ms_configGeneralInfo.applicationPlatform.iniKeyName + " " + + "\nValue: " + ConfigFileManager.ms_configGeneralInfo.applicationPlatform.iniValue + " " + + "\nError Description: Either one or a combination of Section, Key, or Value is not defined in the INI file."; + + Common.formatConfigIniFailureMessage(msg, textPropList); + + setupSuccessful = false; + } + FormControlsManipThreadSafe.ModifyRichTextBoxPerWords(statusRtxtbox, msg, textPropList, defaultTextProp.textFont, defaultTextProp.textColor); + + writeToLog(msg); + } + + return setupSuccessful; + } + + private void btnCancel_Click(object sender, EventArgs e) + { + if (String.Equals(btnCancel.Text, "close", StringComparison.OrdinalIgnoreCase)) + { + this.Close(); + } + } + } +} diff --git a/AllPurposeAutoSetup/frmSetupStatusDisplay.resx b/AllPurposeAutoSetup/frmSetupStatusDisplay.resx new file mode 100644 index 0000000..2adc151 --- /dev/null +++ b/AllPurposeAutoSetup/frmSetupStatusDisplay.resx @@ -0,0 +1,3895 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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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 + z/PlLMsW0zSdl1J28jxvSymbUsq6UqrKGAsAeHEcu2maCqUU55xLznlmWVbMOY8sy5oIIUa2bQ+EED3b + tneFEDtCiC3LsjaEEGu2ba85jnP593//99+wstj7pm3fAezbvr2F7cfHC7Vv+7ZvN73tO4B927e3sO07 + gH3bt7ew7TuAfdu3t7DtO4B927e3sO07gH3bt7ew7TuAfdu3t7DtO4B927e3sO07gH3bt7ew7TuAfdu3 + t7D9/08bzI8AXVWFAAAAAElFTkSuQmCCKAAAAIAAAAAAAQAAAQAgAAAAAAAAAAEAEwsAABMLAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxJISEgsQEBAQzo6OlY2NjZmNTU1cjExMXsoKCh/ + KysrfTAwMHc2NjZtPz8/X0hISE1PT084V1dXIGBgYAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGCjY2NjYlJSVjHx8fnhwcHMMYGBjk + Ghoa/RwcHP8fHx//ISEh/yQkJP8lJSX/JiYm/yQkJP8jIyP/ISEh/x8fH/8cHBz/Ghoa/xkZGf8cHBz/ + ICAg9CQkJNQvLy+xOzs7gVBQUExkZGQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZGRgUuLi42 + JSUleiUlJb0iIiLvIiIi/yQkJP8kJCT/JSUl/zExMf84ODj/QUFB/0xMTP9UVFT/Wlpa/1xcXP9hYWH/ + b29v/2xsbP9mZmb/XFxc/1BQUP9ERET/Ozs7/zU1Nf8tLS3/KCgo/yMjI/8iIiL/JCQk/ygoKP0lJSXW + MjIyoUpKSlJWVlYZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPDw8BycnJz8fHx+YGxsb3SQkJP8rKyv/MzMz/0FBQf9VVVX/ZmZm/3Nzc/98fHz/ + h4eH/4qKiv+Pj4//lZWV/5qamv+cnJz/nJyc/5ycnP+cnJz/np6e/6Ojo/+lpaX/p6en/6ampv+mpqb/ + oaGh/5iYmP+Pj4//f39//2lpaf9OTk7/NDQ0/yMjI/8jIyP/JSUl/yMjI/UrKyu/QkJCaFpaWh4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpJxQUFIMbGxvaKSkp/zg4OP9AQED/ + W1tb/2tra/92dnb/fHx8/3x8fP96enr/e3t7/35+fv+IiIj/iYmJ/4qKiv+NjY3/kJCQ/5OTk/+VlZX/ + lpaW/5eXl/+ZmZn/m5ub/5ycnP+enp7/oKCg/6Ghof+goKD/oKCg/6mpqf+wsLD/sLCw/6ampv+Wlpb/ + ioqK/3V1df9WVlb/ODg4/x0dHf8YGBj/ICAg9S8vL7dERERNV1dXCgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwC + GhoaQCMjI7MhISH3JSUl/z4+Pv9dXV3/cXFx/3d3d/91dXX/eHh4/39/f/+AgID/gICA/4KCgv+IiIj/ + jY2N/5OTk/+VlZX/mJiY/5ycnP+goKD/o6Oj/6enp/+pqan/r6+v/6+vr/+wsLD/sbGx/7Gxsf+ysrL/ + srKy/7Kysv+zs7P/sbGx/6+vr/+urq7/rq6u/66urv+wsLD/qamp/6ampv+dnZ3/fn5+/1VVVf82Njb/ + JSUl/xkZGf8iIiLbMTExeUlJSRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAsLCwEHR0dTB8fH8YhISH/NTU1/1NTU/9vb2//eXl5/3h4eP91dXX/ + c3Nz/3l5ef9/f3//h4eH/4uLi/+Pj4//lpaW/5+fn/+oqKj/ra2t/7CwsP+3t7f/vr6+/8bGxv/Nzc3/ + 09PT/9XV1f/S0tL/0tLS/9HR0f/Q0ND/z8/P/8/Pz//Pz8//zs7O/83Nzf/IyMj/wcHB/7y8vP+6urr/ + ubm5/7y8vP+vr6//qqqq/7S0tP+4uLj/t7e3/6enp/97e3v/RkZG/ysrK/8bGxv/Hh4e7TIyMotPT08d + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJCQkQiAgIMUpKSn/ + SEhI/2lpaf9wcHD/a2tr/29vb/93d3f/fn5+/4CAgP9+fn7/gICA/4qKiv+ZmZn/p6en/7Ozs/++vr7/ + ycnJ/9TU1P/h4eH/5OTk/+jo6P/t7e3/8fHx//b29v/5+fn/+vr6//X19f/19fX/9PT0//T09P/09PT/ + 8/Pz//Ly8v/s7Oz/5eXl/+Xl5f/h4eH/3d3d/9fX1//Q0ND/zMzM/8rKyv/Gxsb/u7u7/7Ozs/+vr6// + sLCw/62trf+oqKj/i4uL/2JiYv8yMjL/GBgY/xsbG+0wMDCFUFBQFQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAJiYmKSUlJa4rKyv9RERE/19fX/9wcHD/cXFx/25ubv9wcHD/dnZ2/39/f/+Kior/ + lJSU/5mZmf+rq6v/vLy8/83Nzf/f39//7Ozs//X19f/8/Pz//v7+//7+/v/+/v7//v7+//////////// + //////////////////////////////////////////////////////39/f/4+Pj/+vr6//v7+//5+fn/ + 9/f3//Pz8//y8vL/6urq/93d3f/S0tL/zc3N/8nJyf++vr7/tLS0/7S0tP+4uLj/rq6u/46Ojv9hYWH/ + MTEx/xcXF/8lJSXkNTU1aERERAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjDh0dHX4wMDDvR0dH/1tbW/9hYWH/ + YWFh/2lpaf9qamr/b29v/39/f/+NjY3/mJiY/6mpqf/Gxsb/3t7e/+zs7P/29vb//v7+//////////// + +/v7//n5+f/6+vr//v7+//7+/v/+/v7//v7+//7+/v/+/v7//v7+//7+/v////////////////////// + //////////////////////////////////////7+/v/+/v7//v7+///////9/f3/9vb2/+rq6v/k5OT/ + 4ODg/9TU1P/IyMj/xMTE/7q6uv+xsbH/s7Oz/7S0tP+bm5v/XFxc/ykpKf8RERH/KSkpxzw8PDQAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAB0dHTcjIyPPODg4/19fX/9tbW3/ZmZm/2dnZ/9sbGz/ampq/3Z2dv+Li4v/oqKi/729vf/T09P/ + 5OTk//Pz8//7+/v/9/f3//j4+P/+/v7///////39/f/8/Pz//f39//39/f/+/v7////////////+/v7/ + /v7+//39/f/8/Pz/+/v7//v7+//7+/v//Pz8//39/f/+/v7//v7+///////+/v7//f39//7+/v////// + /v7+//7+/v/+/v7///////n5+f/4+Pj//f39//z8/P/39/f/7+/v/+Hh4f/U1NT/y8vL/83Nzf/AwMD/ + qqqq/6ioqP+srKz/jY2N/1hYWP8gICD/FxcX9CkpKYRLS0sOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYmJgklJSV8MTEx805OTv9oaGj/Z2dn/2pqav9ra2v/ + cnJy/4GBgf+SkpL/qqqq/8DAwP/V1dX/7Ozs//j4+P/6+vr/+vr6//r6+v/7+/v//f39//z8/P/7+/v/ + 9/f3//b29v/19fX/8/Pz//Hx8f/x8fH/8PDw/+/v7//u7u7/7e3t/+zs7P/s7Oz/7u7u/+/v7//x8fH/ + 9PT0//f39//5+fn//Pz8//v7+//8/Pz//f39//7+/v/+/v7//////////////////v7+//z8/P/7+/v/ + +fn5//z8/P///////Pz8//Dw8P/r6+v/4eHh/9PT0//IyMj/vLy8/7Gxsf+vr6//s7Oz/25ubv8+Pj7/ + Gxsb/yIiIss0NDQtAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIyMb + KSkpt0FBQf9eXl7/Z2dn/2VlZf9mZmb/bm5u/3l5ef+Ghob/o6Oj/8bGxv/j4+P/7Ozs/+7u7v/z8/P/ + 9fX1//f39//39/f/9fX1/+7u7v/q6ur/5ubm/+Li4v/d3d3/2tra/9jY2P/X19f/1tbW/9fX1//Z2dn/ + 3Nzc/+Dg4P/h4eH/5OTk/+Xl5f/r6+v/7Ozs/+7u7v/x8fH/9PT0//f39//4+Pj/9/f3//b29v/7+/v/ + /f39//7+/v/+/v7//v7+//v7+//6+vr/+fn5//z8/P/8/Pz/+/v7//r6+v/7+/v//f39//7+/v/5+fn/ + 7+/v/+Dg4P/R0dH/wMDA/7Ozs/+urq7/urq6/56env9jY2P/IyMj/xgYGO0yMjJlAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKCgoPzc3N+JPT0//XV1d/1lZWf9dXV3/ampq/3BwcP+EhIT/ + oqKi/8HBwf/Z2dn/5+fn/+/v7//z8/P/9PT0//Ly8v/t7e3/4uLi/9bW1v/Pz8//y8vL/8nJyf/IyMj/ + xsbG/8jIyP/MzMz/0NDQ/9PT0//X19f/2dnZ/9zc3P/g4OD/4+Pj/+fn5//p6en/7Ozs//Ly8v/z8/P/ + 9fX1//f39//6+vr//Pz8//39/f/6+vr/9fX1//v7+/////////////7+/v/9/f3/9/f3//n5+f/8/Pz/ + /v7+//39/f/6+vr/+vr6//z8/P/+/v7////////////7+/v/8/Pz/+np6f/Y2Nj/zMzM/8LCwv+ysrL/ + srKy/7CwsP99fX3/MzMz/xsbG/40NDSUREREDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACkpKWM1NTXw + WVlZ/2FhYf9XV1f/YGBg/29vb/98fHz/mJiY/7e3t//U1NT/7Ozs//f39//09PT/7+/v/+np6f/h4eH/ + 1tbW/8vLy//Dw8P/vr6+/729vf/FxcX/yMjI/8fHx//IyMj/ycnJ/8zMzP/Pz8//0dHR/9XV1f/W1tb/ + 19fX/9ra2v/d3d3/39/f/+Hh4f/h4eH/4+Pj/+Tk5P/m5ub/6enp/+vr6//u7u7/8PDw//Ly8v/29vb/ + +fn5//7+/v///////v7+//7+/v/+/v7//f39//v7+//8/Pz//v7+///////////////////////6+vr/ + +fn5//39/f/9/f3/+fn5//Dw8P/o6Oj/4ODg/8rKyv+7u7v/rKys/66urv+Wlpb/SkpK/xoaGv8hISG7 + NTU1GQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACgoKAMqKip+Pj4++lpaWv9jY2P/YWFh/2ZmZv95eXn/jIyM/6Wlpf/Ly8v/ + 5eXl/+zs7P/s7Oz/6enp/+Dg4P/Q0ND/xcXF/8DAwP+4uLj/tbW1/7e3t/+9vb3/wsLC/8PDw//FxcX/ + ysrK/8/Pz//S0tL/0tLS/9DQ0P/Pz8//1dXV/9fX1//Y2Nj/2tra/9zc3P/d3d3/39/f/93d3f/Y2Nj/ + 2NjY/9nZ2f/a2tr/2tra/9vb2//b29v/3t7e/+Hh4f/j4+P/5ubm/+rq6v/u7u7/8/Pz//j4+P/8/Pz/ + /v7+///////+/v7//f39//39/f/9/f3//Pz8//b29v/19fX/+fn5//z8/P/9/f3//Pz8//n5+f/39/f/ + 4ODg/9LS0v/BwcH/srKy/7u7u/+oqKj/VlZW/x0dHf8ZGRnYQEBAJAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArKysHMjIykExMTP9UVFT/ + Y2Nj/2dnZ/9mZmb/dnZ2/5mZmf+8vLz/2dnZ/+np6f/r6+v/3d3d/87Ozv/ExMT/vLy8/7S0tP+xsbH/ + sbGx/7Ozs/+2trb/vb29/8LCwv/Hx8f/yMjI/87Ozv/Y2Nj/4uLi/+jo6P/p6en/5ubm/+Li4v/i4uL/ + 4uLi/9/f3//d3d3/2tra/9fX1//V1dX/1NTU/87Ozv/Pz8//z8/P/9LS0v/T09P/1dXV/9XV1f/a2tr/ + 4uLi/9zc3P/X19f/1tbW/9jY2P/c3Nz/4ODg/+Xl5f/t7e3/9/f3//7+/v/////////////////7+/v/ + +/v7//z8/P/7+/v/+/v7//v7+//7+/v//Pz8//39/f/19fX/7e3t/9/f3//Ozs7/u7u7/7i4uP+qqqr/ + bm5u/yMjI/8hISHjMTExNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAALCwsCTMzM5lHR0f/XFxc/1tbW/9hYWH/bm5u/4KCgv+lpaX/y8vL/+Li4v/m5ub/ + 3Nzc/83Nzf+9vb3/sLCw/6ysrP+srKz/rq6u/7Gxsf+1tbX/vLy8/8TExP/MzMz/1dXV/9ra2v/j4+P/ + 5OTk/+Li4v/e3t7/1NTU/8rKyv/BwcH/ubm5/6SkpP+fn5//mJiY/4+Pj/+Hh4f/fX19/3d3d/90dHT/ + dXV1/3h4eP98fHz/g4OD/4mJif+Pj4//k5OT/5ycnP+qqqr/s7Oz/8DAwP/Ly8v/09PT/9fX1//Y2Nj/ + 29vb/+Dg4P/k5OT/7Ozs//Hx8f/19fX/+vr6//7+/v/////////////////+/v7//Pz8//r6+v/5+fn/ + +fn5//r6+v/w8PD/6urq/97e3v/V1dX/vb29/66urv+5ubn/d3d3/xkZGf8XFxfnPz8/OgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC4uLgcyMjKZRkZG/1paWv9WVlb/ + YWFh/29vb/+Kior/tbW1/9ra2v/o6Oj/3d3d/8nJyf+7u7v/sLCw/6moqP+ioqL/pKSk/6+vr/+1tbX/ + urq6/8fHx//X19f/4ODg/+Hh4f/d3d7/2trb/9DQ0P/ExMX/tLS1/6Chof+Ji4v/d3p7/21wcf9kaGn/ + VFlb/1BWWf9NVFf/SVBU/0RMT/8+Rkn/PUNH/zxCR/8/R0v/PkdL/0BKTv9GT1L/TlRX/1RYWv9XWlv/ + XF1d/2FiYv9mZ2f/bm9w/3x/f/+RlJP/pqmp/7K0tP/GyMn/1dbW/9TV1f/Y2dn/3d7e/+Pj4//m5uf/ + 6urr//b29v/8/Pz//f39/////////////f39//r6+v/39/f/9vb2//r6+v/v7+//7u7u//Dw8P/W1tb/ + wcHB/7i4uP+wsLD/dXV1/ywsLP8dHR3oREREOQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA3NzcDODg4kEdHR/9WVlb/YWFh/2ZmZv9ra2v/kpKS/8jIyP/g4OD/2NjY/8vLy/+7u7v/ + qqqq/6ampv+lpKT/p6am/6Kiov+tra3/w8PD/9PT0//f39//6Ojo/+np6f/g4OH/0NDQ/7W2tv+en5// + goSE/3J0dv9kZWf/VVVZ/0dITP8/QUX/PD1D/zc6QP8qLzT/Jywy/yQrMP8iKTD/ICgv/x8oLf8iKjD/ + Iyox/yMqMf8eJy7/Hiku/yMsMf8qMDX/MjQ4/zc4Ov8+PkD/R0VG/0lISf9ISEv/SEpO/0xRVv9TWF// + VFlg/21yd/+Ok5T/oqan/7m8vP/O0M//4OHf/+Xl5P/e393/4uLi/+fn5//x8fH//v7+///////+/v7/ + +fn5//n5+f/5+fn/8/Pz//r6+v/6+vr/9fX1//Pz8//b29v/vr6+/7i4uP/AwMD/f39//yUlJf8fHx/m + TU1NLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADw8PH5NTU3/V1dX/1lZWf9jY2P/ + dnZ2/5qamv/IyMj/3t7e/9XV1f+9vb3/qamp/6CgoP+hoaH/pqWl/6moqP+3t7b/vb28/9HR0f/j4uL/ + 6Ojo/+bm5v/S0tL/s7Oz/5eXl/+Dg4T/aWpq/09QUf9HSkr/P0NE/zI1OP8pKi7/JSYs/yYoLv8pKTL/ + LCw3/zM4Pf81O0D/Nj1E/ztBSf8+RU3/Q0xS/0hQWP9LUFn/Sk9U/0FKTv8+R0z/P0ZL/0FGS/9CRUn/ + R0dK/0JBRf83Njn/Nzc6/zM1Ov8oLjb/JC04/yQwO/8nNED/LzxD/0BKTf9QWVz/YGdo/36Dgv+qrqv/ + y87K/9PV0P/Y2tj/3t/f/+Xl5f/s7Oz/8fHx//v7+//6+vr/+/v7//X19f/19fX/8fHx//Hx8f/19fX/ + 9vb2/+vr6//e3t7/yMjI/7S0tP+1tbX/dHR0/x8fH/8xMTHgTU1NHQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAzMzNjQkJC+lZWVv9bW1v/ZGRk/3x8fP+np6f/zc3N/97e3v/Gxsb/qKio/5ubm/+ampr/ + mZmZ/5ycnP+np6b/vby8/9vb2//l5OT/4ODg/9PT0v+7u7v/np2d/3p6ev9hX2H/T09P/z0+P/8tLzD/ + KSss/yIlJP8kJyb/KzAt/zU4N/9ER0b/VllZ/2hqav94env/jJiV/5Ognf+eqqn/qra0/7XBv/+/ycj/ + w87M/8TPzf/Gzcv/w8rI/73GxP+0vbv/q7Sx/6Gpp/+epaP/jZST/291df9mbm3/VWBf/z9OTv8rP0D/ + HTU1/xEsLf8WKi7/ICw0/yYxOf8vOT//PUVJ/1BWWf9ucnT/jpCQ/7a4uP/P0M//3N3d/+Hh4f/i4uL/ + 6+vr//Ly8f/+/v7//Pz8//b29v/29vb/9/f3//Dw8P/q6ur/7u7u//Pz8//f39//ysrK/7Gxsf+tra3/ + fHx8/ykpKf8vLy/KWFhYFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyPzo6OvBQUFD/WFhY/2JiYv+AgID/ + qqqq/8rKyv/FxcX/tra2/6Ojo/+Wlpb/lZWV/5qamv+lpaX/vb29/9LR0f/g39//4+Pj/9DQ0P+xsbH/ + j5CO/3Nycv9ZWFf/QD8+/zQ0M/8pKSj/HR0e/xweH/8zNjf/UFBP/2hoZf+FhoP/oqOg/7q7uf/LzMj/ + 1NbT/93f2v/a5eD/2OLd/9Pe2v/P2tX/y9jT/8rX0//L2NP/zNjU/8zW1v/M1db/y9XV/8zX1v/R29n/ + 1d/e/9zk4//d5eT/2ODf/9Pb2P/J0s//tMC8/5emof9xhYD/U2pl/ztMUP8eLTf/EiIr/xknL/8jLjX/ + MDY9/0FESf9aWl7/bm5w/4eHh/+xsbH/1dXV/+Pi4v/f39//4eHh/+np6f/29vb////////////6+vr/ + 7u7u//Ly8v/19fX/9PT0//X19f/c3Nz/ycnJ/8DAwP+kpKT/aGho/yQkJP9CQkKobGxsBwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACkpKRs2NjbiT09P/19fX/9eXl7/d3d3/6ampv/FxcX/v7+//6Wlpf+RkZH/jY2N/5GRkf+fn5// + t7e3/9PT0//q6ur/6unp/9fX1/+zs7P/iomJ/2trav9aWFj/RUVE/ysuKf8bGxj/GRsY/ystKv9FRkb/ + Zmto/5CVk//GxMb/2NPX/9rY2//c297/29vc/9PV1v/Lz8//xszL/8zS0//M0tP/y9PT/8rT0v/M1NP/ + zdbV/8/Y1f/R2df/0tfc/9DW2f/N1Nj/ytLW/8rR1v/J0dX/zNTX/8nP1P/Eyc7/zNDU/9fZ2v/b3t7/ + 293c/9fY1//U1dP/tLu7/3yJjv9UZGn/OEhN/yQzOv8mMDj/MDQ5/zY3Pv8/P0L/T05P/2loaP+CgYH/ + qqqq/9fX1//k5OT/2dnZ/+jn5//19fX/+vr6//v7+//29vb/9/f3//T09P/v7+//7u7u/+zs7P/k5OT/ + xMTE/7Ozs/+rq6v/WFhY/yYmJv9UVFR+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAJNjY2t0dHR/9eXl7/Z2dn/3l5ef+ioqL/ + v7+//7q6uv+ioqL/lpaW/46Ojv+SkpL/pKSk/8HBwf/e3t7/4+Pj/8rJyf+traz/ioqJ/2xra/9WVVX/ + PTw7/yglJf8eHxv/HyMc/zc5Nf9obGf/pqum/9DX0f/k6uX/6O3o/9bW2//LydL/xsfN/8THzP/J0NL/ + 0dna/9bg3v/X4uH/3eLh/9/k4//i6eX/5Ovn/+Xs5v/i6+T/3+ng/97o3//e5eT/4Ojn/+Lq6P/j7On/ + 4uvp/9/p5//c5uT/3eXk/+Ll5//d4eL/1tja/83P0f/Gx8r/ycjL/9HLzv/X2tj/4Onl/+Xs6f/L1dP/ + lJ+h/2Bqb/9DSk//ODxB/y4uMP8zMjH/RURE/1NSUv9kY2P/hoaF/7Kysv/a2tr/5OTk/+Pi4v/r6+v/ + +Pj4//39/f/39/f/9PT0//Ly8v/m5ub/8vLy/+3t7f/b29v/zMzM/729vf+fn5//PDw8/zU1NfZdXV1K + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADExMXxJSUn/WVlZ/2VlZf92dnb/m5ub/7u7u/+2trb/oKCg/5aWlv+SkpL/k5OT/6urq//R0dH/ + 5eXl/9jY2P+6urr/lZWV/3l5ef9aWVn/ODc2/yYlJP8jISH/Li0s/1ZZVf+Gi4T/tru2/9je2P/Y3tn/ + yM/K/77FwP++xcD/0NTT/9TZ2P/S2df/09/Z/9bl3f/W593/0ebZ/8vj1P/J4M//yN/O/8Tdy//C28j/ + vtrE/73awv+828H/vNvC/7zayP+62cf/uNrH/7jax/+73cn/v+DM/8Lizv/H5dP/0eja/9br3P/X6d3/ + 1+Tb/9bf2f/W3dj/3N/c/8TNx/+0wrr/xNDJ/9Td2P/e5+L/1tzc/7O5uv+IjY//V1lZ/zw7Ov8xLy7/ + MjEw/z08PP9QUFD/cHBw/5STk//Hx8f/2tra/+bm5v/s6+v/8/Pz//39/f/7+/v/9fX1//T09P/t7e3/ + 6+vr/+np6f/a2tr/wcHB/7i4uP+MjIz/NTU1/0pKSuJycnIZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAxMTE5PDw8805OTv9hYWH/dnZ2/5KSkv+vr6// + rq6u/5ucm/+SkpL/kpGS/5uam/+0s7T/1NTU/+Li4v/Ly8v/oaGh/4ODgv9kZGH/QEA+/y0sLP8fHh7/ + JiUk/0tKSv+PjY7/x8vH/9Pb1P/S2dL/y9LM/8HIwf+9xL7/ydDK/9rh3P/U3dD/0N3L/9Lhz//O4c3/ + xNzF/7jVu/+szLP/pMmt/5zLqP+azKf/lcik/5DGn/+LxJr/iMOX/4jFl/+Jxpn/iMad/4LFnP99xJr/ + fcWb/4LHnv+Hy6L/i86k/4/Pp/+Tzav/mdCu/6bVt/+03ML/weHL/8fi0f/I4dL/z+DS/9Xf0//Q29H/ + xtHJ/8HMxv/H0c7/09rZ/9vh4P/Gx8j/lpSV/1hWVv82NDP/Ly4t/zU1Nf9DQkL/U1JS/4SCg/+pqKj/ + zMvL/9zb2//l5eX/8fLx//r6+//7/Pz/+vr6/+jo6P/n5+f/6enp/97e3v/Q0ND/xMTE/7Kysv9ubm7/ + Ojo6/2ZmZqqgoKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ojo6Djc3N9BMTEz/U1NT/2dnZ/+JiYn/o6Oj/6enp/+Tk5P/i4uL/5CQkP+bnJr/wMG//93e3P/a29n/ + vby7/4uKif9raWj/VFJW/zAuN/8jISX/JSQj/05NSv+enZn/zs7M/9fW2P/HycP/usC1/7vBuP/EysH/ + zNXN/8zX0f/G083/wc7K/7TNtf+ry6r/pcik/5vBmf+QvY7/ir2I/4rBif+KxIv/fb+H/3zAif99wor/ + e8OK/3nDiP9zwoX/ccGC/2/AhP9qvYj/Zb+I/2HBif9iwor/ZcOM/2fEjf9kw4r/a8eO/3PKk/9rwoz/ + a72K/3PAkP9/xZr/isuk/4zNo/+j0K//utO8/77Ywv/E28n/yNrP/8jV0P/Fzcz/wcfI/9Pa1v/f5N// + 0tLQ/6Kfn/9cWFr/LCkp/yoqKf88Pjr/R0lF/2FjYP+VlpX/wsPD/9DPz//j4uL/8fDv//f19P/4+Pj/ + 8vLy/+vr6//o6Oj/5eXl/9zc3P/W1tb/t7e3/6ysrP9YWFj/T09P/4SEhF8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ODiARUVF/1dXV/9mZmb/eHh4/5aWlv+fn5// + jIyM/4WFhf+Qj5D/oqOi/8nNxv/h5N//ztDL/6Okn/+GhYH/ZmNi/05KR/8vKzL/Hhot/0hFTv+Ni4r/ + x8e//9DRx//CxMD/wsTH/8rMyf/HzsP/wMu+/7nKt/+yyLL/p8Wq/5q/ov+UuZ3/iruO/4a9if+Evof/ + gb6E/3u/fv93v3r/dL94/3C8df9ip2//XqZv/1ymb/9YpW7/VqVu/1Okbv9SpG//UKNw/0efcv89oHH/ + NaFx/zalc/88qnb/P694/z6xd/9GtXn/ULx6/1W/ev9Zw3r/YsmC/2jNiP9pzon/Z86F/3bJjP+HyJf/ + kM6e/5/Urf+v17r/utbF/8HTy//F0s3/vM/B/7vLvP/O08z/4d3e/8/IzP+Jg4b/RkdF/ycrJf8wOC// + P0U//1daWf+Gh4n/p6Om/9jT1P/w6+f/7+rm//r6+v/8/Pz/9/f3/+3t7f/m5ub/4+Pj/9zc3P/Ozs7/ + wMDA/5OTk/9CQkL/Z2dn5p6enhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Pz8/Kz8/P/BRUVH/YWFh/3BwcP+Hh4f/nJyc/5qamv+Hh4f/iYmJ/6enp//Pz87/3+Lf/77Av/+ZmJf/ + eHh3/1taWv89Ozv/JCIi/ygmJf9pamX/vr+6/9ze2f/Dx8H/tb22/77Hwv/By8f/uMnF/67Gvv+kwa7/ + l7uX/4y4hP+FuXb/f7pt/327av94s2n/d65s/3CnbP9nnm3/YJNt/1eJa/9Ngmj/Q3xl/zt4Wf85eVr/ + OXtd/zh+Yf85gmX/O4Ro/z6GbP88iG3/M45q/yOMZ/8UiWP/EIpi/xONZP8OjmL/CI5e/xKRX/8hmGH/ + Kpxj/zOmZ/9AsW7/Ur58/1bDf/9bxYD/YsaB/2jHgf9qx3//cseF/4DLkv+P0KL/ntWu/6jYtP+y1rr/ + w9zF/8TTxP++xLz/09HQ/+Xh4v+1s7T/YF9f/zg5Nv8yMjD/MzAy/05JT/91cXX/qKOk/9nV0f/v6+f/ + 6+vq//X19v/6+vr/9fX1/+vr6//k5OT/2tra/9DQ0P/BwcH/p6en/3Fxcf9aWlr/kJCQnAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj6yS0tL/1xcXP9ra2v/gYGB/4uLi/+MjIz/ + i4uL/5OTk/+pqan/y8zL/9nZ2v+urLD/j42Q/25sb/9bW13/Ozs9/x8eIP89PT7/mpuV/9bZyP/Fyb// + tr63/625s/+vwbX/rMOv/6O7o/+Rupb/grSI/3Spd/9wpm3/dq5s/3ezaf9rq1v/YKFP/1+MVP9XgFP/ + RnVM/zpqSv86ZE3/QGtT/0V0Wv9Fe2L/Q4tj/0KPZv9Ckmr/RZZv/0ebcv9JoHX/SaJ4/0uke/9IqHj/ + Oqd3/yqjdP8jo3L/IqJz/xqhcP8Vom3/FZ5q/xWcZv8RlGH/CIxW/waKT/8Zlln/JaFe/y2nX/85t2X/ + Pr9k/0C+YP9PxWr/Ycx6/3DRhv93z4z/dsqJ/5TPoP+r1rH/uNe5/8HUv//EzcL/x8rG/8/Oz//W1Nb/ + ioaH/0dBRP80LDH/PjU9/01HS/9rZmj/o6Cc/8PBvP/Y2Nj/7Ozs//r6+v/4+Pj/7+/v/+jo6P/g4OD/ + 2tra/8fHx/+9vb3/np6e/11dXf97e3v4tra2OQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Ozs7SENDQ/9VVVX/ZGRk/3Z2dv+QkJD/lpaW/4aGhv+BgYH/qqqq/9bW1v/T09P/srGz/4uJj/92c3j/ + T09S/y4wM/8uMTL/YWZl/6+1tP/Hy8X/xMS6/7W8tf+ntq7/nrWm/5e3m/+Qt4v/ibN8/3qza/90smX/ + c61m/2miYf9dkVf/UntO/0JnQf82YDn/OFE9/ztWRP8+ZUr/QXRQ/0eDV/9Pj13/Vpdi/1ecZv9SpGf/ + Uqdt/1OpcP9SrHL/U7Fz/1W1dv9Wtnn/WLd+/1G0gv9BsX//MbB9/yivfP8nr37/I69+/x2ue/8grnr/ + Iq51/yCrbv8Vo1//Ep9a/xuiYf8Sm1b/CZVM/w6dTP8Xp0z/I61Q/zW3Wv9EvmP/VMVw/2PNe/9u0oD/ + g9OT/5TUnv+j16X/r9au/7XQtP+5ybn/v8e//8rNyf/Qzcz/pKCg/11XWv8tKS3/NC80/0E+P/92dXD/ + l5aR/729vv/a2tr/8fHx//j4+P/z8/P/7u7u/+rq6v/i4uL/0dHR/8jIyP+2trb/fn5+/2lpaf+jo6PD + 0tLSBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD8/Pwc8PDzKTU1N/11dXf9vb2//iIiI/5aWlv+SkpL/ + kZGR/6Kiov/Hx8f/1tbW/66urv98e33/bmlv/1BMUv8yMjT/MTU0/3B2c//AycX/wczG/7S9t/+prar/ + m6uh/5aynv+RuZf/g7SA/3epaP9zqFr/bqJc/2WUWf9chFH/SWpD/zJQLv8uQyv/Mkcy/zdTPv89a0b/ + RHlN/0uEU/9Qjlr/VJpd/1mhX/9cp2T/XKpq/12ycv9ftHf/X7d7/165ff9cu37/X76A/2DAgf9gwIb/ + V7yJ/0S7h/82uof/KrmG/ya5hf8muoX/IbeA/yO5gP8luX3/Jrp4/yO4bv8ouXD/K7hy/x2vZv8OpFj/ + F6lZ/xyqWP8Rnk3/E5tJ/ySkUP88tGH/Tb9s/1XEbf9kyXj/d9CF/43XkP+X1ZX/n9Kc/6fNpv+wyq7/ + s8ex/8DIu//U2c//xsrF/2doaP80NDb/MS4v/0lHRv9oZ2X/kZGR/7i4uP/d3d3/8fHx//b29v/19fX/ + 7u7u/+Xl5f/c3Nz/zc3N/7+/v/+pqan/bm5u/4qKiv/Ozs5SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + PDw8VUFBQf9XV1f/ZmZm/319ff+VlZX/kZGR/319ff+hoaH/09PT/8/Pz/+ioqL/goKC/2poav9QS07/ + MzAz/zk6Of+JkIr/x9DJ/7jFuv+jtKb/nKue/6GzpP+SspX/fKp9/2ykav9qpGP/aZ5a/2GTTv9Sc0r/ + OFE4/yU3Iv8oMyT/LUcp/zliMv9EcDz/R3M+/0eGQ/9NkUr/VJpT/1iiXf9cqWT/Xatn/16sbP9crXP/ + YrV9/2K4gv9iuob/Y7yK/2TAjP9nwo//asOP/2nEk/9gxZT/TMOT/z3DlP8rwo//IsCK/yLAif8avX7/ + Hr5//yPAgv8gvnz/Hbx1/ynAfv8pwHv/Jb13/xy5bP8ht2r/J7Vp/yKwYP8hqlv/HqNX/x+hU/8op1T/ + Na9Y/0rBZv9ey3D/d9V7/4HVfv+J0YT/l9KS/6PUof+r1Kn/tc2y/7LFrv/G1cX/z9jR/4aLif8uLS7/ + LSor/0ZDRf9mZmb/j4+P/7q6uv/d3d3/7+/v//T09P/v7+//6Ojo/+Li4v/U1NT/xsbG/8DAwP+Kior/ + enp6/729vc3a2toHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSgZAQEDNUlJS/2dnZ/90dHT/h4eH/5OTlP+IiIn/ + ioqK/8LCwv/b29z/paWm/3l5ef9tbm7/WlhY/zMuL/9BPj7/mpyY/8TNxP+zwbT/s8Kz/6W2pP+SqI// + haiA/32tdP9np1v/WaBN/1WXTf9LekT/MVAs/yAyHP8iNB//J0Ui/y9XJ/83aS3/QXcx/0eDN/9Niz7/ + TphG/1KfT/9VpFj/Walg/1yuZ/9es2z/YbZy/2W5e/9nvIP/Zr+J/2bAjP9mwo//aceU/2/Kl/9zzJr/ + dM6f/2rOoP9WzaD/Pcuc/y3Jl/8kx5P/H8WO/xrEh/8fxoj/JMeH/yPFgv8qyIr/McmM/zLJiv8pxX// + I8J3/yG+dP8gunD/H7hq/yO2aP8puGf/K7Zh/yWvWP8eqFD/JKtN/z++V/9m1Gz/ddly/3nUc/+C0H7/ + jc+K/5XPkv+pzqb/sdKw/6rFq/+6y7z/ytTO/5SVl/80LjP/Lict/05OTv9tbW3/k5KS/7m4uf/b29v/ + 7u7u//X19f/x8fH/5ubm/93d3f/Ozs7/xMTE/6mpqf96enr/np6e/9PT01MAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCS0tLS/9dXV3/cHBw/3x8fP+NjY3/ioqK/4SEg//BwsD/2trZ/6qqqP96enj/cXBw/2NgY/8xLy// + Pj46/52dlv/FyLn/uMGt/6m5ov+Zs5n/jayV/3uke/9vpV//aKFZ/2KfVP9MhUH/J1Mg/xouF/8dJhr/ + I0Qe/ypaIP8yYyb/PHMs/0OBNP9Jizf/SZA4/0iRPv9NmUj/UqJU/1aoXP9asGT/YLhs/2G9cv9jwnr/ + aMSD/27Fi/9uxpD/bceU/27Kl/9wzZz/c8+c/3bQnv950qX/cdSs/1/Ur/86zJ3/LMqb/yfKnP8py53/ + JMqX/yfMlf8r0JX/Lc6U/zXRmf80z5X/Ns+S/zDOiv8tz4X/I8h7/x7Cdf8mxnb/Lcd1/zDDcv8svWr/ + K7hk/ym2Xv8rtVf/LK9N/0C0Tv9cw1n/cNFn/3jScP980nX/gdV8/47Lh/+c0Zn/ocmi/6/Ks//Az8P/ + zdLL/5OPjf9HQUL/Nzk4/1NTUv9tb23/k5WT/7m7uv/g4OD/9/X2//Xz9P/p6en/5OXk/9TU1P/Gxsb/ + vr6+/4iIiP+Hh4f/0NDQyPf39wMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/Pz/AWlpa/1xcXP90dHT/gYGB/42Njv+JiIj/ + naGc/+Lm4P+2uLP/ent2/3Z1cv9jX2D/QTpA/0xJTP+nsqj/u8Gx/7S6of+tuZj/mrOM/3unef9hnXD/ + Vppb/16gTf9UiUr/N1sz/xorGf8XHxX/HDAa/yZHJv8rYSX/MG8j/zZ2Kf89gC7/Q4kz/0iSNf9LmDn/ + TpxA/1WlSP9aq1P/XrFe/2G2aP9mvHP/ZsB6/2fDg/9rxYz/dMWV/3TFmv90xp//c8ei/3bKp/94y6f/ + eMuo/3nMrv9vz7L/Xc20/zzGp/81x6v/MMao/zPJqv8zyqf/Lsqg/yvQnf8106P/QNam/z7Xn/9A2Jz/ + ONaS/zLWjP8t04T/LdCB/y/Pfv8xzXz/Nsp7/zbGef82w3L/NsBt/zO8ZP82t1j/RLJS/06uSv9buE3/ + as1b/27aZP9p3V//d9hr/4bXgP+Q0Jb/msWh/67Lrf/E1Ln/xcy5/6aonf86Pj3/LTIv/05TT/9udHD/ + lJmX/8C+v//m4OP/9O/y/+3t7f/n5+f/2NjY/9DQ0P/Jycn/np6e/4mJif/CwsL/8/PzQAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QEBANEdHR/xfX1//ZGRk/4ODg/+Wlpb/hYWF/52dnf/S1NH/wMK//4SFg/98fHr/Y2Ni/0E+P/9GQkT/ + lpSW/8HKwf+0vrT/m6qd/4+okP9+o3r/aZ5h/1ydTv9Vk0b/Rnc9/x9GGf8UJhH/FSoS/xxBGf8nViP/ + LmEp/ypwI/8reyP/MYAo/zmILv8/jzT/Rpc5/0ucPf9Qn0P/VqNP/1ymW/9jqWb/aaxy/2+vfP9xsIT/ + crKN/3Wzlf9utJj/brae/224o/9vu6b/dMCt/3bEsf94xrL/dMS0/2TBsv9Sv7P/QL20/zS8s/8zvbT/ + NsC3/zXBtP8vwan/Mcem/z7Kr/9IzLP/Rsur/03Pq/9Kz6T/Rc+c/z7VlP852o//NteJ/zTUhP820oD/ + OM96/zrPdf860G//N8hn/zrAXv9KvFn/ULhP/1a2TP9Yukv/XcRT/2LRXP923Gv/edZ0/4DPgf+RzJH/ + ncuX/6nFn/+3xLD/v8S9/46QkP8yMzP/OTo5/1VXVf+Bg4H/m5qb/8fDxf/39fb/8/P0/+jo6P/g4OD/ + 19fX/8vLy/+zs7P/j4+P/62trf/p6emjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT2YUFBQ/2RkZP9ycnL/i4uL/5SUlP+NjY3/ + w8PE/8zMzf+FhYb/b29x/2NiZf9PTlH/R0hK/4WHhv+9v73/qrSt/5eqn/9/oYz/cp98/2edaP9jnlb/ + Wpc9/ztrJf8ZNRf/ECgO/xQrEv8aQRb/IFgb/yZoH/8sdCL/KX0i/yqDJP8ziSn/PpAz/0aVOv9Klz// + TZhD/0+YRv9Ul0//XJdZ/1+WX/9lmGz/bJ99/3KiiP96pZP/fKia/3ezn/92t6b/d7qs/3e9sf94wLb/ + eMO6/3fFu/92xb3/cse//2nFwv9WwL3/R769/z+/vv8/wMD/QsDA/zq+t/8xvK3/N76u/0jFuf9Qx7n/ + TsSw/0nDqP9EwKH/Rc2g/z/Wmf881JL/O9OK/z3UhP9B1YD/P9V4/zjTbP860WX/Q85d/1jNX/9hy1r/ + XsJQ/1G1RP9KsEH/S7VG/1/OV/9l0mH/dNRv/4LVe/+Kz37/l8aM/6rEqv+8ycP/wcLA/3x8e/8zMjL/ + Q0FC/2ZlZv+AgID/pqen/9vc3P/z8/P/8PDw/+rq6v/e3t7/z8/P/8XFxf+ZmZn/mpqa/93d3dUAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + U1NTD0BAQOpXV1f/Z2dn/319ff+Kior/hoaG/6urq//X19j/oJ2g/2tpbv9tbHH/TExR/0BDRv9+hYL/ + tr62/7W/tP+XqJ3/g6OH/2+mdP9go2H/VppS/0qFQf8uWx//FCsK/w4ZDP8SMRH/HEgY/yNaG/8hZRn/ + IXEa/yd8Hv8uhCP/NYgp/zyLL/9DjTj/SI08/0qKQP9Jh0H/S4ZE/1KFTP9biVX/YIxd/2STav9qoX3/ + dKuM/3+zmP+GuqL/h8Sp/4fIsP+Iyrf/h8y8/4fPwP+G0cP/hdLG/4TTxv990Mf/dM/I/2fNyv9Sycb/ + QsXF/z7DxP86wb//OcG8/zvCuf9AxLr/Ssi7/1XLv/9Wyrz/UMWx/0fApv9Ewaf/PMGd/z/FmP89yIv/ + R8+J/1PVjP9T1oT/R9Ry/0HSZv9J0l//WtNf/2TSXP9jzFX/W8JP/1O5Sv9LtEb/Rrw+/1LIS/9l1V3/ + cdpl/33YbP+O1IL/nMuf/6PBrv+9xrv/vsO7/29xbP80MjL/WFZW/2pra/+LkI3/rrKw/+Hh4f/39/f/ + 8vLy/+Xl5f/U1NT/ycnJ/6ampv+Xl5f/zc3N3vX19QEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJSUlVQEBA/2BgYP9wcHD/goKC/4qKiv+SkpL/ + zMzM/7y7vP99e33/dHN3/11cYv9ERUv/XmNi/663r/+tvKn/nLCY/4Kkif9pnGj/XqNU/1GfQf84gC3/ + HU0a/wwaDP8MEQv/DiwM/xZDFv8gVxn/JGgZ/yp4G/8tgR7/KYAf/zWBKv9AgzL/PoAx/z57Mv9BejX/ + Rns7/0p9QP9PgUf/WYpP/2SUWf9sn2P/catw/3q8gv+Fypb/i8+i/5HUq/+Z2rf/m9y+/5rdw/+Y3sb/ + l9/J/5bgy/+V4c3/k+DN/47fzv+H39H/fd/W/2rb0/9X183/UNXL/0zUyP9L0sj/SM7G/0HLwf89xrv/ + Q8a8/0zIvP9Py7f/Ucyx/1rKtf9YxbL/Sr6j/zi1iv8+uYf/ScCF/1LHgf9UzHb/SM9o/1LWaf9j2mn/ + ZtVg/2LOVP9hy1P/XchT/1fATv9EuTj/Rb07/0/KR/9d1lH/a9xb/33ab/+J0Yr/j8eX/6fEpP/B2L7/ + r7qs/1haVf87OTn/WFhY/21yb/+Kj4z/v7+///Dw8P/09PT/7Ozs/9ra2v/Gxsb/tra2/6Ghof+9vb3k + 7u7uEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAENDQ7VFRUX/ampq/3p6ev+Hh4f/k5OT/7CwsP/Kysr/iYmJ/3Jwb/9yb3D/UE9T/1BTVv+ao53/ + qbmm/5irjv+Nq4P/ZJ1o/1mWVf9VlET/OHYl/xRHCv8IHQX/DBMP/w4oFf8QRAz/GlYU/yBnFv8ldBn/ + L4Eh/zSCJP8veSH/M3Um/zlzK/84cSz/OnIw/0F4Nv9Mgz7/WI9J/2GaVP9tp1z/erFo/4K7c/+ExH7/ + ic+O/4/Vn/+P1qj/k9iv/5vZuv+d3MH/m9zF/5ndyP+Y3cr/lt3M/5Tdzv+S3c3/itvN/4Tb0f932dT/ + ZtfU/1PSzf9Hz8r/R9DN/0XPzP9Fzcn/Rs7H/0vPxv9LzsH/Scq8/0nIuv9ExbX/R8Ky/1TEt/9GvaL/ + Q72W/0vAlP8/uH//PrV0/z6zbP82uWD/Tcpq/2fYcf9u2Gj/adRa/2fSVv9k0FX/XstR/1PDQf9Guzn/ + Qbs6/0rIQv9W00v/ZtZZ/3fWcf+D1oP/l82V/6TOov+xy6//lZ+S/0BBPv88PDz/Zmpo/3N3dP+dnZ3/ + 0tLS/+/v7//v7+//39/f/8rKyv/ExMT/ra2t/7W1tfXk5ORi9vb2AQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUVPDw88lJSUv9ycnL/goKC/5KSkv+YmJj/ + wcHB/6mpqf9ramr/bGlj/15cWv9XWFn/f4WE/7G9s/+WqI//kKWA/36mb/9PoFD/V5lW/0JyO/8UMg3/ + CBcF/w0YCP8XKRD/GkgW/xFdC/8Zag//IngU/yV8Ff8mdhj/KG0b/zFqI/8zbif/NnMq/zp4L/9CgzX/ + TZA9/1mfSP9krFP/brdd/3K7YP93vGX/fbtt/328dv+JxI//jsih/5HKrf+WzbX/mM67/5nQwP+b08b/ + mdXK/5jVzf+W1s7/k9XN/5XW0f+V19X/jNbY/33T2/9gytD/TsXO/zy/yv83vsz/N7/K/znCyv85wsj/ + QMXI/0bGx/9Hx8H/TsnA/1bPxv8+xrL/Lb6l/yy7nv8vupf/K7aH/y2zfP85tn3/QLh5/ziybv8+tGf/ + TsFj/2fQZv9u2V7/bttY/2fXVP9g0lD/X8ZH/1XBRf9Duj//OLk3/z7EO/9Y10v/atxb/3HXZ/+K1Yn/ + kMuP/6TKof+0w7D/eHp3/zY2N/9ZXVz/am5t/4KBgf+qqqr/6Ojo//Hx8f/h4eH/1NTU/83Nzf+ysrL/ + r6+v/93d3fTy8vIZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAElJSVE9PT3/YWFh/3d3d/+Hh4f/lZWV/6urq/+7u7v/f39//2VkZP9nZ2H/UlFP/3d3eP+qr67/ + nKuc/4ulhP+BonH/aJ5W/0mgQf9AfUD/HTke/wYIA/8LFgf/FDcN/xlKC/8eYhH/IHMT/xtxDv8cdBD/ + HnES/x5nE/8gYBf/LGIh/zh4LP9BiTP/SZA7/1OdRP9cp0z/Y61S/2OxUv9ks1P/Zq9V/2mrV/9tqF3/ + bqdn/32xg/+Iu53/j8Gu/5vJu/+czb//odLH/6DTyf+h1c3/otbR/6PZ1P+i2tb/o9rX/6Pb2v+a2t7/ + itfg/3DN2f9ZxdL/RL7P/zy90/86vtH/OsDO/zi+zP87v8z/PL3K/z68xP87usD/Nrm6/yO3qv8fvKf/ + ILmi/x60lP8bsIP/IK57/yqwd/8prm7/MbBs/zWvZP88sVn/Vr5g/2TJX/9oz1j/ZtNV/2PTUv9by0T/ + Ws1J/07DR/86tDb/Orgz/07PQ/9d3E//X9pU/3zYeP+H04T/mc2W/7TOsf+nr6X/YWJh/zs7O/9sbG7/ + c3Nz/4mJif/R0dH/8fHx/+bm5v/b29v/0NDQ/7e3t/+wsLD/1dXV//Dw8CAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPz8/p0hISP9paWn/eXl5/4yMjP+SkpL/ + yMjI/6Kiov9kZGT/ZGNj/2FhYP9WVlb/nZ2e/6Sspv+NpYz/f6d3/2WeWv9SmkP/RJE0/xhFFf8GDQT/ + CQ4D/w4oBP8MRQX/DV4L/xduFP8nchX/IGsQ/xxlD/8cYxL/ImcW/ylwHf8wdyT/P4wx/0ubO/9QnkD/ + VqFG/1ujTP9fo0//XqFQ/1yfTv9gm1D/Z5tU/2+fXf9tomX/eq99/5DCo/+Ev6P/lcq3/6HSw/+k1cf/ + p9jN/6vb1P+v39n/suLd/7Tj4P+x4t//q+Df/6Pf4v+T3OT/f9jk/2LN1v9Ox9X/QcXX/zzD1P82v8// + NL7O/zW8zP83usv/OrnJ/zm3xf8xsb3/IKyv/yGwsP8erab/GqiW/xqlhv8fpH7/JqZ2/yemb/8mp2L/ + Lqxg/z2wY/9MsmX/U7Jf/127Xv9nx1z/bNFb/1PZRP9S10L/Vc9F/06/Pv9DszT/P7g0/0nRQv9X4U// + b9lg/3rZcv+M1Yf/otOj/7jOuP+HjYX/Qzs//1xUWf9tbm7/c3R0/6Wlpf/q6ur/7+/v/9vb2//Ozs7/ + wcHB/7i4uP/S0tL/8vLyHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAGtrawRCQkLfS0tL/2xsbP97e3v/jo6O/6mpqf+2trb/g4OD/2JiYv9iYWH/VVJS/3Z5dv+irKT/ + nK6d/4WohP9tn2b/U5RJ/0WHNv8jVBX/CScG/wUOA/8LIgb/GEIK/xdYCP8VZxH/FmkS/xZiC/8ZZA3/ + H2gQ/yZwFv8veR//OYMq/0SMNf9HlDj/R5Y4/0iUOP9IkTn/TZI//1SWRf9bnE3/YaJS/2GcT/9onFT/ + bZ5a/22hY/9upm7/fLSL/3q3lv+ezr7/qNbK/6nYy/+x3dT/uOLb/77m4f/C6eT/wenm/73n5f+25OX/ + quPm/5zg6f+M3uz/adDc/1PJ2f9Dxdf/OsLS/zG+zv8vvc3/MLrL/zC4yf82ucv/O7jK/zezwv8lrbb/ + H6uy/xilpP8Yopn/HKCN/xqbf/8bmHH/H5hq/yCeYf8YmVX/G5dP/zenXP9LtWH/VLpe/169Wf9iwFH/ + WM1J/1nRSv9b00z/UcpD/0O9NP87tyz/Pb8w/0jLO/9l21j/cNto/3vRdf+Y1Jb/r9Gv/6Ctnv9qZ2b/ + TUhK/2pra/9paWn/jIyM/9LS0v/u7u7/4eHh/9LS0v/FxcX/uLi4/9HR0f/v7+8jAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZ2dnAUNDQ/9QUFD/cXFx/4GBgf+Tk5P/ + vb29/52dnf9hYWH/YmJi/19fXv9dW1n/mZ+X/56xn/+Ep4X/bZ9r/1iVU/89hzf/LWwj/w4eBf8FFAP/ + BhwD/ww7Cf8YVg7/GGIK/xlmDP8XYw7/FGAN/xtoEP8lcRf/Lnsg/zeEJ/8+iy7/RpM1/0STNf9DkDT/ + RZA2/0iOOf9Njj3/UJE//1iXRf9emkn/X5hJ/2WZT/9qnVf/cqNi/3Smaf94qXX/eK2D/6LMu/+r2Mz/ + tN7O/8Pk0f/U6dr/3Ozi/+Du4//f8OT/1O7r/8Po6f+25uj/peLn/4na5P9s0+P/YNDf/1fO2/9DyNX/ + McDP/yu7y/8vucv/MLrK/zfA0f8zuMj/NLTH/ymuv/8bprH/FKKm/xOenf8Um5H/E5eE/xWUdv8WkWf/ + GZRa/xmVVP8VkVL/GJFT/ymaU/9Or13/Yrld/2G2Uf9Xt0j/VsBJ/1fMSf9R0EP/Rso3/z/BLf8/uyv/ + Q70v/1LXRv9j3lr/a9Vm/4fWhf+l1aL/s8yw/5KZjv9MSkn/YWFh/2FhYf9ycnL/sbGx/+jo6P/o6Oj/ + 19fX/8jIyP+6urr/z8/P/+vr6yoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARUVF/1hYWP94eHj/ioqK/5mZmf+/v7//gICA/1BQUP9lZWX/X19e/3x7d/+ptqb/ + iqyJ/2qca/9RklH/SI5E/y12KP8TRQz/CgkD/wYZA/8HMwb/C08J/w5dCP8PXwX/FV8G/xljDP8cahX/ + I3EZ/yp6H/8wgSL/NIQk/zeIJP87iif/PIor/z+MMP9HkDf/TZM8/1KVPv9Skz3/VpM//1eSPv9ck0P/ + Y5hM/2mcVv9womD/dqdp/3uqd/9/sIj/lcWu/67Zzf+74dP/zunY/97u3//l7+b/6fLn/+n06v/f8+// + z+7w/8Hq7v+q5Oj/idrh/2zT4/9m0+T/X9Hf/0nL2P86xdT/OcLV/zu/0/84vc//Nr7O/zG4xv8xtMX/ + Ka++/yKotf8dpa3/GqGj/xecl/8VmIn/FZN7/xiRbv8bkWH/G5JZ/xiQVv8XjFD/IYtJ/0KaT/9bqlX/ + ZLFW/1+uUv9atE7/U8FH/07NQP9Kzjv/Rsg0/0S8Lv8/tin/O8sx/1ffT/9n4WD/edt0/5nclf+v2az/ + qLuk/2BmXv9UU1T/YGBg/2VlZf+RkZH/2dnZ/+/v7//Z2dn/ycnJ/76+vv/Nzc3/5+fnNwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABHR0f/ZGRk/4CAgP+VlZX/ + oqKi/6ysrP9oaGj/UFBQ/2dnZ/9lZWT/mJuU/56zmv9xoG7/WppY/0KMP/86gTX/HVkY/wQeAv8JDwP/ + DCsG/w1LCP8KWwj/Cl0F/wxeBv8YZQj/H2wO/x9xF/8kdxr/Kn4f/y+BIf8xhCD/M4Me/zKEIP83hif/ + QYov/0qROP9RlT7/VJY//1OTO/9UkTv/VY86/1qRQP9jl0v/aZxV/2+gYP93p2z/fa17/4K0jv+Mwab/ + sNvQ/8Ll2P/W7N//4vDj/+jx6f/r8+r/7PXt/+X28P/b8/L/ze/x/7fp7f+V3+j/c9bl/2nT5v9j0+P/ + U9Df/1DQ5f9QzOX/R8TY/0PC1P84vsz/MrrH/zC1xP8psL7/J626/yOps/8fpKn/G5+c/xeaj/8VlID/ + FY9x/xWNY/8UiVb/GYxS/yqUVv84lVH/SJVR/1OZTv9dpFL/Zqxc/1ytU/9QskX/Sb4//0rHPv9JyDr/ + Rb0y/zu1KP8rvSD/StlA/2XsXf9v4mf/jeKG/5vWlf+pyqX/h5SF/1JRU/9iYWL/Y2Nj/3R0dP+/v7// + 7u7u/93d3f/Kysr/w8PD/8vLy//i4uJEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAEtLS/9vb2//h4eH/5ycnP+oqKj/kpKS/1paWv9ZWVn/ZmZm/3R0c/+ep5v/ + h6WD/2CXXP9RnE3/Poo4/yZnIf8PNwr/BA4B/wQhAf8KPAP/DlcF/wthB/8LYgz/EWcP/x90EP8hdg// + HHIQ/yJ4Ff8ofhr/LIIf/zGFIf8zhSH/NYci/zyJKf9FizD/So40/0yONv9NjTT/UI41/1iSPf9ck0D/ + X5VE/2aZT/9snVj/caFj/3upcv+Ar4H/greS/4/Dqv+03dP/yefd/9ru4f/m8eX/5/Hp/+rz6f/u9u// + 6vfy/+L19P/X8vP/x+/x/6jn8f9+2un/atPl/2LR4v9Uztz/VNHi/1nP5f9Pxtf/TsXX/z/Bzf84vsv/ + M7nH/ymzv/8nr73/JKy3/x+nq/8Zop7/FJ6S/xWahv8UlHf/EY1m/xuPXv8plFr/OZdZ/06cXP9eoVz/ + W51T/1eaTv9coFL/VZ9L/02iQ/9LrEH/TLhA/0vBQP9Iwzz/P78y/y64If9AzDP/XeVQ/2zoYv+D5Hv/ + idKE/6DPnP+kuKH/ZWNl/2BfYP9lZWX/Y2Nj/6Ojo//m5ub/4uLi/87Ozv/FxcX/ycnJ/97e3k0AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATExM/3h4eP+NjY3/ + nZ2c/66ur/97e3z/U1NT/2FhYf9hYGH/iIiI/5ypmP92mXP/U5FP/0WVP/83hTD/EEYL/wUXAv8JEgX/ + BDwB/wlQAv8PYQP/D2YM/xNpGv8acR//H3wU/x99Df8geg//JX0V/yqAGv8uhB//MIUh/zSIJP83iSb/ + Pokq/0eLMP9JizH/S4sw/0yLMf9QjTT/WJA7/2GVQ/9kmEr/aZpR/22eW/90pWn/fqt4/4Gyhf+At5P/ + mMm1/7zh2f/P6t//3e7i/+fx5f/q8+v/7vXu//D37//t9/T/6/j1/+P28//T8/P/t+72/5Di8/9w2Oz/ + ZNTp/1XP3v9Uz97/WM7e/17N4P9dzuP/S8jX/zvBzv82vsv/MLnG/yu0wv8osLz/Jq20/yOrrP8ep57/ + GqGO/xibff8Tk23/HZNi/zicYv9YpGr/YKNj/2WlXv9ho1r/W55U/0+WSP9Plkb/UZhH/1CeRv9MpkP/ + RrI+/0DBOv89xjb/PLsu/za5Jf9N1T3/bu5f/33mcf+E137/mtSX/6/Lrv+Ef4T/V1dY/2RkZP9YWVj/ + jIuL/9vb2//o6Oj/1tXW/8bGxv/Hx8f/2traVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABSUlL/enp6/46NkP+foJ//rK2r/2praf9QUlL/YmNk/2RmZf+VmZP/ + jaKL/2mVYv9KkUH/OYsy/yhtIv8FKAL/CBgF/xIuDP8FUQH/Cl4C/xBpBf8UbhH/GXIe/xp4Hv8WfA// + Gn4L/ySCFP8mgxb/K4Mb/y+FIP8xhyL/NIgl/zeIJf87hyX/QYgo/0eKLP9LjC//UI4y/1SRN/9akz3/ + YZdF/2WaS/9pnVP/bqBf/3Snbf99rnv/gLWJ/4O8mf+GwaX/s9zR/9Hq4f/g8OT/6vLm/+zz7f/v9u// + 8vjw//H49P/x+fX/6vfw/+L49v/B8ff/muf1/3DY6/9i1uv/WNTj/1TQ2/9b0Nv/aNPl/2bU6f9Qy9z/ + O8TP/zXAzP8yvMj/L7fE/yy0v/8qsbn/KK+y/yGspf8dpZD/GJ57/xaYcf8glmb/SKJq/2uwcv9srGX/ + ZaRc/2GiWf9hpVv/T5hK/0+XR/9SmEr/UJlJ/0eaQf89oDn/Na00/zi4M/9IxTT/MLMe/znAKv9n6lv/ + dudt/4Tge/+X2JL/rdKs/5eflv9YWlb/YV1g/1ZTVv92d3f/ysvK/+3u7f/Y2dj/x8fH/8jIyP/b29tU + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF1dXf96enr/ + iYiQ/6aoqP+doZf/WVtV/1BUVf9eY2b/doF5/5OnkP9ylnH/U5NJ/z+UL/8xgSr/EEIT/wMbAf8EOQT/ + BEwB/wVdAf8KZAX/Em4N/xh4Ef8YfxH/Fn8P/xN+C/8Xfg//H4AV/yKBGP8ohBz/LoYg/zKJJP81iiX/ + OIok/zuKI/8/iiT/RIsn/0qOK/9QkC//U5M1/1eXPP9emkT/Zp1N/2qgV/9vpGP/dKpy/32xgf+BuI7/ + hsCd/4fDpv+03dL/1+3j/+Pw5f/r8+j/7vXu//D38f/z+PL/9Pn1//X69P/z+vP/6vr3/831+/+K3eP/ + adbl/1nV5v9W1eP/Wdbg/2bY5f9t2er/Y9Tk/1HP3P8/ydT/NsTO/zbAyv81u8b/NLfD/zG0vf8or7L/ + Gqih/xiijP8YnXv/GJlw/yqcav9Yq3T/dLN0/3GuaP9oq2P/Y6df/16jV/9VnU//TplI/0mYRP9Fl0H/ + Qpc+/z+XPP89lTv/PJs1/0jFKf87vyf/KbIf/0rURP907mr/feZx/5Lbiv+m3KD/m7+W/2hxY/9hVV3/ + XVNd/2BjY/+stK7/7PHt/9fY1//Jycn/zc3N/97e3k8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX19f/3t7e/+Pjpb/qKqq/5CTi/9VVlH/VVZY/19kZv95iHr/ + i6OI/2uWaf9OkUb/NYsp/yR0Hv8FOwj/AisD/wQ/Bf8LVwX/CWQG/w5qC/8UdBH/GHsT/xl/E/8WfxD/ + E38M/xd/Dv8ggRX/I4IX/yeDGv8shh7/MYgh/zKIIf80hx//O4ki/0GKJf9HjCj/TI8s/1KRMf9VlDf/ + WJc+/1+aRv9lnk//aaFY/26lZv90q3X/fbKD/4K5kf+Dv5z/i8at/6rYy//P6eD/5fHn/+zz6f/v9e// + 8ffy//T58//2+vX/+Pr0//n89f/u+/f/1fj7/5rk6/9q1+P/WNbo/1HU4P9Z1uD/Z9nl/23a6f9h1eX/ + Tc7b/zzJ0/83xc//N8HL/ze9yP84ucb/NLbB/yyxtv8fq6b/G6aR/x2hff8hn3f/O6R2/2Swe/91s3L/ + dLBq/2mrZf9lqGH/YaRa/1efUv9Qm0r/SZhE/0SXQP9Aljz/PJQ5/ziTN/8zki7/NaQh/0nAOf83uS3/ + Nbsp/336bP966Wz/j+CI/6Tfov+ozKP/eYRz/2FWXv9bUlz/WFtb/56noP/j5+T/19fX/8rKyv/Ozs7/ + 3t7eTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiYmL/ + fn19/5WYm/+prKv/f4F5/05OSv9ZWlz/YGhm/3ySfv9+nnr/YJJb/0WNPf8ogSD/EWMN/wI4Av8EQQr/ + CE0J/xJnEP8QcA7/E3UQ/xh7Ff8Zfxb/GYIV/xaBEf8Ufw3/GIAP/yCBFv8ighb/JoQY/yqFGf8vhxz/ + NIkf/zeJIP87iiL/QIsm/0WNKv9LkDD/UZM1/1aVPP9amUP/YJxM/2WgVP9po1//badq/3Wtef9+s4f/ + hLmQ/4bAn/+GxrT/k9DG/7nh2P/i8ub/6/Xn/+317f/v+PP/8Pn0//L69f/3+/b/+vr4//n8+//q/Pz/ + zPf5/4Di5/9Z2OX/WtTd/2jZ5/9j2eb/Vtbj/07V5P9F0eH/OcnY/zjF1P83wc7/N77I/za6xv8zt8D/ + KbK2/yCtq/8cqJ3/HqOI/zGjd/9br33/dbZ//3Wzdf9zsG3/b61l/2ipYP9fpVv/V6FT/1CdS/9JmUT/ + Q5Y+/z6UOv84kTX/M44x/y6LLP8tjCT/OqYy/zy0MP82uST/c/Fb/33yav+M6Ij/neKf/7Tcr/+Nmoj/ + YVhe/1tTW/9PUlH/jJSO/9nc2v/Z2Nj/zMzM/9HR0f/g4OBHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZmZv+AgID/mp6i/6epqf9ub2r/SklF/2BgYf9kbWj/ + fpp+/3Cbav9Wj0v/OoYy/yB5HP8DVAL/A0AD/w1SDP8MXg7/FXUX/xV7FP8WfhX/GYAX/xqCF/8Zgxb/ + F4IT/xaBD/8ZgRL/IIMW/yODF/8mhRj/KoYZ/y+HG/80iR7/OIoh/z2MJP9Bjij/Ro8s/0ySMv9SlDf/ + V5c+/1uaRf9hnU3/ZqFX/2qkYf9uqWz/dq57/3+0if+EupL/h8Cg/4XGs/+PzsX/r93V/+Hy6v/p9Or/ + 7Pbu//D48//x+fX/8vr2//f79//7+/r/+fv8/+r6/P/H8/H/jeTl/27e6P9r2eD/feHw/3Pg7/9Z1uH/ + RtHc/z7O2/85ydj/OcbV/zjD0P83vsr/N7zG/zS5wf8rtLn/JK+v/yKso/8sqpH/SK6G/2m1gv93tnv/ + drN0/3Owbf9urWb/Z6lg/1+mW/9YolT/Up9N/0qaRv9Elz//PZM5/zePM/8xjC7/L4ou/zSHNP8igB// + MKAn/0LBLf9f3ET/gfpu/4jshv+V4Zr/uOS0/5ytmf9hXl//WVRZ/0hLSf98g33/09bU/93c3f/Ozs7/ + 0tLS/+Hh4UYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + a2tr/4ODg/+doqb/n6Ki/2NhXv9KRUT/ZmVl/2h1af98nnn/YZdY/0eNOf8vgSf/GnMZ/wJNAv8FUgL/ + EWML/xBwE/8RfRf/FIIW/xWCF/8YhBj/GYQY/xmEFv8YgxT/GYMV/xyDFf8ggxf/I4QY/yaFGP8qhhr/ + Logb/zOJHv84iyH/PY0l/0KOKf9GkC3/TJMz/1OVOP9YmD//XJtG/2KeT/9nolj/aqVi/2+pbv93r3z/ + gLWK/4W6lP+HwKD/hcWx/4vNwf+j2dD/1vDr/+b17f/p9u//7/jz//L59f/z+vb/9vv3//v7+f/6+/v/ + 7fz8/8719P+p7vD/kOnw/4rk6v+T6vX/iej2/23d6v9Q1N//QtHe/zrL2v85x9b/OMTQ/zjAy/83vcf/ + NLrB/y62uv8nsrP/J66j/zStkf9MroD/aLJ5/3i1eP93s3P/cbBs/2ytZf9lqV//X6Za/1mkVf9SoE7/ + S5xH/0WYQf8+kzr/OJA1/zKNL/8wjDD/Noc6/yB2H/8fhxn/Nasl/1TMPv9/9m3/hOqB/5HilP+05rH/ + pr2j/2loZ/9YVVn/QUZE/210cP/Q0dD/5OHi/9DR0f/U1NT/4uLiQQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABvb2//hoaG/5yipf+UmZn/X11a/01GR/9samn/ + a3xs/3Wfcv9VlEv/O4sr/yiAIv8TbhX/AlUC/w5kBf8Tbwz/DnsU/wmBFP8RhRX/EYQV/xSEFf8VhBX/ + F4UX/xmFF/8chhf/HoYY/yGFGf8khhr/KIcb/yuIHP8wih7/NIsg/zmMIv89jiX/Q5Aq/0iSL/9OlDX/ + VZc6/1qaQf9enEn/Y6BR/2mjW/9spmX/cKtw/3iwf/+Bto3/hbuW/4jAov+FxK//icu+/5fVzP+85+P/ + 3PXu/+f27//v+PP/8/r2//L79//1/Pf/+vz5//n7+f/y/f3/1vf1/8L09v+y8/f/p+/y/6Pv9v+V6fP/ + fuHs/13X4v9E0tz/OczY/zrJ1v85x9L/OcLM/zi/x/81vMP/MLi9/yu1tv8vsqj/PbGU/1azhf9wtn3/ + erV3/3izcv9xsGz/a61m/2WqYP9fp1r/WaRU/1KgTv9MnUj/R5tD/0CWPP86kjf/NZAz/zCNMP8wiTP/ + Koct/xl8Gf8chhX/Tbo8/3XjZf+G64L/kuST/67lrP+sx6n/dHZy/1dWWP8+REH/Y2pm/8rJyv/l4uT/ + 0tPT/9bW1v/k5OQ9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAHNzc/+IiIj/mKCj/4qQkP9fW1r/UUlK/3Fvbf9wgnH/bp5q/0yRQv8xiB//J4Mi/wlmDv8KYwr/ + GXMN/xh7Df8LgA//BIEP/w2DEf8OgxH/D4QR/xCEEv8WhRb/GYcX/x2JG/8fiBr/IYYZ/ySHGv8niBv/ + K4od/y+LHv80jCD/OI4i/z6QJ/9Dkiv/SJQw/06WNv9UmDv/WZpC/1ydSf9joVL/aKVc/2yoZv9xrHL/ + eLGA/4C3jf+Eu5f/icKm/4nGsf+Jy77/mNfW/5/c2f++6OX/5fjy//H59f/1+vf/8/z4//T99v/5/Pb/ + +/36//P9/P/i+/r/0/n4/8L18/+u8Ov/qPDx/6Lt8/+N5e//bd3n/0vW3/890dz/PMzZ/zrI0/84xM3/ + N8HI/zS+xP8wu77/Kri4/zG2qv9CtZr/WraJ/2+1e/94tHP/eLNw/3Kybf9rr2f/ZKtg/1+nWv9YpFX/ + UqJP/02fSf9HnET/Qpo//z2YO/84lTf/M5Iy/y+RK/8tji//HH0g/xd3Fv8zkij/Zs1Z/5T0jv+W6JX/ + q+Sp/7HQr/+BhH//V1dZ/ztCP/9ZX1v/w8DD/+Xi5P/V1dX/19fX/+Tk5D0AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0/4eHh/+boaX/hoyM/1pZWP9QSkv/ + b25r/3KFbv9pnGL/Qo84/y+GHf8jgR//BmUM/w9vEf8YeRL/FYAP/wmBDP8HgxD/DYMR/w2EEf8PhRL/ + EYQT/xWGF/8aiBn/HYoc/x+JG/8ghxn/I4gb/yaJHP8qix3/Lowe/zONIP84jyP/PZEn/0OSK/9IlDD/ + Tpc2/1SZO/9Zm0L/XZ5L/2OhU/9ppV3/bKho/3Gsc/94sYH/gLeO/4K7mP+IwaX/g8Op/47PxP+Y2t// + l9zh/6jh3f/d9fD/8fn0//X69//y/Pj/8/32//j99v/7/vn/9v77/+f7+P/c+fj/zPb2/7Xy7f+r8O// + qu/0/53p8/964On/T9fc/z3S2f89z9r/O8vT/zjHzv83w8n/NcDE/zC8v/8rubj/Lret/z+2nf9WtYv/ + bLR7/3ezcv93s3D/crFs/2qvZf9jq1//XadZ/1ilVP9Sok7/TJ9J/0edRP9Cm0D/P5o8/zmXOP8zljP/ + MZgp/yiOKf8ghSf/HHwh/x93Hv9StEv/nviY/5vrlv+r56j/tNWy/4aOhv9YWVr/PkNA/1dbWP+6uLv/ + 4N7h/9PT0//Z2dn36OjoMAAAAAD4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABzc3PMhISE/6iqrv+Gjo3/SFFO/0VISP9lZ2L/coNq/2KbWv80iiz/L4Qm/xhyE/8HbAn/ + BnUN/wd9Ef8HgBL/DIcW/xGLGf8Rhhj/EocY/xOIGf8UiBn/Foga/xiIGv8aiRr/HIob/x+LHP8ijB3/ + Jo0e/ymOH/8ujyD/MpAi/zeSJf89lCn/QpUt/0eXMv9NmTj/VJw9/1meRP9doE3/Y6RV/2ioX/9sq2n/ + ca91/3izgv+AuZD/gLyY/4PBov+Ixqv/ltTM/43Y3P+W4Ov/pePj/9bz7v/x+fP/9fr4//L8+P/y/ff/ + 9/32//z++P/5/vv/6/z4/+L6+v/T+Pv/ufXz/6vx8P+s7/P/qOv2/4jl7/9W297/QNTa/0DR3P89ztb/ + O8rQ/zrFy/82wsX/ML/A/yu8uv8subH/Obej/1G2j/9ntXz/c7Ry/3Wzb/9ws2z/aLBk/2GsXv9cqVr/ + VaZS/0+kTP9JoUb/RZ9C/0CdPv88mzr/Npg1/y+VL/8slSv/MZsz/ySOKf8bgSL/IH4l/yuHLf+P4Yz/ + qvOi/7HoqP+02bT/hJKI/1laWv9IREL/XFpX/7W2t//a293/zMzL/93d3Zj29vYF+Pj4Afj4+An4+PgA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHp6emaKior/qKis/4eNjP9IUU// + RUhI/2ZoY/9vg2n/YZpZ/zSLLf8mfR//FXEQ/wlwCv8KehH/C4QW/wuEFf8NiBb/EYsZ/xGIGP8SiBn/ + FIkZ/xWJGf8XiRr/GYka/xuKG/8dixz/IIwd/yONHf8mjh7/Ko8g/y6QIf8zkSL/N5Ml/z2UKf9Dli7/ + SJgy/06aOP9UnT7/WZ9E/1yhTf9jpVX/aKhf/2ysaf9xr3X/eLSC/4C5kP+AvJj/h8Om/4jGq/+U08v/ + jNjd/5De6P+c4OD/xu3l//H59f/3+vf/8/z4//P99//3/ff//P74//r++//u/ff/5vr6/9j5/f+99/f/ + q/Lx/6ru8f+o7PX/jujy/2Hf4/9F193/QNLe/z7P2P89y9H/OsfL/zbExf8xwb//Lb25/yq6s/80t6b/ + TLaR/2K0ff9ws3L/dLNu/2+yav9osGP/Yaxd/1ypWP9WplL/UKRL/0qhRv9Fn0L/QZ0//z2cO/83mTb/ + MZcy/zCYMf8slzD/J5Is/yePL/8fgCX/DGoN/12zW/+2/rH/s+uq/7nduf+OnJL/V1hX/z87OP9YV1T/ + wMLD/+Li5f/Nzc3/4eHhkuvr6wL4+PgB+Pj4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAhISEDY2NjvKnpan/iIyM/0pST/9GSEj/Zmhj/2yAZv9cmFb/M40v/xt3F/8QcQ7/ + C3UQ/w5/Fv8PiRr/DooZ/xCKGf8SjBr/EYoY/xKKGP8Tixn/FIsZ/xaLGf8YjBr/Gowb/xyNG/8fjhz/ + Io8d/yaPHf8pkR//LZIg/zKTIv83lSX/PZYp/0OYLP9HmTH/TZw3/1SePf9ZoEP/XKNL/2KmVP9mqF7/ + aqto/26vc/90s4D/fLiM/368lv+EwaP/hMOq/4bKvP+P19X/kN7e/5Lf2f+v6ef/4/f1//f58//4+/f/ + +f36//n9+v/5/fr/+f76//n++v/y/vn/5f35/9H69v+28/D/oe/u/5Tt8/+A6PH/Zd7i/0rW3P8/097/ + O9LY/zfNzv8zyMX/NMXB/zXCvf83wbr/Mb21/zW7rf9EuJf/U7N9/2Syb/9tsWb/bbBi/2euXf9hq1f/ + X6lU/1amTf9Nokb/R6FD/0OgQv8/nkD/Opw7/zabOf8ymTT/M5s0/yyWL/8mkiz/KZMv/ySIKv8GZQj/ + KYUp/6Txn/++9bb/ut+7/5Cflv9SUlL/Ojc1/1tbVv/Iycv/5OXn/9DQ0P/l5eWM7u7uAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjYyNmaShpP+Oj5D/ + T1VS/0RGRv9jZWH/aX5k/1iVU/8viy3/EXIQ/w5zD/8OfBT/EYYa/xGMHv8Rjxz/E44a/xOOGv8SjBr/ + E4wa/xSMG/8WjRv/F40b/xmOHP8bjhz/Ho8d/yCPHv8jkB7/JpEf/yqSIP8vkyH/M5Uj/ziWJ/89mCv/ + Q5ku/0ibM/9NnTj/VJ89/1mhRP9cpEz/YqdU/2apXf9pq2f/ba9y/3Szf/97uIv/fbyU/4LBof+Ew6r/ + hsq6/5DX0/+T393/k+Da/6vo5//b9PP/9vjz//f69//5/Pr/+fz6//j9+v/4/vr/+f75//X++P/p/ff/ + 2fr3/7308v+k8PD/jOvu/3Xk5/9k3t//VNje/0nV3v9E0tj/P87P/zrKx/86x8L/PcO//z7Bu/83vrf/ + Ob6w/0e6m/9UtYH/Xa9p/2auX/9nrFn/YKlS/1qnTf9Xpkr/UqNG/0uhQv9HoUH/RKBB/0CfQP88nj3/ + N5w5/zOaNf8znDT/Lpox/yWRKv8ikCr/K5Ix/xN7GP8Lbgz/cMRr/8f8vv+84b3/jZuR/0tLS/86NzX/ + ZmVh/8vMzv/g4OL/1dXV9evr62T19fUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAACKiYozop2g/5mXmP9ZXVv/QUJD/1xgW/9mfGH/UpBO/yaFJP8KcQz/ + DnoT/xGEHP8Qix3/EI8d/xOQHf8UkRz/E5EZ/xKPG/8Tjxv/FJAc/xaQHP8XkBz/GZEd/xuRHf8dkh7/ + IJMe/yOTH/8mlCD/KpUh/y6XIv8ymCT/N5kn/z2aK/9DnC//R50z/02eOf9ToD7/WKNE/1ymS/9hqFL/ + Zqpb/2msZv9sr3H/c7J9/3q3if98vJP/gMCd/4TDqf+EyLX/jdTO/5Te3f+W4N3/qefm/9Ty8v/w+PT/ + 9Pr3//f7+f/5/Pn/+v35//n++f/5/vr/9/35//D9+f/g+vn/xvb2/6nx8/+N6+z/dOTl/2bg3/9g3OH/ + WNfe/0/T1/9K0NL/RszM/0XJx/9IxsX/SsTA/0HDu/9AwbL/Tb6e/1m4g/9WrWH/YaxY/2SrUv9dqUv/ + VqVE/1KlQv9Ooj//SaA9/0agPv9DoD7/QKA+/z2fPf83nTn/Mpo0/zGaMv8vmzL/KJcu/yWWLf8tmTb/ + Howl/wpzDf85jzX/uO6w/8Xqxf+MmZH/QUJC/zUyMP9wbmv/0NDS/9zd3//b29vi8/PzB/f39wAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACknaLM + pKGh/2VnZf8/Pz//VVlU/2J6X/9MjEv/G30c/wp2D/8Sghn/FIwf/w2MHP8MjRr/EZEc/xWTHP8Vkhv/ + EpIc/xOSHP8Ukh3/FZMd/xeTHv8Zkx7/G5Qf/x2UH/8glSD/IpYg/yaXIf8pmCL/LZgk/zKaJf82myj/ + PZws/0KcMP9HnzT/TaA5/1OhPv9Xo0P/XKVK/2GpUv9lq1r/aK1k/2yvb/9zsnv/ereH/3y8kv9+wZv/ + hcSn/4XHs/+H0MX/ld3d/5jg3v+p5+j/0/T0/+j39v/v+fj/9Pv4//f9+P/5/fj/+v75//j++v/5/fn/ + 9/z6/+f7+//O9/n/sPHy/5Ps7f9+5+n/b+Lk/2ne4f9i2dv/V9TU/1DR0f9Oz9D/T83M/1PKx/9XyML/ + T8W6/03EsP9XwZ7/X7qD/1KrWP9bqk//YKpL/12oR/9WpkH/UqU+/06iPP9IoDr/RJ85/z+eOP8/nzr/ + PJ85/zedNv8ymjP/L5cw/y2bMf8tnzX/LqE3/y2bN/8ajSL/FYMa/x97Hf+Tyov/yu/K/4qYjv87PDz/ + Mi4s/318eP/Y2dr/29vd/97e3aj4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKyhp2atqav/bnBv/z0+PP9OU03/YHpf/0iLSP8SdBX/ + C3oT/xaLH/8XkiT/C4sb/wWIFf8PkBr/FpQc/xWTGv8Tkhv/FJIb/xWSHP8Wkxz/GJMd/xqUHf8clB7/ + HpUe/yCVH/8kliD/J5ch/yuYIv8umSL/Mpok/zebJ/88nSr/Qp4u/0efMv9LoDj/UqI9/1ajQv9bpUn/ + YKhP/2SsWP9orWL/a69t/3GyeP94toT/e72P/37Bmv+HxKf/isez/4XMv/+U2tj/oOPk/6fl5v/D7e// + 3PT0/+r5+P/z/Pn/+P35//v99//6/fj/+f36//v9+//5+/r/6vr6/9D2+P+08fL/m+3u/4jp6v955OT/ + c+Dh/3Dd3v9j2Nj/WtbV/1jT0v9b0M7/Ys/J/2XLwP9kyrn/X8Wq/2jCm/9it3f/VKlS/2GrTv9gqUf/ + WqZA/1OkOv9MojT/R580/0WfNf9BnjT/P581/z2fNv83nTP/Mpwx/y+aL/8uly3/MaAz/zCiNv8qnjP/ + K5w1/xyTJf8flCX/GngY/2+jZv/I7Mj/fIqB/zU3Nv84NTP/kZCM/+Di4//W1tj/3NzcbQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + rqKnDbKtr/J3eXj/PDk8/01PTf9bdFv/Q4dF/wtxD/8Mghf/FpAj/xaTJP8LjRv/B4oW/w2RGf8VlB3/ + FJMc/xSUHP8UlBz/FpQd/xeUHf8YlR7/GpUe/xyWH/8elh//IZcg/ySYIf8nmCH/Kpkj/y6aI/8ymyX/ + Npwn/zydKv9Cny//RqAz/0qhOP9Rozz/VqRB/1qmRf9gqE3/Y6tW/2euYP9qsWr/cLN2/3e2gf95u4z/ + fcCX/4jEpP+Lx7H/h8u8/5LX0/+k4ub/qubp/7Tp6P/O8fD/5Pn3/+769v/3/Pb/+v32//r9+P/4/Pr/ + +fz6//n7+//r+/v/0vb3/7Tw7v+d6+n/kOnp/4jn6P+J5uj/guLj/3Hb2v9n19X/Z9XR/3PV0f9zz8L/ + fc++/3nMr/9rxJf/e8SV/2W0a/9aq07/X6pI/1yoQv9Vpjz/UKQ2/0uiMf9GoDD/Q58x/0CfM/9AnzT/ + PJ40/zWcL/8wmi3/LZkr/y+bLv81pDb/L6I1/yOZLf8tnzj/JJsv/ySaLv8ZfRv/UZBL/7Xctf9wfHL/ + MS8w/0Q/P/+qqab/4+Tk/9XV1tjk5OQ6+/v7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsrKxmY6Lj/9DN0P/U0tT/01gTf85gjz/ + Cn8R/w2RHP8Pkx3/D5Md/xCUHv8RlR//EZUf/xKVIP8Tlh//E5ge/xSYHv8VmB7/Fpgf/xeZH/8ZmSD/ + G5kg/x2aIf8gmiL/I5si/yacI/8pnST/LZ4l/zGfJv81oCj/OqAq/0GiLv9GozP/SaI3/0+jO/9UpUD/ + WKdF/16pTP9hqlP/ZK1d/2mxZ/9utHP/dbd+/3e7iP97v5X/hcKh/4vGr/+Jy7v/hdDF/5re3f+r5ur/ + quTh/7rq5f/a9vT/7/v2//T78f/5/PT/+v34//f8+v/4/Pv/9vz7/+r6+v/U9vf/u/Hw/6ft7P+Z6en/ + j+Xk/5Lk4/+W5OX/i+Dh/3va1v921M3/etDB/2zBn/+FyKf/ecWT/2O8df9qum//X69W/12sSv9cq0T/ + V6o+/0+oOf9KpjP/SKUv/0KiLf8+oS7/PaEx/z6hMv89oTX/N58x/zOdL/8wnC3/MKEy/zGhNP8xojf/ + MKI6/zSkQf8kmTP/I5g1/xWJI/8vkDX/hreG/25xaP8xIyv/UkhO/8jHxf/c3tv/2NnYafT09AH4+PgG + +Pj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAC0tbMzramu/1NHU/9FPkX/SV5J/yx4Mf8Uihz/D5Qc/w+VHP8PlBz/EJUd/xGVHv8RlR7/ + E5Yf/xSXH/8TmB7/FJge/xWYH/8WmB//GJkf/xqZIP8cmiH/Hpoh/yCbIv8jmyL/JZwj/ymdJP8sniX/ + MJ8m/zSgKP85oSz/PaEu/0KiMf9HpDb/TaU6/1KmP/9Wp0X/XKlL/2CrUv9jrVv/Z7Bl/22zcP91t3z/ + druG/3q/kf+Ewp7/icWs/4bItv+BzL7/jtfP/6Lh4f+l4+H/r+fi/87x7//q+vX/9vv0//n89P/5/Pf/ + 9vz6//X8+//y+/r/5/r6/9P29//A8fL/sO3v/6Pp6v+a5eX/nOTh/53j4P+V4N3/i9vV/4bVyP9nwZr/ + X7Z+/2S1c/9htGb/YLNd/1uuU/9hrk//YKxI/1urQ/9Wqj7/Tag5/0mmM/9IpjD/QaMu/z2iLf85nyz/ + OJ8t/zqgMf84oDH/Mp4v/zCdLP8xoTP/MqI1/zKkOP8zpDz/N6VD/yecNv8nmjf/HZAr/ymNMP9bkFz/ + UVdM/ygbIf9qYmb/3t3b/9bY1f/c3dte+fj5Afj4+AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC+ur7SbWNu/zczN/9EX0f/ + IHMn/xOPHP8QlR3/D5Yd/xCWHf8Qlx7/EZce/xOXH/8TmCD/E5gg/xKZH/8TmR//FJkf/xWZIP8XmiD/ + GJoh/xqaIf8cmyL/Hpsj/yGcI/8knST/Jp4l/yqeJv8unyf/MqAp/zehK/87oi7/QKQx/0WlNf9Lpjj/ + T6g+/1OpRP9Yq0r/XaxR/2GuWf9osWP/brNr/3W3df92uoD/d7yL/37Alv+ExaT/hciw/4fLuv+L0cb/ + ktbQ/5Ta2v+j4eT/wevu/+L29f/0+/b/+Pz0//j89//0+/j/1/Lt/9Ly8//Q8fL/yPD1/8Xu9v+46/H/ + r+fq/6nm5v+g49//nOHa/5rf1P+W2cb/ic+u/2q8g/9puHf/Z7Zu/2i0Zf9ns1z/Y7BV/1+vTv9brUf/ + V6tC/1KqPf9NqDj/SaY0/0WlMP9Aoy7/PaEs/zmgLf83oC3/N6Au/zegMP80oDD/MaAx/zOjN/8zozj/ + NKU7/zSmPf85p0b/LKA8/yuePP8mmTT/JIwr/zlyPP84QzX/KiEm/46Gi//u7u3/2drXpgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAALq4vXmRiZP/NDQ2/zpaPv8ccyP/CowU/w+XHf8QmB7/EZkf/xGZH/8SmR// + E5kg/xSaIP8UmiD/E5sh/xSbIf8VmyH/Fpsi/xebIv8ZnCL/G5wj/xydI/8fnST/IZ4l/ySeJf8nnyb/ + KqAn/y6hKP8yoir/NqIs/zqkLv8+pDH/RKY1/0qoOP9Nqj3/UatE/1atSv9br1D/YLFY/2WzYf9rtWn/ + c7hz/3S6ff91vYj/fL+T/4HEn/+Ex6v/h8q2/4vPw/+R1M//k9jZ/5vd3v+15uX/zuzo//D59f/2+/b/ + 9vz4//H69//I7OH/tebf/6rg2P+s4d7/verv/6Te2/+Y29H/nN/V/5bbzf+D0bf/dMmj/3PEmP9vwIr/ + cbyA/3G6d/9vt3D/arRj/2eyWv9isFP/Xa9N/1qtR/9Wq0L/Uak8/0yoOP9IpzT/RKYx/z+kLv88oy3/ + OaIu/zehLv82ojD/NqMy/zajNP80ozT/N6U7/zenPf84qT//OKhD/z6rS/8ypEH/M6NC/yuhOf8kkiz/ + L200/yg3Jv9BOz3/tbC0/+7v7uLa3dsPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrW6ILm2vv5CSEb/ + Jkwr/xp5I/8GkBL/D5ke/xGaIP8QmR//EZsg/xKbIP8TmyD/FJwh/xScIv8TniL/E54i/xSeIv8WniP/ + F54j/xifI/8anyT/HJ8k/x6gJf8goCX/I6Em/yaiJ/8poij/LKMo/zCkKv81pS3/OaYv/z2mMf9CqDX/ + SKk4/0yqPf9QrET/Va5J/1mwUP9dslf/Y7Rf/2i2af9vuXH/cbt6/3O+hf95wI//f8Sb/4LGpv+FyrH/ + is6//5DTyv+T19P/mNrX/6zh3f++5t3/5PXy//D69f/y+vb/8fr2/9Dw6f+56ef/sOTg/6Te2P+f3NP/ + mdnO/5PYyP+K1L3/htCz/4XNrP+ByaP/esSU/3a/iP94voD/cLhx/2+3bP9qtWH/ZrNZ/2CxU/9cr03/ + Wa9H/1WtQf9Qqzz/Sqs3/0epNP9DqDH/PqQu/zqjLf83pC//OKQx/zelMv82pzT/NqY3/zWmOP86pz7/ + PKhB/z2rRf8+rEj/RLBR/zqqSP87qUn/Mag//yeeMv8uczT/HjEf/2lnZ//d2dz95+roQQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAy8rQxmZsa/8fSCb/Fnsi/wuZGf8Qmx7/EZse/xGcH/8SnB// + E5wf/xSeIf8UnSD/FJ0h/xKeI/8SniP/E54j/xSeJP8WniT/F58l/xmfJf8boCX/HaAm/x+gJ/8ioSf/ + JaIo/yejKf8royr/L6Qs/zKlLf82pi//Oqcx/z+oNf9FqTj/Sas9/06sQv9Tr0j/V7FP/1uyVf9gtV3/ + Zrdm/2y6b/9vvHj/cb6C/3nCjP9+xZj/gcej/4TKrv+Jzbv/kNHH/5XW0P+c2tb/q+Db/7rm4P/S7+v/ + 5/f0//H79v/z+/f/1PPu/7rr6v+w5uL/quLc/6Le1v+e29D/ldjH/4zTvP+N0bT/h8ym/4DHnP97xJH/ + dMCD/3O+e/9vu3D/bLlq/2e2YP9ktVn/X7NT/1uxTf9XsEf/U65B/06sPP9Iqzj/RKk1/0CoMf87pC// + OKQt/zilMf82pTL/N6c0/zeoNv83qTn/N6k7/zypQv8/q0X/QK1J/0OwTf9KslX/QK5O/0KtUP81rUT/ + Kqc4/yt3Mv8nQCr/lZaV//Du8IwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADJyc9s + laGd/yxZNP8Teh//D6Ie/xCcH/8QnB//EZ0g/xGdIP8SnSD/E54h/xSeIf8UniL/E58l/xSgJf8UoCX/ + FqAl/xegJv8YoCb/GqEn/xuhJ/8doif/IKIo/yKjKf8loyn/KKQq/yulK/8vpiz/MaYu/zSnMP84qDP/ + Pak2/0KqOf9HrD3/TK1B/1GvR/9VsU3/WbJT/120Wv9jt2L/arlp/2u8cv9wv37/dsKI/3vFlP9+xp3/ + gcio/4bMtP+N0MD/k9XJ/5rZ0P+m3tj/s+Tf/7/o4f/i9vP/6/n0//H79f/T8uz/uezr/7Do5P+m49z/ + oN7U/5razP+S1sL/idK3/4bPrP+Dy6L/fMeX/3bDjP9ywIL/b714/2u7b/9luGf/ZLZf/2K1V/9eslH/ + WbFL/1WwRv9RrkD/Ta08/0irOP9DqjX/P6gy/zqkL/83pC3/NaUx/zanM/83qDX/N6o3/zirO/83rD3/ + P6pF/0CsSP9Cr0v/RrJQ/020WP9DsVH/Rq9U/ziwSP8qrDj/LHo1/0xnUP+/wsDR9/b3BwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/xRa7w8H7SnhS/w5+HP8OoR//EqAh/xKfIf8SoCH/ + EqAh/xOhIv8ToCH/FKEi/xShI/8ToCX/FKAl/xWhJf8WoSX/F6Em/xihJv8aoib/G6En/x2iJ/8foij/ + IqMo/ySjKP8npSn/KqYq/y2nK/8wpy3/NKcv/zipMf88qTT/Qas3/0WsOv9LrUD/UK9F/1SyS/9YtFH/ + XbVY/2K4YP9oumf/a7xw/26/e/90wYT/ecWO/3vHmP9+yaP/hMyu/4zPuv+S08L/mNjK/6Hc1P+p4t3/ + sOTc/8/w6//n+fP/7vrw/9f07f+67Or/sOjh/6bj1/+e3s//l9rH/4/Wvf+G0rH/g86o/3/Lnv93xpP/ + csOI/2/Afv9svnT/aLtr/2O5Y/9itlv/YbRV/1yzT/9XsUr/VLBE/1CvP/9MrTr/R6w3/0OqNP8+qTH/ + OKYu/zamLf80pjD/N6gz/zapN/85rDv/Oq0+/zqtQP9Cq0b/QqxI/0ayT/9KtVb/ULZc/0m1WP9Ptlz/ + PrFN/yqrOv8uhDj/dpZ6/9/k4WoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAMnEyLhtmHL/CIoX/wqeHP8VpSf/FaUn/xSkJv8ToyX/E6Ml/xOiJP8SoSP/E6Ek/xSiJP8VoiT/ + FaMk/xajJP8XoyX/GKMl/xqkJf8boyX/HKMl/x6kJv8hpCb/I6Un/yamKP8ppir/LKcr/zCoLf8zqS7/ + Nqox/zurM/9ArTf/Ra06/0muPv9OsEP/U7JK/1e0T/9btlb/YLle/2a7Zf9ovW3/a792/3HCf/91xYr/ + d8eT/3rJnf+AzKr/h860/47Suv+T1sL/mtrO/5/f2f+p493/uOjd/9v07P/t+e7/2PPq/73s6P+y6N7/ + peLT/53ey/+W28H/jde3/4PTrP+Az6L/fcuZ/3bGjv9yw4P/b795/229b/9qu2f/ZLhf/2K2WP9ftVL/ + WrNN/1WyR/9SsUH/Tq88/0quOP9FrTb/QKwy/zuqL/81qiz/NKsu/zWsL/83rDT/O6w6/z2tP/9ArUL/ + Qq1F/0mwRf9FrEf/TbVX/1G3YP9Wt2j/WL1q/2bGc/9Nr1n/NaVC/ymUNP+Pv5T/8/DyQAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAw8DCX2yYcf8IiRb/C58d/xOjJf8ToyX/ + E6Ml/xOjJf8SoyX/EqEj/xKhI/8ToST/FKIl/xSiJf8VoyX/FqMl/xejJf8Yoyb/GqMm/xqkJv8coyb/ + HaQm/yClJ/8ipij/JaYq/yioK/8qqCz/Lqkt/zGqL/81qzH/Oaw0/z2tNv9Crjr/R689/0ywQv9Qskf/ + U7RO/1e2Vf9cuVz/Y7xk/2a+bP9pwHT/cMN9/3TFh/93yZD/ecua/37Npf+F0K//i9K3/5DVvf+W2cn/ + mt3T/6Ti2f+x5tv/yO7g/+X37P/T8uj/vOvl/7Dm2/+m4s//nd/H/5jcv/+P2rX/hder/4HSof9/zpb/ + eMmM/3PFf/9wwnX/b79t/2u6Y/9muFv/YrdV/121T/9YtEr/U7JE/1CxP/9NsDv/SK44/0StNP8/rDH/ + Oqsv/zSrLf8zqy3/M6ww/zesNv87rTv/Pq5B/0KuRf9Er0f/S7NK/0evS/9QtVj/UrVh/1m4av9gwXD/ + bst6/1KyXf83p0X/LZc5/5C/lP/08fIVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAADEwcMOapdw9giKFv8Knx3/EaEj/xGhI/8RoSP/EaEj/xGhI/8SoSP/EqIk/xOiJP8Toyb/ + E6Mm/xSkJv8VpCb/FqQn/xekJ/8YpCf/GaUn/xqkJ/8cpSj/HqYp/yGmKv8kpyv/J6gt/yqpLf8tqS// + MKow/zSrMv84rTT/Pa42/0GvOf9GsD3/SrFB/02zRf9QtEr/VLZP/1i5Vf9evFz/Yb1k/2bBbf9sxHb/ + ccd//3TJif97zZb/fs+f/4LQp/+J07D/jtW3/5TYvv+Z28b/nd7M/6bj1f+u5tv/vu3m/7fr5P+q5uD/ + o+PV/5/fyv+a3cH/l9u5/5HZsf+J16n/htOg/4XRlf99zov/dciA/2/Fdf9qwGv/ZL1i/1+5W/9dt1P/ + W7VN/1azSP9SskP/TbA//0mwO/9Grzj/Qq43/z6tNP85rDL/Nasv/zOsL/81rDT/Oa07/z2uQf9BsEX/ + RLBI/0izTf9PuFH/TLRS/1K2XP9VtGH/YLtt/2rHeP910IL/VbZh/zmpRv8xmj7/kL+U/wAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABhmGmsCo4b/waaGf8QoCL/ + EaAj/xGhI/8SoiT/E6Ml/xOjJf8VpCb/FaQm/xSlKP8UpSj/FaUo/xamKP8Wpij/F6Yp/xmmKf8ZpSj/ + G6Yp/xymKf8epyr/IKgr/yOpLP8mqi3/Kasu/yyrL/8vrDD/M60x/zeuMv88rjT/QK83/0SwOv9IsT7/ + S7ND/061R/9RtUz/VbhS/1u6WP9fvWD/Yr9p/2nDcv9vxnz/ccmF/3jNkf97z5r/f9Gi/4XTq/+I1bH/ + j9a4/5PZv/+W3MT/neDN/53h0P+i5Nb/nOPU/5ji0/+W4Mv/k93A/5Hbt/+Q2bD/jNio/4fWov+G1Jr/ + hdKT/37Oiv93y4D/ccV1/2rCav9jvWH/Xbpa/1u3Uv9ZtUz/VLNH/0+yQv9LsD7/R686/0OvOP9Arjb/ + PK40/zmtMv80rTH/Na0z/zmuOf8+sED/QbFG/0SyS/9ItU//TblT/1C8V/9RuFn/WLdi/1y1Zv9qv3X/ + edCE/4HXjP9auGX/O6pK/zefQ/+Ww5v/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAFyfZWIQlCH/A5cV/xChIv8SoiT/EqIk/xSkJv8VpSf/FqYo/xinKf8Xpyn/ + FKcp/xSnKP8Upyn/Fagp/xaoKf8XqCn/GKgq/xmoKf8aqCn/HKgq/x6oK/8gqSv/Iqos/yaqLf8oqi7/ + K6sv/y2sMP8xrTH/NK0z/zmvNf89rzf/QbA6/0SyPf9Is0D/S7VF/062Sv9SuFD/WLxW/1y+Xf9hwmf/ + acZw/2/Jef9zy4L/eM2N/3zPlP9/0Zv/gtOk/4HTqf+H1a//i9e1/4zZuf+S3cL/kt7D/5Lfxv+I3sD/ + h93B/4vdv/+K27X/i9mt/4zYp/+J1qD/hNSZ/4LTk/+B0Y3/e82E/3PJev9sxXD/ZsFn/1+9X/9ZuVf/ + V7dQ/1a2Sv9StEb/TbJC/0ixPv9EsTv/QrA5/z6wN/88sDX/OK81/zeuNf86sDr/PrJC/0S0Sf9HtU3/ + SbZR/0y4VP9QvVn/U79e/1a7Yf9fu2j/Z7pt/3jFgP+K3JP/jN2V/164av87q0z/PaVL/57NpegAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbLB1KBGVIv8Elxb/ + E6Ml/xSkJv8VpSf/F6cp/xmpK/8aqiz/Hast/xurLf8UqCn/Fagp/xWoKv8WqCr/F6kq/xepKv8ZqSv/ + Gakr/xqpKv8cqSv/Hakr/x+qLP8iqi3/JKst/yasLv8prC//LKwv/y+uMf8yrjP/NrA1/zmwN/88sTj/ + QLM8/0W1P/9Jt0P/TblI/1O9Tv9awVf/YcRe/2fHaP9vy3L/dM17/3fNgf96zon/fdCQ/3/Slf9/1Jz/ + fdWh/4HWqP+G167/htmx/4zcuv+M3b3/i929/3zbtf973LX/g921/4Tbrv+F2ab/iNih/4fVmv+B05P/ + f9KN/3zPh/90zH7/bch0/2fEa/9iwWL/Xr1c/1i6Vf9WuE//U7dK/061Rv9KtUL/RrQ+/0O0PP9Asjr/ + PLE3/zuwN/86sDj/PLE8/0GzRP9FtUr/SLZN/0q3Uf9NulX/T7tY/1G+XP9RwGD/Wr9m/2fBb/9xv3b/ + hs2M/5fin/+S4Jz/X7dr/zqpS/9AqU//qNmx2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAB9v4UBEJId7AmbG/8VpSf/FqYo/xinKf8aqiv/G6wt/x2uL/8gsDH/ + Hq8x/xKpKf8UqSv/FKkr/xWpK/8Wqiz/F6ss/xirLP8Zqiz/Gaks/xqqLP8cqy3/Hast/yCsLv8irC7/ + JKwv/yatMP8prjH/La4y/zCvM/8zsDT/N7E2/zqxN/8+sjr/QrU9/0e3Qf9PvEn/V8BR/1/GWP9jyV7/ + Z81m/23Pbv91z3f/eNB+/3rPhP950oj/etWL/3jXkf9315f/e9ic/37Zov+B2af/hNut/4fds/+I3bb/ + ft2y/37etf9+3a3/f9qm/4DYnf+B1pf/gNWQ/33Tiv960oX/ds9//3HMd/9syHD/Z8Zn/2LCX/9cv1j/ + Vr1S/1O8Tf9Qu0j/S7pE/0e7QP9EuT7/Qbc7/z+0Of87sjf/OrE4/zuxPP8/skP/RLVJ/0i3Tv9KuVL/ + TLtW/068WP9PvVv/Tr5d/06/YP9bwWr/b8V2/3rFfv+R15X/ouqn/5fhoP9etWz/OadK/0KrU/+w47nH + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjRiz + DKMg/xaoKP8Xqiv/Gqwu/xyrMP8irTX/JK83/ya0OP8hsTT/Fqou/xeqLv8Xqi7/F6st/xarLP8Xqyz/ + F6ss/xirLP8Zqyz/Gqss/xusLf8drC3/IKwu/yKsLv8krS//Jq0v/ymtMP8srjD/Lq4y/zKvM/80sDP/ + OLE1/zyzOP9BtTz/RrhB/02+SP9WxE//XclW/1/NW/9hzl7/ZtBl/27RcP900Xj/ddJ8/3TTfv9z1X// + cdeD/3DYiP9z2Y3/d9qU/3nbmf983J//gd2m/4DcqP973Kn/geCx/3rbpP942Zr/eNiS/3rWjv951on/ + d9SF/3XSf/9z0Xn/bs9z/2nMbP9ly2T/Ysle/13GV/9Xw1H/UsFL/0zARv9JvkP/Rb5A/0K8Pf9AuTv/ + PrU5/zuyOv87sTv/PrNA/0C0Rf9Ctkr/RbhN/0i5Uf9Ku1X/Trxa/1G+Xf9Rvl//UL5j/17Ebf9yyHv/ + hMqI/53WoP+s67H/leGf/1e1Zv81pkj/SaxZ/7zsxKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSLI3oKqh//D6oj/xGxKf8ZtjX/HKc3/zOrS/82qkv/ + M7hH/yi1Of8nrzz/JK87/yGvN/8drjP/Gq0v/xeuLP8Vrir/Fa4o/xatKP8XrSn/GK0r/xuuK/8drSz/ + IK0t/yKtLf8krS7/J64v/yquMP8srjD/L64x/zKuMv80rzT/OLA2/z60Ov9EukD/TL9G/1PGTP9Zy1H/ + WcxV/1bLVv9azFn/YMxg/2XNav9pzm//adBy/2fRc/9p0nb/a9R8/2/Wgv9z2Yr/ddmO/3bZkv952Zn/ + edib/3PXnP9926j/cteZ/3HVkP9v1In/cdWF/3DVgf9u1H7/b9R5/27Tc/9p0W3/ZM5n/2DMYf9dylv/ + WchV/1XFUP9QxEr/ScBD/0a9Qf9Cvj7/P7s8/z63PP87sjv/OrA6/zmwPP85sT//OrJB/zuzRf9Atkn/ + RbhP/0q7VP9TvVz/WMBi/1u/Zf9jvm7/Z8tz/3bRgv+X0Z//s8+3/7vkwv+J3Zf/QbtV/y6lRP9jq3H8 + 4PznRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Lpw9QAicGv8OqCP/Da4m/xKxLP8frjn/PrhW/z+yU/85uU3/M7xF/zG1Rf8ttUP/KrQ//ya0O/8gszf/ + HrIz/xyyMf8asS7/F64s/xitLP8ariv/G64s/x2tLP8frS3/Iq4t/ySuLv8mri//Kasw/yqmMv8roDT/ + K5o1/y2YNv8xmzn/OKU9/z+xQf9GvUX/TsZJ/1LGTf9Pwk7/SrlO/0ixTv9HrVP/TKxY/1CuXv9Tr2L/ + VLBj/1WzZ/9aumz/YcV0/2nPe/9p0X//aMuD/2bBhP9iuYT/WbWD/2e6kv9euob/YsCD/2XJfv9o0Xv/ + adR6/2fVdv9n1HP/Zs9t/17HZv9Wvl//ULVZ/0yvVP9JrlD/SbBN/0a0Rv9DuEH/QLs//z+7Pv88tT3/ + OKk9/zSfPf8xmj3/L5g9/y2ZPf8unT7/MKU//ziuQ/8/tk3/SbpV/1O/Xf9awWT/XsFo/2XAb/9szHf/ + ftSJ/53UpP+628D/uunD/4LZj/9AtVH/NaFG/4C8ie7a++EqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOsVwKC4sY+g+kI/8MrCP/C68m/x+0Of9Ix1// + S79f/0bBV/9CxFX/O71P/zq8Tf80u0r/L7pE/yu4P/8mtzr/JLc4/x+zNP8bsS//HbEw/x2xL/8dsC// + HbAv/x+wMP8hsDD/I68x/ySqMv8knzT/Io42/yB8N/8dbzj/H2o6/yJwPf8nfT//L5A//zimQf9DuUT/ + SL1H/0OvSP85lUj/MX5I/y5ySf8ucUv/MXFN/zNyUP8zc1D/N3lV/0CJW/9Po2T/XL1u/2HEc/9ctnP/ + T5pu/0OEaf86d2f/O3ls/zqEav9Dmmz/VbVx/2PJcv9p03H/ZdJu/2DMaf9Xu2H/S6Va/z6PVP81fk// + L3RM/y5ySv8vekj/M4lF/zicQP87rD7/OrM9/zaoPv8tkT//JntA/yJtQf8gaUH/IW5C/yN7Qf8okT// + MqZD/z62Tf9Jvlf/VMFf/13EZ/9gxWv/Z8Nz/3PNf/+J15X/pNqt/8Lryf+177//d9KF/0CwUP9DolH/ + oNSo2eD75wwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQgR3KD50h/w+vJv8IsCL/GLY0/0jMYf9c0G//WMtp/0/JYv9Fwlj/QsFX/z7AUv84vk7/ + M7tI/y+5Q/8sukD/Jrc8/yK2Nv8jtTX/IbQ0/yG0M/8htDP/IbQy/yKzMv8jsDH/IqIy/x6INv8WZjj/ + DlxV/wpyh/8JgJ3/CoKe/w9zgP8ZYE3/JXZA/zKYQf86p0T/NZRE/xyJhP8OhKH/DYGh/w6Bov8OgaL/ + DoGj/w+Co/8PgqT/FIyn/zZ9Xv9Mp2L/Vbdo/0yhZv8klaH/FIiq/xCCqf8Pgqn/Eoir/yCVof9IoWb/ + W8Fp/2HPaf9by2X/Ubde/0CTVv8tak7/HV9j/xF0jv8NgaL/DYCh/w91j/8ZYF3/JWtA/y6MPv8xnzz/ + Lpg9/xyJav8Nip//CoCg/wqAoP8KgaH/Do2h/x+JYv8xoEb/QLdQ/0zBWv9XxWP/YMhr/2PKb/9syXn/ + gNCK/5vao/+v4Lf/xvfO/6rvtf9qynj/RKxU/16qaf++6cWvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACGEL5ERmSP/ErMq/wa2Iv8Ptyv/ + PspX/2refv9s133/Xsxu/1HJZP9Ox2L/ScZd/0TDWP8/wVL/OL1N/zW7Sf8vvEb/LL1A/yu9Pv8ouzz/ + J7o6/yW5OP8kuTX/I7kz/yO0NP8emjP/FW42/wWawv8Avv3/Aqzj/weDov8JgZ//A6fb/wG59v8NfZT/ + IWlA/y2LQP8qgED/GlJG/wG7+P8Avv3/BKrf/wyBof8NgaH/DYGi/wqPuP8Bufb/JWhe/0CXV/9Msl7/ + Q51c/ytkVP8ReZr/AL79/wC+/f8Pe57/ImJP/0GeXP9Uwl//Wcxf/069W/89l1P/JmNU/wmVwf8Avv3/ + AL79/wC+/f8Avv3/AL79/wC+/f8Ki6z/HmM+/yeIO/8ojjv/HW09/xBPVP8Avv3/AL79/wSl2f8YS0X/ + Jn5H/zWmSv9FvVX/UMVf/1vKaP9kzW//aM90/3TSgf+Q1pn/rd+0/7zpw/+++sj/lOih/1zCav9QsF7/ + h7+N/9f3220AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAASqFWVhmdKv8TtCn/B7si/wi3Jf8vwEn/beGB/3vfiv9s0Xv/X9Jx/1zRb/9Xzmr/ + UMpk/0nIXf9DxVf/QMNU/zzDUP82xEr/NMNH/zDDRP8swUD/KL88/ya+Of8jvjf/I7o1/xWRL/8SXzj/ + Aqnf/waCov8NRTr/FVk9/xhWQP8SRED/B460/wC+/f8Oc4b/IWo+/yNvP/8YSUD/Abj0/wC+/f8JlcH/ + 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 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6rQKwFsRX/BLsS/xXBKP8iuTb/Ssxe/5X4pv+e4K3/ + ld+h/5DlnP+L5Zv/gd+W/3rbiv9z2Hn/addz/2PYdv9g13L/WdVt/1LUZv9K01//RdBZ/0PQVv89ylH/ + NbdL/yqTSP8ZXUT/CnqX/wKv5v8Avv3/AL79/wC+/f8Avv3/AL79/wiHpv8YZzv/HG86/xJKPP8BuPT/ + AL79/wOp3v8JgJ7/CoCe/weRuf8Gns3/IWo+/zOfPf8/wj//QslB/zuzQ/8qf0P/EWV2/wC+/f8Avv3/ + EGV1/yh+P/84sj//QchA/zy8QP8qj0H/F09B/wC+/f8Avv3/CIOj/xtpPf8qpTn/McM3/yy5Nv8gjjn/ + ElI8/wG49P8MYF7/FHU2/xN8Nf8OTjv/Abj0/wC+/f8IlcL/Emh//w2CpP8SeZT/JWJi/z58YP9ep3X/ + e8uK/5Demv+z57n/yfPO/8Pzyv+S25v/Y8hw/1K1X/94wYD81PvZSgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + acJ2KBWaH/sAugn/CMgY/yO+Nv8jsjb/cu6K/7bqyf+p6az/neaa/5vkpf+X4bH/idyg/37hgf955Hv/ + ct6E/27dfv9p2nn/Ydlz/1rXbP9V1mb/UNZj/0nOXP89slT/Kn9O/w2Anf8Avv3/AL79/wC+/f8Avv3/ + A6nf/wWXwv8Lb4X/F10//x+DOf8efTj/Ek07/wG49P8Avv3/A6ne/wiAnf8JgJ3/CIqu/wWezf8faDz/ + L5w6/zq8Ov88wjr/N689/yh9P/8QZXX/AL79/wC+/f8PZXT/J309/zavPP87wzz/NrU9/yeJPf8WTT// + AL79/wC+/f8IgJ3/Gmo6/yilN/8uxDX/Kroz/x6QNv8RUzv/Abj0/wxgXf8TdTX/Ens1/w1PO/8BuPT/ + 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 + vOvB/7nwvf+s7LT/qeuy/6Tprf+b6Kf/lOae/4zkmP+J5JX/fd6K/2rHfP9PmGz/J2ty/wO07/8DtO// + E2mB/xlGS/8WT1n/DXqZ/wG7+P8TaGv/HXFA/xdnPv8NQz3/ALv4/wC+/f8Cmcb/CEI7/wdBOv8HQTn/ + BHSM/wKPtv8FQDj/A4Kg/wN0i/8FPzj/BT83/wRjcv8Avv3/AL79/wJhbv8EPzf/BD82/wNyh/8Cgp// + BEA2/wRJRv8Avv3/AL79/wKNsv8FTzb/CYgt/wuoKP8Lnin/CG8w/wRCOP8AvPv/A2Fs/wVLN/8HUDj/ + CUI8/wC7+P8Avv3/CJfF/x1GUP8dUmT/C5fF/wC+/f8Avv3/LHua/3Kbjf+bz6n/iNuT/2LLcP9SwWD/ + d8OB/NH32EYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIHPf38bnhr/ + Cb0b/w+8Jv8GwRr/CLEN/1LOUf+09b3/3Pfr/9Dl3P/I78n/wvbC/7jwwv+28b7/sO60/6jrq/+g6qT/ + meih/5Toof+K5Jb/fdeI/2m8ff9KjGv/K2pv/w6UwP8FsOr/AL79/wC+/f8Ct/T/CKHS/x9xY/8mekf/ + F31s/weOs/8Avv3/AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/Ap3L/wVAN/8CjbL/AL79/wC+/f8Avv3/ + AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/AL79/wKNsv8DX2j/AZC2/wC+/f8Avv3/AbDo/wOFmv8Igjj/ + Cp0o/wqVKf8FgmP/ApC2/wC+/f8BoM7/BGNp/wZhZf8EjbH/AL79/wC+/f8Avv3/AL79/wC+/f8Avv3/ + CK3m/yKDqf9XfXn/gLSV/4/Qm/9qynX/U75g/1u8Z/+28r+j3/7kBgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0+nTDIPDiOcdoyr/BacR/xiyJP8Ixw//B7wQ/0rKYP/G88n/ + +v3x/+H55P/G7db/xe7S/8j0zf/B77r/tuip/7DoqP+r6a3/oeaw/5nipf+T3pv/h9GU/3O5h/9Zl3X/ + Q3hn/zViXv8vWVr/KldW/yxeVf80dFj/OYxX/zaTU/8rgUv/H2VG/xhRRP8UTkL/E05B/xJOQP8PTj3/ + DU87/wtUOP8JXjX/CmYz/wtcNf8KUzb/CE02/wdMNf8GSjX/BEkz/wJJMv8DSjP/BUs1/wZLNv8GTTb/ + B1A1/wdTNf8HUDX/B001/wZMNf8HUjT/CGou/weKJv8InSL/B5kk/wd+Kf8GYTD/BVI1/wZWNf8LXzf/ + EGA7/xVXQf8bUEn/H09N/yNRUf8nVlP/LFZY/zZXYP9KZm//Y4aA/3Osif9txoH/ZNBz/1y9Y/9ns2// + pdasyOf77AsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + wPDETW/KefgPnhb/B7sE/wavIP8KtDL/EKoX/1vLTv/F98D/5vvv/+Hu5f/Y69P/1/PZ/8zy0v/A78r/ + vvLH/7vyvv+w5q7/puSp/6Hmqv+b4aT/j9ma/37Ij/9utYL/Yad5/1qedP9SnW3/U6Nr/1Wta/9Stmf/ + TLZg/0CpWP84m1L/MZFO/yuNSP8pjEf/JoxD/yGLPv8dizv/GI82/xWXM/8VmjH/E5Ew/xCLL/8Ohi// + DYQu/wuEK/8Hgyn/BYIm/wWCJ/8Jgiv/CYMq/wmGKv8JiCn/CYko/wmHKP8JhSj/C4Uq/wuJKv8LkSX/ + CqAh/wmpH/8KpyD/C50l/wqRKf8KiSv/DIot/xONMv8bjjr/Jo1E/zOOUf88j1r/QpJf/0yXZv9Ql2r/ + YJ93/3Wwiv97u4v/b71+/2TEcv9ix27/Z7Rt/6Tep87P99QbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAu+rBXmG/aPAIrwz/Dqkl/wumKP8JtRP/ + CaoG/02/Tv+98cP/6/bq//Hy6//n9uj/3/vm/9L43P/D7sz/v+nC/8nuyf++78D/r+u1/6vqsv+j6Kv/ + meGj/4/bmv+G1pP/gdKP/3rPhv92z4H/dNJ//2zSeP9kz3D/Wslo/1TEYv9OwV7/RbxV/0G6U/89uk7/ + NrhI/zC2Qv8puDv/Jbk4/yG4Nf8bsDD/Gq8v/xetLf8UrCn/Dqwl/wyrI/8IqR//Bqkf/wqqIf8KqiH/ + CKsf/wirHf8Iqxz/B6oc/weqGv8Lqx//Dqsi/wysH/8Lrh3/DLEd/w2zH/8QsSP/ErEm/xGuKP8VrSz/ + Hq8z/yuxPf85tUv/S7pb/1a/Z/9ewm7/bcN6/3HHfP92z4H/eNeG/3XWgv9synf/Ybxt/2W5b/+Vypm5 + yfPLFwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAArOO1REe0UuYRlQv/BqQI/wi5Hf8AqxL/C6EM/03BTf+y7bn/6/n1/+r76v/q+OL/ + 5PXa/9722f/W9dv/yvDc/8Puzf++7sL/uuy+/7TruP+r57H/ouWp/5vko/+Y46D/kN+Y/4vdkv+G247/ + ftmH/3XVf/9s03f/Z9Fy/2PQbv9XyWL/U8hf/07HWf9GxVL/PsNL/zbBRP8xv0D/Lr49/yS5Nf8iuTT/ + Hrcx/xq3Lf8Vtin/EbUj/wy0If8LtB7/CbQc/wq0HP8Isxv/CLMY/weyFv8GshX/BLIT/wmzGf8Osx3/ + DrIb/w6xHP8PsRz/ErMg/xe2Jf8auSf/G7cr/yC2MP8pujn/OL5F/0jEVP9ZyWX/Y85v/2zQdv98z4P/ + etKA/3Tafv9u3nr/ZNFw/2C/a/9uvnj/gcaJmsPmww8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo86lJE+iQcwKkwj/ + AZ4O/wanG/8FqQ//BawF/yizMf+H0JT/z/fR//z+9P/89PH/9/Pw/+f97P/H+tj/yPHR/9Dt0f/K7cz/ + wuvE/7rovf+y5rf/q+Sx/6fjrf+h36X/m9yg/5fcnP+Q2ZT/h9WN/37ShP930H//c897/2fIcP9kx23/ + XMZm/1TDYP9MwFn/RL5Q/z68Sv86ukf/M7pC/zG5QP8stzv/JrY2/yC0Mf8csy3/GLIp/xSxJf8OsB// + DrAf/wyuHP8Krhj/Ca0X/werFP8HqxL/Cq4X/w2uGv8OrRv/Dqwc/xKsHf8XriL/HLIo/x+0Kv8nsjP/ + L7Q8/zi6Rf9Gv1L/VMRe/2LJa/9rzHX/cc16/33Og/94z4D/cdN5/2TOcP9VuWH/YLBq9YvKlXe37b8E + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAos+rEjiRQZsPhwv/EKAT/wSbD/8CqQX/AaoC/yKiIP94zHv/ + 0O/Y//f8/P/59v3/5PXn/9P8zP/Y99b/3vDe/9jv2f/Q7dL/yOrK/8Dpw/+55r3/teW7/7Dgs/+q3a3/ + pt2p/57aof+V15r/jNSR/4bSjP+C0Yj/eMx//3TJev9sx3X/Y8Rt/1rBZf9Rvlz/S7xW/0i6VP9Bukz/ + QLlK/zq3Rv8ztkD/LrQ5/yqxNP8msDD/Hq8r/xWtI/8VrSL/E6wg/xCpHf8OqBv/DKYX/wulFf8MqBb/ + C6kX/w6oGP8Ppxr/FKce/xupJf8hrSr/I68s/zKyPP89tkb/RrtQ/1LAW/9dxWX/aMhw/2/Jdv9yyXj/ + d8x+/3rSgf9uyHX/XLBj/2WtbeSFwo1IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tNu2AE2hR2INiBXrBpUX/wufFf8Opwr/CKED/xOWF/9Mr1n/ouGy/+H96v/z/PL/7/Lj/+/z5//r9uv/ + 5fXl/97z3v/V8Nf/zu3Q/8fqyv/D68f/vuTA/7jhu/+14Lf/rd6v/6Pbpv+b2J7/lNaa/5DVlv+H0o7/ + hdCK/3zNhP9yyXv/acVy/1/Bav9awGT/Vr9g/0+8VP9MulL/SLhM/0C2R/86s0D/NLE7/zGvN/8prjL/ + HKsq/xyqKP8aqSX/F6Yi/xWlHv8Uoxv/EqIa/w2kF/8JpxX/DaQY/xCjGf8WpB7/Hacm/ySqK/8mqy7/ + OrND/0a4T/9PvVn/WsJi/2bFbf9uxnP/ccV2/3PEeP9tzHX/ZsJs/2CtZv9tq3Kyg7aIGwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADKpUiYUixq8GIAV/yCMG/8NoRT/ + A5oG/wSXBv8lpyb/gdGB/9bt1v/18vX//ff7//f99v/y+fL/6fbp/+P04//a89z/0/HW/87x0f/K7Mv/ + xenF/7/mwP+45Ln/sOCx/6jdq/+i26X/n9ih/5TYmP+Q15X/iNOP/3/Qh/92zH7/bMh0/2jGcP9jwmv/ + W7xd/1i7Wv9TuVX/TbZP/0WzSf8+sUL/Oq8//zKtOf8lqzD/JKot/yKoKv8fpSb/HKMk/xigH/8Xnh3/ + EKIY/wylFP8Poxf/EqEY/xmjH/8hpSf/Kagu/y2qMv9FtEv/UbpZ/1i9X/9hwWb/acRu/27Ec/9wwnT/ + b8B1/2DBaf9Rp1jtVpxcboi5jAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAH64fQc8dTlsGnAY6gqMCv8BigL/A5kE/wSYB/8QhxD/QpxB/5zdl//o+Of/ + /f79///8/v/58/j/8fDw/+337f/l/ef/2fvc/9X81f/O+sv/xfDD/8Hqvv/C6L3/wOW7/7nbs/+u06r/ + nuCi/5rfnv+T2pf/jNOP/4TOiP9/yYP/fciB/3bEfP9nuW7/Zrls/2O5af9et2P/V7Rc/0+yVP9Lr07/ + Q61H/zesPP82qzn/Mqk1/y6mL/8ppCv/I6Ak/yCcIf8ZoB3/FaMb/xafG/8ZnB3/IZwl/yuhMP84qD3/ + Qa1F/1qzWv9kuGX/Zbtm/2S6Zv9kvGj/acBt/2a+av9btmH/WZlft22kdSgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/kD4g + D3sOowN5BPoEigf/CpsP/wSLBv8GfQb/JI4j/2qvav+v2bD/2/Ta//f+9f/1+PP/9PTx//j39f/z9PL/ + 6PDl/+Hs3f/Z6db/1evS/9Huz//J7cj/veS8/7Lbsf+32bb/tNe0/63Trv+lzqb/ncme/5XEl/+Sw5T/ + icGN/3DAd/9rvXL/ZLhp/1y0YP9YtVv/VrZa/1e7Wv9QtVT/QadF/z6mQv85pT3/NqU4/zKkMv8upC// + LaYt/yCeJf8YmCH/HZsm/yGZKv8mmS3/LZw3/zymRv9JslT/VrBZ/160Xv9jt2T/YrNk/2CvZP9lsGn/ + aLFs3lupYFyEvIoEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEm4TPQppCsQEgQb/CJIN/waMB/8ChQL/ + CncK/x9/H/9YqVf/qt6n/93u2//0+vH///r5//zw+P/87vr/+e33//Ls7//p7un/4fHi/9bx2P/J68z/ + wOfE/8nhyf/H38j/wNzB/7bYt/+r067/n86j/5nJnP+UyZf/idCO/4fNiv+AyoL/dMR4/2u+bP9huGL/ + WLFY/1ixWv9ds2H/VK5Y/0urT/9BpkP/N6M5/zCgNP8uozD/J5kt/yCPKP8gjSn/JpEw/zWePf9Ap0z/ + RKlR/0KlTv9NrFP/UqxV/12wX/9psmv/YaBk7VONVYFelF8SAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAP5FCBAlpCk8CbQLKBX4F/wmLCP8EhQP/BYMF/w+ADv8feh3/So5H/5HBj//S7c// + 5vvj//r9+v///P//9/b3/+vu7v/j6uT/3erf/9vq3v/X6tr/w+DF/7/gwf+63r7/suC2/6ver/+i26j/ + mtmh/5fUnP+ayZr/msqZ/5bKlf+OyI7/hsKF/3y9ev92uXL/a7Jr/2GsZP9isWX/XbNh/1SvV/9CpkX/ + LJcv/x2LIP8kjSb/MZMy/zOUM/81lzj/PJw//0SiSP9OrFT/WLRd/1yzX/9crl7/V6FZ71SUVJBbjVke + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACd6JwUFYAVL + BGAEwQl5CP0IgAb/AnUB/wV1BP8GcAf/DmwO/yqGK/9es1//odaj/8DmxP/T89b/5/vo//T99P/5/Pj/ + 9/f2//Hv7//c69v/2ezY/9br1f/O6c7/xeTF/7ndvP+u2LH/rNSv/7TOsf+tyqr/pMSf/5q+k/+Quov/ + irmE/4m4g/+GvoH/esZ7/2y5bv9XqVn/RJtF/zORNP8piyr/I4gk/yuNJ/82ki3/PJY0/0aeQP9Spkz/ + WKlS/1SjUP9PnUr/UphS6FGTUodQjlEfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1YDNgtlCp8KZwruA2gD/wFyA/8GfQf/ + BHcE/wdmB/8WaRj/LoAw/1mhWf+FwoX/sdyv/9DozP/i793/6/Pn/+rs5P/q7uX/6/Dl/+rv5v/m7eH/ + 3eba/9fh0//Q3cz/vNu4/7nZtf+z1q//qtCk/6DNm/+ZyZP/lsaO/4PAfv9fsl7/TaFN/zaNNf8ofib/ + JH0h/yqFJv8ykC//NZEu/zaQL/9Aljj/SZhB/06WRv9Rkkn/UI1Iy0SEPGc+dzsRAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAhPCBQCTQJgBGUDvgVvBfcGdQb/DH0K/wRrA/8AZgH/BmcF/w1nDP8bahj/ + Mncs/0qKRP9kn13/k72O/5vFmP+oz6T/tdmx/77fuv/E4b3/xeC+/8Hfu/+q36n/pdqj/5nSlv+HxIP/ + cbNu/1yiWP9NlUn/MoMu/w1vDP8UchH/GncW/yF8Hf8ogiP/L4Un/zSKLP8yii7/NIw2/z6PP/9CiUHf + P309k0R3QDddiVgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + CVwHHwRYBGIMYwa1BGcB7QRsAP8JcQP/CHAD/wJoAP8AYwD/A2QC/wdnBv8OZA3/D2gP/xRwFf8aeBr/ + IXoj/yd6Jv8odyf/KXgo/y19Lv8qeSn/InQj/xpxGf8VbhP/EG4O/w9uDP8PdA7/En0Q/xV7Ef8ZexP/ + HnwY/yZ+Hv8vgST/NIQo/TOGMtEofDKOJHMsPi50NggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASQALAE0APQJWAngEXQS1 + AV4A4ABgAP8AZAD/AGcA/wJpAf8BZwD/AGYA/wBkAP8BZAH/AmUC/wJmAv8CZwL/AmsD/wJqAv8CaQL/ + AmsB/wZtAv8Mcgb/EHUM/w90Cf8KbwX/EXIK/xt1E/UheRvLIXUcnBlpElYOXggjAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVWxAACFIEHgJNAEIBUQBkBFsDkAVaBasEWATC + A1YD1gJWAuUBWQHyAlsC+gNdBP4GXgL9BVwC9gVcAuwHXQTeCV4GzA5iCbcQZg2fDWEHeghTAlMNVwcw + Gl4SCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////8AAP////////////// + ///AAAAH///////////////8AAAAAH//////////////4AAAAAAP/////////////4AAAAAAAf////// + //////wAAAAAAAB////////////wAAAAAAAAH///////////4AAAAAAAAAf//////////4AAAAAAAAAB + //////////4AAAAAAAAAAP/////////8AAAAAAAAAAA/////////8AAAAAAAAAAAH////////+AAAAAA + AAAAAA/////////AAAAAAAAAAAAD////////gAAAAAAAAAAAAf///////gAAAAAAAAAAAAD///////wA + AAAAAAAAAAAAf//////4AAAAAAAAAAAAAD//////8AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAD/// + ///gAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAAf////8AAAAAAAAAAAAA + AAH////+AAAAAAAAAAAAAAAA/////gAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAA////4AAAAAAAA + AAAAAAAAP///+AAAAAAAAAAAAAAAAB////AAAAAAAAAAAAAAAAAf///wAAAAAAAAAAAAAAAAD///4AAA + AAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAH///AAAAAAAAAAAAAAAAAA///gAAAAAAAAAAAAAAAAAP/ + /4AAAAAAAAAAAAAAAAAB//+AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAH//wAAAAAAAAAAAAAA + AAAB//4AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAA + AAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/gAAAAAAAAAAAAAAAAAAH/4AAAA + AAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB/ + /AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAA + AAAAf/wAAAAAAAAAAAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAf/wAAAAAAAAA + AAAAAAAAAH/8AAAAAAAAAAAAAAAAAAB//AAAAAAAAAAAAAAAAAAAX/wAAAAAAAAAAAAAAAAAAA/8AAAA + AAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAf/4AAAAAAAAAAAAAAAAAAH/+AAAAAAAAAAAAAAAAAAB/ + /wAAAAAAAAAAAAAAAAAA//8AAAAAAAAAAAAAAAAAAf//AAAAAAAAAAAAAAAAAAD//4AAAAAAAAAAAAAA + AAAAf/+AAAAAAAAAAAAAAAAAAP//wAAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAH///AAAAAAAAA + AAAAAAAAD///4AAAAAAAAAAAAAAAAB///+AAAAAAAAAAAAAAAAAf///gAAAAAAAAAAAAAAAAP///8AAA + AAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAA////wAAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAH// + //gAAAAAAAAAAAAAAAB////4AAAAAAAAAAAAAAAAf///+AAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAA + AAB////8AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAH////wAAAAAAAAAAAAAAAB////+AAAAAAAA + AAAAAAAA/////gAAAAAAAAAAAAAAAP////4AAAAAAAAAAAAAAAD////+AAAAAAAAAAAAAAAB/////wAA + AAAAAAAAAAAAAf////8AAAAAAAAAAAAAAAP/////gAAAAAAAAAAAAAAD/////4AAAAAAAAAAAAAAA/// + ///AAAAAAAAAAAAAAAf/////wAAAAAAAAAAAAAAH/////+AAAAAAAAAAAAAAD//////gAAAAAAAAAAAA + AB//////8AAAAAAAAAAAAAAf//////AAAAAAAAAAAAAAP//////4AAAAAAAAAAAAAH///////AAAAAAA + AAAAAAD///////4AAAAAAAAAAAAB////////AAAAAAAAAAAAA////////4AAAAAAAAAAAA/////////A + AAAAAAAAAAAf////////8AAAAAAAAAAAP/////////gAAAAAAAAAAP/////////+AAAAAAAAAAH///// + /////4AAAAAAAAAH///////////AAAAAAAAAH///////////8AAAAAAAAH////////////4AAAAAAAH/ + ////////////gAAAAAAH//////////////AAAAAAP//////////////+AAAAA////////////////+AA + AD////////////////////////////////////////////////////////////////////////////// + /////////////////////////////////////ygAAABgAAAAwAAAAAEAIAAAAAAAAJAAABMLAAATCwAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARkZGATc3NwsnJycfKioqRSMjI2cnJyeQKysrqSsrK74rKyvOLCws2SQkJN4kJCTd + Jycn1SsrK8kuLi63Ly8voS8vL4E0NDRaPj4+NkpKShVkZGQGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGAS8vLyEmJiZmJCQkoiQkJNUkJCT0Hx8f/yUlJf8uLi7/ + Ojo6/0VFRf9MTEz/UFBQ/11dXf9aWlr/UVFR/0NDQ/8zMzP/Kioq/yUlJf8iIiL/JSUl/isrK+krKyvF + KCgojUVFRUpWVlYOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANjY2AygoKCsiIiJ8Hx8fzSsrK/s7Ozv/ + SUlJ/1xcXP9tbW3/eXl5/4SEhP+Kior/kJCQ/5aWlv+ZmZn/mpqa/5qamv+dnZ3/oaGh/6Ojo/+kpKT/ + oqKi/5qamv+UlJT/g4OD/2hoaP9HR0f/NjY2/ysrK/8hISHwKysrsEBAQFxLS0sVVVVVAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALCwsABsbGwwoKChW + GBgYuCIiIvJGRkb/XV1d/2hoaP90dHT/fX19/319ff99fX3/gYGB/4uLi/+Pj4//kpKS/5aWlv+ampr/ + nZ2d/6Kiov+jo6P/paWl/6enp/+pqan/qamp/6ioqP+tra3/r6+v/6urq/+hoaH/mpqa/4iIiP9mZmb/ + Nzc3/x4eHv0kJCTjLS0tlTU1NTNJSUkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAgICAMHx8faCAgINEzMzP+VlZW/25ubv91dXX/dHR0/3d3d/9/f3//h4eH/4uLi/+UlJT/ + oKCg/6enp/+rq6v/s7Oz/729vf/FxcX/y8vL/8vLy//Kysr/ysrK/8nJyf/IyMj/yMjI/8jIyP/CwsL/ + u7u7/7e3t/+4uLj/tra2/6ioqP+ysrL/rq6u/5mZmf9fX1//LCws/yAgIPYjIyOvPDw8PFtbWwEAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKysrCyEhIV4pKSnfQ0ND/2dnZ/9vb2//bW1t/3Z2dv+BgYH/ + goKC/4SEhP+UlJT/qamp/7u7u//MzMz/2tra/+bm5v/r6+v/7+/v//T09P/5+fn/+/v7//j4+P/39/f/ + 9/f3//f39//29vb/8/Pz/+rq6v/o6Oj/5eXl/9/f3//W1tb/0tLS/8rKyv++vr7/tra2/7Ozs/+tra3/ + oaGh/3p6ev8+Pj7/Ghoa/CEhIbRBQUE1VlZWAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACMjIwMjIyM+Li4uwUJCQvtYWFj/ + Z2dn/25ubv9ubm7/fX19/4iIiP+ampr/tLS0/8zMzP/h4eH/7+/v//f39//6+vr//Pz8//7+/v/+/v7/ + /v7+//7+/v/+/v7//v7+//////////////////////////////////39/f/+/v7//v7+//z8/P/6+vr/ + +fn5/+/v7//c3Nz/1dXV/8zMzP++vr7/vLy8/7CwsP+ioqL/hISE/z4+Pv8cHBzxIyMjkjk5ORsAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Hx8fECIiIok5OTn1YWFh/2VlZf9mZmb/ampq/3Fxcf+JiYn/pqam/8PDw//c3Nz/8vLy//b29v/5+fn/ + //////7+/v/7+/v//Pz8//7+/v///////v7+//7+/v/9/f3//Pz8//z8/P/8/Pz//f39//7+/v/+/v7/ + //////7+/v///////v7+//39/f/+/v7//f39//f39//6+vr/9vb2/+vr6//Z2dn/y8vL/8fHx/+6urr/ + p6en/6Ghof9xcXH/MTEx/xwcHNwrKytQS0tLAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAjIyM7NTU10VFRUf9nZ2f/aWlp/21tbf94eHj/kpKS/7Ozs//Nzc3/ + 5OTk//X19f/6+vr/+/v7//r6+v/6+vr/+Pj4//Pz8//w8PD/7u7u/+vr6//r6+v/6urq/+rq6v/q6ur/ + 6urq/+zs7P/u7u7/8fHx//X19f/5+fn/+/v7//z8/P/9/f3//f39//7+/v///////v7+//v7+//6+vr/ + +/v7//7+/v/7+/v/8fHx/+np6f/X19f/x8fH/7a2tv+xsbH/nJyc/1xcXP8jIyP6IiIimzU1NRYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJycnBy8vL2dBQUHuWVlZ/19fX/9nZ2f/ + b29v/4eHh/+np6f/ycnJ/+Xl5f/v7+//8/Pz//T09P/t7e3/5eXl/93d3f/X19f/1NTU/9HR0f/S0tL/ + 09PT/9XV1f/X19f/29vb/+Dg4P/k5OT/5+fn/+3t7f/w8PD/8vLy//b29v/5+fn/+fn5//Pz8//7+/v/ + /v7+///////8/Pz/9/f3//v7+//+/v7/+/v7//n5+f/7+/v//v7+//39/f/z8/P/4+Pj/87Ozv+9vb3/ + tra2/6urq/+EhIT/MjIy/iAgIM86OjotREREAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAqKioJ + LS0tkE1NTfpdXV3/WVlZ/2lpaf98fHz/np6e/8TExP/o6Oj/8/Pz//Dw8P/r6+v/4eHh/9PT0//Hx8f/ + wMDA/8TExP/Hx8f/x8fH/8jIyP/Nzc3/0NDQ/9XV1f/X19f/2tra/97e3v/i4uL/5OTk/+fn5//p6en/ + 6+vr/+/v7//y8vL/9PT0//b29v/7+/v///////7+/v/9/f3//f39//v7+//9/f3//v7+//7+/v/+/v7/ + /f39//r6+v/9/f3/+fn5/+7u7v/h4eH/0NDQ/7u7u/+tra3/mZmZ/0pKSv8eHh7lJycnTwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACoqKhE2Nja1UFBQ/mNjY/9iYmL/c3Nz/5CQkP+2trb/3t7e/+rq6v/m5ub/ + 3t7e/83Nzf+/v7//ubm5/7W1tf+5ubn/wMDA/8PDw//Gxsb/z8/P/9XV1f/X19f/1NTU/9jY2P/c3Nz/ + 3Nzc/97e3v/f39//4ODg/9ra2v/a2tr/29vb/9vb2//c3Nz/3d3d/+Li4v/h4eH/4uLi/+bm5v/v7+// + 9vb2//r6+v/+/v7//f39//39/f/9/f3/+fn5//b29v/6+vr//Pz8//z8/P/6+vr/7+/v/9ra2v/Dw8P/ + uLi4/6+vr/9dXV3/HBwc9ioqKm1LS0sCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExGzw8PLtYWFj/XFxc/2lpaf92dnb/ + np6e/8zMzP/j4+P/4eHh/9DQ0P+8vLz/tLS0/7CwsP+xsbH/tbW1/7u7u//FxcX/zs7O/9XV1f/c3Nz/ + 4eHh/+Pj4//e3t7/19fX/8nJyf/Dw8P/vLy8/7S0tP+srKz/p6en/6SkpP+mpqb/qqqq/7CwsP+1tbX/ + urq6/8nJyf/Pzs//1dXV/9nZ2f/b29v/29vb/+Pj4//v7+//+fn5//z8/P/9/f3//f39//7+/v/9/f3/ + /Pz8//v7+//6+vr/+/v7//Dw8P/k5OT/z8/P/7y8vP+rq6v/dHR0/yAgIPohISF2Q0NDBgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy8W + Ozs7vlJSUv9YWFj/ZmZm/35+fv+ysrL/3Nzc/+Hh4f/Nzc3/u7u7/66trf+kpKT/qamp/7Kysv+5ubn/ + ysrK/9jY2P/d3d3/3Nzc/9fX1//Kysv/tra2/5ydnf+Fh4j/eHt8/2Zpa/9dYmT/V11f/1BVWP9HTE// + REhM/0ZLTv9HTVH/TFNW/1ZbXf9eYWL/Y2Vl/2xsbP90dXX/g4WF/5qcnP+ztbX/wsTE/9bY2P/X2Nn/ + 3d7e/+Tk5P/r6+z/8/Pz//z8/P/+/v7///////39/f/5+fn/9/f3//j4+P/s7Oz/7Ozs/9fX1/+8vLz/ + s7Oy/29vb/8kJCT5KioqeGJiYgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAADs7Ow5BQUHBUVFR/19fX/9paWn/hYWF/8XFxf/e3t7/y8vL/7e3t/+oqKj/ + paSk/6moqP+oqKj/v76+/9bV1f/j4+P/5OTk/9bW1v+9vb3/mpub/3p8fP9kZ2j/U1RX/0NESf87PEL/ + ODlB/y4xN/8nLTP/Iyox/yEoMP8gKS//Iysz/yQqMf8dJy3/ICkv/ykvNP80Njr/PDw+/0VDRf9IR0n/ + REZK/0RJUP9JT1f/UVdf/3h+gP+Wm5z/tLe2/9LU0v/i4+H/3t/d/+Lj4//x8fH//f39//39/f/4+Pj/ + +Pj4//T09P/4+Pj/9vb2//X19f/a2tr/vr6+/729vf98fHz/ISAg+jQ0NHQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMzMzDD09PahTU1P/W1tb/2pqav+UlJT/ + yMjI/9XV1f+6urr/pqam/52dnf+goKD/qqqp/8TDw//T09P/4ODf/9jY2P/BwMD/l5eX/3R0dP9YWVn/ + P0FC/zU4OP8wNDT/KSwt/yosLv80Njr/QEFH/1RbXf9faWr/bHZ5/3qDh/+GkJL/jJWY/46Ulf+Gjo// + foeI/3V9fv9tcnP/Z2ts/0lMTf9AREX/MTo9/yIwNv8eMDf/IDM5/yw4Pf84Qkf/TlVY/3Z7e/+ipaT/ + vb+9/9na2v/h4eH/4+Pi//Ly8v/6+vr/+/v7//X19f/y8vL/9PT0//Dw8P/s7Oz/3t7e/8LCwv+tra3/ + cXFx/y4uLvk6OjpZWFhYAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjID + NjY2hklJSf1ZWVn/bW1t/5mZmf/FxcX/xcXF/66urv+YmJj/mJiY/6CgoP+4uLj/0M/P/+Li4v/S0dH/ + ra2s/4WEhP9fXl3/QUA//zMzMv8iIyP/Jykq/z9AQP9aW1j/fn98/6Chnv+5urf/ycvI/9DZ1P/P2tX/ + zdjU/8vX0v/M2NT/zdrV/87X1v/N1tb/zNbV/83X1f/Q2dj/1Nza/8rS0f+/x8X/qbWy/4WVkv9XbWn/ + OE5N/yEwOf8YJy//Iy82/zE4Pv9NT1P/b3By/5GRkf/BwcH/4ODg/+Hg4P/l5eX/8/Pz//z8/P/9/f3/ + 8/Pz/+/v7//09PT/9PT0/97e3v/Dw8P/sbGx/2hoaP8qKirrS0tLOwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAwMDBgRkZG+l5eXv9nZ2f/lZWV/8DAwP+1tbX/mJiY/42Njf+VlZX/ + srKy/9TU1P/k5OT/1NPT/66trf95eHj/V1ZW/0FAP/8jJSD/HB0a/zs+Ov9qbWv/l52Z/8TExv/U0Nb/ + 1tXY/9bX2f/R1NX/y9HR/8/U1f/R1tf/0djY/9LZ2P/T29n/1NzY/9bb3f/U2t3/0tjc/9DX2//P1tr/ + z9bZ/8rP0//Q09f/19na/9XY2P/T09P/zM3M/5+qrP9ygIT/RVRZ/yw3Pv8vMzj/OTk+/0ZFRv9kY2P/ + ioqJ/8DAwP/c3Nz/4eDg/+/v7//4+Pj/+fn5//f39//z8/P/7e3t/+3t7f/g4OD/vr6+/7Gxsf9VVVX/ + NjY221hYWB8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMCpDQ0PrWVlZ/2xsbP+Tk5P/ + uLi4/7CwsP+ZmZn/kZGR/5ubm//BwcH/29vb/9PT0/+qqan/g4KC/1NSUv89PDz/LCoq/ywtKv9UWVL/ + k5iS/8TJxP/S2NP/z9XQ/9HT1P/Oz9X/ys/R/87Y1v/V4t3/1eXd/9Xj2v/V49r/1uXa/9Xl2P/S5dX/ + 0OTS/9Di1//Q49r/0OXa/9Lm2//S5tv/0uXc/93q5P/d5+H/1t3a/87T0v/Q0dH/09PS/8TQyv/V39r/ + ztfV/6y0tv92fH//SUxO/zQ0M/8+PTz/R0ZF/2FhYP+YmJj/ysnJ/97e3v/q6ur/9vb2//r6+v/39/f/ + 7+/v/+/v7//q6ur/3t7e/8LCwv+hoaH/RERE/kZGRrFycnIFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + MjIyCzk5Ob5RUVH/aGho/4eHh/+urq7/qamp/5eWl/+Tk5P/oaGi/8bFxv/e3t7/wMDA/5OTk/9mZmT/ + Pz8+/ygnJ/8mJST/WVdX/6qtqv/K0cr/0NfR/8bNx/+/xsD/ztXQ/9Xd0//S3c//0uLR/8vgzf+92ML/ + sNC3/6bPsf+iz67/m8uo/5XIov+Rx5//ksmf/5HJpP+LyKP/h8ii/4vKpf+Tz6r/mNOu/57Ss/+o17n/ + t9zE/8Xizv/M4tT/zeDT/87az//M2M7/xtHL/8nT0P/P1tb/w8bH/4qIif9FREP/MTAv/zk5OP9NTEz/ + d3V2/66trv/V1NT/4+Li//Ly8v/6+vv/+/v7/+zs7P/p6en/4+Pj/9DQ0P/AwMD/iIiI/0FBQf9oaGhq + oKCgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA+Pj4AODg4fEpKSv9aWlr/enp6/56env+enp7/jY2N/5GRkf+qrKj/ + 1NXS/9PT0f+pqKb/cW9u/1VSVv8qJzL/Kyks/19eW/+0s67/zs7O/8nLx/+9wrf/vsa7/8bRx//D08r/ + u8zF/67Js/+iyKP/mMKZ/4y+iv+GwIT/h8WG/32/hP95voX/d8CG/3S/hP9uvoD/a71//2W5g/9duoT/ + Wr6F/17Aif9hwor/YsOJ/23Jj/9nwoj/asCJ/3bFk/+Cy53/i82f/6zQsv+21rz/wdrI/8fXz//EzMz/ + xs3M/9Tc1P/Nzcz/l5OU/0VBQv8tLiv/PkE8/1RXU/+TlJP/wL/A/93b3P/x7uz/9/X1//b29v/s7Oz/ + 6Ojo/97e3v/R0dH/urq6/3V1df9SUlLtfX19LgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT0vQkJC7FlZWf9ubm7/ + jo6O/56env+Hh4f/j4+P/7Gysf/Z3dj/xcfE/5OTkf9raWf/SEVE/yUiI/9JRk3/pqal/8bIwf/AxL3/ + wsfG/8TMyv+8zMP/sMay/6LBnv+TvY3/ibqD/4G2e/9+tnr/e7R8/3Ovev9op3X/XJ5v/02OY/9Hi2H/ + RYxk/0SOZv9Ej2n/RJFr/zuSbP8pkWn/HpJn/yGWav8gmmn/Ipxo/zWnbP9Cr3D/T7x2/1/Ig/9iy4b/ + ZsmE/3XGiv+Ay5H/kc+g/6HRsP+z1b//u9fD/7/Uwf/J0cj/0M7N/8XAwv9wcG//MDMv/zg8N/9HSEn/ + e3h9/7iztP/q5uH/8/Du//j4+P/39/f/7Ozs/+Tk5P/Z2dn/xsbG/6Wlpf9XV1f/dHR0tK+vrwgAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAABAQECxUVFR/2ZmZv+AgID/jY2N/4+Pj/+Tk5P/srOy/9fW1/+ysbT/hYSG/2VkZv86Ojv/ + JyYn/3Jzb//Ex7n/w8nA/7S9uP+wwbX/rcKv/5u8of+HtZD/eKp6/3mucP93s2j/a6xY/2WaV/9ciVf/ + R3hP/0BsUf9Db1f/RHVf/0GDYf9AiWT/QY9p/0OUb/9GmnP/R5x3/0Widv8xoHP/IZ1v/x6db/8VnWz/ + Epxp/xWaZf8Tk1//Do9V/x+aXf8vqWX/PLNo/0fBa/9KwGb/Xch2/3PQif9+0JH/is2Y/63Ws/+71bz/ + w87B/83QzP/Ny8z/oJ2e/0lFRv81LjP/SUJI/3Brbf+zsaz/1dPR/+rq6v/6+vr/8/Pz/+jo6P/e3t7/ + 0NDQ/7q6uv+IiIj/Z2dn+qKiolYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADs7O0tISEj/Xl5e/3V1df+Tk5P/j4+P/4WFhf+5ubn/ + 1dXV/6+usP+Cf4X/XVxg/zAyNP9BRUX/mZ+e/8PIw/+7vbX/qbau/562pv+St5P/iLJ8/3qvaf9zrmT/ + a6Jh/1eIUf9HaUP/OVw7/zhXPv8+X0j/QnJP/0iFV/9TlF7/WJ1k/1Wmaf9Vq2//Va5z/1Wydf9Xt3j/ + WLl8/1S2gv8/s4D/LbF+/yexf/8jsX//H7B8/yKweP8grW7/F6Zf/x6nZP8RnVb/CplO/xamTv8gqlD/ + NbRZ/03Ba/9izXr/ctCE/4zSl/+i2KT/rtOt/7TLtP+9x73/yszH/7i1tP9lYWP/Lysv/z05O/9zcW3/ + o6Kg/87Ozv/w8PD/9fX1//Dw8P/q6ur/2tra/8vLy/+wsLD/cXFx/5GRkd7R0dEMAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPT09Cz4+PsNUVFT/ + a2tr/4uLi/+RkZH/jY2N/7W1tf/Ly8v/qqqq/3d2d/9YVFj/NjM3/1BUUf+qsq3/uMW8/6i1q/+jsKf/ + kK6U/4KwhP9zqWz/bKFZ/2aTVv9Lbkb/OE0y/y9HK/81VDH/PV47/0FzQ/9Kh03/UpRY/1igYP9cp2T/ + XKpr/16ydf9gtn3/YLmC/2C8hf9jwIf/ZcGK/13Ajv9Fv43/Mb6M/yW8iP8ivIX/Hrp+/yS9gP8iu3j/ + Irpz/ym8d/8ftWz/F69h/yKwYf8bplb/HaFR/yelVv86s1//T8Bp/2fNeP+B1IT/j9OM/53Qmv+r0Kn/ + tcyy/8DMu//Gz8X/gISD/y4uLv9APT3/aGdn/5ubm//S0tL/7+7u//X19f/t7e3/4uLi/9TU1P/BwcH/ + nJyc/3t7e//FxcVu2traAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAQEBAUEtLS/tmZmb/e3t7/5KSkv+Hh4f/np6e/9fX1/+lpaX/dnZ2/2JhYf83MzT/ + XV1b/7S7tP+4xbn/rb2t/5erlf+Jq4X/dqtu/12gU/9ZllH/SHFA/ytCJf8lOSL/KUgj/zNeK/9AdjL/ + SYM7/02SRP9SnlD/V6Vb/1usZf9fsmz/YrV1/2a6gP9lvoj/ZcCN/2jFkv9uyZb/csub/2rMnv9Qy53/ + NcmY/yXGkv8exIv/G8OF/yPFh/8jxIL/LMaI/zDHh/8nw3z/Ib9z/yK6cP8ftWf/JLNk/yiyYP8krFb/ + JatQ/0C9Wf9t13H/edZ1/4PRf/+S0JD/os+f/7HPr/+yybP/wc7F/46PkP8uKS7/Qj9B/21tbP+hoaH/ + 0NDQ/+3t7f/z8/P/6urq/93d3f/Jycn/ubm5/39/f/+qqqrZ1tbWEwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEAHSEhIxFpaWv9ycnL/hYWF/4uLi/+TlZP/ + 1dbT/6mppv93d3X/aGVn/zs4Ov9lZ2H/trir/7nCq/+jt5v/jK6R/3Siev9qo1r/YZlU/0Z4Pf8hQBv/ + HCsZ/yREH/8tXyL/OG4p/0KAMv9JjTf/SZI7/06aRv9VpVX/Wa5g/2C4a/9iv3T/ZsSA/27Fi/9wx5P/ + b8mX/3HMnf90zp7/edCj/3PUrP9Z0q7/M8qe/yvKnv8ry57/KMuY/yrPlv8w0Jj/NtGZ/zfRlP8w0Ir/ + Ks6B/yHGeP8pyHf/MMZ1/y/Abv8tuWb/LLde/y6yUf9GtU//Y8Vb/3TRav951XL/gdJ5/5TRkP+gyqP/ + ssu2/8rTx/+TkYz/RENC/0ZHRv9tcG7/nZ+e/9PT0//08fP/7u3u/+bm5v/R0dH/xsbG/5iYmP+VlZX/ + 2traawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBB + T09P+GBgYP9/f3//i4uL/46Ojv/BxcD/u725/4GBfv9oZ2X/RkJE/2RgZP+6w7n/sbqq/6Gwlv+HqX7/ + Z59l/1aXU/9QiEP/LFIn/xksFv8bMxj/Jksj/ytlJv8udiT/N38r/z+KMv9HlTf/TZw+/1SjSf9cqln/ + Y7Bo/2q2dv9suYH/b7yN/3C8lf9wvp3/cMCi/3TEqf93x6v/eMiv/2vHsf9QxLH/NsCt/zDBrv8yxK// + MMSp/y7Kov890Kv/RNKp/0fUpP9A05n/ONOQ/zPUiP8y0oP/NdCA/zjMe/85yXP/NsZq/za7XP9HtVP/ + U7NL/1/BUv9n013/b9tl/3/YeP+Lzo//nsme/7TMqv/AyLb/jpGN/zM1NP9JTUr/dXl3/6inqP/f2tz/ + 9PPz/+np6f/Z2dn/0NDQ/6+vr/+RkZH/09PTzvLy8ggAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABAQECjWlpa/21tbf+NjY3/jo6O/7Gxsf/DxMT/fn5//2ppa/9NTU// + Wltb/6yurf+st6//kKeZ/3mgg/9pnmj/YJ1N/0Z9L/8ePRr/EigQ/xg4Ff8hWBz/KWsh/yp4Iv8rgiX/ + N4st/0OTOP9Klz7/TplD/1OZTf9dmlv/Y5pn/2uhev9zpYr/eqiW/3axnf90t6X/dLus/3e/s/93w7j/ + d8W7/3DFvP9gw77/Sr67/z6+vP8/wL//Pb+6/zK+rf88wbH/Ssa3/07GsP9Jxab/Rcif/0DXmf861Y// + OtOG/z7Uf/881HX/OdJq/0DMX/9Xyl3/XsRU/1S2R/9NtET/WsZS/2nTY/9503X/idGB/5jHjf+vxLD/ + v8XC/319fP81NTT/WFdX/4GBgf+3t7f/7e3t//Dw7//m5ub/1dXV/8TExP+UlJT/wMDA8uzs7CYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE9PTxVERETzYmJi/3l5ef+IiIj/ + mZmZ/8/Pz/+Oi4//bGtw/1FRVv9QVFX/oqqk/7K+sf+QppX/daR3/2CkX/9Pkkn/NGQr/xUrDP8PIA3/ + GEAW/yJZG/8iaxn/JXgc/y6DI/84iCz/QIoz/0aJOv9Jhj//SoNC/1GFSv9dilf/Y5Jj/2ujef95spD/ + hbyf/4rHqv+LzLT/i8+8/4rSwf+J1MX/iNbI/4LUyP920sr/Ys/L/0rKx/9Bx8T/PcXA/z3EvP9Bxbv/ + S8i8/1TKvP9QxrH/S8Sq/0PCo/8/w5f/PsWH/0/Qiv9T1IL/R9Nt/0nSYv9d1GD/Y9BY/17FUP9Tu0z/ + SbhB/0zERP9k1Vv/c9pk/4jWev+Zyp7/q8Gv/8HJvf9sb2r/Q0FB/2RkZP+Kj4z/wsTD//Ly8v/w8PD/ + 3t7e/8rKyv+kpKT/rq6u99/f3zMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEVFRWVISEj/bm5u/4GBgf+QkJD/urq6/62trf93dXX/ZmVo/0lKT/+IkYv/qLil/5euj/9unnL/ + XZpU/0qQN/8hWxb/DCEM/wwYEP8RPA7/HFYW/yNrGP8ufyD/L4Ah/zJ7Jv88ei7/O3Yv/z92NP9Kfz3/ + VIhI/2GWVP9xpWL/erNx/4HFhf+L0Z3/kNap/5nat/+d3cH/mt7G/5nfyf+W4Mz/leDO/47ezv+E3tL/ + ctzV/1rXz/9N08v/StPK/0jQyf9FzcP/R8vA/0nJvP9Jx7X/SMWw/1jFtv9IvaD/QruP/0W8hf9HvHf/ + Qr9o/0zPaP9n2m3/Z9Rc/2POVP9fy1T/U8FG/0W7Of9JxEH/WtRN/27YYf+B04D/lMqU/6/RrP+quqf/ + U1ZQ/0VFRf9rcG3/lJaV/9nZ2f/x8fH/5ubm/8vLy/+6urr/qqqq+tfX11v39/cAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVVVVBD4+PrVWVlb/eXl5/42Njf+fn5//vb29/3x7e/9raWT/ + WllZ/21xcv+qt6v/lKeJ/4and/9UnlX/UoxM/yNKGf8JHQX/DxwK/xg8Fv8SWgz/Hm4T/yV6Fv8odxr/ + LW8g/zJuJv83cyr/PHox/0iIOv9YnEj/Z6xW/3G2X/96u2j/f71z/4fFiv+Oy6P/k86w/5fQuv+a08H/ + mdXH/5jWy/+V1s3/k9fO/5LX0v+H1tf/btDV/1LIzv89wsr/OcHL/zvEyv89xcj/RcfH/0jIwf9Qy8H/ + S8q7/zbAqv8xu53/M7mR/zG0f/88tnv/PLVx/z62aP9YyGf/a9Zi/23ZWf9l1VT/X8xM/1TAQv9Aujz/ + PsE6/1bUSv9s2mD/gdZ9/5LMkf+qyaf/kpqP/z09Pv9eYmH/eXt6/6ioqP/s7Oz/6enp/9XV1f/IyMj/ + qqqq/9TU1OPy8vIPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARkZGHEBAQO5nZ2f/ + f39//5KSkv+2trb/mJiY/2ZmZf9hYFz/ZWRk/6Knpf+VqJT/gqR2/2ieV/9Glj7/KFEp/wgOBv8MIAf/ + E0QK/xtgEP8ichP/HHAP/x1uEf8eZRT/JmQc/zd3K/9Fjjb/UJlB/1ulS/9irFL/Yq5R/2SrU/9qp1j/ + baVi/3mufP+LvaH/k8Sy/53Nv/+h0sf/otXM/6TY0f+m29b/pdzY/6Xc2/+Z2t//gNTe/1/I1P9EwNH/ + PL7T/znAz/83vsz/Or3L/z27xv85ucD/K7Wy/x+5qP8ftqD/HK+M/x+sff8prnX/K61r/zSvZf9DtF3/ + W79g/2XJWv9n0Vf/X9FM/1fPRf9MwkP/PLU0/0fGPf9Z203/bNtj/4PVff+bz5j/scaw/3d7d/9FQ0T/ + cG9w/39/f//R0dH/7u7u/93d3f/Ly8v/s7Oz/83Nzf/w8PAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAARkZGVEVFRf9ubm7/g4OD/5qamv+6urr/d3d3/2JhYf9aWVj/g4aE/6Oupf+HpoT/ + aZ5g/0+TQf8taCD/CR4G/wkUBP8TOgb/EVkJ/xVrE/8eaQ//HGYP/x9oEv8qchz/NX0o/0GNM/9KmTr/ + TZk+/1KaRP9anUv/Xp9P/1+cT/9onFX/bp9f/3Kocv+Eu5n/i8Or/6LTxP+n18v/rt3U/7Xi3P+55uL/ + ueXj/7Lj4v+k4OX/j93o/2zR3P9Nx9f/PsTV/zW/z/8yvc3/MrrK/ze5yv86t8b/K6+4/yCtsf8bqKL/ + GqOQ/x2ggf8innL/I6Fo/yOiW/8wpVv/SrFh/1e6X/9jwlr/X89O/1XWRf9X0Ej/Sb06/z22MP9Eyzr/ + XdlR/3Paav+I04T/qtOr/5yomv9TTE//YmBh/21ubv+oqKj/6+vr/+Dg4P/Nzc3/vb29/8vLy//w8PAZ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHfkpKSv9zc3P/h4eH/7Kysv+VlZX/ + YWFh/2FhYP9lZWL/naid/46rj/9uoGz/TY5H/zV4K/8OJAb/BRYD/wswB/8ZVQz/GGQL/xdlD/8VYQ3/ + H2sS/yt3HP83gyf/Qo4y/0aTNv9EkTX/Ro83/0uOPP9Sk0H/XJpJ/2CaS/9nm1L/bqBd/3KlaP92qnr/ + jr6j/6nWyf+03c7/x+XV/9Xq4f/a7eP/1O3n/8Po6P+x5ej/l9/n/3HU4v9bzt3/ScnX/zPB0P8tu8v/ + L7nK/zW9zv81t8j/L7HC/x6otP8VoaT/FJ2W/xWYhf8Wk3L/GJNh/xmVVf8WklH/JppV/0muXP9iuVr/ + W7lM/1fCSf9Xzkn/S8w9/z/ALv8/uyv/TMs9/2PdWf9z1G7/mNaX/6/JrP96fXb/V1ZW/2JiYv+Dg4P/ + 09PT/+np6f/T09P/v7+//8rKyv/s7OwfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + RkZGf1RUVP99fX3/kpKS/7a2tv9xcXH/WVlZ/2JiYv+LjYf/mbKX/2uea/9NkEv/OH80/xRIDv8JDQP/ + CCkF/wpNCf8NXQb/EV8G/xlkC/8ebRb/Jncc/y9/If80hSP/OIgk/zqJKf9AjDH/S5I6/1KVPv9Tkz3/ + VpI+/1mSQf9kmU3/bJ9b/3WmaP98rHv/g7eV/6zXzP/A49X/1+zc/+Xv5f/p8uj/5fTt/9Tw8P+/6u7/ + nODl/3LU4/9m0+P/Vs/c/0DI2P89w9j/O7/S/ze+zv8xt8b/LbHB/ySqt/8epaz/GZ+e/xaZjf8Vk3n/ + GZBo/xqQWv8Yj1T/H4xO/zyWTv9cqFT/Yq9V/1yyUP9RwUX/S8w9/0fJNv9Dui3/OL0p/07aRv9p4mL/ + ht2B/6jZpP+crpj/WVtY/15dXv9qamr/sLCw/+zs7P/X19f/w8PD/8nJyf/m5uYrAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR0dHf2JiYv+Hh4f/n5+f/6Ghof9cXFz/Xl5e/2tra/+cppn/ + faN5/1ibVf89iDn/JGAe/wYdA/8HHAL/DUMG/wtdB/8KXwj/FGcK/yBxDv8ecxT/JnsZ/y2BH/8xhCD/ + M4Qf/ziGJv9EizH/TJE4/1CSOf9SkDj/V5E8/1uSQf9mmU7/bJ5b/3embP+Ar4L/gbiW/67Zzv/J59z/ + 3+/h/+fx6P/r8+r/6/fw/+H18//P8PL/r+ju/3/a6P9p0+X/W9Dg/1PQ4/9TzOP/SsTW/z/Az/80u8j/ + LbTC/yeuvP8jqbP/HaOk/xadk/8VlYD/E49r/xWLW/8jkVb/OphX/1CaVv9Xm1D/XqJU/1umUv9NrEP/ + Sro//0rEPv9Gvzb/Mrkk/z7NM/9j6Fn/euVx/5DXiv+myqL/dXp0/19eX/9kZGT/ioqK/+Li4v/c3Nz/ + x8fH/8jIyP/g4OA3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASUlJf21tbf+Pj4// + p6en/4qKiv9XVlb/YWFh/3x8fP+Xp5P/ZpVi/0mVRP8xeyv/CzMH/wcQBP8EOwH/DFYC/w5lCf8SaRj/ + HHQY/yB8Dv8geRD/J30X/y2DHv8xhiL/NYgl/zyJKf9HizD/Sosx/0yLMf9RjTX/XJM//2OXSP9pm1P/ + cKFh/3updP+Asob/ib6g/7Tc0v/Q6t//4u/i/+ny6v/u9e3/7vfy/+r39f/e9fP/w+/z/5Tj8v9t1ur/ + W9Hi/1PP3f9Zzd//W8zf/0zH2P85v83/MrrH/yuzwf8nrrn/I6qt/xymnv8Zn4n/FJVz/xuSY/87nGL/ + V6Fk/2OkX/9goVj/VZpN/0+XR/9Pmkb/TaRE/0izP/9Bwzr/PMAx/ze7KP9W3Uf/depp/4TZfv+h1J3/ + maGY/15cXv9iYmL/bm5u/9DQ0P/k5OT/y8vL/8fHx//b29s+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAUFBQf3Jycv+QkJP/qKmn/3R2cv9UVlf/Y2Zm/4uSiv+AnX3/VZNL/zqLMv8cVRj/ + BB8C/w4wCf8FVgH/DWUE/xRvD/8Zdhv/F3sU/xh9DP8jghX/J4MZ/y6FH/8yhyP/Nogl/zqIJP9CiCj/ + SIss/06OMf9Ukjj/XZZB/2WaSv9qnlb/caRn/3utev+Bt43/hb+f/6rWyf/V7OL/5vHk/+zz7P/w9u// + 8fjy//L59f/r+PL/1PX3/5/o8/9s1+r/XNXn/1XR3f9g0t//adXo/1XO3v86xM//NL/K/zG5xf8utL7/ + KrC2/yGsp/8bo4v/Fpp1/x+Xaf9Tpm7/bq9s/2enX/9io1v/WZ9T/06XR/9PmEn/SphE/z+dO/82qDX/ + Q740/ze6I/8+xjH/a+hh/4Hjd/+a2JX/qcOm/2VqYv9gWl//X11g/7O1tP/q7Ov/zM3M/8nJyf/b29s+ + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAW1tbf3R1df+RkZj/o6eh/2NlX/9VV1n/ + anJv/4ygif9olWb/RZI4/y1/Jv8INgr/Ay4D/wdNA/8IYgP/D2wL/xd4Ev8YfxH/FH8N/xZ+Df8ggBb/ + JYIZ/yyFHv8yiSP/NIgi/zqJIv9BiiX/SI0p/1CQL/9VlDf/W5hB/2SdTP9qoVr/cahs/3uwf/+CupL/ + hcKi/6fWx//X7OP/6fLn/+707f/x9/L/9Pn0//b69P/2+/T/3/n5/53l6/9l1uX/VdXk/1jV4P9p2eb/ + adfn/1PP3f88yNL/NsLM/za8yP82uMT/LrO6/x6rpv8bo4v/Gpx3/y2fcf9jr3j/dLFt/2usZf9jp1// + W6FU/1CbSv9ImEP/QpY+/z6VO/86kjn/OqUp/0PALv8wtib/XuFS/33rcP+U3Y3/qNaj/3mJdP9hVV7/ + WVZb/5Sclv/m6eb/zc3N/83Nzf/e3t48AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + X19ff3d3d/+Zm5//mZyX/1hYU/9ZW13/bXtx/4Gdfv9dklj/OYkw/xhsE/8COQT/BUMI/w9fDP8Pbw3/ + FXYS/xl9Ff8YgRT/FIAO/xd/Dv8ggRb/JIMX/ymFGv8xhx3/NYgf/zqKIf9Biyb/SI4t/1CSM/9Wljz/ + XJpG/2SeUf9po1//capw/3yxhP+DupL/hsOo/5TPw//G5tz/6PPm/+317P/w+PP/8fn0//b69f/6+/j/ + 7/v7/8n1+P9z3eb/WNbi/2HW4/9i2OX/V9bl/0jR4f85yNb/N8PQ/ze+yf82ucX/L7S8/yKurf8cp5f/ + JKJ+/02rev9ytXz/dLFw/2+tZ/9mqF//W6NX/1GdTP9ImEP/QZU9/zqSN/8zjzH/LYwm/zqmMf83syr/ + VdhB/33yav+P5Iz/qt+p/5Oljv9hWF7/U1FV/4CIgv/c3t3/z8/P/9DQ0P/g4OA3AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZWVlf3t7e/+eoqb/jI2K/05MSP9hYmL/cYVz/3Kcbf9NjUP/ + LIAn/whZBv8GRwT/DlsN/xNyFv8VfRX/F4AW/xmCF/8YgxX/FoER/xmBEv8ggxb/JIQX/ymGGf8wiBz/ + Noof/zyMI/9Cjin/SZAv/1GUNv9Yl0D/XptJ/2WgVf9qpWP/cqt0/32zhv+Fu5T/hsOp/4zMwf+44dn/ + 5fTq/+v27f/w+PT/8fr2//b79v/7+/r/8/v8/8/19P+K5ej/ct7l/33h7f9z4O7/UdTf/0DP3P85ydj/ + OMXS/zi/y/82u8X/MLa9/yWwsf8krJ//OqyK/2Ozgf93tXn/dLFx/2+tZ/9lqF//XKRX/1OgT/9JmkX/ + QZU8/ziQNP8wjC3/NIo0/yV+I/8xoyb/S8kz/3z1Z/+I6Yj/puKm/6a+o/9iXmD/Tk5P/2xzbv/Y2dj/ + 09PT/9LS0v/h4eE0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa2trf4CAgP+eo6b/ + f4B+/01IR/9oamf/co1x/2KZWf88iS7/IXof/wVWBf8LXgT/EXAQ/w19Ff8ShBX/FYMW/xeEF/8YhBb/ + GoQW/x2EF/8hhBj/JYUZ/yqHG/8wiR3/Nosg/zyNJP9Djyr/SpIx/1OVOP9amUH/YJ1M/2eiWP9spmX/ + c6x2/3+0if+Fu5f/hsKp/4nKvP+n3NT/2PLr/+f27//w+PP/8vr2//X79//6+/n/9fz7/9f39v+x8PP/ + nu3x/5rr8/+L5/T/Ztrl/0fS3v86y9n/OcfT/zjCzP83vcb/Mrm//yq0tv8tr6H/RK+J/2aze/95tXb/ + dLFv/2ytZv9kqV7/XKVX/1OgT/9LnEf/Qpc+/zqRN/8yjjD/Mos1/yiAKv8dhRn/Oasp/3XnY/+G6YT/ + oOKf/67Nq/9qamn/S0xN/11kYP/V1NX/2NfX/9XV1f/j4+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAcHBwf4ODg/+Xn6L/dnd2/1FJSv9wcW3/cJBu/1WVTP8xiCH/GXUa/wdhCP8XcQz/ + EnwP/wWAEP8OhBH/D4QR/xGEEv8WhRb/G4cY/x6IGv8hhhn/JYcb/yqJHP8wix7/Nowh/zyPJf9Dkiv/ + S5Qz/1OXOv9am0P/YJ9N/2ejWv9tqGj/dK54/3+1i/+FvJn/icSr/4jKu/+Z2NX/suPg/9/28P/y+fX/ + 8/v3//P89//5/Pf/9/37/+T7+v/N+Pf/tvLw/6jv8f+b6/L/e9/q/0/W3/88z9r/O8rV/zjFzv83wMf/ + MrzB/yu4uf80taf/TbWR/2y1fv94tHP/dbJv/2yvaP9jql//W6VX/1OiT/9Mnkj/RJpB/z2XO/82lDb/ + MJAu/y2OL/8aex3/I4Yc/2DHU/+S8I3/nuSd/7HVr/92eHX/SU1N/1FYVP/Py87/2tnZ/9fX1//k5OQu + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdHR0e4GBgf+boaT/bXJw/01KSv9tcGr/ + bpJo/0eRPv8thR//EnET/wptDv8TexH/DYEP/wmFEf8OhBL/D4UT/xGFFP8Whhj/G4ka/x6JG/8giBr/ + JIkc/ymLHf8vjB//NY4i/zyRJv9Dkyz/SpYz/1OZO/9ZnET/YKBP/2ilXP9tqWr/dK96/3+2jP+CvJr/ + hsKn/4zNv/+W2+D/nd7g/9Hx7P/y+fX/8/v3//L99//4/fb/+f76/+v8+f/b+fn/wfTy/6zx7/+p7vT/ + j+Xw/1ja3/890dr/PM7X/znIz/83w8j/Mr7C/yy6uv8wt6v/SbaV/2e0fv92s3L/dLJu/2uvZv9iql7/ + WqZW/1KjTv9Kn0f/RJxB/z+aPP83lzb/MJYt/yyTK/8ghib/Gncd/0GgPv+c85f/o+ie/7Tbsv97gnz/ + TU9O/1FTUP/DwsX/1tXW/9jY2Ojp6ekc+Pj4Afj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + eHh4N4KCgvukpqn/Zm5s/0JHR/9nbGT/a5Fj/zyONf8nfSD/Dm4M/wd1Df8IgBP/CoQV/xCKGf8Rhxj/ + E4gZ/xSIGf8XiBr/GYga/xyKG/8gix3/JI0d/ymOH/8vkCH/NZIj/zyTKP9Dli7/Spk1/1OcPf9Zn0b/ + YKJR/2inXf9trGv/dLF7/3+4jf+BvZr/hsSn/5PRxf+N2d//meDn/8Xt5//z+fX/9Pv4//L99//4/fb/ + /P75/+/9+P/i+vv/yPf5/63y8f+r7vP/nOnz/2Xf5P9C1dz/P9Da/z3L0v85xcr/M8HD/y29u/8subD/ + Qrab/2G0gP9zs3H/crNt/2mxZf9gq13/WKdW/1CkTP9JoUX/Q55A/z2cO/81mDX/L5Yv/y6YMf8kjir/ + IIQn/xt4Hv+G14P/sPCo/7fftf99iYH/TkxL/1NQTf/Fxsj/0tLT/9nZ2a/z8/MD+Pj4Bfj4+AIAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAB4yMjMajo6b/aG9t/0RHRv9obGT/Z45g/zyQN/8bdhb/ + DXIO/wx8FP8OiBn/DokY/xGLGf8RiRj/EooZ/xSKGf8Xixn/GYsa/xyMG/8gjRz/JI4d/ymQHv8ukiD/ + NJQj/zyVKP9DmC3/Spo0/1KdPP9ZoEX/X6RQ/2aoXP9rrGr/cbF5/3y3i/+AvZn/hsOn/4jKu/+P2dr/ + kN7d/63n4//q+PT/9/r2//j8+f/4/fr/+f36//f++f/t/fn/2Pv4/7j08f+h7vD/juvz/2rg5f9G1d3/ + PdLb/znO0P80yMX/NcO//zXAuv8vvLP/Pbmh/1O0gv9osm7/b7Fm/2ivX/9hq1j/WqhR/0+jSP9HoEP/ + Qp9B/zucPP81mTf/Mpo0/y2XMP8nky3/JYws/w1sEP9MpUv/tvau/7vjuf+Cjob/R0VE/1FPS//Q0tT/ + 1tbX/97e3qrs7OwB+Pj4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyLjWSin6L/ + cXNy/0NGRv9kaWH/YYpc/zaNM/8Pcg//DnkT/xCFGv8Rjh3/Eo8b/xOOGv8SjBr/E4wa/xWNG/8Xjhv/ + Go4c/x2PHf8hkB7/JZEf/ymSIP8vlCL/NZYl/zyYKv9Dmi//Spw1/1OfPP9ZokX/X6ZP/2WpW/9prGj/ + cLF4/3m3iP9+vZb/g8Kl/4XItf+R2Nb/kd7a/6bm5P/g9PL/9vn1//j7+f/5/Pr/+P36//n++f/z/fj/ + 4/z3/8T29P+g7/D/f+fq/2ff4P9T2N//SdPb/0LP0f88ysb/PcXB/z/CvP84v7f/Qb2m/1K2hv9ermX/ + Zqxa/2CpUv9Ypkr/U6RG/0uhQf9GoEH/QqBA/z2ePf82mzj/Mps0/zCbMv8kkiv/JZEt/xyFIv8Xehf/ + nuKX/8Dovv98h4D/QUA//1tZVv/S09X/19fY++Tk5HL29vYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAIqJiw6knqLxgYGA/0NFRP9bYlr/XIZY/ymEKf8LdQ//EYQa/w+LHf8Pjxv/ + E5Ic/xSRGv8SkBv/E5Ac/xWRHP8Xkh3/GpIe/x2THv8glB//JJUg/ymWIf8umCP/NJkm/zubKv9DnDD/ + Sp42/1KgPf9Yo0X/XqdO/2SqWf9prWf/b7B2/3m2hf98vZT/gsKi/4TGsf+N1M7/lN7d/6Xm5f/Z9PP/ + 7/j2//T7+P/4/Pn/+v75//j++f/3/fn/7Pz6/8/3+P+n8PH/hOjq/2zi4v9k3OH/WNXZ/07R0v9Kzc3/ + TMnI/1DGwv9HxLn/S8Go/1q6if9WrFv/YatR/16pSv9VpUL/UaQ//0qgPP9Enzv/QJ87/z2fO/82nDf/ + MZky/y6aMf8qmzL/K5s0/yGQKf8OdxH/bLJl/8Tswv95hH3/NzY1/2VjYP/X2Nn/2dna8efn5y739/cA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACtpKqaj4+P/0RFRP9UW1L/ + WIVW/x16H/8NfBT/F44i/w2NHf8Iihf/E5Ib/xWTGv8Tkhv/FJIc/xaTHP8Ykx3/GpQd/x2UHv8hlR// + JZcg/ymXIf8umSP/NJsm/zucKv9Cni//SZ81/1GhPP9XpEP/XqdM/2SrVv9orWT/brBz/3e2gv97vpH/ + gsKg/4nHsf+Iz8X/mt/f/6bl5v/M8PD/5ff2//H7+f/4/fj/+v34//n9+v/7/Pr/8fv6/9X3+P+u8PH/ + j+vs/3nl5f9w3+H/Z9na/1nV1P9W0dD/XM/L/2HLwv9eyLb/YMOj/2O6gf9WqlL/YKpK/1ynQv9SpDr/ + SqE1/0afNf9BnjX/Pp83/zmdNf8ynDL/L5gu/zCdMf8voTb/K500/yCUKf8Zix7/Qog7/7zkuv9ueXL/ + NDMy/3l3c//d3+H/19fYyuvr6woAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACzrK44m5qa+EdDSP9RVVH/T31Q/xV4Gf8OiBr/FZIj/w6PHf8KjRn/EZMc/xSUHf8TlBz/ + FJQc/xaVHf8YlR7/GpYe/x2XH/8hmCD/JZgh/ymaIv8umyT/NJwm/zqeKv9DoC//SKE1/0+iO/9WpEH/ + XadJ/2KqU/9nrmH/bLJv/3W2fv95vI3/gsKd/4rGrv+JzcD/mdzb/6nl6f+26ef/1/Xz/+z69v/3/PX/ + +v33//j8+f/5/Pr/8vv7/9f3+P+x7+3/mOrp/4vn6P+K5eb/f9/f/23Z1v9s1dD/ddHG/3/OvP93yaX/ + csOQ/2m3cP9bq0z/XalF/1WnPP9OpDT/R6Ev/0KgMP9AnzP/Pp80/zedMP8wmi3/Lpot/zOiNP8toTT/ + KZ00/yecM/8ili3/Jnwl/53MnP9iaWL/NzAz/5qXlf/e39/42dnacfDw8AYAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACrq6cEq6qryFpQW/9NSU3/QG9C/xWEHP8OlBz/ + D5Qc/xCVHf8RlR7/EpUf/xOWH/8TmB7/FJge/xaYH/8YmR//Gpkg/x2aIf8gmyL/JJwi/yidJP8tniX/ + M58n/zihKv8/oi7/RqM0/02kOv9UpUD/WqhI/2CqUf9krV3/arJr/3O2e/93vIn/gMCZ/4rFq/+Gyrr/ + idPK/6Ti4/+p5OD/w+3q/+n59v/2+/L/+fz2//f8+f/2/Pv/7/v6/9j3+P+68PH/pOvr/5bm5f+Y4+L/ + luLi/4Xb2P9808b/Zr+Z/267if9ounX/X7Ri/2CvVP9frEn/WatB/0+oOv9KpjL/RaQu/z6hLf86oC7/ + PKAy/zmfMf8ynS7/MZ4w/zGhNP8xozj/M6M+/yqdOf8jlzT/G4gl/2WiZv9WVlD/OSwz/768u//Y2dfn + 39/eI/j4+AX4+PgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + vry/a3tyfP88PT3/NWs6/xWJHf8PlR3/D5Ud/xCWHv8Rlh7/Epcf/xOYIP8SmR//E5kf/xWZIP8XmiD/ + GZoh/xybIv8fmyL/Ipwj/yadJP8rnib/MKAn/zahK/88oi7/Q6Qz/0qmOP9QqD//VqlH/12sUP9jrlv/ + a7Jn/3S2df92uoP/fL+S/4TEo/+FyLL/iM/B/5PX0v+a3d3/tOfp/9319P/1+/X/+Pz1//X7+P/d9PH/ + 2fT1/83x9f/B7vX/sent/6fm5/+f497/m+DZ/5XazP+DzKv/Zrl+/2e2cf9mtGP/ZLFY/1+uT/9brEb/ + VqpA/06oOf9IpjP/Q6Qv/z2hLP84nyz/N58t/zegL/8zny//MqEz/zOjN/80pTv/NaVA/y+hPv8qnTr/ + IpEt/zp8Pf84PTT/S0JH/97c3P/Y2daW4+TjCPj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAubi9HZ+aovA2PDn/K2gx/wyIFf8Plx7/EJge/xGZH/8SmR// + E5og/xSaIf8TmyH/FJsh/xWbIf8XnCL/Gpwj/xydI/8fnST/Ip4l/yafJv8qoCf/L6Ip/zWjLP86pC7/ + QKYz/0ioN/9Nqj7/VKxH/1quT/9gsVn/Z7Rk/3C4cf9zu37/eL6M/4DDnP+Ex6z/iMy7/4/TzP+T2Nj/ + p+Hh/8bp5P/v+fX/9vv3//L69//E6+L/suTe/6ng2v+y5eb/mdrR/5fbz/+P18T/fMyr/3XFmf9xv4f/ + cbt7/3C4cP9qtGD/ZLFW/16vTv9ZrUb/U6s//0ypOP9HpzP/QaUv/zyjLf84oi//NqIw/zakMv81ozT/ + NqU4/zimPf85qUH/O6pH/zenRf80pEL/Jp0y/y12M/8pMyf/gHt+/+fo59Pa3dsIAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrW6A8PByLNIU0z/ + HGAk/wyQGP8Qmh7/EZof/xGbH/8SnCD/FJwg/xScIf8TniL/E54i/xWeI/8WniP/GJ8k/xufJf8eoCX/ + IaEm/yWiJ/8poyj/LaMq/zOlLf84pi//Pqcz/0WpOP9Lqz7/Ua1G/1ewTv9dslf/ZLVj/2y5bv9wvHv/ + db+I/33Dl/+Cx6b/h8u2/4/Rxv+U19L/ot3a/7jl3f/f8/D/7/n1//L69v/M8Oz/tOfk/6nh2/+g3NP/ + mdnM/43Vv/+L0LL/g8qk/3vElf92wIX/crt3/224bP9otV//YrNW/1ywTf9Xr0b/Uaw+/0qrOf9FqTT/ + P6Yw/zmkLf83pDD/N6Uy/zenNf82pzj/Oag9/z2pQv8/rEf/Q69O/0CtTv8+q0z/K6c5/y2ANP8uPy// + ure58ejo6TsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAMvK0F54h3//GWIj/xCbH/8QnB7/EZwf/xGdH/8SnSD/E54h/xSeIv8TnyT/ + E58k/xWfJf8XnyX/GaAm/xugJv8eoSf/IaIo/ySjKf8opCr/LaUr/zCmLf81pzD/O6g0/0KpOP9IrD3/ + T61E/1WwTP9as1X/YLVe/2m5af9svXb/c8CE/3vEkv9/x6H/hMqv/4zQv/+V1sv/odzV/7Lj3v/J7Of/ + 6fj0//H69f/N8e3/tern/6nk3v+f3dP/l9nI/4vTuf+Gzqv/gMmd/3nEj/9yv4D/brx0/2i5af9ktl3/ + YbRU/1uxTf9Vr0X/T60+/0mrOf9DqjT/PaYw/zekLf82pTH/N6c0/zeqN/83qzr/O6pA/0CrR/9Dr0z/ + SLJT/0axU/9Er1L/La48/y2FN/9ccF//zc7NfO3t7gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAL+/xQ2qta/0KHoz/wybHP8ToSL/ + EqEi/xKhIv8ToSL/E6Ai/xShI/8ToCX/FKEl/xWhJf8XoSb/GaIm/xuiJv8doif/IKMn/yOkKP8npSn/ + K6Yq/zCnLP81qC//Oaky/0CrNv9GrDv/Ta5C/1OxSf9ZtFL/X7db/2a6Zf9qvXH/cMB+/3fEi/97x5n/ + gMqn/4nOt/+S1MH/m9rO/6bg2v+z5d7/2fTu/+358P/Q8uz/terl/6fj2P+c3c3/k9nB/4fTsv+BzqX/ + e8mY/3PEif9uv3v/a7xu/2S5Y/9htln/XrNR/1ixSv9TsEL/Ta48/0isN/9BqjP/Oqgv/zWnLf81pzD/ + N6k1/zmsO/87rT//QK1E/0OsR/9Is1L/TrZb/063Xv9Rt17/Na5E/yyPOP+RrpXw4ubkGQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACyt7KpNI4+/weaGf8UpCb/FKQm/xOjJf8SoyX/EqEj/xKhI/8UoiT/FaMk/xajJP8XoyX/ + GaMl/xqjJf8doyX/H6Qm/yKlJ/8mpin/Kqcr/y6oLf8zqS//N6sy/z2sNv9Erjv/Sq9A/1CxR/9WtFD/ + W7dZ/2O7ZP9ovm7/bcF5/3PEhv93yJP/fMuh/4TOsP+N07n/lNfF/5vd1P+o49v/wevf/+b37P/Q8ej/ + uOri/6jj0/+c3sf/ktq7/4XWrf+A0J//esqS/3PFg/9vwHX/bbxp/2e4Xv9htlX/XLRO/1WyRv9QsD// + S686/0WtNf8/rDH/OKst/zOrLf80rDD/Oaw3/z2tP/9BrUT/R7BH/0euSP9PtVn/VLZl/1u9bf9lw3H/ + RKtQ/yuYN/+axZ7U9PHzCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcq55SMow8/QibGf8RoSP/EaEj/xGhI/8RoSP/ + EqEj/xKiJP8Toyb/FKMm/xWkJv8WpCb/GKQn/xmkJ/8bpCf/HaUo/yGmKf8lpyv/KKgt/yypLv8xqjD/ + Nqsz/zyuNv9Crzr/SLA//02yRf9RtEz/VrhT/127XP9jvmf/asJz/3HGf/92yo3/fM2c/4LQp/+K07P/ + kda8/5jbx/+g4NH/rubZ/8Lu5f+67OX/quXc/6Hgzf+a3cH/lNq2/4rXq/+F0p7/gM6R/3bJgv9uw3P/ + aL5n/2G5XP9dtlL/WbRL/1KyRP9NsD7/SK85/0OuNv89rDP/N6sw/zOrLv81rDT/Oq09/z+vQ/9Er0j/ + S7VO/0u0Uf9StVz/WLZm/2bDdf9uynr/Rq9T/zCcPf+Qv5TB8u/xAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACXrJoR + L5E85QSYF/8QoCL/EaEj/xKiJP8ToyX/FaQm/xWkJv8UpSj/FKUo/xWmKP8Wpij/GKYp/xmmKP8bpin/ + Hacp/yCoKv8jqSz/KKot/yurL/8vrDD/NK0y/zquNP9Arzf/RbE8/0qzQv9OtUj/UrdO/1m6Vv9fvWH/ + ZcFt/27Gef9zyof/es6V/37Rn/+F06v/itWz/5HYvP+V3MP/m+DM/53j0f+X4tD/leDM/5LdwP+P2rT/ + jdiq/4fWof+F05f/gtCN/3jLgf9uxHL/Zr9l/126W/9atlH/VrRJ/1CyQ/9JsD3/Ra85/0CuN/88rjT/ + Nq0y/zatNP87rzz/QLFF/0SzS/9JtlH/T7xX/1K5Wv9at2T/ZLpu/3nOhP970ob/S7FY/zaiRP+XxZy9 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALps8tAKWFf8SoiT/E6Ml/xWlJ/8Xpyn/Gagq/xmpK/8UqCn/ + Fagp/xWoKf8WqSn/GKkq/xmoKv8aqCr/Hakr/x+pLP8iqi3/Jqsu/ymrL/8trDD/Ma0y/zavNP88sDf/ + QLE7/0a0P/9KtkX/T7hM/1e9Vf9fwV//aMdr/3DKeP91zIP/e86P/37Rl/+A06H/gdSo/4fXsP+L2rf/ + kN3A/4/ewv+B3Lv/hN27/4fbs/+I2Kj/ideg/4TUl/+A0o//e86F/3HJef9ow2v/Yb9g/1m6V/9Wt07/ + UrVI/0y0Qv9Gsj7/QrI6/z6xN/87sDX/Oa83/z2xPv9DtEf/R7ZN/0u4Uv9Ou1f/Ub9d/1e9Yv9lvWz/ + dcF7/47blv+F1o//TLFb/zumSv+j06unAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHpgsegaXFv8VpSf/ + FqYo/xmpK/8brC3/Hq4v/x+vMP8TqCn/FKkq/xWpK/8Wqiv/F6or/xiqLP8ZqSv/G6os/x2qLP8gqy7/ + I6su/yasL/8qrTH/Lq4z/zOwNP84sTb/PLI5/0K0Pf9JuEP/Ur1M/13EVv9jyWD/a81r/3TPdv94z4D/ + etCH/3vUjP951pT/eteb/3/YpP+C2ar/htyy/4jdtv983bP/ft2y/3/aqP+B2J7/gtaV/3/Tjf960YX/ + dM58/23Jcv9mxGb/X8Bc/1e9U/9Tu0z/TrlH/0i5Qf9Etz3/QLU6/zyyN/86sDj/PbE+/0O0R/9It07/ + S7lT/027V/9PvVv/Tr9f/1jAZ/9wxHb/g8yH/53lo/+L15X/TK9b/z2oTf+v4biYAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAF5EkPwqdHP8UqSf/GK4t/xurMf8mrDn/KbI7/ySzNv8aqzD/Gasw/xirLv8Xqyz/ + Fqwr/xerK/8Yqyv/Gqwr/xysLP8grC3/Iqwu/yWtL/8prTD/La4x/zCvMv80sDP/ObI2/z+0Ov9HuUL/ + UcFL/1vIVP9ezVr/Yc9f/2rQa/9y0Xb/c9J7/3HVff9v14H/cNiJ/3bakf9425j/fdyg/3/cpv993ar/ + e92o/3jZmv9315D/d9aK/3XUhP900n3/b9B1/2nNbP9ky2L/X8ha/1jEUv9QwUn/Sr9E/0W+QP9Buzz/ + P7c6/zuzOv87sjz/PrRC/0G1SP9EuE3/SbpT/068Wf9Svl7/U75j/13EbP92yoD/lM+Y/67ls/+F1pD/ + RLFW/0SmVf/B7shqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH5EuGA2gIO0OqiP/ErMs/xysNv85r1D/ + ObNN/y+5Qf8rsUH/J7E9/yKxN/8crzL/GbAu/xevK/8WrSr/GK0q/xuuK/8drSz/IK0t/yOtLf8nri// + Kqww/y2oMv8vpTP/M6Y2/zutO/9DuEH/TcNI/1XIT/9TxlL/UcFS/1O/WP9Zv2L/XsFo/17Ca/9gxXD/ + Zst4/23Tgf9v1Yf/cNCN/27LkP9nyZH/csya/2nMiv9r0IL/bNR//2vVev9r1HX/Z9Bt/1/JZP9Ywlz/ + U75V/1G9T/9KvUf/Rb1B/0G9Pv89tzz/Oa08/zanO/80pjz/NKc+/zWsQf89s0f/RblR/1G9W/9awWP/ + Yb5r/2jJdP+A04v/qdKv/7zjw/9204T/OLFN/16qa/jg/OYpAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QKlPBQ2QG8cOpiP/C64k/xuyNf9Hwl3/Rr1Y/0DCUv85u03/NbpJ/y65Q/8otzz/I7Y3/x+zNP8asS7/ + HLAv/x2wLv8dry7/IK8v/yOvMP8lqTH/JZo0/yKGNv8gdzj/I3Y6/ymDPv8zm0D/QLRD/0m/SP9Er0n/ + OZFJ/zOASv80fU7/OH5R/zl/VP8+h1n/S55i/1y8bv9ixXb/Wa50/0uSb/8/g2z/Rot1/0Wdbv9bvXP/ + Z89z/2bTcP9gy2n/VbZg/0WcV/85h1D/NH5M/zSDSf83lUT/O6g//zu0Pf82pz7/LIw//yV4QP8jc0H/ + JHtA/yiRP/81qkT/Q7pS/1LAXf9dxGf/Y8Nu/2/Ke/+M1pf/suC5/7ruw/9uzXz/O6ZL/4PDjebb++IO + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOBIJAQoSP/C7Ek/xO1Lv9MzWT/XtBw/1TKZv9Hw1r/ + QsFW/zu/UP80u0n/L7pD/ym4Pv8ktzf/I7Y2/yK1NP8itDT/IrQy/yOxMf8gnDP/GHU//wxydv8Hh6j/ + B5C1/wqJpf8Wcmv/KH9C/zafQv8vikr/EYmc/wqQuP8KkLj/CpC5/wuRuf8Mkrv/H4eP/0aaXv9Ssmb/ + OZJ3/xWGpP8Mkb7/DY65/x2Gkf9KpmT/Xcln/1rKZP9Kqlr/MHdV/xh0gf8Mia3/CpC5/wuJrv8VdHr/ + JnVC/y6XPP8qkD3/E4B+/wiMsP8Hj7f/DIKc/x2EZv81pkj/R75W/1bFYv9hyWz/aMt1/37Pif+h26n/ + ve3E/67xuP9gxG//TqZb/6rdsbsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADGPP1cUoCf/ + Dbcm/wq3Jv9Cy1r/ct+E/2jQeP9XzWr/Uspm/0vHX/9DxFb/O8BQ/za/TP8xwUT/Lr9B/yq9Pv8mvDn/ + JLs2/yO4NP8YjDH/C4CF/wKs4v8JbX3/EVtY/w1pev8DrOL/DYWa/yR0QP8jbkD/DH+Z/wC+/f8LiK3/ + FlVb/xhZXP8SbYT/EY+t/zmMUv9JsVr/N4VV/xdqfv8Avv3/BqLV/x5eTf9EqVr/Vchb/0u6V/8ve1D/ + C5W8/wC9+/8Dq+H/C4Wo/wuDpf8Epdn/C4yn/yF1Pv8kiDr/Flc+/wSezP8Avv3/EWl8/yZ6SP87sk// + TMRb/1vLaP9mz3L/cNR9/5DZmv+3477/v/TH/5Hmn/9TvWP/drp+/8fqym8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAG+8eR4bpS3/C7cl/wW7I/8xwUv/euKL/3vZif9q233/Zdh3/13Tb/9Tzmb/ + S8te/0XJWf88yFD/OMhM/zHHRf8qxD//JsM6/yC+M/8YjTT/EHyA/wlwfv8UZDv/H3dA/xZRQP8JfZv/ + Abby/xRhWf8cYD7/C32X/wC+/f8LgaD/IF1C/yh0Q/8hYUr/G4iH/zuZTP9Iu1H/OZRP/xhmcf8Avv3/ + B5vK/yNpSf9EtFH/TshR/z+pTv8cbWb/Abn2/wK07/8VT07/H2ZB/yJpQ/8WT0v/BZ7O/xRrWv8ghTj/ + FmI6/wSaxv8Avv3/E2h2/y+NTf9Dv1X/T8pg/1/QbP9q1Hb/dt2E/6Djqv/I587/vPPF/3PUgv9JuFr/ + m9Of6dfw1xYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmpji5BK8X/wzEJ/8kuDz/ + atx8/4zkmf994oz/eN+O/2zbgv9k2nD/YNdv/1XNaf9IzV3/Q85X/zzMUP8zykj/LclB/ybCOv8npj// + HX9W/xNpUP8YZz//G2NC/xJOSv8Gkrv/AL79/w9obv8ZWjz/CnyW/wC+/f8KgKD/G1c//yNqQP8fd13/ + L4RD/0CxRv9Hw0r/OZtK/xhnbP8Avv3/B5rH/yZwRv9CuUj/SMdI/zadRv8Va27/AL37/wadzP8dY0D/ + LqQ9/zCqPf8gbz//CYWl/wxze/8afjf/E2g4/wSaxv8Avv3/EmV2/yp5T/8+qlf/UL5k/2XPdP9y1X7/ + hOCQ/63mtf/S7tf/re23/2DKb/9PuF//pt+shAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA8pUo8C6sX9grBG/8aui3/P8lS/5Dwn/+T3p7/i96g/4Lhl/933oT/ddt+/2fQdf9d1XD/ + V9Nq/03RYv9E0Fj/Ps1R/zrJTf8vsEb/IH9D/xFbVf8Ke5X/BprH/wKy6v8Avv3/Abbx/xJnW/8ZYjv/ + Cn2W/wC+/f8IiKv/EVJW/xFdZv8NkKr/LIc//z+7Qf9DxUT/NJtF/xZnav8Avv3/B5rG/yRwQf88uEH/ + QcVC/y+ZQv8Sa3D/AL79/waVwP8ecj3/L7Q5/y68N/8egTr/CH+W/wl4hf8VeTb/EGc3/wOaxv8Avv3/ + EWV7/xhbYf8mcGH/QIhh/2Kzdv9+0Yr/nOGl/7/qxf/H8s3/htiQ/1nBZv91w3/wxPLKKQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4y4YCKKY2rACzCf8QxiL/JLQ3/2jmfv+v6L// + n+ag/5jloP+R36r/gNyN/3fief9u3YD/aNt5/1/Ycv9V1Wj/UNVh/0jPW/85q1H/HXJe/wOt5P8Avv3/ + AL79/wGy7P8EnMn/DW95/x13O/8bcjn/CX2V/wC+/f8Dp9n/Bo+1/waVv/8LjKn/KIM7/zm4O/89wTz/ + MZk//xVnaP8Avv3/BpnG/yJvPf84tT3/OsA9/yuUPv8Qam//AL79/waQtf8ddjr/LLY2/yu9NP8chDf/ + CICV/wl4hf8TeDX/EGY4/wOaxv8Avv3/DniY/wmWxP8Dsuv/E4qt/0N7a/99xI7/rOWy/8b0y/+k563/ + aMh0/1SvYP+n266o4P/lBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QKNKLg6uGPQHxBT/G7Yu/ynHPv+s67T/tPG6/6fdsP+o5bb/memj/4vokv+D4ZH/fN+L/3Pcg/9o23n/ + Y9lz/1nSav8/nlv/FYCS/wC+/f8HmMT/E1pj/xdRRf8VUkL/GWhB/yCPO/8aejj/CH6V/wC+/f8GgJ7/ + DkU7/xBNPf8Kg43/HHo3/ySbNP8opzT/Iow3/w9lZP8Avv3/BJnF/xhoOf8moDX/JqM4/x1/Ov8MZm3/ + AL79/wSPtP8Wdjb/IbUw/yG8L/8VgzT/BoCU/wZ3hP8PeDP/DmY4/wOaxv8Avv3/E2N4/xxGTv8Sepz/ + AL38/x9/oP90rI3/tOW9/7fvvv971ob/W75o/3/DiPLh9ucUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcsV5AjOuO5sEpxD/Ebok/w/AI/9gzmL/rfjA/7zsyv+26rP/ + ruyx/6Dnsf+W46D/kOOc/4fgk/983or/ddyD/2nUef9Ko2X/G32Q/wC+/f8QaH7/GlJI/x5oSf8UYVr/ + DIqW/xmBPf8Scjn/BX2V/wC+/f8Df53/B1A3/wheNf8HWUD/B1o4/wZ0WP8Hdkb/B2My/wRcYP8Avv3/ + AZjE/wVQNP8HbC//BYVs/wVUNf8DYGr/AL79/wKPtP8IbDH/DK0n/wy0Jv8Jei//A32T/wN0hP8IbTP/ + CV43/wOaxv8Avv3/E2N5/x1GUP8YaYT/AL79/xKRwf9vnIv/ruO4/5fkof9WvmT/bcF4+Lzpwnfw+/MA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHzCfCAtpzb3 + BbQS/xTFJv8Wuh//bt58/8P7zv/H7sr/uea+/7fuvv+p6rH/pOmt/5rnpf+P5Jr/iOKU/33eiv9iu3f/ + Nnps/weq3/8ImMb/GFJc/xhPUv8MfJz/CZO4/xtuQf8UYD3/B32Y/wC+/f8EgqL/B0M6/wdFOf8Dg6H/ + BFpi/wNxhf8EZHH/BUA3/wRaYv8Avv3/AZjE/wQ/N/8EQjj/ApG4/wRBOP8DZHH/AL79/wGYwv8GWzT/ + C5wp/wukKP8HZzL/An2X/wJ2jf8GUTb/CEo5/wOcyP8Avv3/FGR7/x1NW/8MlsT/AL79/x2Nt/95o5L/ + mNqk/2/RfP9SvGD/ldSeu+P86AYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABnvmWMGawi/wy4If8JvBn/IL4g/43nl//b9Oj/0+3W/8T0x/+68MX/ + t/C7/63rq/+h6KP/muik/4/lnP9+1Ir/YKt5/zl4bv8Xiqv/Cp/P/wig0v8LmsX/GYSN/yh7Sv8Xe2z/ + CJG2/wSfzv8En87/A5/N/wKfzf8CoMz/BWFl/wRvfP8Cn8z/Ap7M/wGey/8Bnsv/AJ7L/wGezP8Bnsz/ + ApW+/wNXW/8ChKP/AZ7M/wKXv/8Ee2//CZEr/wmXKP8FfWD/ApO2/wKPsf8GWlT/B298/wWYxf8Gn9D/ + CKDR/wmg0/8Mn9P/IIuz/1SDgf+AvpP/d82C/1e8Y/92yYHpxPbMOAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC73b0bb8V33g+iGP8OtxP/ + Brsb/x+2Mf+n56D/6fzo/9bv4f/O7tP/y/LM/73su/+37rj/r+qz/6Dip/+Z4aL/itKW/3G2hf9WlHP/ + SIBp/z96Yv9AhGD/RZlg/0KlWv8zkVD/J3hK/yBtRf8dbEP/GWw//xVsO/8QdDb/D38y/w96Mv8NbjL/ + Cmgy/whnMP8FZS7/A2Us/wZmMP8IZzD/CGsw/whvLv8IbC//CGgv/wltL/8Jgij/CJ0h/wihIf8Iiij/ + CHMu/whwMP8QdzX/GnU+/yVvS/8ublT/NnRa/z12YP9QfnD/apeE/3Oyhf9nyXf/XsFp/3vCgPS04LpT + 5/vsAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAsOy2PV29ZOIIsA7/DKcr/wqxGP8isx3/meGd/+b15//r8eX/3/jk/9H32//B7sn/ + wevC/7ztvf+s6rL/pOes/5ffof+H05T/fcuM/3THg/9wyH3/as14/2HMbv9TwmT/TLtd/0G1VP88slD/ + NrFJ/y2vQf8lsTn/IbQ2/xqtMP8XqS7/FKYs/w+lJ/8KpCP/BqMg/wmjI/8JpCL/CKUg/wilHv8HpB7/ + CKQe/w2lI/8LqB//C64e/wyxH/8PrSP/EKon/xKnK/8dqjT/LqxD/0OyVv9St2X/YLtx/2u+ef9zyYH/ + eNKH/2/Kev9hvm3/dL177KrerVcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKzjtSZDrUjODZkJ/waxF/8BqBH/ + H60g/4Tbiv/c9eb/7Pro/+v13//i9t7/0vXe/8Tv0f/B7cT/uuu9/6/otP+k5av/nOOk/5XgnP+N3JT/ + hdqN/3rWg/9u0nj/aNBy/1zKZ/9Vx2D/TMZY/0LCT/83wEX/Mr1B/yi6Of8kuDX/HrYw/xi2K/8StCT/ + DbMh/wqzHf8Ksxz/CLIZ/wexFv8FsBT/BrEV/w2yHP8OsRv/D7Ac/xKyH/8Ytib/HLcp/yG1Mf8uuj3/ + QsFP/1jIY/9mznH/dc99/3vRgf9y2nz/ZtVz/16+af9zwX7aks+YOQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACGvH8YOpw4pgaNCvwLpRf/AqUI/wutD/9gwGX/zfHO//r5+P/19PX/2Pvd/8320f/W7tb/ + zezP/8Lpxf+357v/sOS1/6ngrv+i3Kb/m9uf/5DWlP+E0on/fdGE/3LLef9qx3L/YMVq/1TAYP9JvlT/ + QrpP/zu6SP84uET/MLY+/yi0Nv8isjD/HLAr/xKvIv8RriD/Dqwc/wyqGf8JqBT/CqkU/wysGP8Oqhr/ + Eakc/xerIv8fsCn/JrEw/zS0QP9Bu0z/UsJc/2PIa/9ty3b/dsx9/3rQgf9ty3X/W7dl/Wi0cbuQzZkg + t+2/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcK56CDiXM3ALjhT0B5wV/wqnCf8Onwv/ + RKxN/6bftP/p/PD/7Pfm/+r04f/o9Of/3/Pf/9Tv1v/K7Mz/wunG/7zlv/+14Lf/rt+x/6Lapf+X15v/ + kNWV/4fRjf+Azob/dMp9/2fFcf9bwGb/Vb5g/068VP9JuU//QrZI/zm0QP8ysDn/LK80/x2sKv8aqib/ + F6gj/xSlHv8Soxr/D6MY/wqnFv8NpBj/EqQb/xymJP8kqyv/Lq82/0O3TP9Qvln/XsNm/2vGcf9xxXb/ + ccl3/2vHcv9ksWn3baxziIjAjw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAjmzgzGoQbwh2AGf0MnRD/ApcE/xegGf95x3n/0ejQ//n3+P/4/Pj/8Pfw/+bz5//c9N// + 0/TW/8zxzv/F7MX/vOe9/7Titf+s3q3/pdil/5janP+Q2ZX/hdOM/3rOgf9vyHb/acVx/1+9Y/9bu13/ + VLhX/0u0T/9BsEX/Oq0//yusNP8oqi//I6Yq/x+jJv8anx//Fp4b/w6lFv8QoRf/F6Ac/yGkKP8sqDH/ + O65A/1S4Wv9dvWH/ZcFq/2zDcP9twXL/ZLtr/lWqXdJYnV5AiLmMAQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATIVKDyd3JXQHgAbpAosD/weaC/8Igwn/ + O5w5/5/Snf/j8+P/+Pv3//T08v/w9u7/6/rr/9/33v/V8tH/zOvI/8nrxv/D58D/tdqy/6vbq/+l2qf/ + nNOe/5LMlP+Kxoz/hcSJ/2+8df9nuW3/YLZl/1i0XP9TtFf/T7RT/z2pQf85qDz/NKY2/y+kL/8ooin/ + IqAk/xeeHv8anSH/IJom/ymcMP89qUT/ULJU/2K2Yv9kuGX/YbVk/2i6bP9kuGjuWqhgh2edbhYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAcgRwoCG0IoAaCCfgHkAv/BIUF/xSAFf9Dl0P/mdGX/97w2//3+vT//fT4//nu9v/z7PD/ + 6ezn/9/w4P/R79P/wOfE/8TgxP/D3cT/uNi5/6vRrf+dyp//lsaZ/4fMi/+AyYP/dMN3/2i9av9dtl7/ + VrNY/1exW/9OrFL/Q6dG/zijOf8vojL/K6Eu/x+SKP8gkCr/K5c0/zqjRf9CqE//SKlR/1OtVv9gsmL/ + Zaxo/FmZXLFlpGcxZ6xrAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5FCAQpqCy4DcAOqBn0G9AaEBf8Hgwb/ + EXoQ/zOCMf+Atn7/v+S9/+f55//3+/j/8fXy/+nv6v/i7eT/3+vh/8vkzf/C4sT/uuG+/7DgtP+k26n/ + mteh/57Ln/+dyZv/lMeT/4nBh/99unr/dbZy/2iyav9js2b/WK9b/0OkRv8pkiv/H4oh/zCSL/81lTT/ + PJs+/0ejSf9RrFX/WbBc/1mqW/hWnle0VZFVPmqXaQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAQZxAECV8JMQZqBpUHcAXoBnAF/gNyBP8Hcwj/HH8d/06YT/98uH7/qtmr/9Xx1f/v+O3/ + 9fbz/+rv5v/l7uH/4e7e/9jp1f/J38n/wNjA/7nUtv+xz63/p8mh/5vElv+Uwo3/kMKJ/3bCdv9brFz/ + PpM+/yyGK/8piCj/Lo4r/zWRLP8/lzf/TZ5G/1agTv9QlknsSY9FpFKSUztQjlEGAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdZxwbA1YEaANkAsEFdAb7 + B3YG/wVqBP8HaQf/GnMZ/zN+MP9WkVD/dahu/5/Dmv+v0Kv/vtu5/8jjw//M48b/y+HF/7Tgsf+p2qb/ + mc+V/4C9fP9nqWL/U5lO/yJ+If8fehz/IHsc/yZ/If8vhij/NIwu/zSNM/9AkD/8Q4hBzUaBQXVVikwg + Wo9TAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAGWAUgCF8GagZlAq4EaADiB2sC/AJoAP8AZAD/BGgD/wpmCf8MaQz/ + EXER/xh1Gf8edR7/H3Me/yJ4I/8fdR//F3EX/xJvEP8QcA3/D3MN/xF7Dv8WexH/HHwW/yN8HP4sfSHl + M4Mrtit/M3Ukcy0mLnQ2AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJAAIATwAS + CF0INgJcAWMBWwCbAFsAvgFgAd4BXwHrAV0B8gFcAfgBXwH8AmIC/gNlAv8DZAH8AmMB+QVlAvMMagbs + D20K4QhjA8MQaQmfHXMWaiR3Hz0YZxETDF0GBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVeFAcRWxAYClcJJgVVBTICVQI6 + A1cEPwZYAz8HVwM7ClkGMxBcCygZYhUaHmcaCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////////////////////////////////// + ////////////////////////////////+AAAP///////////wAAAB//////////+AAAAAH/////////w + AAAAAB/////////gAAAAAAf///////+AAAAAAAH///////4AAAAAAAD///////wAAAAAAAA///////gA + AAAAAAAf/////+AAAAAAAAAH/////8AAAAAAAAAH/////4AAAAAAAAAB/////wAAAAAAAAAA/////gAA + AAAAAAAAf////AAAAAAAAAAAf///+AAAAAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAD///4AAA + AAAAAAAAB///wAAAAAAAAAAAA///gAAAAAAAAAAAA///gAAAAAAAAAAAAf//gAAAAAAAAAAAAf//AAAA + AAAAAAAAAP/+AAAAAAAAAAAAAH/+AAAAAAAAAAAAAH/8AAAAAAAAAAAAAH/8AAAAAAAAAAAAAD/8AAAA + AAAAAAAAAD/4AAAAAAAAAAAAAD/4AAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAAAAAAAAAAAB/wAAAA + AAAAAAAAAB/wAAAAAAAAAAAAAAfwAAAAAAAAAAAAAAfwAAAAAAAAAAAAAA/4AAAAAAAAAAAAAB/4AAAA + AAAAAAAAAB/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAD/8AAAAAAAAAAAAAB/+AAAAAAAAAAAAAD/+AAAA + AAAAAAAAAP/+AAAAAAAAAAAAAf//AAAAAAAAAAAAAf//AAAAAAAAAAAAA///gAAAAAAAAAAAA///gAAA + AAAAAAAAA///gAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAAAAAAAAAAB///wAAA + AAAAAAAAB///wAAAAAAAAAAAB///4AAAAAAAAAAAD///4AAAAAAAAAAAD///4AAAAAAAAAAAD///8AAA + AAAAAAAAH///8AAAAAAAAAAAH///8AAAAAAAAAAAH///+AAAAAAAAAAAP///+AAAAAAAAAAAP////AAA + AAAAAAAAf////gAAAAAAAAAA/////gAAAAAAAAAA/////wAAAAAAAAAD/////4AAAAAAAAAH/////8AA + AAAAAAAH/////+AAAAAAAAAf//////gAAAAAAAA///////wAAAAAAAD///////8AAAAAAAH///////+A + AAAAAAf////////gAAAAAB/////////8AAAAAH//////////gAAAA///////////4AAAH/////////// + /4AH//////////////////////////////////////////////////////8oAAAAQAAAAIAAAAABACAA + AAAAAABAAAATCwAAEwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASkpKED09PSY1NTU2 + LS0tPi0tLT06OjozS0tLIVhYWAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAPJSUlTiQkJIwjIyPA + IyMj6SwsLP84ODj/QEBA/0dHR/9FRUX/Ojo6/ywsLP8nJyf8Jycn4SwsLLMqKip9Ojo6PVZWVgYAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpChkZGVksLCy1 + Nzc39lBQUP9jY2P/c3Nz/4KCgv+Li4v/k5OT/5iYmP+ZmZn/nZ2d/6Kiov+jo6P/np6e/5qamv+Dg4P/ + Xl5e/0VFRf8pKSntJSUlnzY2NkFXV1cDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeHh4U + ICAggjQ0NOpTU1P/b29v/3Z2dv9/f3//h4eH/5CQkP+dnZ3/paWl/7CwsP+6urr/wMDA/8DAwP/AwMD/ + wMDA/8DAwP+6urr/tLS0/7W1tf+qqqr/oqKi/3p6ev9AQED/JSUl1ScnJ2RPT08HAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAACYmJgooKCh7PDw88WRkZP9ubm7/d3d3/4eHh/+RkZH/q6ur/8nJyf/e3t7/7Ozs//Ly8v/39/f/ + +/v7//v7+//6+vr/+fn5//n5+f/x8fH/7+/v/+np6f/g4OD/1dXV/8PDw/+6urr/r6+v/5SUlP9OTk7/ + IyMj3CwsLFhEREQCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACIiIkU9PT3bXV1d/2VlZf9tbW3/h4eH/62trf/R0dH/7+/v//v7+//+/v7/ + +/v7//39/f/+/v7//v7+//39/f/9/f3//f39//7+/v///////v7+///////+/v7//v7+//n5+f/y8vL/ + 5ubm/9DQ0P/BwcH/tLS0/5OTk/9ISEj/IiIivCwsLCUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIyMjBzMzM49RUVH8ZmZm/29vb/+Hh4f/ubm5/9zc3P/z8/P/ + +Pj4//b29v/y8vL/7Ozs/+fn5//k5OT/5OTk/+bm5v/n5+f/6+vr/+7u7v/09PT/+fn5//n5+f/9/f3/ + /v7+//7+/v/7+/v/+/v7//z8/P/5+fn/8fHx/9vb2/+/v7//sbGx/4GBgf8xMTHyIiIiYAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKSkpGUBAQMRZWVn/YWFh/3t7e/+srKz/ + 39/f/+7u7v/s7Oz/4ODg/87Ozv/Hx8f/yMjI/8jIyP/Ozs7/1NTU/9jY2P/e3t7/5OTk/+np6f/t7e3/ + 8fHx//X19f/29vb//Pz8//7+/v/8/Pz/+/v7//39/f/8/Pz//v7+//z8/P/6+vr/6urq/9XV1f+6urr/ + oaGh/0tLS/8jIyOXNTU1BgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTExJ0ZGRt5iYmL/ + aWlp/5aWlv/MzMz/5ubm/9ra2v/IyMj/ubm5/7a2tv+9vb3/xcXF/83Nzf/b29v/3Nzc/9ra2v/c3Nz/ + 29vb/9ra2v/W1tb/1NTU/9bW1v/Y2Nj/39/f/9/f3//h4eH/6urq//Pz8//8/Pz//v7+//39/f/4+Pj/ + +/v7//z8/P/6+vr/5eXl/8jIyP+2trb/YmJi/yEhIbgxMTENAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + MTExKklJSeZcXFz/cnJy/62trf/d3d3/0dHR/7m4uP+pqaj/r6+v/7q6uv/Ozs7/2NjY/9ra2v/P0ND/ + t7e3/5ydnv+Fh4j/dXh6/2lsbv9cX2H/WVxf/11hY/9obG3/c3V2/4GBgf+RkpL/q6ys/8HDw//V1tb/ + 39/g/+np6v/y8vL//Pz8//7+/v/8/Pz/+fn5//b29v/p6en/1tbW/7i4uP9tbW3/IyMjwkRERA4AAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAOzs7IEtLS+NdXV3/eHh4/8DAwP/S0tL/tLS0/6Wlpf+rqqr/t7e3/9jY2P/g39// + xcXF/5ydnf9tb3D/UlRW/zo7QP8yMzr/MDM6/y00Of8vNj3/MztC/zc9RP8vOD7/Mzo//zw+Qf8/P0H/ + Pz9C/zg+RP88RU7/WmJn/4OJiv+1uLf/2NrX/+Dg4P/w8PD/+vr6//r6+v/19fX/9fX1//X19f/Y2Nj/ + vb29/3Nzc/8nJye8TU1NBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMjIyEEJCQtNbW1v/goKC/8DAwP+/v7//nJyc/52dnf+1tLT/ + 19bW/9HR0f+kpKP/bGxr/0NDQ/8pKiv/MzU1/09RT/91d3X/l5mX/6+1sv+3w7//vsrH/8bRzv/J0tD/ + xs/O/7/Ix/+8xMP/rLOz/5afnf9tfXv/PFRS/yQ0Ov8gLTT/OEBF/2Zoa/+en5//0dHR/+Tj4//v7u7/ + +vr6//n5+f/u7u7/8vLy/97e3v+6urr/bGxs/zExMaFsbGwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwAjw8PK1dXV3/fHx8/7m5uf+np6f/ + j4+P/6Wlpf/T09P/0tLS/6Cgn/9iYWH/OTg3/ycpJf9UWFT/mJyZ/8XHx//RztT/0dPW/9HX1//R2Nj/ + 1tzc/9jf3P/X4dv/2N/d/9ff4P/W3t//1N3e/9PZ2//W2Nv/0tTV/9HQ0f+6wsH/j5ud/09bYP84PEL/ + PDs8/2FgYP+bmpr/0tLS/+np6f/29vb/+Pj4//Ly8v/s7Oz/3Nzc/7q6uv9WVlb/REREbwAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADc3N2pUVFT/ + eXl5/62trf+hoaH/lZWV/7Kxsv/Z2dn/ra2t/2xsa/83Nzb/Li0t/3Z3df+4vrj/z9XQ/8PKxP/P1s// + 0tzS/8/g0v/D3Mn/tda+/6/Uuf+n0LH/os+s/6LQsP+cz7H/nNGy/6XWuP+u2sD/u97I/8jg0P/Q4Nb/ + x9PJ/8vWz//P2NT/usDB/3x7fP88Ojr/PDw7/2ZmZv+zsrP/3t7e//Hy8f/5+fr/8fHx/+np6f/S0tL/ + rq6u/0pKSvhpaWkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAADg4OCRJSUnzZmZm/5iYmP+Tk5P/k5OT/8HEv//Ky8j/jYuK/09MTv8uKzb/cnFt/7/Au//KzMv/ + v8a7/77Mvv+1y7r/pcSq/5bDmP+Kv4r/gL+B/3a5ff9ss3z/aLR8/2Kzef9csHv/TrB8/061gP9SuoL/ + XcCF/2HAgv9vx43/ec2V/5bNpP+s1bX/vtfH/8POy//K1sz/ycjG/3hzdf80NjP/RkpF/42Ojv/Mysv/ + 8u7s//j4+P/t7e3/4uLi/87Ozv+Wlpb/WFhY0Z6engYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABDQ0OzXl5e/4GBgf+Tk5P/k5OT/8bGx/+2t7j/dnZ3/zw8PP9JSEb/ + sLOq/8DHwf+0wrf/q8Kx/5K5m/+Csn3/ebRq/22nXf9hk17/T4Bc/0p6YP9BfmH/PoVi/z+Mav9Dk3D/ + QJly/yeYbf8al2v/EZdn/xeYZP8dmWD/LKRk/0C0b/9QwXL/W8Rz/3jOjf+N0p7/rda0/77Qvv/Q0s// + rq2u/09NTP88Njz/dXBz/8vIxP/p6en/+Pj4/+np6f/Z2dn/u7u7/3Fxcf+KiopzAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8PDxGUFBQ/3R0dP+Tk5P/jo6O/8fHx/+sq6z/ + cGxy/zg5O/9vdXT/u8K9/6+2rv+btaL/iLOD/3msZ/9qnl3/UHtK/z1bO/84XD7/Qm5M/0uIV/9Xm2D/ + WKdq/1ivdP9YtHj/Wrp8/1i6g/87tYL/KLSB/yKzf/8js3v/H7Bt/yCtZ/8RoVj/FqVS/x+nUP8+t2H/ + Xcl1/33Qi/+d1p7/rc6s/7vJuv/Cw73/bmxt/zY0Nv9wbmv/uLi4/+7u7v/z8/P/6Ojo/9DQ0P+np6f/ + f39/8M7OzhUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKSkoBRkZGyGZmZv+Li4v/ + iIiI/8TExP+kpKT/bWxt/z46O/+IjYj/uca7/56vnv+Nrov/aqVk/12VU/9BYjj/KUAn/y9PKP9BczX/ + SodB/1KcUf9aqGL/X7Bs/2K2e/9kvIf/ZcGO/23HlP9qyZn/R8iZ/yjEkf8dwof/IcKE/yLCf/8txIP/ + I792/yK5bv8hsmP/JKxc/yirVf9DvV7/ddZ2/4bSgv+c0Zn/sMyt/77Pv/+EiIf/NTA0/2xsbP+5uLj/ + 6+vr/+/v7//e3t7/xsbG/4qKiv+ysrKKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QEBAQ1dXV/94eHj/i4uL/7GzsP+trqr/cW9u/0hER/+PlIr/t7+o/5aykP9vonb/YpxU/0BrOP8dNBn/ + JEUh/zBoJP9AfzD/SZE3/06bQ/9YqVj/YLZr/2TAev9txIv/ccaX/3LKn/92zaL/dNCs/03Nqv8uyKL/ + Lcqh/yvNmv820p3/OtOY/zLSi/8ny33/Lcp5/zLEdP8wvGj/MLZY/0u1UP9rymD/dddt/4rTg/+fyqP/ + wNC9/5GRif88Pz3/b3Nw/7u8vP/x7vD/6Ojo/9DQ0P+rq6v/pqam8fPz8xEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAEhISLJmZmb/jo6O/52dnf+5urn/dXV1/05OT/+Hh4f/rbmw/4ekjf9sn2b/ + UY09/yRGHv8WLxP/IlYd/ytwJP8ugSb/P480/0qYPv9SnEr/Xp9e/2qkdv90qov/dbGZ/3K4pf90vq7/ + d8S2/3DEuP9UwLn/O724/zvAu/8zwK3/Qcay/0zJr/9HyKL/P9SX/zjUiv870oD/O9Jy/zvKYv9Vw1j/ + V7pL/1W/Tf9t1Gb/gtF//5rJkP+3xbf/f4B//0FBQP+AgID/0M/Q//Dw7//f39//xMTE/5ycnP/i4uJe + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKShlOTk76dXV1/4uLi//CwsL/f32A/1ZWW/9yeHb/ + rbqr/4Gjhf9go1r/PXs2/xYsEP8RLg//IFga/yZ0G/8tgCL/PIUv/0KEN/9Jgj//UYVJ/2OSW/9up3b/ + gb6X/47Lq/+R07r/j9bC/43ZyP+I2cr/d9bO/1XQy/9Fy8X/QcnB/0LHvP9Oyb3/Tsew/0zEq/8/wJT/ + SMeI/1DPe/9J0mX/YtVh/2DKU/9UvUz/SL4//2HUVv992G7/lsmb/7nJtv9rbmj/VVRU/4yRjv/i4uL/ + 7u7u/8/Pz/+lpaX/x8fHdQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBvXV1d/4WFhf+np6f/ + mpqZ/2tpZ/9dX2L/orCh/42ogP9Zm1n/OWss/wwlB/8TKxL/FVgO/yN0Fv8seR7/MXEk/zh0LP9Cfzb/ + WJdI/2utW/98uWv/hcSE/4/Ppf+X07b/m9fD/5nZyv+V2c3/kdnQ/4HX1v9aztD/QMfL/z/Hyv9Cycf/ + SMnB/0zJvf9BwrD/Obyb/zi4hv89tXb/Prpo/2LQaf9r1ln/YtFS/1PBQf9Cvjz/VdFK/3XYbf+Vz5P/ + p76k/0pLSv9na2n/p6en/+7u7v/X19f/vLy8/8TExNPy8vIHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCvm9vb/+Ojo7/tLS0/2trav9cXFn/mJya/42nif9onln/OX0y/wwXCv8OLwf/F14P/yFwEf8caxD/ + ImgX/zV3Kf9JlDr/WKJI/2GoUf9hp1H/a6NZ/3Wqc/+Lv6T/nMy9/6PUyf+n2dL/q97a/6je3P+X2+H/ + as7Z/0TC1P85wND/N77N/zu7yP83t7//IbSs/x2wnP8dqYH/KKpy/y+sZP9HtGD/X8Fd/2fPV/9W0kX/ + S8FA/0K8N/9X2k3/e9dz/5/RnP+Rm5H/UU1Q/3d3d//U1NT/4uLi/8XFxf/ExMT/8fHxEAAAAAAAAAAA + AAAAAAAAAAAAAAAAampqAUhISPd2dnb/oqKi/46Ojv9hYWH/cHFu/5itmf9un2r/QIM2/xArCf8JIgX/ + GFQK/xdmD/8XYw3/JnEX/zeCJ/9FkTb/RpM3/0qQO/9WlkX/YJxN/2mcVf9wpGf/ebCG/6XSxP+03s// + yufe/9Ds5P/C6Of/qOPn/3rX5P9Ty9r/N8LR/y67zP8zusz/NrbH/yKrtv8WoaD/F5uI/xmVbv8bmFn/ + IJhU/0WuXP9hu1b/V8VJ/1XOR/9BwDH/QsEx/2LbWP+B1H3/qcio/2VkYv9lZWX/oKCg/+jo6P/Nzc3/ + xcXF/+3t7RMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSUlL/hYWF/6mpqf9iYmL/ZGRk/5agk/9woG7/ + RYtC/xhME/8JFwT/CkoI/w1eBv8ZZQr/IHEY/y1+IP80hSH/OIcm/0SOM/9RlT7/U5I9/1iRP/9mmlD/ + c6Rl/36ugv+gzrz/yOfY/+Pv5P/q8+r/3PPw/7zp7f9/2OT/ZNLj/0nM3P9CxNn/Or/P/zG3xf8nrbv/ + HqWr/xibk/8Wknb/GI5d/xyPU/85lE7/XKZT/1+vVP9Ov0P/Sck6/0G5LP9C0Dj/beNm/5zbl/+OoIv/ + Wlla/3Nzc//d3d3/0tLS/8bGxv/k5OQfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX19f/5OTk/+ZmZn/ + Wlpa/3Fxcf+Oo4r/UpZN/ytvJf8IGwX/BzoC/w1gB/8SaBX/H3gQ/yF4Ev8rgRz/MoYi/zqIJ/9HjDH/ + TIwz/1SPOP9glUT/aptV/3enbf+BtIv/ptLD/9Tr4P/n8ef/7fXt/+n39P/V8vL/m+Tx/2jU5/9Uz9// + V8ze/03H2P83vcr/K7TB/ySstf8cpJ//F5qC/xeQZf88m2D/XKFe/1yeVP9Tmkv/TqFE/0q0QP9Bwjf/ + OL4q/2HkVP+D3Xz/o8qg/2hmaP9hYWH/vLy8/9vb2//Gxsb/3NzcKAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAGlpaf+Xl5r/g4WA/1hbXP+BioD/b5hp/z2MM/8QPA7/CTMG/wdcAv8Tbw3/GHoX/xZ9Df8jgRb/ + LIUe/zOIJP85iCT/Q4oo/02OL/9Wkzn/Y5pI/2ygW/94rHf/g7qT/53PvP/b7uP/7PPq//H38f/z+fT/ + 6vn0/6zq8v9l1uj/V9Pg/2bV5P9b0OH/OcTP/zO7x/8vtL7/I62q/xmhhP8emWz/X6xx/2qqY/9hpFv/ + UJlK/0yYRv9Bmj3/OaU2/z+/KP9FzDr/e+dw/5/Ymv98inn/XVZc/5OWlP/i5OL/ycnJ/9zc3CkAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAABubm7/nZ+h/2xuaP9bX2D/f5d+/1iRUv8keR3/AzgF/wpTCf8ObQz/ + F3oU/xeAEv8Vfw3/IYEW/ymEGv8yiB//OIkh/0OMJ/9OkTH/V5Y9/2KdTf9rpGL/ea9+/4S8l/+Tzbz/ + 1Ovh/+316//x+PP/9vr1//f7+P/J9Pf/Z9rm/1vV4f9j2eb/UNLh/znH1P83v8r/NbjD/yWvr/8cpI3/ + OqV4/3CzeP9vrmj/Y6de/1OeTv9Gl0L/PJQ5/zOPMP85pSz/N7gq/3rxZ/+X4pT/mLKT/15VXf90enf/ + 293b/83Nzf/f398mAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXV1/5+jpf9ZV1T/ZGpm/3Kabv9BiTf/ + EGMO/wlSB/8RcBT/FX8W/xmCF/8YgxX/GYIT/yGDF/8ohRn/MYgd/zuLI/9Ejyr/T5M1/1qZQv9kn1P/ + bKdn/3uxgv+GvZn/icm7/8Lm3v/p9e3/8Pj0//T79v/6+/r/2/f3/43m6/+B4uz/cN/s/0XR3f85yNf/ + OMHN/zW7xP8ps7X/Kqya/1mxgP93tHb/cK5p/2OnXf9VoVH/SJlD/zqRN/8wjC//K4Er/zGlJP9t5lf/ + jOaN/6zNqP9fXF7/XGJf/9nZ2f/R0dH/4eHhIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHx8fP+Um5z/ + V1JR/252bf9hmFr/L4Uj/wpjDP8VcAv/Cn8R/w+EE/8ShBP/GIUX/x2HGf8ihhn/KYgc/zKLH/87jiT/ + RZIt/1GWOP9bm0X/ZqJW/26pa/98s4b/hr6d/4jIt/+j3Nj/2fPt//L59f/z/Pf/+fz4/+f7+v/C9fb/ + qO/x/5Dn8P9X1+H/O83Z/znFz/82vsX/Lbi6/zizoP9ktYH/eLRz/26vaf9iqV3/VaJR/0qdRv8+ljv/ + NJEz/y2MLv8afRn/Vr9J/5Hrjv+t2Kv/aWpp/01TUP/W09X/1dXV/+Tk5B8AAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAB9fX3ylJmb/05PTv9ud2n/UJRI/yZ/Hf8JbQ3/D30R/wuGE/8PhRT/EoYW/xeHGf8ciRv/ + IYkb/yiLHf8wjiD/OpEm/0WVLv9RmTn/W55H/2alWf9uq27/fLWI/4O+nv+My7n/ldzi/8Dr5//z+fb/ + 8vz3//n99//w/fn/1/j5/7Hy8P+m7PT/ad7k/z7S2v87ytL/N8LH/y68vP80t6j/X7WE/3Wzcf9tsWj/ + X6pc/1OkUP9In0X/P5s9/zSWNP8tlSz/H4Ql/y+ML/+c7Zf/sd+u/291cP9OT0z/ysrM/9TU1OPq6uoO + +Pj4AgAAAAAAAAAAAAAAAAAAAAAAAAAAiIiImZiam/9HTUv/aXRl/0mTQ/8adRX/C3gQ/w2HGP8Qihj/ + EYkY/xSKGf8Xihr/G4sb/yGNHP8ojx7/MJEh/zqUJ/9FmC//UJw6/1uhSP9lp1n/ba1u/3q2h/+Cv57/ + icm3/4/b3v+p5eH/8Pj1//b8+P/5/fn/9v75/+X8+v+89fP/ou3y/3Xj6v9D1N3/O87U/zbGxf8zwLz/ + Mbqv/1G1if9tsm3/a7Bj/1+qWP9SpEz/RqBD/z6dPf80mTX/L5gx/yeRLf8Vdhn/eMp1/7nntf9xeXT/ + S0lG/9PU1v/W1tbH7+/vAfj4+AEAAAAAAAAAAAAAAAAAAAAAAAAAAIyLjDObmZv/S05O/2NwYP9AjTz/ + DnQQ/xCEGv8Rjx3/E48a/xKNGv8Vjhv/GI8c/xyQHf8hkR7/KJMg/zCVI/86mCn/RZsx/1CfO/9ao0f/ + ZKlY/2qtbP93tYT/f76Z/4TGsP+R2tf/n+Th/+X28//3+vj/+f35//n++f/x/fj/z/j2/5nu7/9s4eL/ + Vdjf/0fR1P9Aycf/Q8O//zzAtf9QuY//X61g/2KqUv9Wpkf/TaJB/0WgP/8+nz7/NZs3/zCbMv8llCz/ + Io0p/zCNLv/A7bz/aXBs/1JPTP/W1tj/3Nzbkfb29gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + qKKlzFRVVP9ZaFj/MIIx/w9/Fv8RjR//DI0Z/xWTG/8Tkhz/FZId/xiTHf8clB7/IZUg/yiXIf8wmST/ + Opwp/0SeMf9PoDv/WaRG/2OqVf9qrmj/dbR//32/lf+Gxq3/jdTO/6Lk5P/W8/P/8Pr4//n9+P/5/vn/ + +fz6/9z4+f+l7/D/e+Xn/2vd3/9Z1dX/VNDP/1zLxP9YxrP/YL2M/1mqUv9eqEb/UqQ7/0igN/9Bnzf/ + PJ43/zKbMv8vmjD/LaA1/ySWLf8bgh3/pdKg/11lYP9eXFn/2tvd/93d3UUAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAALKvr2ZhXWH/UltS/yR+KP8Pjh3/EJIf/w2RG/8TlB7/FJYd/xaWHv8Zlx7/ + HZgg/yKZIf8omiP/L5wk/zieKf9DoTH/TaI5/1elQ/9hqVD/aK9j/3K1ev96vZD/icWp/4rPxP+l4+X/ + uern/+f59v/4/PX/+Pz5//j8+//e+Pn/re7t/5Do5/+N5OX/d9vZ/3LTzP94yrH/cMST/2q4cf9dq0n/ + Vqg9/0ukMv9CoS//P6Ay/zmeMv8wmy3/MaAz/y2gNP8qnTf/HY4o/2+tb/9QUE3/gn5+/9zd3NDm5uYQ + +Pj4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tbMNiIGJ9EJMQ/8dgST/D5Uc/xCVHf8Rlh7/ + E5cf/xOZH/8VmR//GJog/xyaIf8gmyL/Jp0k/y2eJv82oSr/PqIv/0mlN/9Tp0H/XKtO/2WvX/9xtXP/ + d7yI/4TDof+Fyrf/k9fS/6Ph4P/X8/L/9/v0//f8+P/k9/X/1fT2/7vu8v+l5+j/nePf/5Tc0/94yKX/ + ZbZ1/2SzYf9fr1H/W6xF/1CpO/9HpjH/P6It/zifLf84oDD/Mp8v/zKiNv8zpTv/MaI//yWYNP84hzz/ + NzUy/7Gtrv/Y2deB+Pj4AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKqlraY2SDn/ + EoIb/xCYHv8RmR//Epog/xSbIf8TnCH/FZwi/xidIv8bnSP/H54k/yWgJv8roSj/M6Mr/zulMP9GqDb/ + TqtA/1iuTf9hslz/bbdt/3O8gf99wpf/hMiu/43Rx/+W2dj/u+bi/+/59f/z+vb/wevk/6rh2/+m39v/ + lNnL/4nSuf94x5z/c76E/3C4cf9os17/X7BQ/1etRP9Nqjr/Racy/z2kLv83oi//NqQy/zWkNf85pz7/ + O6pE/zuqSf8zpUH/KoQy/zxCOv/W1NXI2t3bBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAADLydBMUWtY/xGMHv8QnB7/EZwf/xOdIP8UniH/E54k/xSfJP8XnyX/GqAm/x6hJ/8joij/ + KaQq/zClLf83pzD/Qak3/0qsP/9UsEr/XLNY/2i4aP9vvXr/esOQ/4HIpv+Lz73/mNfQ/6/i3P/W8e3/ + 8Pr1/8bv7P+s5d//ntzS/4/Vv/+Hzqr/e8WU/3K/fv9quWz/ZLVb/1yyT/9Ur0P/S6w6/0KpM/85pC7/ + NqUx/zeoNf83qjv/PqpF/0OvTP9GsVP/Pa5M/yuRNv9ufHD08e7wJQAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv7/FBoqjj+wMkhv/E6Ik/xOiI/8ToSP/E6Ej/xShJf8VoiX/ + F6Im/xqiJv8eoyb/IqQn/yilKf8upyz/Nakw/z6rNf9HrTz/UbFH/1q1VP9kuWP/a75z/3XDh/97yJv/ + hc2x/5PVwv+h3tb/uOfg/+f47//J8Or/q+Xa/5rcyP+J1bT/gM2g/3TFi/9uvnb/Zrll/2G1Vv9Zskv/ + UbBA/0itOP8/qjH/Nqgt/zWpMf86rDv/Pa1B/0StRv9LtVf/Ubhh/1C3Xf8tmjr/m7qfqgAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB7n3+ZCZQZ/xKiJP8SoiT/ + EqEj/xKhI/8UoyX/FaQl/xekJv8ZpCb/HKQn/yCmKP8mpyv/K6kt/zKqMP87rTX/RK87/02xRP9TtU// + Xbpc/2W/bP9wxX7/eMqS/4HPpv+N1Lf/l9rI/6bi1f/G7uP/vOzk/6bi0v+Z3cD/i9iu/4PRm/93yYb/ + bsFx/2W6X/9dtlH/VbNG/02wPf9Frjf/PKwx/zSrLv82rDX/Pa5A/0SwSP9Ls07/UrVd/2C+cP9iwW7/ + M6BA/5PBl4UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + X5tnRAmVGv8QoSL/EqIk/xSkJv8WpSf/FKYo/xWmKP8Xpyj/Gacp/xunKf8fqCr/JKos/yqrLv8wrDH/ + OK40/0CwOP9IskD/TrVI/1a6VP9gv2P/bMZ1/3XMif990Jv/hNOq/43Xt/+U3MP/meHM/5Hgyv+P3cD/ + jtmv/4jWof+D0pP/ecyC/2vDbf9eu1z/WLZO/1CzRP9HsDz/Qa83/zquNP83rjX/PrFB/0W0TP9MuVT/ + U7xc/164Z/95zIP/ccl8/zqmSf+ayJ96AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAG2wdQoLlhz6FKUm/xenKf8aqyz/Ha0v/xSoKv8VqSv/F6or/xipK/8aqSv/ + Haos/yKrLf8mrC//LK0x/zKvNP85sTf/QbQ8/0u5Rf9YwVP/ZMhi/3HNdP94zoP/fNKO/3vWmf+A16X/ + htqw/4nduf993bT/gdut/4PYnv+B1JH/etGG/2/Kdv9kw2X/Wr1X/1O5S/9LuEP/RLY9/z6yOP86sDj/ + QLND/0i3Tv9MulX/T71b/1W/ZP9wwnb/lNya/3nLhf89qU7/rN61aAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZwfyxOrKP8brTL/LKxA/ym0O/8erDT/ + G6wx/xesLf8WrCr/GKwq/xusLP8frC3/JK0u/ymuMP8vrjH/NK80/z2zOf9JvET/V8dR/1zNWf9jzmT/ + bs9z/27Sef9t1X//c9iL/3jalv992qH/e9yn/3XYmv901ov/c9WD/3HSef9pzm3/Ycpf/1jGU/9OwUf/ + Rb5A/0C6PP87sjr/O7E9/z60Rf9EuE7/TbxY/1W/Yf9ew2z/gc2J/67ds/9uy3z/RKhV/sfwzzoAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+VHpENqST/ + F7Ax/0S8Wf89v0//NbhJ/y23Qv8ktTn/HrMz/xqvLf8cry3/Hq4u/yKvL/8mqDH/JpQ1/yWDN/8tizz/ + O6lB/0vASP9FsEv/PJNN/z+PU/9DkVn/SZth/129cP9kxXr/VqZ4/02Yev9Ppnj/YcZ3/2fTdP9hymr/ + T65c/0CVUv88kkz/PaRD/z21Pv82pj7/K4g//yeCP/8qkz//OrBI/06+Wv9dw2f/a8d2/5LWm/+76MP/ + XsRt/2OzcPHc++IOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAXgiVXEKYl/w20Kf9T0Wn/XM5t/0rFXf9BwlX/NrxK/y26Q/8nuTr/JLc3/yO2NP8itDL/ + HYw0/wqGk/8HiKr/CYem/xODhf8ujUH/JXtT/wegzv8Li7H/DoGi/wyWvv86iV3/TKli/x1+jv8IoNP/ + GX6O/06wY/9ZyWL/PZFX/xWHnP8InMr/B5zL/xKFkf8phT3/I4dH/wmFpP8Gmcb/G3hk/zuvTf9TxWH/ + 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 + z/fUBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACs47URO6U5tQajD/8FpxL/S8NP/8vv0f/y+Oj/ + 5Pfk/8fy1P/F7cf/tum7/6blrf+c4aL/kdyX/4LXiv9y0Xv/Zcxv/1jHYv9JwlX/Or5I/y+6P/8nuDj/ + HbUv/xSzJv8Nsh//C7Ec/wiwF/8GrhP/C7Aa/w6vG/8SsB//G7Un/yS1Mv84vEX/Vsdh/2vOdf97z4L/ + btZ4/16+afx6xISFw+bDBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKLPqwQnjyd/ + CpYU+gemCf8tqS3/rd64/+z58P/i9tv/4fLi/9Pu1P/D6cb/ueW9/6/fsv+h2qT/kNWV/4TRi/94y3// + ZsVw/1W/YP9LvFX/Q7hL/ze0QP8tsDb/Hq0q/xerJP8Tpx7/D6QY/wunFv8OpRj/GKci/yOsLP88tUX/ + UL5Z/2bGbf9xx3f/cct4/2W1a+xvs3ZSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAByRJzoffhzVB5QJ/wycDv9quGr/3e/b//n8+f/t8+3/4Pbi/9H10//G7sX/ + u+a5/7Der/+g2aH/kdmW/4HQh/90x3r/Z79s/126Yf9StVb/RbBJ/zSsO/8sqTH/JKQp/xyeIP8Sohn/ + FKAa/yGhJ/8zqjj/VbZZ/2G9ZP9pwW3/aL1t/1qsYbNYnl8dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP5A+CAl5CXcHhQrwBokI/yeOJv+AvYD/ + 3fHa//j49P/18fL/6ezm/9zu2//J68r/vN+9/7rZu/+p0Kr/mMea/4bGiv92w3r/Zbto/1m2W/9RsFX/ + RqlJ/zikOf8uozD/H5gn/yGUKv8ynjv/Q6pO/1WvWP9is2T/YKZj22StaFOEvIoBAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + C2sMFQR0BIYGfAbvB34G/x17HP9nqGb/uOC4/+Lz5P/q9Ov/6vLr/9rp2v/K5cv/vOO+/6narf+k0KX/ + oMme/5DAjP+Bun3/c7lz/2CxY/9DoEX/JY0n/y2PK/86mDj/SqNJ/1KoU/9XplnbVZtXZ1uNWQcAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1YDDgtlCmgCZwPHBXYF/QtuC/8jeyT/V5xW/4y2hv+zz67/ + xt3B/9DlzP/P4sr/vt66/6rXp/+QxYz/drFw/0iZRf8shir/JX4h/zCJKv80jjD/QpI+90uNRbJMikRN + Pnc7BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVZBCAHZANr + BWcBrQNmAeUBYwD/BmcF/wlpCf8Pbg//FW8U/xdyF/8UcBT/Dm4M/w9xC/8OdQv/FncQ/CF7G9ksfSGd + L4IyWCVzLRIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAVWxAABE8BGANWAj0FWQVbAlYCbwJaAnsEXgN/BVwCeQhdBWsPZAtW + C1wFMxBYCQ8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/////////////////////////wD////////gAAf/// + ///wAAAP/////8AAAAP/////AAAAAP////4AAAAAf///+AAAAAA////wAAAAAA///+AAAAAAB///wAAA + AAAD//+AAAAAAAH//wAAAAAAAP/+AAAAAAAA//4AAAAAAAB//AAAAAAAAD/8AAAAAAAAP/gAAAAAAAAf + 8AAAAAAAAB/wAAAAAAAAD/AAAAAAAAAP4AAAAAAAAA/gAAAAAAAAB+AAAAAAAAAHwAAAAAAAAAfgAAAA + AAAAB+AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAB+AAAAAAAAAH4AAAAAAAAAfgAAAAAAAAA+AAAAAAAAAD + 4AAAAAAAAAfwAAAAAAAAD/AAAAAAAAAH8AAAAAAAAA/4AAAAAAAAH/gAAAAAAAA/+AAAAAAAAH/8AAAA + AAAAf/wAAAAAAAB//AAAAAAAAH/+AAAAAAAAf/4AAAAAAAB//gAAAAAAAP/+AAAAAAAA//8AAAAAAAD/ + /wAAAAAAAf//gAAAAAAB//+AAAAAAAP//8AAAAAAA///wAAAAAAH///gAAAAAA////AAAAAAP////AAA + AAB////+AAAAAP////+AAAAD/////+AAAA///////AAAf///////gAf///////////////////////// + KAAAADAAAABgAAAAAQAgAAAAAAAAJAAAEwsAABMLAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAMDAwCCQkJEIkJCR9IyMjqjAwMM48PDziQUFB7UBAQOw1NTXfKioqyCgoKKMtLS1y + MjIyNlZWVgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAGxsbAx4eHkQwMDCmRkZG8l1dXf9xcXH/goKC/4+Pj/+YmJj/nZ2d/6Kiov+mpqb/ + pKSk/52dnf9/f3//YWFh/zw8POgnJyeULy8vMklJSQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAACsrKwMmJiZSQUFBzllZWf93d3f/fHx8/5GRkf+qqqr/wsLC/87Ozv/c3Nz/ + 4uLi/+Dg4P/f39//29vb/9PT0//Jycn/vr6+/7W1tf+Wlpb/W1tb/SsrK7opKSk7VlZWAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiJ0JCQr1ZWVn+bGxs/4eHh/+wsLD/2tra//Ly8v/6+vr/ + /f39//7+/v/+/v7//f39//7+/v///////v7+//7+/v/8/Pz/9/f3/+jo6P/T09P/wMDA/6Kiov9cXFz7 + JycnoiwsLBUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACcnJwI4ODhkUFBQ82pqav+FhYX/vb29/+Xl5f/09PT/ + 7u7u/+fn5//h4eH/4ODg/+Li4v/m5ub/6+vr//Dw8P/39/f/+fn5//39/f/+/v7/+/v7//v7+//7+/v/ + 9fX1/93d3f+8vLz/lpaW/0JCQuUmJiZFREREAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKioqBD8/P5NcXFz+cXFx/6ysrP/f39// + 5OTk/9HR0f/CwsL/wsLC/8nJyf/Q0ND/1NTU/9ra2v/f39//4eHh/+Li4v/m5ub/6urq/+/v7//09PT/ + +vr6//7+/v/+/v7/+vr6//v7+//x8fH/1dXV/7CwsP9fX1/4ISEhbEtLSwEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvLy8GREREpVxcXP+EhIT/ + ysrK/9PT0/+4t7f/sLCw/7q6uv/Nzc3/1dXV/8/P0P+4ubn/n6Gi/42Pkf9+gIL/dXh5/3l8fv+GiIn/ + lJWV/6enp//AwcH/1tbW/+fo6P/y8vL/+/v7//39/f/7+/v/9vb2/+Pj4/++vr7/bm5u/iUlJXtiYmIB + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwNHR0ed + XV1d/5OTk//Nzc3/sbGx/6alpf+6urn/09PT/8jHyP+YmJj/YmRk/0RHSP83OTz/PkFH/0VNUv9QWV7/ + WF9k/1BZXf9QVVj/TE1P/z9DRf8zPkX/RVBV/3R6fP+ztrT/1tfW/+zt7P/5+fn/9/f3//X19f/r6+v/ + x8fH/29vb/4xMTFxWFhYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAD09PXlaWlr+l5eX/7a2tv+ampr/r6+v/9DQ0P+3trb/cnJx/zg4Nv8+QD//cHJy/6Cgof/AwsH/ + zdLQ/8/Y1v/P2db/0drY/9DY2f/P2Nn/ztXW/8TKyv+hq6n/cX1//z1KUP82PEL/YGBi/6SkpP/Y2Nj/ + 8PDw//j4+P/z8/P/6+vr/8XFxf9nZ2f6PT09TQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAANzc3PVZWVvqNjY3/qqqq/5iXmP/AwMD/wMDA/3R0c/84Nzb/V1dV/6CmoP/Hzcj/ + 0dfS/8/X0f/L3dD/wNrI/7rYw/+z1rz/sda7/63Wvv+w2cH/ud3I/8Tezv/M2tH/zdfQ/83Y0v+vtrf/ + c3R0/z89Pf9gX1//s7Kz/+bm5v/39/f/8fHx/+Xl5f+9vb3/VlZW62lpaRwAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA9PT0MSkpK2nR0dP+YmJj/mJiX/8fJxv+enpz/TUpL/1FPVP+mp6L/ + x8vJ/7rHuv+vyK//nMGd/429jP97tX//a6x3/1+ldP9ap3X/VKZ2/0Cndv9ArXn/SbR7/1m7fv9uyY7/ + hcuY/6LTrf+408L/xdXJ/8DAvf9qaGj/PkI9/4WFhv/c2Nf/9vX0/+7u7v/b29v/p6en/19fX7Svr68C + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDQ0N/Y2Nj/4yMjP+YmJj/w8PE/4aEiP9ERUb/ + fYB+/7vBt/+lu6r/kriN/3esdP9jlVv/UH5K/0h1T/9IfVf/TY9j/0ucbP9NpnT/Tqt7/y+oeP8fp3b/ + GqVw/xadYP8gol//Ka1c/z+6Yf9oy4D/jdGa/7TUs//Dy8L/m5mY/0U/Q/91cnD/zMvL//X19f/o6Oj/ + zMzM/4SEhP6YmJhQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQBdSUlLvgYGB/5GRkf+/v7// + fn5+/0lGSP+Zopv/qbiq/4ytjP9rpGX/UXpF/zRPL/82Wy7/RXo//1GYVP9bqWX/YLN1/2O7hf9mw43/ + aMaU/z/ElP8jwYr/IMCC/yTAff8ov3r/H7Zp/x+sXf8rrVv/Rr1j/37Vff+Y0JX/ss6v/666sP9LSUr/ + bGts/83MzP/w8fD/39/f/7i4uP+SkpLR1tbWBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEpKSoFra2v/ + ioqL/7m7uP+CgoD/U1BS/6KnnP+htJf/b6Jw/1KGRv8nRSL/JEgg/zJxJv9EizT/TptC/1urXf9muXb/ + bcCL/3DDmv90yaT/dM2s/0TIqv8uxqf/LMqe/zrRof870pf/Ls+E/zDMfP8zw3D/Mrpe/1C4Uv9tzmP/ + gdV5/5/Lof+0vq3/U1RS/3J1c//U0dL/7Ozs/9DQ0P+bm5v/1tbWUAAAAAAAAAAAAAAAAAAAAAAAAAAA + T09PBVJSUuV/f3//qqqq/4+OkP9WV1n/l5yX/5Cqlf9knWT/PGot/xUxE/8fVRn/Kngh/zeILP9Hjjz/ + T49H/2CUX/9xp4P/gLef/4DDsP+Ayrz/fM3C/2HJw/9CxMH/OsG5/0TFuP9Px7H/Rcmh/zzMjf9H04D/ + QtFm/13MWv9Uu0r/VsVP/3bVbf+ay5X/qrOq/09PTv+Ji4r/5OXk/+Li4v+xsbH/vr6+kQAAAAAAAAAA + AAAAAAAAAAAAAAAAQUFBR2FhYf+Pj4//qKio/2lnZ/96gX7/lq2N/1yZWf8mVRv/ECQP/xdXEf8odxr/ + MHYj/zp3Lv9Khj3/Y6BU/3m0bP+IypT/ldSy/5rZxP+X28v/ktvP/3vY1f9Nzcz/QsrK/0PJxP9Kyb3/ + SMWz/zy7l/8+uX3/Qr5q/2TTZf9l0lX/U8JD/0jFQf9s1mP/lc+T/46di/9TVVT/o6Sk/+vr6//IyMj/ + u7u7zvLy8gQAAAAAAAAAAAAAAAAAAAAAREREl3Z2dv+np6f/dnZ2/2lpZ/+YqZn/aJ1b/ylbI/8MHwb/ + FVoO/x5sEP8haxX/NXkp/0uWPP9aokv/YaVR/2uiW/9+tIr/l8q4/6bXzP+u3tn/reDe/5Pb4v9XyNb/ + OsDS/zW8zP86ucb/JbKx/xysmP8ipnn/Kahl/0ayXv9ixlv/WtFJ/0rBPv9IyD3/cNln/5/Pnv9rbGn/ + b29v/9TU1P/V1dX/wsLC//Dw8AwAAAAAAAAAAAAAAAAAAAAATExMv4KCgv+bm5v/X19f/4mTh/9tnmz/ + M3Mt/wkcBP8PTAn/FmML/x5sFP8xgCL/Powt/0WQNv9Rkj7/W5ZF/2mdVv92qHH/msiz/8Xk1f/f7uT/ + 1O7r/6nj6P9p0uH/RMjX/zW90P81usr/J627/xigof8Wln//GZJe/x2SUv9RqVb/XLdP/1DKQv9Cvy// + TdBB/3/aev+btJj/XFxb/5ycnP/g4OD/xcXF/+jo6BIAAAAAAAAAAAAAAAAAAAAAXV1dv5eXl/93d3f/ + amlp/4Whgv9EjT//DzAL/wk8A/8NYgz/HHIQ/yN5Ff8vgyD/N4cl/0iNM/9Qjzb/XJNB/2ucV/98rHr/ + m8u2/9bs4P/q8+r/6fby/8jv8f962er/V9Dh/1TK3v8+wM//LLTB/yKpr/8YnY//FpBn/zyZXf9anlf/ + V55O/02pQ/9Gvjv/OcAs/2rlX/+X1JL/cnVy/29vb//c3Nz/yMjI/93d3R0AAAAAAAAAAAAAAAAAAAAA + ampqv5ucnf9gYmD/eYN6/2GWWv8jZR7/BzME/wpiBf8XdxP/Fn0P/ySCF/8vhyH/OIgj/0WLKf9SkTT/ + YJlG/26jYP9+s4b/l8u0/9/v5P/v9e//8/n0/+X49f+D3uv/V9Ti/2fW5f9Hytf/NL7J/y+0vf8dp5j/ + H5tx/2atcP9mp2D/VJxO/0mYQ/87mzn/Prcr/03RQ/+L4YL/jKOI/15ZXv/Gysf/zMzM/93d3R4AAAAA + AAAAAAAAAAAAAAAAcnFxv5eamv9YWFb/dI50/0SKPP8KUQj/DVwO/xR4Ev8ZgRb/FoAQ/yKCF/8thhv/ + OIoh/0WOK/9UlTn/YZ1N/26nav+Atoz/i8i1/9Lr4v/u9/D/9Pr1//b7+v+l6+7/atvm/1/Y5v8+zNv/ + OMHO/zO4wf8irKX/Q6uB/3Szdf9qq2P/V6FS/0SXQP81jzL/MI8r/0K+Mf+E7Xn/osmg/1lVWf+oran/ + 0dHR/+Dg4BsAAAAAAAAAAAAAAAAAAAAAe3t7v4qPj/9dW1n/ZpNh/yqAIv8MYQf/DXsR/xGEFP8WhBX/ + HIYY/yOGGf8tiRz/OY0j/0eSLv9WmD7/Y6BT/3Cqb/+CuJH/iMez/7Li3f/q9/L/8/v3//j8+f/O9vf/ + pu7x/4Lj7f9D0Nz/OcbQ/zS8w/8utK7/WbOF/3azcv9orGP/V6NT/0ebRP84kjb/Loov/yWMH/974nL/ + p9qm/11fXv+Vl5b/19fX/+Pj4xcAAAAAAAAAAAAAAAAAAAAAfn5+q4WKiv9ZW1j/V5FQ/x14GP8LdxD/ + DIUT/xCGFv8Uhxj/G4kb/yKKHP8sjR//OJEl/0eWMf9WnED/ZKRW/3Ctc/+AupT/i8m0/5bd4v/f9O// + 8/z3//n9+P/l+/n/ufTz/6Dr8/9P2N7/PMzU/zXCxv8turT/VbWM/3Szb/9lrWH/VaVS/0aeQ/86mTn/ + LpYu/yCEJf9guF3/sOSr/2VpZv+Li4v/1tbW5ezs7An4+PgBAAAAAAAAAAAAAAAAjIuMTIiJiv9UWFT/ + To1K/xF1Ef8Phhn/EYwZ/xKLGf8WjBr/G40b/yKPHf8skiD/OJYm/0eaMf9WoEH/YqdV/22ucf99upD/ + hcav/5Db2v/H7uv/9/v3//n9+v/0/fn/zvj1/5Ts7/9b2+D/QNDW/zjGw/83v7j/SbiU/2evZf9hqlX/ + UqRI/0SgQf85nDr/MJoy/yWQLP8jhCX/tOmv/2FmYv+Uk5P/2trbxvHx8QEAAAAAAAAAAAAAAAAAAAAA + iomLBJaTlOJNUk3/P4I+/xCBGP8NjBv/FJIb/xORHP8Wkh3/G5Me/yKVIP8smCL/OJso/0aeMv9UokD/ + YalS/2uvbf96uov/hMSp/5HY1P+87Oz/7vn3//n9+P/5/fn/4Pn5/5rt7v9u4OL/WtXW/1LOzP9Vx73/ + Wr6V/1uqUv9YpkL/S6E6/0GfOf84nTb/L5ox/yudNP8aiiD/jMKH/1VZVf+lpKP/2trafff39wAAAAAA + AAAAAAAAAAAAAAAAAAAAAKSio39QTFD/Lnoy/xCQHf8Okhz/EpQe/xSWHf8Xlx7/HJgg/yKaIf8rnCT/ + Np4o/0ShMv9RpD7/XqlN/2iwZv92uYT/hcOk/4zSyP+r5eX/3PXy//j89f/4/Pr/5Pn5/6rt7P+R5eX/ + gt3c/3HOvf9zw5j/Z7du/1yrRv9Ppjf/Q6Iv/z2gMv80nS//MZ8x/y6hN/8mmjP/UZxT/0pHRv/DwsH3 + 3NzdKPj4+AAAAAAAAAAAAAAAAAAAAAAAAAAAAL27viJiYGT7IHkn/xCXHf8Rlx7/E5gg/xOaIP8WmiH/ + Gpsi/yGdJP8onyb/M6Eq/z6kMf9MqDv/WKxL/2WxYP9zuXr/fsGX/4bLt/+U2NX/v+no//X79v/i9fH/ + wOrp/6/m5v+b39b/iNO6/3PAi/9qtWn/YbBT/1erQ/9Kpzb/P6Mu/zehLv81oTH/NKQ4/zenQf8xokD/ + LIg0/0tLSP/f396c5ebkAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALa1ugGDi4nEFHsg/xCbH/8SnCD/ + FJ0h/xOeI/8WnyT/GqAl/x+hJ/8moyj/L6Us/zmnMf9Gqjv/U69J/1+0W/9sunL/eMKN/4PJq/+R08n/ + q+Da/+D08P/f9fH/r+Xh/5zbz/+K0rX/fseZ/3K+fP9ot2T/XrJR/1OuQv9Hqjb/O6Uu/zalMv83qTf/ + PKpC/0OvTf9CrlD/LJY4/3iDedvo6OkPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACutrFq + HI8q/xOiJP8ToiP/E6Ej/xShJP8WoiX/GqIm/x6jJv8lpSj/Lacr/zapMf9CrDn/T7BF/1q2Vf9nvGr/ + csKC/3vJnf+L0bj/nNzQ/73q4v/d9ez/r+bc/5fbxP+D0an/d8eN/22+cv9jt1z/WrNM/0+vPv9DrDT/ + N6kt/zaqM/88rT//RK5G/061W/9YvGb/NKBB/5u8n3oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACbq50ZG5Qq+BGhI/8SoiT/E6Ml/xSkJ/8WpSf/GKUo/xymKP8ipyv/Kqku/zOrMf8+rjf/ + SbFA/1K2Tf9evF//a8R2/3jMkf+E0qn/kdi8/5/gzv+s59v/nODN/5Patf+H1aD/fMyI/2vBbP9duFb/ + VLNH/0mwO/8/rjX/Nawx/zuuPP9Eskr/TrhU/1q3Zf9yy37/PqdL/5TCmGAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEZciyxSkJv8YqCr/HKst/xSoKv8WqSr/GKkr/xupK/8gqi3/ + Jqsv/y6tMf83sDX/QbM8/025SP9dw1r/bstx/3jOhv9805b/gNam/4nbtf+F3bn/gtyy/4XXn/9/047/ + c8x7/2PCZP9WulH/TbdF/0O0PP88sTf/PbE+/0e2Tf9Nu1f/VL9h/3PDef+P25f/RKtT/6nasVAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZ0fkROtKf8mrDz/LbRA/yGuN/8brjH/ + F60s/xisK/8drCz/I60u/yqtMP8wqzP/Oa44/0q9Rf9YyVT/XMhd/2fJb/9ozXb/btSF/3XXk/9005z/ + c9Oa/3HUh/9w1Hz/aM1t/1zFW/9RwEz/Rb5B/z22PP84rDv/Oq9C/0S3Tv9Tvl3/XsJr/43PlP+Z3KP/ + R61Z/cny0SUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEIoeVw2pJP8wvkn/ + TsZg/z6+Uv8xukb/Jrc7/x+zM/8fsjH/IrEx/yCVNv8VfmP/F4R1/yyQTP89pkj/Iop6/yCHhP8kioj/ + Q59v/1Gucv8ri4//Lo+L/1q/bf9axWb/OY9j/yGHgf8jhW3/M5o//yiRTv8WgXr/HYVg/z2yTf9ZxWX/ + bsp5/6fgr/+O3Jr/abh06Nv74gMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QZpNHRKtKP8gvzv/dNuE/17Tcf9Py2P/QMVV/zTESP8rwT//I702/xKFW/8Ke4b/FWNU/waZwv8eaUX/ + Bp7L/xNvev8dZ1v/KI90/0ChVP8Mk7r/FIGN/0u7Vv82k1f/BLDn/xB5hv8SeIP/EYKD/xxxO/8CreP/ + HnZi/0bAWP9i0G//hduR/77sxv9ozHj/ls6bmwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAABOrI7sVviv/cd6C/4Xflv9y3YP/ZNRz/1DRY/9AzlT/M8hG/yWVR/8Sal7/ + DX+P/wKx6f8VY1D/BZ3J/xBseP8Yc2v/N55C/z6wR/8Mk7T/FoWF/0K/Rf8jg1r/A6vh/yaLPf8nlTv/ + CnyP/xVyN/8CrOH/GWdo/z2YX/9tynz/o+Ss/7Ppu/9fwm37reOzKwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC6mOzcJuxb8NMZI/6zrs/+e4az/h+SP/3Xehf9k2XX/ + VdNm/yqPZ/8CsOn/C4ek/xBxcf8cfTr/BJ7J/wd/mv8LfIz/KJQ4/y6jOf8JkrH/EYKA/y+uOv8ZeVX/ + A6fZ/yCWNv8foDP/B3yN/xBvNv8CrOH/Em6J/wqdzP9Vmon/t+u+/3jRhP97w4Wr4P/lAQAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHLFeQEjqiysDr0g/2TXb/+/8MX/ + sOq4/53mp/+L4pf/edyG/z+Vdv8Imsj/GldQ/w1+kf8XcD3/A57K/wVlbP8GYFT/BWZe/wZfSP8Cja// + A3B8/wRxY/8EVlL/Aanc/wmELf8Kjiz/A3mP/whaNv8BreL/GFZo/wmf0P9Gl6X/k9ye/2fDdOy+6sQf + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0w3Mq + JrIy9w+7Gv+M3pT/1vPa/8PwyP+w67D/nuan/4DMj/9Gk4T/Jo6b/yqPhf8ti1j/FYWF/w+Fh/8KiIL/ + CnJR/waFf/8Egn3/A4J9/wWBev8FbVf/BYJ6/wiLOf8IkDT/BYFx/w5tUf8YhY3/IYuX/zqQnv9rr4T/ + acNz/JDVmV0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAdsp9URenIfMNrxf/iNiM/+X25v/Y9Nj/xe/L/7LquP+c4KX/iNWU/3vThv9nzXP/ + VMJj/0W8VP8zuUT/JbY4/xuvMP8RrSb/Cqsg/wmrHv8Hqxn/Cqsd/w2uHf8RsSL/GK8r/y+0Qf9VwGT/ + b8Z6/3HTfv9owXP2hceLXwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWgRDIPlRbYCKUN/2C/Y//g8uT/3/fd/9rw2//G68n/ + tuS6/6jdq/+T1pf/gdCI/3DJeP9YwWP/SLxT/zy3Rv8tsjj/Hq4r/xSrIf8Ppxn/DKgW/w+nGv8dqyf/ + M7M9/1C/Wv9rx3L/c8t6/2W5bd9vuHg6t+2/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjmzgNH4AdkQWQB/kooSn/ + qdOn//H48f/q9Or/2vXb/8nsx/+75Lr/p9qo/5XWmf+Byob/b8F0/125Yv9Os1L/PK5C/y6oM/8koif/ + F6Ad/xieH/8tpDP/ULRU/2K7Zf9pvW37XbBkm1ieXxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAxxDTIGgQi0CYIJ/D2ZPP+iyZ//5/Dl//Hy8f/f7+D/y+XN/77ewP+n1qr/lc2Z/4nHiv9zu3L/ + Y7Nk/1OtVv81nzf/JpQp/y+WNP9Fp03/U6xX/V6oYLtcm185Z6xrAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAQZxABB2cGMQdrBpoFcAXvHX4e/1KbU/+TvpD/vdS4/83iyf/N48r/ + vtu7/6fQov+Fu4D/X6db/zaNNP8rhSf/M44u/0SUP/JRlkqgTJBJOFCOUQEAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWAUIB2MDRgZnAokBYgC/ + BGMD5ghmCPcOag79EWwR/w9rDv0NbAn3DnAK6Bh3EsImex6NL4EtTCVzLQoAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAFV4UAgxYDBADVQMbBVgEHwhYBBsUXg8QHmcaAgAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAP///////wAA////////AAD//4AB//8AAP/8AAA//wAA//AAAA//AAD/4AAA + B/8AAP+AAAAB/wAA/wAAAAD/AAD+AAAAAH8AAPwAAAAAPwAA/AAAAAA/AAD4AAAAAB8AAPAAAAAADwAA + 8AAAAAAPAADgAAAAAAcAAOAAAAAABwAAwAAAAAAHAADAAAAAAAMAAMAAAAAAAwAAwAAAAAADAADAAAAA + AAMAAMAAAAAAAwAAwAAAAAADAADAAAAAAAMAAMAAAAAAAQAAwAAAAAADAADAAAAAAAMAAOAAAAAAAwAA + 4AAAAAAHAADgAAAAAA8AAPAAAAAAHwAA8AAAAAAfAAD4AAAAAB8AAPgAAAAAHwAA+AAAAAAfAAD4AAAA + AD8AAPwAAAAAPwAA/AAAAAA/AAD8AAAAAH8AAP4AAAAA/wAA/wAAAAH/AAD/gAAAAf8AAP/AAAAH/wAA + //AAAA//AAD/+AAAP/8AAP//AAH//wAA///wH///AAD///////8AACgAAAAoAAAAUAAAAAEAIAAAAAAA + ABkAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEVFRQQxMTEfMDAwOSkpKUYoKChENzc3NkBAQBpYWFgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMzMwAjIyMhKysrdUBAQLxLS0vwV1dX/mlpaf9zc3P/ + dXV1/2lpaf9eXl79U1NT6jk5ObIoKChoPDw8F1dXVwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + KSkpACUlJTw/Pz+0V1dX/HNzc/+Ghob/mJiY/62trf+8vLz/yMjI/8nJyf/Jycn/xMTE/7u7u/+wsLD/ + kJCQ/11dXfcyMjKjKioqKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiG0RERKtaWlr9dXV1/5ycnP/Jycn/ + 6Ojo//f39//9/f3//v7+//39/f/+/v7//v7+//z8/P/6+vr/8vLy/+Hh4f/IyMj/q6ur/2ZmZvktLS2U + LCwsDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAjIyMAOzs7T1FRUexvb2//oKCg/9nZ2f/v7+//6Ojo/+Hh4f/e3t7/39/f/+Xl5f/q6ur/ + 8vLy//n5+f/6+vr//v7+//v7+//8/Pz/+/v7/+7u7v/Ly8v/oqKi/0xMTN0oKCg2AAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyMjIBQ0NDc1xcXPuEhIT/ + ysrK/9vb2//IyMj/vb29/8TExP/S0tL/2NjY/9XV1f/T09P/0NDQ/9HR0f/W1tb/4uLi/+np6f/w8PD/ + /Pz8//39/f/6+vr/+fn5/+bm5v++vr7/Z2dn9CQkJFIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAA3NzcARUVFeF1dXf6dnZ3/zMzM/7a1tf+ura3/ycnJ/9DQ0P+xsrL/ + iouM/2Rmaf9MUFT/P0RJ/zpARP87Qkb/TlBS/19fYP9xdHf/kpaZ/7/Bwv/l5eT/8/Pz//z8/P/39/f/ + 7+/v/8vLy/9zc3P5KCgoVQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + Pz8/XV1dXf2jo6P/srKy/6Ojo//FxcX/v7+//4CAf/9DQ0P/R0pK/3R2df+Ulpb/qbKx/7W/vv++yMf/ + ucHC/7G5uv+co6P/e4eH/0pZXP8vO0H/YWRn/6enqP/e3t7/8/Pz//b29v/w8PD/zs7O/25ubvY5OTk8 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANzc3KlhYWPSYmJj/oaGh/6qqq//ExMT/ + e3t6/z8+Pf9ucWz/r7Ww/9DV0f/O1tL/ydvQ/8Hayf+82cT/uNjB/7XYxf+528j/w93P/8rZ0P/O19H/ + wMvH/42SlP9QT0//XVxc/7SztP/r6+v/9vb2/+vr6//IyMj/X19f42lpaRMAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAPj4+BUtLS8h9fX3/lJSU/7W2tP+oqaf/T01N/2tqa/+3urX/vMe//6vEqf+YwJX/ + g7WD/2+od/9dn3H/V6Jz/1Gjdf86pHX/Oap2/0iyd/9ev4P/esqS/5nRp/+00r7/x9PH/5SRkv9GSET/ + g4KD/+Pg3v/09PT/4+Pj/7Gxsf9lZWWkv7+/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEJCQmJnZ2f/ + jo6O/7S0tP+TkZT/TU5P/5OZlf+tuq3/j7SN/3Ojaf9TfU3/RG1D/0Z5T/9RkV7/VKVu/1WveP9XtoH/ + M7KA/yCwfP8erXH/G6dj/xyoWP8xsVv/XMV2/5LTmf+yzrD/tLmx/1xaW/9xb23/1tbW//Dw8P/W1tb/ + kJCQ/aSkpD0AAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAZWVlbeg4OD/6mqqP+QkI//VlVU/6Wsnv+TsJX/ + bqBl/z5oN/8rTSX/OWwt/0uOPv9Xp1r/Ybhy/2rAiv9tx5f/cc2g/0DKn/8lx5T/KMqO/zHMjP8lxHj/ + KL1t/yq0Xv9Kv13/etBz/5bRkf+xyLP/aWhm/3Fycf/X19f/6ejo/7+/v/+enp679PT0AQAAAAAAAAAA + AAAAAAAAAABERERVbGxs/5ybnP+am5v/XFxd/5+moP+CpoP/UYhF/yBAHP8gUhv/LXol/0GONf9PlkX/ + YZ5j/3Otif94uqH/ecOy/3bIuv9Pw7v/OcG5/znFsP9My6//P8ya/zvRiP8/0Xb/Scdc/1m+Tv9hy1n/ + htGA/63Dqv9hYmD/hISE/+bm5v/Z2dn/q6ur/eTk5BsAAAAAAAAAAAAAAAAAAAAATU1NtIKCgv+oqKj/ + Z2Zn/4iSif99pnr/P3c1/xIqEP8ZVRL/Kncc/zZ4Kf9EgDf/XZlQ/3awbf+Ky53/mNa7/5fayf+R287/ + ddfT/0fMy/9Bycb/Scm+/0vGtP88u5P/Q714/1PLaP9m0lf/U8NF/1DKR/9903j/osCf/1dZV/+ho6L/ + 5+fn/7m5uf/Q0NBSAAAAAAAAAAAAAAAAT09PDVlZWfaampr/fX19/3R2c/+IpoX/RIE5/w4iCv8VVw3/ + HWsQ/yhwHP9CizT/VJxF/2CjUP9sol7/hLmX/6PTxv+x3tf/suHf/5Da4/9MxtX/Nb7O/zi6yP8psrX/ + G6mV/yKjcv8vqF3/Wb5d/1zOTP9JwT3/T85E/4TVfv+KmIn/aGdn/9PT0//Kysr/y8vLigAAAAAAAAAA + AAAAAEdHRyBqamr/m5ub/19fX/+KnYf/To5L/xExC/8LRgf/FmQK/yJzGP80hCP/P4wu/0+SO/9Yk0D/ + ap1X/3yuf/+23c//4e/j/9/y7f+p5Or/Y9Lh/0LG2f84vc3/KrC//xqhov8VlHj/Go9X/0CbU/9drlH/ + TcNA/0G+L/9b21L/m9KX/2ZpZf+bm5v/1tbW/8vLy5IAAAAAAAAAAAAAAABKSkogfn5//4KDgv9ucW// + bJlm/yJeHv8HNgP/EWcM/xp4Ev8lfxf/Moci/z+JKf9NjTH/XpVC/2+hYP+BtYz/v+HV/+rz6f/v+PL/ + 0PP0/27X6f9Z0N//Ucra/zG6x/8nrrT/GJ+I/zObaP9jpWD/VZtO/0yeRP8/tDf/RMk0/4Lgev+HmIX/ + b25v/9na2f/Ly8uZAAAAAAAAAAAAAAAAXFxcIIeIiv9tbmr/c4V0/0WLPf8JRgn/DmQM/xd8E/8WgA// + I4IX/zGHHv8+iyT/T5Ey/1+bSf9vqGv/g7uV/7Hc0P/s9ez/9Pn0/+z6+f963uf/ZNnl/0vQ3v83wc3/ + MLa9/yCmk/9arnr/bq1n/1ihU/9Dlj//NZEx/zarKv926Gf/m8WY/1tYXP/Iy8n/0dHRlwAAAAAAAAAA + AAAAAGtrayCMj5D/Yl9e/2iNZf8nfCD/DmUJ/w6AE/8VhBX/G4UX/ySGGf8wih7/QI8o/1GWOP9in1D/ + cqty/4W9mv+Y08n/3/Tu//P79v/1/Pr/ufLz/5Tp8f9Q1N//OcbS/zO7wf80sqH/b7R5/22uaP9ZpFX/ + RZlC/zSQM/8lhiT/Ys1V/6Pbov9YWln/u7u7/9fX15MAAAAAAAAAAAAAAAB3d3cQj5GS9lhaWf9bjFT/ + GHYV/wx+Ev8OhxX/E4cX/xuJGv8jixz/L48g/z+UKv9Smjv/YqNU/3Kvdv+Dvpz/j9TP/8Ls6f/0+/f/ + +P34/9v5+P+s8PL/ad7l/z3O1v80wsT/NLir/2m0ef9rsGb/V6ZT/0WeQv82mDX/KJAr/zmWOv+u56n/ + X2Je/7Gxsv/Y2Nht+Pj4AgAAAAAAAAAAAAAAAJyZnKZXWlj/T4ZL/w95E/8QjBv/Eo4a/xWOG/8ajxz/ + I5Ee/y+VIv9AmSz/UZ88/2GnU/9ur3P/f72Y/4rQxP+r5+X/9fr2//n9+v/x/fn/tPPz/2zh5P9J0tf/ + P8fE/z/AtP9Ys3b/YapT/1GkRf9CoD//Nps3/yuXL/8chSL/l9OT/1hcWP+8vLz/39/fQAAAAAAAAAAA + AAAAAAAAAACup6pAYGBg/zx5Pf8Rih3/DY8a/xSTHP8WlB3/G5Ue/yOXIP8vmiT/Pp4t/0+iO/9fqE7/ + bLBt/3y9kP+Jy7n/qOTl/+H29P/5/ff/9/z6/8Pz8/+G5uf/btvb/2bQyf9qx6r/YLJl/1inQP9IoTP/ + Pp81/zKbMP8vnzT/JZkv/2GnYP9SUlD/zc3N4uXl5QkAAAAAAAAAAAAAAAAAAAAAtLSyAnRuddgqcS// + D5Ud/xGXHv8TmB//FZkg/xqaIf8inCP/LJ8m/zqiLf9KpTj/WapK/2ixZP93u4X/hcar/5TX0v/C6+r/ + 9vv2/+L18//C7vD/oeTi/4/azf9wwZL/ZrRm/12tS/9PqDr/QaQu/zigL/80oDH/NKQ5/zCiPv8wjjn/ + W1hX/9/f3YD4+PgBAAAAAAAAAAAAAAAAAAAAAAAAAACWmJuBG3Ql/xCbH/8SnCD/E50i/xWeI/8ZnyX/ + IKEn/ymjKf81pi7/Q6k3/1KuSP9htF7/cLx6/37Fnf+N0ML/qd/a/+X28v/O8Oz/pN/Y/47Vv/9/yJ3/ + cb16/2a1Xv9ZsEn/S6s5/z2lL/83pTL/N6g5/z+rRv9Crk//L5k7/3yEfMrp6+kHAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAwsTFKTCUPP0ToiT/EqEj/xOhJP8WoiX/GaMm/x+jJ/8npin/Magu/z6sNv9NsEP/ + W7ZX/2m+cP93xo7/hc6v/5nazP/B6+L/zfDp/6Lgz/+J1bH/eciQ/2y9b/9gtlb/U7FE/0atN/83qi7/ + N6s1/0CuQ/9JsVD/WLxn/zulR/+avZ1iAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMTBwwEeli3P + EaEj/xSkJv8VpSf/FaYo/ximKf8cpyn/JKks/y2rL/85rjT/RrE+/1G3TP9gv2P/ccmA/3/Qnv+L1rT/ + md/I/5jizv+R3Ln/iNah/3zOh/9nwGj/WbdQ/0yyQP9Brzf/OK40/z+xQ/9Kt1L/V7lg/3fMgv9IrlX/ + mMeeTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADpkekRapKf8grDP/Ha0x/xeqLf8Xqyv/ + Gqsr/yCsLf8orS//Ma8z/zyyOf9PvUn/Yctd/3HPdf9104X/d9iV/4Dbpv9+3a7/fNic/3rUif9vznb/ + YMVe/1G+S/9Fuj//PLM5/z6zQv9IuVH/Ub1d/2fEc/+b3KH/S69b/7bmvzQAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAA+THlcOrCb/PLtT/zu9T/8ut0P/IbQ2/xywL/8fsC//JKsw/yKKOv8lhkv/ + O6dE/0KsUP82kGH/O5Fp/1Csb/9buHz/RZiE/1Kyev9l0HH/T6tf/zeRX/83mEn/N6s+/yaJUP8mjU7/ + QbVO/13DZ/9/0Ir/qeKy/1u2afTf/OUIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1kkEd + D64m/0LMWv9m03f/Uctk/z/DU/8xwkX/J786/x2hNP8Jg5b/EXJv/wyOpv8bcFj/BaLS/xlwbv8kjXz/ + O5VY/wWp3/8yjVv/Rq5U/wufxv8PhJb/DYSc/x5+R/8Ika7/GIWC/0jAWf9o0XT/p+Gv/4zfmf+Axom0 + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGwIrsmwTv/ieSX/3zfj/9p1nb/ + UtJl/z/OU/8wt0b/FHRk/wuJnv8Ep9f/FGNS/wWi0v8TeHz/MpZF/ziiRv8Fo9T/MJRG/zGXQ/8Eptj/ + KJU8/xuFU/8Qf2X/B5Cl/xN+kP88mmz/e9GI/73sw/9ryHf/ldmeQwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAmpTE3D7gd/WLXcf+s6Lb/l+eg/4Dgjv9r2nv/TLZk/wihz/8Rcnz/ + FG5c/xR5UP8Dncr/CmVf/xl+Pf8dhzj/A6LT/xl9Ov8YeT//AqPT/xmbMf8RiEr/CXxl/wWPpP8SbYj/ + CpzN/3avmP+U3p3/d8WCvdP02QIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + fsuAAC2vNKwTvCL/kueb/8Xtyv+u7LX/mOaf/3rSiv8rk5z/FHSM/xSDkf8VdWP/BJW+/wVvfv8Eb3v/ + BHCA/wGZwv8Da3n/A2Zy/wKZw/8Ihzf/Bn9V/wRucf8GhqP/EX6g/xaaxv9zsZD/acZ18qvhsyUAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZ2p8fKbMw2xWyI/+m4qj/ + 3fTe/8XwyP+w6bb/ktae/3K6hP9mv3b/ULdi/zukUf8rokL/HaU1/xSaLv8Klib/CJYl/wiYIv8JlyP/ + C6Yf/w+lJf8YnTL/PKRT/1qsbv9uv3//acF18I/OlEcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWwYBYVmBq4DaYU/4LNhf/n9+n/2fPZ/8jsy/+z5Lj/ + otym/4nUj/90zHz/W8Nm/0a8Uf83t0L/JrEy/xWuJP8PqRv/C6kW/xCoG/8grir/P7lK/2PGa/9zy3r/ + Zb1t13S9fi8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAOKxXAh+BHmsGjgjuP6Y//8Phwv/t9u3/4fXh/8zryv+54rj/o9mm/4zNkP92wnr/ + Xrlj/0yzUP83qjz/KaQt/xugIP8cnSP/N6k+/123YP9numv5X7Nmj1ieXwsAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + DW4OFwV+BowLfQrwSJhH/6bNpP/b69z/5fLm/9Ln0v+8377/pNKm/5fIlf9+u3r/ZbRn/zycPv8qkSr/ + O5o7/02lUPlYp1qmXpxgKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEmQRDwRoBGMGbAW0 + E3AR8DaDM/9dnFr/cKpt/3Cqbf9boln/P487/x9/HP8kfR73MoguxEGMPnVOiEYdPnc7AAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5fCwYBVwArA10CUAFaAWYCXwJv + BGACaQxnCFYLYQQ0InMcDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + //////8AAAD//wD//wAAAP/wAA//AAAA/8AAB/8AAAD/gAAB/wAAAP4AAAD/AAAA/AAAAH8AAAD4AAAA + PwAAAPgAAAAfAAAA8AAAAA8AAADgAAAABwAAAOAAAAAHAAAAwAAAAAMAAADAAAAAAwAAAMAAAAADAAAA + gAAAAAMAAACAAAAAAwAAAIAAAAADAAAAgAAAAAMAAACAAAAAAwAAAIAAAAABAAAAwAAAAAMAAADAAAAA + AwAAAMAAAAADAAAA4AAAAAcAAADgAAAADwAAAOAAAAAPAAAA8AAAAA8AAADwAAAADwAAAPAAAAAfAAAA + +AAAAB8AAAD4AAAAHwAAAPgAAAA/AAAA/AAAAH8AAAD+AAAA/wAAAP8AAAH/AAAA/8AAB/8AAAD/8AAP + /wAAAP/+AP//AAAA//////8AAAAoAAAAIAAAAEAAAAABACAAAAAAAAAQAAATCwAAEwsAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAQlJSU2 + IyMjajMzM41AQECdPT09nC0tLYopKSllMDAwLlZWVgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB8fHyU9PT2T + VVVV6m5ubv+JiYn/nZ2d/6urq/+wsLD/sLCw/6Ojo/+AgID/YWFh4jQ0NIYqKiobAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIhFGRkaY + XV1d+4aGhv+2trb/29vb//Dw8P/5+fn//Pz8//z8/P/6+vr/9fX1/+vr6//V1dX/tbW1/3FxcfY2NjaF + LCwsCQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9PT05 + U1NT4n9/f//Dw8P/5+fn/+Hh4f/b29v/29vb/+Dg4P/o6Oj/8PDw//f39//9/f3//Pz8//z8/P/5+fn/ + 39/f/7CwsP9ZWVnUJCQkJwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + QkJCTl5eXveioqL/z8/P/76+vv++vr7/zc3N/8vMzP+2t7f/paeo/5mbnP+cnp//q6ur/7/AwP/d3d3/ + 8fHx//n5+f/8/Pz/9PT0/8/Pz/9wcHDtJiYmNwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAEFBQUFiYmL4rq6u/7Cvr/+3trb/wcHB/5WVlP9ZW1v/VFZW/2ptb/90fn//foeJ/3qChP95fX7/ + XmZn/z5MUP9ka27/r7Cw/+jo5//29vb/9fX1/9nZ2f91dXXuMzMzKwAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAA3NzcbXFxc6qGhof+fn5//v7+//4aFhf9QT07/gYWA/7zBvf/R19T/x9jN/8HYyP+92MX/ + utfJ/77ZzP/L29L/yNHM/56pqP9qbW//XVxc/7W1tf/v7+//8vLy/9TU1P9qamrZaWlpDAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAE5OTrKFhYX/oKCg/66vrf9YV1b/hIWD/7rEu/+kv6T/kLqL/3Sld/9gnHD/ + VJ5x/1Cjdv83pXX/Nqp0/0axdf9ow4b/j9Cf/7LTuv+0t7L/Xl9c/4OAgv/n5uT/7Ozs/76+vv9tbW2S + AAAAAAAAAAAAAAAAAAAAAAAAAABDQ0NEbW1t/5ubm/+hoKH/W1tc/6Crov+QsJD/aJVd/0RqPf9AbDz/ + To5W/1yqbP9euID/YsGL/zS9i/8hu4H/JLl2/xuwZP8or1z/UcBt/5HTkP+yy6//en56/3Jxcf/h4eH/ + 4eHh/56envu2trYoAAAAAAAAAAAAAAAAAAAAAFZWVr2Li4z/o6Si/2RiY/+frJz/caBq/zdfL/8kUB// + N34s/02YQP9gqWb/b7iK/3LBov90ya//QsWv/zHGqf8/zab/OM6Q/zTNfv81w2X/Wb9V/3DPaf+ezZz/ + gYV//3t8e//m5eb/yMjI/62trZgAAAAAAAAAAAAAAABCQkIiaWlp/qOjo/9oZ2n/k6OQ/12TWf8dPhj/ + GlUT/yx4IP8+fzL/V5NL/3StcP+Ny6f/ldbC/4/ZzP9q08//QcjH/0fIwP9KxrL/Pr+P/0XEcP9k0V3/ + VMNI/13PU/+WzpX/bHNr/5+hoP/g4OD/ubm50vLy8gIAAAAAAAAAAEZGRm6FhYX/g4OD/3+Ff/9pmmD/ + FzgT/xVSDP8fbBL/NX0n/0yWPf9eoE3/bqNi/5HDq/+y3dL/ueTg/4nY4f9CxNT/NbvL/yyzuv8appH/ + I6Fn/0OvW/9dyE//ScM8/13TUv+XwpT/ZWRj/9DQ0P/Hx8f/7+/vCQAAAAAAAAAAWVlZf5eXl/9kZGT/ + ep52/yRYIP8KPwX/FmkN/yZ6Gf82hyT/So41/1iSPv9uoF7/kcGj/9rt4f/n9O//q+bt/1rQ4f9Ixdf/ + LrXD/x2kpP8Xk27/O5hY/1qjUf9Mt0D/P8Ix/3vgc/99inv/m5ub/8/Pz//f398SAAAAAAAAAABra2t/ + iYqJ/213b/9Ki0P/CT4I/xBtDP8XfhH/JoMZ/zWIIv9IjSz/XZhD/3KobP+Oxan/4vDm//P48//W9PX/ + X9bk/13U4/83wc3/K7K3/yOhff9qrm3/WqBU/0SXP/85pi7/XNdP/5O9j/9wb3H/1dbV/93d3RQAAAAA + AAAAAHl4eX95enn/aYRn/yJ1Hf8ObA7/FIIV/xmEFv8lhhn/Nosg/0qSMf9gnUz/dK13/4fDqv/K6uT/ + 8vr2/+36+f+e6+//Z9vm/znH0/8wub7/SLGP/3Oxb/9cpVf/Qpc//y+KL/9Esjf/nd2c/1xfXf/V1dX/ + 4+PjEAAAAAAAAAAAgYGBY3B0dP9chVb/FXYU/w6FFf8Rhxf/GYka/ySMHf81kSP/S5g0/2CiUP90sXv/ + h8Sr/6Pi4v/z+vb/9v34/8r39f+J5+3/PtDX/zPBwf9Ft5n/brFq/1mnVP9DnkD/MZcx/yKGJv+g35z/ + XmFe/9LS0+rt7e0FAAAAAAAAAACMi4wNdnV28kt6Sf8PgRj/EZAb/xSQG/8akR3/JZQg/zWZJv9Knjb/ + XqZO/3Cxdv+CwqP/mN3a/+j39f/5/fn/5fr4/4np6v9Y1tr/TcrG/1G/of9eqlL/T6M//0CfO/8xmzP/ + JpUu/2y0av9dYFz/2drbtfb29gAAAAAAAAAAAAAAAACAeoCZNWo4/w+SHf8RlR7/FJce/xqYIP8kmyL/ + Mp4n/0ajNP9aqEn/bLJs/3/Amf+R1cz/xu7s//f89v/k+Pj/p+vr/43f3P9yx6b/Z7hu/1eqQv9FozD/ + Op8w/zGfMf8voTn/OpZC/25sa//b3NtY+Pj4AAAAAAAAAAAAAAAAALSwuD0qcDP/EZof/xOcIP8UnSP/ + GZ4k/yGgJv8uoyr/Pqcz/1GtRv9ktWL/dr+I/4fMtv+m3tn/6vjz/7fo4/+a2s3/gcul/3C8eP9is1b/ + Uaw//z+mMP83pTL/Oag9/0CtS/8xmj3/f4Z/uNrd2wEAAAAAAAAAAAAAAAAAAAAAv7/FAT+ZSuESoiT/ + EqEj/xSiJf8Yoyb/H6Qn/yqnK/84qzP/Sq9B/1u3WP9twXn/fsyh/5bYxv/D7OL/tunf/5LZu/97y5P/ + ar1r/1u0Tv9Lrjv/Oaov/zmsOP9Er0f/VLhh/0WsUf+YvZxMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + FpcmkhSkJv8ZqCr/FKcp/xioKv8cqSv/Jasu/zGuMv9Bsjv/UrpN/2jHbP96z43/g9ao/4/dvv+H3bv/ + h9eg/3nOhP9iv2H/UbZI/0KyOv87sDn/RrVM/1G8XP93yX7/WLlm/6LSqTgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAOmR5XFKws/zW3Sf8nsjz/HLAw/xquLP8hri7/KaYy/zGcOP9Ju0f/ULdV/1ewZv9iwXf/ + bMiK/2O8jf9s0X7/YsZr/02uVP9DtkL/N6Y9/zKeQP9GuFL/X8Nq/5/apv9du2z7y/PSEgAAAAAAAAAA + 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 + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmUserInput.Designer.cs b/AllPurposeAutoSetup/frmUserInput.Designer.cs new file mode 100644 index 0000000..19907a6 --- /dev/null +++ b/AllPurposeAutoSetup/frmUserInput.Designer.cs @@ -0,0 +1,88 @@ +namespace All_Purpose_Auto_Setup +{ + partial class frmUserInput + { + /// + /// 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.txtBoxPassword = new System.Windows.Forms.TextBox(); + this.btnOK = new System.Windows.Forms.Button(); + this.rTxtBoxDescription = new System.Windows.Forms.RichTextBox(); + this.SuspendLayout(); + // + // txtBoxPassword + // + this.txtBoxPassword.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.txtBoxPassword.Location = new System.Drawing.Point(90, 86); + this.txtBoxPassword.Name = "txtBoxPassword"; + this.txtBoxPassword.PasswordChar = '*'; + this.txtBoxPassword.Size = new System.Drawing.Size(244, 26); + this.txtBoxPassword.TabIndex = 0; + this.txtBoxPassword.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtBoxPassword_KeyDown); + // + // btnOK + // + this.btnOK.Location = new System.Drawing.Point(161, 117); + this.btnOK.Name = "btnOK"; + this.btnOK.Size = new System.Drawing.Size(95, 32); + this.btnOK.TabIndex = 1; + this.btnOK.Text = "OK"; + this.btnOK.UseVisualStyleBackColor = true; + this.btnOK.Click += new System.EventHandler(this.btnOK_Click); + // + // rTxtBoxDescription + // + this.rTxtBoxDescription.BackColor = System.Drawing.SystemColors.Menu; + this.rTxtBoxDescription.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.rTxtBoxDescription.Location = new System.Drawing.Point(21, 8); + this.rTxtBoxDescription.Name = "rTxtBoxDescription"; + this.rTxtBoxDescription.Size = new System.Drawing.Size(359, 67); + this.rTxtBoxDescription.TabIndex = 2; + this.rTxtBoxDescription.Text = ""; + // + // frmUserInput + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(397, 158); + this.ControlBox = false; + this.Controls.Add(this.rTxtBoxDescription); + this.Controls.Add(this.btnOK); + this.Controls.Add(this.txtBoxPassword); + this.Name = "frmUserInput"; + this.Text = "User Input"; + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.TextBox txtBoxPassword; + private System.Windows.Forms.Button btnOK; + private System.Windows.Forms.RichTextBox rTxtBoxDescription; + } +} \ No newline at end of file diff --git a/AllPurposeAutoSetup/frmUserInput.cs b/AllPurposeAutoSetup/frmUserInput.cs new file mode 100644 index 0000000..502e4b1 --- /dev/null +++ b/AllPurposeAutoSetup/frmUserInput.cs @@ -0,0 +1,65 @@ +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; +using System.Threading; + +using CommonLib.Windows.Forms; + +namespace All_Purpose_Auto_Setup +{ + public partial class frmUserInput : ChildForm + { + private frmMain frmParent = null; + + public frmUserInput(frmMain d_parentForm) + { + InitializeComponent(); + + frmParent = d_parentForm; + } + + public string getUserPassword() + { + return txtBoxPassword.Text; + } + + public void clearUserPassword() + { + txtBoxPassword.Clear(); + } + + public void richTxtBoxAppendText(string description) + { + rTxtBoxDescription.AppendText(description); + } + + public void richTxtBoxOverwriteText(string description) + { + rTxtBoxDescription.Clear(); + rTxtBoxDescription.AppendText("ddd"); + rTxtBoxDescription.Clear(); + rTxtBoxDescription.AppendText(description); + } + + private void btnOK_Click(object sender, EventArgs e) + { + txtBoxPassword.Focus(); + this.Hide(); + } + + private void txtBoxPassword_KeyDown(object sender, KeyEventArgs e) + { + if (e.KeyCode == Keys.Enter) + { + btnOK_Click(this, new EventArgs()); + } + } + + } +} diff --git a/AllPurposeAutoSetup/frmUserInput.resx b/AllPurposeAutoSetup/frmUserInput.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/AllPurposeAutoSetup/frmUserInput.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/AllPurposeAutoSetup/packages.config b/AllPurposeAutoSetup/packages.config new file mode 100644 index 0000000..6308515 --- /dev/null +++ b/AllPurposeAutoSetup/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/AllPurposeAutoSetup/sm3_setup.ico b/AllPurposeAutoSetup/sm3_setup.ico new file mode 100644 index 0000000000000000000000000000000000000000..ff2795167b28a3f0228393f9b94d02c43e3ec123 GIT binary patch literal 226172 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�HE*OZB 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 N}DI2d5&|`U*{9mv6wonfZQ>28^@Rpilg@ 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 Ni8gxIDj4`|P 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⁢b0H}|}NbN4jz*}}28dN1tr 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 LCl>KH;&1;CB=Hyl literal 0 HcmV?d00001

q^aXc5_-QE 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 z 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