diff --git a/MAS/All-In-One-Version/MAS_1.5_AIO_CRC32_21D20776.cmd b/MAS/All-In-One-Version/MAS_1.5_AIO_CRC32_21D20776.cmd deleted file mode 100644 index c287667..0000000 --- a/MAS/All-In-One-Version/MAS_1.5_AIO_CRC32_21D20776.cmd +++ /dev/null @@ -1,10505 +0,0 @@ -@setlocal DisableDelayedExpansion -@echo off - - - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 -title Microsoft Activation Scripts AIO 1.5 - -set _elev= -if /i "%~1"=="-el" set _elev=1 - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -call :_colorprep - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" - -::======================================================================================================================================== - -if %winbuild% LSS 7600 ( -%nceline% -echo Unsupported OS version detected. -echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. -goto MASend -) - -if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -echo Aborting... -goto MASend -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%nceline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto MASend -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%nceline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto MASend -) - -::======================================================================================================================================== - -setlocal DisableDelayedExpansion - -:: Check desktop location - -set _desktop_= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_desktop_=%%b" -if not defined _desktop_ for /f "delims=" %%a in ('%_psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "_desktop_=%%a" - -set "_pdesk=%_desktop_:'=''%" -setlocal EnableDelayedExpansion -set "mastemp=%SystemRoot%\Temp\__MAS" - -::======================================================================================================================================== - -:MainMenu - -cls -color 07 -title Microsoft Activation Scripts AIO 1.5 -mode 76, 30 -if exist "%mastemp%\.*" rmdir /s /q "%mastemp%\" %nul% - -echo: -echo: -echo: -echo: -echo: ______________________________________________________________ -echo: -echo: Activation Methods: -echo: -echo: [1] HWID ^| Permanent ^| Win 10-11 -echo: [2] KMS38 ^| Till 2038 ^| Win 10-11-Server -echo: [3] Online KMS ^| 180 Days ^| Win / Office -echo: __________________________________________________ -echo: -echo: [4] Check Activation Status [vbs] -echo: [5] Check Activation Status [wmi] -echo: [6] Extras -echo: __________________________________________________ -echo: -echo: [7] Read Me -echo: [8] Exit -echo: ______________________________________________________________ -echo: -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7,8] :" -choice /C:12345678 /N -set _erl=%errorlevel% - -if %_erl%==8 exit /b -if %_erl%==7 start https://windowsaddict.ml & goto :MainMenu -if %_erl%==6 goto:Extras -if %_erl%==5 setlocal & call :_Check_Status_wmi_ext & cls & endlocal & goto :MainMenu -if %_erl%==4 setlocal & call :_Check_Status_vbs & cls & endlocal & goto :MainMenu -if %_erl%==3 setlocal & call :KMSActivation & cls & endlocal & goto :MainMenu -if %_erl%==2 setlocal & call :KMS38Activation & cls & endlocal & goto :MainMenu -if %_erl%==1 setlocal & call :HWIDActivation & cls & endlocal & goto :MainMenu -goto :MainMenu - -::======================================================================================================================================== - -:Extras - -cls -title Extras -mode 76, 30 -echo: -echo: -echo: -echo: -echo: -echo: ______________________________________________________________ -echo: -echo: [1] Activation Troubleshoot -echo: -echo: [2] Extract $OEM$ Folder -echo: -echo: [3] Insert Windows 10-11 HWID Key -echo: -echo: [4] Change Windows 10-11 Edition -echo: __________________________________________________ -echo: -echo: [5] Go to Main Menu -echo: ______________________________________________________________ -echo: -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5] :" -choice /C:12345 /N -set _erl=%errorlevel% - -if %_erl%==5 goto :MainMenu -if %_erl%==4 setlocal & call :change_edition & cls & endlocal & goto :Extras -if %_erl%==3 setlocal & call :insert_hwidkey & cls & endlocal & goto :Extras -if %_erl%==2 goto:Extract$OEM$ -if %_erl%==1 setlocal & call :troubleshoot & cls & endlocal & goto :Extras -goto :Extras - -::======================================================================================================================================== - -:Extract$OEM$ - -cls -title Extract $OEM$ Folder -mode 76, 30 - -if not defined _desktop_ ( -%eline% -echo Desktop location was not detected, aborting... -echo: -echo Press any key to go back... -pause >nul -goto Extras -) - -if exist "!_desktop_!\$OEM$\" ( -echo _____________________________________________________ -%eline% -echo $OEM$ folder already exists on the Desktop. -echo _____________________________________________________ -echo: -echo Press any key to go back... -pause >nul -goto Extras -) - -:Extract$OEM$2 - -cls -title Extract $OEM$ Folder -mode 76, 30 - -echo: -echo: -echo: -echo: -echo: Extract $OEM$ folder on the desktop -echo: For more details use Read me -echo: Here ^> means Fallback to -echo: ______________________________________________________________ -echo: -echo: [1] HWID -echo: [2] KMS38 -echo: [3] Online KMS -echo: -echo: [4] HWID ^> KMS38 -echo: [5] HWID ^> Online KMS -echo: [6] KMS38 ^> Online KMS -echo: [7] HWID ^> KMS38 ^> Online KMS -echo: __________________________________________________ -echo: -echo: [8] Go Back -echo: ______________________________________________________________ -echo: -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7,8] :" -choice /C:12345678 /N -set _erl=%errorlevel% - -if %_erl%==8 goto:Extras -if %_erl%==7 goto:$OEM$HWID_FB_KMS38-KMS -if %_erl%==6 goto:$OEM$KMS38_KMS -if %_erl%==5 goto:$OEM$HWID_KMS -if %_erl%==4 goto:$OEM$HWID_FB_KMS38 -if %_erl%==3 goto:$OEM$KMS -if %_erl%==2 goto:$OEM$KMS38 -if %_erl%==1 goto:$OEM$HWID -goto :Extract$OEM$2 - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:$OEM$foldercreated - -cls -echo _______________________________________________________ -echo: -call :_color %Magenta% "%_oem%" -call :_color %Green% "$OEM$ folder is successfully created on the Desktop." -echo _______________________________________________________ -echo: -call :_color %_Yellow% "Press any key to go back..." -pause >nul -goto Extras - -::================================================================================================= - -:oemprep - -pushd "!_desktop_!" -set "_dir=!_desktop_!\$OEM$\$$\Setup\Scripts" -md "!_desktop_!\$OEM$\$$\Setup\Scripts\" -popd -exit /b - -::================================================================================================= - -:$OEM$HWID - -set _oem=HWID -call :oemprep -call :oemexport HWID HWID_Activation_AIO.cmd -call :oemexport HWIDsetup SetupComplete.cmd -goto $OEM$foldercreated - -::================================================================================================= - -:$OEM$KMS38 - -set _oem=KMS38 -call :oemprep -call :oemexport KMS38 1.. -call :oemexport HWID_KMS38_Files 2.. -copy /y /b "!_dir!\1.." + "!_dir!\2.." "!_dir!\KMS38_Activation_AIO.cmd" %nul% -del /q /f "!_dir!\*.." %nul% -call :oemexport KMS38setup SetupComplete.cmd -goto $OEM$foldercreated - -::================================================================================================= - -:$OEM$KMS - -set _oem=KMS -call :oemprep -call :oemexport kacttxt Activate.cmd -call :oemexport KMSsetup SetupComplete.cmd -pushd "!_dir!\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':cleanospp\:.*';iex($f[1]); X(1)" -popd -goto $OEM$foldercreated - -::================================================================================================= - -:$OEM$HWID_KMS - -set _oem=HWID [Fallback to] Online KMS -call :oemprep -call :oemexport HWID HWID_Activation_AIO.cmd -call :oemexport kacttxt Activate.cmd -pushd "!_dir!\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':cleanospp\:.*';iex($f[1]); X(1)" -popd -call :oemexport HWIDKMSSetup SetupComplete.cmd -goto $OEM$foldercreated - -::================================================================================================= - -:$OEM$KMS38_KMS - -set _oem=KMS38 [Fallback to] Online KMS -call :oemprep -call :oemexport KMS38 1.. -call :oemexport HWID_KMS38_Files 2.. -copy /y /b "!_dir!\1.." + "!_dir!\2.." "!_dir!\KMS38_Activation_AIO.cmd" %nul% -del /q /f "!_dir!\*.." %nul% -call :oemexport kacttxt Activate.cmd -pushd "!_dir!\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':cleanospp\:.*';iex($f[1]); X(1)" -popd -call :oemexport KMS38KMSSetup SetupComplete.cmd -goto $OEM$foldercreated - -::================================================================================================= - -:$OEM$HWID_FB_KMS38 - -set _oem=HWID [Fallback to] KMS38 -call :oemprep -call :oemexport HWID HWID_Activation_AIO.cmd -call :oemexport KMS38 1.. -call :oemexport HWID_KMS38_Files 2.. -copy /y /b "!_dir!\1.." + "!_dir!\2.." "!_dir!\KMS38_Activation_AIO.cmd" %nul% -del /q /f "!_dir!\*.." %nul% -call :oemexport HWID_FB_KMS38setup SetupComplete.cmd -goto $OEM$foldercreated - -::================================================================================================= - -:$OEM$HWID_FB_KMS38-KMS - -set _oem=HWID [Fallback to] KMS38 [Fallback to] Online KMS -call :oemprep -call :oemexport HWID HWID_Activation_AIO.cmd -call :oemexport KMS38 1.. -call :oemexport HWID_KMS38_Files 2.. -copy /y /b "!_dir!\1.." + "!_dir!\2.." "!_dir!\KMS38_Activation_AIO.cmd" %nul% -del /q /f "!_dir!\*.." %nul% -call :oemexport kacttxt Activate.cmd -pushd "!_dir!\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':cleanospp\:.*';iex($f[1]); X(1)" -popd -call :oemexport HWID_FB_KMS38-KMSSetup SetupComplete.cmd -goto $OEM$foldercreated - -::============================================================================================================= - -:HWIDSetup: -@echo off - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -start /b /wait cmd /c "%~dp0HWID_Activation_AIO.cmd" /a - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:HWIDSetup: - -:KMS38Setup: -@echo off - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -start /b /wait cmd /c "%~dp0KMS38_Activation_AIO.cmd" /a - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:KMS38Setup: - -:KMSSetup: -@echo off - -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:KMSSetup: - -:HWIDKMSSetup: -@echo off - -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -set KMS= -set osSKU=0 -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -:: Check Windows 10 install -if %winbuild% LSS 10240 set KMS=1 - -:: Check Windows Server version -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set KMS=1 - -:: 171=EnterpriseG, 172=EnterpriseGN, 183=CloudE -for %%# in (171 172 183) do (if %osSKU%==%%# set KMS=1) - -:: Check Enterprise LTSC 2019/2021 N -if %osSKU%==126 (echo %winos% | findstr /i "2019 2021" 1>nul && set KMS=1) - -if defined KMS ( -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -) else ( -start /b /wait cmd /c "%~dp0HWID_Activation_AIO.cmd" /a -start /b /wait cmd /c "%~dp0Activate.cmd" /o -) - -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:HWIDKMSSetup: - -:KMS38KMSSetup: -@echo off - -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -start /b /wait cmd /c "%~dp0KMS38_Activation_AIO.cmd" /a - -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:KMS38KMSSetup: - -:HWID_FB_KMS38setup: -@echo off - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -set KMS38= -set osSKU=0 -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -:: Check Windows Server version -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set KMS38=1 - -:: 171=EnterpriseG, 172=EnterpriseGN, 183=CloudE -for %%# in (171 172 183) do (if %osSKU%==%%# set KMS38=1) - -:: Check Enterprise LTSC 2019/2021 N -if %osSKU%==126 (echo %winos% | findstr /i "2019 2021" 1>nul && set KMS38=1) - -if defined KMS38 ( -start /b /wait cmd /c "%~dp0KMS38_Activation_AIO.cmd" /a -) else ( -start /b /wait cmd /c "%~dp0HWID_Activation_AIO.cmd" /a -) - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:HWID_FB_KMS38setup: - -:HWID_FB_KMS38-KMSSetup: -@echo off - -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -set KMS= -set KMS38= -set osSKU=0 -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -:: Check Windows 10 install -if %winbuild% LSS 10240 set KMS=1 - -:: Check Windows Server version -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set KMS38=1 - -:: 171=EnterpriseG, 172=EnterpriseGN, 183=CloudE -for %%# in (171 172 183) do (if %osSKU%==%%# set KMS38=1) - -:: Check Enterprise LTSC 2019/2021 N -if %osSKU%==126 (echo %winos% | findstr /i "2019 2021" 1>nul && set KMS38=1) - -if defined KMS38 set KMS=1 - -if defined KMS ( -if defined KMS38 (start /b /wait cmd /c "%~dp0KMS38_Activation_AIO.cmd" /a) -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -) else ( -start /b /wait cmd /c "%~dp0HWID_Activation_AIO.cmd" /a -start /b /wait cmd /c "%~dp0Activate.cmd" /o -) - -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:HWID_FB_KMS38-KMSSetup: - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:: Extract the text from batch script without character issue - -:_Export - -%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" -exit /b - -:oemexport - -%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\%~2',$f[1].Trim(),[System.Text.Encoding]::ASCII);" -exit /b - -::======================================================================================================================================== - -:_prep - -cls -if exist "%mastemp%\.*" rmdir /s /q "%mastemp%\" %nul% -md "%mastemp%\" %nul% -echo: -echo Extracting Files to %mastemp%\ -pushd "%mastemp%\" -exit /b - -:_clean - -cd \ -if exist "%mastemp%\.*" rmdir /s /q "%mastemp%\" %nul% -echo: -echo Cleaning Extracted Files... -timeout /t 1 > nul -exit /b - -::======================================================================================================================================== - -:KMSActivation - -call :_prep -call :ext_cleanospp -popd -if defined extf ( -pause -cls -call :_clean -exit /b -) -call :_export kacttxt "%mastemp%\Activate.cmd" ASCII -call "%mastemp%\Activate.cmd" -cls -call :_clean -exit /b - -:ext_cleanospp - -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':cleanospp\:.*';iex($f[1]); X(1)" - -set extf= -if not exist "%mastemp%\BIN\cleanosppx64.exe" set extf=1 -if not exist "%mastemp%\BIN\cleanosppx86.exe" set extf=1 - -if defined extf ( -%eline% -echo Failed to extract following two files. -echo "%mastemp%\BIN\cleanosppx64.exe" -echo "%mastemp%\BIN\cleanosppx86.exe" -echo: -echo Most likely Antivirus program is interfering with the process. -echo Either make proper exclusions in the AV or use MAS separate files version. -echo: -) -exit /b - -:_Check_Status_wmi_ext -call :_prep -call :_export _Check_Status_wmi_txt "%mastemp%\1.." ASCII -call :_export _Check_Status_wmi_txt2 "%mastemp%\2.." ASCII -copy /y /b "%mastemp%\1.." + "%mastemp%\2.." "%mastemp%\Check-Activation-Status-wmi.cmd" %nul% -popd -call "%mastemp%\Check-Activation-Status-wmi.cmd" -cls -call :_clean -exit /b - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:HWIDActivation -:HWID: -@setlocal DisableDelayedExpansion -@echo off - - - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - - -:: To activate with Downlevel method (default), run the script with /a parameter or change 0 to 1 in below line -set _acti=0 - -:: To only generate GenuineTicket.xml with Downlevel method (default), run the script with /g parameter or change 0 to 1 in below line -set _gent=0 - -:: To enable LockBox method, run the script with /k parameter or change 0 to 1 in below line -:: You need to use this option with either activation or ticket generation. -:: Example, -:: HWID_Activation.cmd /a /k -:: HWID_Activation.cmd /g /k -set _lock=0 - - - -:: If value is changed in above lines or any parameter is used then script will run in unattended mode -:: Incase if more than one options are used then only one option will be applied - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 -title HWID Activation - -set _args= -set _elev= -set _unattended=0 - -set _args=%* -if defined _args set _args=%_args:"=% -if defined _args ( -for %%A in (%_args%) do ( -if /i "%%A"=="/a" set _acti=1 -if /i "%%A"=="/g" set _gent=1 -if /i "%%A"=="/k" set _lock=1 -if /i "%%A"=="-el" set _elev=1 -) -) - -for %%A in (%_acti% %_gent% %_lock%) do (if "%%A"=="1" set _unattended=1) - -::======================================================================================================================================== - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Magenta="45;97m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Magenta="Darkmagenta" "white"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -if %~z0 GEQ 1500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") -set "notifytocheckupdate=if %winbuild% GTR 19044 echo Make sure you are using updated version of the script." - -::======================================================================================================================================== - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11. -goto dk_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto dk_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%eline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto dk_done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%eline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto dk_done -) - -::======================================================================================================================================== - -:dl_menu - -if %_unattended%==0 ( -cls -mode 76, 25 -title HWID Activation - -if !_lock!==0 (set "_method=%_Green% "[Downlevel Method]"") else (set "_method=%_Yellow% " [LockBox Method]"") -echo: -echo: -echo: -echo ____________________________________________________________ -echo: -call :dk_color2 %_White% " [1] HWID Activation " !_method! -echo ____________________________________________ -echo: -call :dk_color2 %_White% " [2] Generate Ticket " !_method! -echo ____________________________________________ -echo: -echo [3] Change Method -echo: -echo [4] %_exitmsg% -echo ____________________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4]" -choice /C:1234 /N -set _el=!errorlevel! -if !_el!==4 exit /b -if !_el!==3 ( -if !_lock!==0 ( -set _lock=1 -) else ( -set _lock=0 -) -cls -echo: -call :dk_color %_Green% " Downlevel Method:" -echo It creates downlevelGTkey ticket for activation with simplest process. -echo: -call :dk_color %_Yellow% " LockBox Method:" -echo It creates clientLockboxKey ticket which better mimics genuine activation, -echo But requires more steps such as, -echo - Cleaning ClipSVC licences -echo - Deleting a volatile and protected registry key by taking ownership -echo - System may need a restart for succesfull activation -echo - Microsoft Account and Store Apps may need relogin-restart in the system -echo: -call :dk_color2 %_White% " " %Green% "Note:" -echo Microsoft accepts both types of tickets and that's unlikely to change. -echo If you are not sure what to choose then select default Downlevel Method. -echo: -call :dk_color %_Yellow% " Press any key to go back..." -pause >nul -goto :dl_menu -) -if !_el!==2 set _gent=1&goto :dl_menu2 -if !_el!==1 goto :dl_menu2 -goto :dl_menu -) - -:dl_menu2 - -cls -if %_gent%==1 (set _title=title Generate HWID GenuineTicket.xml) else (set _title=title HWID Activation) -if %_lock%==0 (%_title% [Downlevel Method] & mode 102, 30) else (%_title% [Lockbox Method] & mode 102, 32) - -::======================================================================================================================================== - -if not exist %_psc% if %_lock%==1 ( -set _lock=0 -set _gent=0 -%nceline% -echo Powershell is not installed in the system. -echo It is required for Lockbox Method of HWID. -echo You need to set the script to the default. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto dl_menu -) else ( -goto dk_done -) -) - -if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( -set _gent=0 -%eline% -echo File '%Systemdrive%\GenuineTicket.xml' already exist. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto dl_menu -) else ( -goto dk_done -) -) - -::======================================================================================================================================== - -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -if %_unattended%==0 ( -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -:: Check if system is permanently activated or not - -cls -call :dk_checkperm -if defined _perm if not %_gent%==1 ( -echo ___________________________________________________________________________________________ -echo: -call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." -call :dk_color2 %_White% " " %Gray% "Activation is not required." -echo ___________________________________________________________________________________________ -if %_unattended%==1 goto dk_done -echo: -choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " -if errorlevel 2 exit /b -) -cls - -::======================================================================================================================================== - -:: Check Evaluation version - -set _eval= -set _evalserv= -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 - -if defined _eval ( -%eline% -echo [%winos% ^| %winbuild%] -if defined _evalserv ( -echo Server Evaluation cannot be activated. Convert it to full Server OS. -) else ( -echo Evaluation Editions cannot be activated. Install full Windows OS. -echo Check the ReadMe for how to get genuine installation media for full version. -) -goto dk_done -) - -::======================================================================================================================================== - -:: Check SKU value - -set osSKU= -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -if not defined osSKU ( -%eline% -echo SKU value was not detected properly. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check if HWID key (Retail,OEM,MAK) is already installed or not - -set _hwidk= -call :dk_channel -for %%A in (Retail,OEM,MAK) do echo: %_channel%| findstr /i "%%A" >nul && set _hwidk=1 - -::======================================================================================================================================== - -:: Detect Key - -set key= -set notworking= -set actidnotfound= - -if defined applist call :hwiddata attempt1 -if not defined key call :hwiddata attempt2 - -::======================================================================================================================================== - -if not defined key if not defined _hwidk ( -%eline% -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo However, if you would like to try HWID activation on this product then, -echo install any generic Retail, OEM, MAK key for this product and run the script. -goto dk_done -) - -if not defined key ( -echo: -call :dk_color %Magenta% "====== Info ======" -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo Since %_channel% key is already installed, script will try to activate with HWID. -echo: -echo It may or may not activate it. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -cls -) - -::======================================================================================================================================== - -:: Enterprise LTSC 2021 doesn't support HWID (At the time of writing this). -:: To activate it with HWID, script insert the product key of Iot Enterprise LTSC 2021. Restart is required for full effect. - -:: If you don't want to change it then comment/delete the below lines. - -set changekey= -if /i %key%==KCNVH-YKWX8-GJJB9-H9FDT-6F7W2 ( -set _chan=OEM:NONSLP -set changekey=1 -set notworking= -set key=QPM6N-7J2WJ-P88HH-P3YRH-YY74H -) - -::======================================================================================================================================== - -:: Check and show info for editions which doesn't support HWID now but may support it in future - -if defined notworking ( -echo: -call :dk_color %Magenta% "====== Info ======" -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo At the time of writing this, HWID Activation was not supported for this product. -echo: -echo Now it may or may not activate it. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -cls -) - -::======================================================================================================================================== - -:: Check Windows Architecture - -set arch= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b - -if not defined arch ( -%eline% -echo Unable to detect Windows Architecture. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check Internet connection - -cls -echo: -echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] - -if not %_gent%==1 ( -set _intcon= -ping -n 1 dns.msftncsi.com 2>nul | find "131.107.255.255" 1>nul || ping -n 1 www.microsoft.com 1>nul -if !errorlevel!==0 ( -set _intcon=1 -echo Checking Internet Connection [Connected] -) else ( -call :dk_color %Red% "Checking Internet Connection [Not connected]" -) -) - -::======================================================================================================================================== - -echo: -set "_serv=ClipSVC wlidsvc sppsvc LicenseManager Winmgmt wuauserv" - -:: Client License Service (ClipSVC) -:: Microsoft Account Sign-in Assistant -:: Software Protection -:: Windows License Manager Service -:: Windows Management Instrumentation -:: Windows Update - -echo Checking Services [%_serv%] - -:: Check disabled services - -set serv_ste= -for %%# in (%_serv%) do ( -set serv_dis= -reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start %nul% || set serv_dis=1 -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b equ 0x4 set serv_dis=1 -if defined serv_dis (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) -) - -:: Change disabled services startup type to auto - -set serv_csts= -set serv_cste= - -if defined serv_ste ( -for %%# in (%serv_ste%) do ( -sc config %%# start= auto %nul% && ( -if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") -) || ( -if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") -) -) -) - -if defined serv_csts echo Enabling Disabled Services [Successful] [%serv_csts%] -if defined serv_cste call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" - -::======================================================================================================================================== - -:: Check if the services are able to run or not - -set serv_e= -for %%# in (%_serv%) do ( -sc query %%# | find /i "RUNNING" %nul% || net start %%# /y %nul% -sc query %%# | find /i "RUNNING" %nul% || sc start %%# %nul% -sc query %%# | find /i "RUNNING" %nul% || if defined serv_e (set "serv_e=!serv_e! %%#") else (set "serv_e=%%#") -) - -if not defined serv_e ( -echo Starting Services [Successful] -) else ( -call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" -echo %serv_e% | find /i "wuauserv" %nul% && ( -call :dk_color %Magenta% "Windows Update Service [wuauserv] is not working, check if you have blocked it" -) -) - -if not defined applist ( -call :dk_color %Red% "Checking WMI Query [Failed]" -) else ( -echo Checking WMI Query [Successful] -) - -::======================================================================================================================================== - -:: Install key - -echo: -if defined changekey call :dk_color %Magenta% "Windows 10 Iot Enterprise LTSC 2021 Product Key Is Selected For HWID Activation"&echo: - -set _partial= -if defined key set _ipartial=%key:~-5% - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" - -if defined key if /i "%_partial%"=="%_ipartial%" ( -echo Checking Installed Product Key [%key%] [%_channel%] -) - -if not defined key ( -echo Checking Installed Product Key [Partial Key - %_partial%] [%_channel%] -) - -set _channel= -if defined key if /i not "%_partial%"=="%_ipartial%" ( -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if !errorlevel!==0 ( -call :dk_refresh -echo Installing Generic Product Key [%key%] [%_chan%] [Successful] -) else ( -call :dk_color %Red% "Installing Generic Product Key [%key%] [%_chan%] [Failed]%actidnotfound%" -) -) - -::======================================================================================================================================== - -:: Extract files to temp folder - -echo: -set "temp_=%SystemRoot%\Temp\_Temp" -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -md "%temp_%\" %nul% - -pushd "%temp_%\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':bat2file\:.*';iex($f[1]); X(1);" -popd - -if "%arch%"=="ARM64" ( -set g_hash=7E449AE5549A0D93CF65F4A1BB2AA7D1DC090D2D -set s_hash=023D88E8E0A125F5D85EE2D999B512C4886AAB29 -if exist "%temp_%\gatherosstate.exe" del /f /q "%temp_%\gatherosstate.exe" %nul% -if exist "%temp_%\slc.dll" del /f /q "%temp_%\slc.dll" %nul% -%nul% ren "%temp_%\arm64_gatherosstate.exe" "gatherosstate.exe" -%nul% ren "%temp_%\arm64_slc.dll" "slc.dll" -) else ( -set g_hash=FABB5A0FC1E6A372219711152291339AF36ED0B5 -set s_hash=DA1AFD97D92DD6026E7095EE7442A2144F78ED0B -if exist "%temp_%\arm64_gatherosstate.exe" del /f /q "%temp_%\arm64_gatherosstate.exe" %nul% -if exist "%temp_%\arm64_slc.dll" del /f /q "%temp_%\arm64_slc.dll" %nul% -) - -set copyf= -if not exist "%temp_%\gatherosstate.exe" set copyf=1 -if not exist "%temp_%\slc.dll" set copyf=1 - -if defined copyf ( -call :dk_color %Red% "Extracting Required Files to Temp [%temp_%] [Failed]" -call :dk_color %Magenta% "Most likely Antivirus program is interfering with the process" -call :dk_color %Magenta% "Either make proper exclusions in the AV or use MAS separate files version" -goto :dl_final -) - -set hash_g= -set hash_s= -for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "hash_g=%%#" -for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\slc.dll" SHA1^|findstr /i /v CertUtil') do set "hash_s=%%#" -set "hash_g=%hash_g: =%" -set "hash_s=%hash_s: =%" - -set mismatch= -if /i not "%hash_g%"=="%g_hash%" set mismatch=1 -if /i not "%hash_s%"=="%s_hash%" set mismatch=1 - -if defined mismatch ( -call :dk_color %Red% "Extracted files verification failed. Aborting..." -goto :dl_final -) - -echo Extracting Required Files to Temp [%temp_%] [Successful] - -::======================================================================================================================================== - -:: Modify the Pfn value in gatherosstate with slc.dll as per the system, that way one gatherosstate can be used in all the editions - -pushd "%temp_%\" -rundll32 "%temp_%\slc.dll",PatchGatherosstate %nul% -popd -if not exist "%temp_%\gatherosstatemodified.exe" ( -call :dk_color %Red% "Creating Modified Gatherosstate [Failed] Aborting..." -call :dk_color %Magenta% "Most likely Antivirus blocked the process, disable it and/or create proper exclsuions" -goto :dl_final -) else ( -echo Creating Modified Gatherosstate [Successful] -) - -::======================================================================================================================================== - -:: Clean ClipSVC Licences -:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. - -if %_lock%==1 ( -for %%# in (ClipSVC) do ( -sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% -sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% -) - -rundll32 clipc.dll,ClipCleanUpState - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" %nul% - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( -call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" -) else ( -echo Cleaning ClipSVC Licences [Successful] -) -) - -::======================================================================================================================================== - -:: Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after -:: system restart. It needs to be deleted to activate the system without restart. - -:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. - -set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" - -if %_lock%==1 ( -call :regown "%RegKey%" %nul% -reg delete "%RegKey%" /f %nul% - -reg query "%RegKey%" %nul% && ( -call :dk_color %Red% "Deleting a Volatile Registry [Failed]" -call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" -) || ( -echo Deleting a Volatile Registry [Successful] -) -) - -::======================================================================================================================================== - -:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. - -echo: -set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" - -start /wait "" "%temp_%/gatherosstatemodified.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% net stop sppsvc /y %nul% -%_noxml% call "%temp_%/gatherosstatemodified.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% "%temp_%/gatherosstatemodified.exe" %nul% -%_noxml% timeout /t 3 %nul% - -:: Refresh ClipSVC (required after cleanup) with below command, not related to generating tickets - -if %_lock%==1 ( -for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) -call :dk_refresh -) - -%_noxml% ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed] Aborting..." -goto :dl_final -) - -if %_lock%==1 ( -find /i "clientLockboxKey" "%temp_%\GenuineTicket.xml" >nul && ( -echo Generating GenuineTicket.xml [Successful] [clientLockboxKey Ticket] -) || ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed] [downlevelGTkey Ticket created] Aborting..." -call :dk_color %Magenta% "Try again / Restart system" -goto :dl_final -) -) else ( -echo Generating GenuineTicket.xml [Successful] -) - -::======================================================================================================================================== - -:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script - -if %_gent%==1 ( -echo: -copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% -if not exist "%Systemdrive%\GenuineTicket.xml" ( -call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" -) else ( -call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" -) -goto :dl_final -) - -::======================================================================================================================================== - -:: clipup -v -o -altto method to apply ticket is not used to avoid the certain issues in case if the username have -:: spaces / special characters / non English names - -set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% - -if not exist "%tdir%\GenuineTicket.xml" ( -call :dk_color %Red% "Failed to copy Ticket to [%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket\]" -goto :dl_final -) - -set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" - -net stop ClipSVC /y %nul% -net start ClipSVC /y %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -%_xmlexist% %_psc% Restart-Service ClipSVC %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -set fallback_= -%_xmlexist% ( -set fallback_=1 -%nul% clipup -v -o -%_xmlexist% timeout /t 2 %nul% -) - -%_xmlexist% ( -call :dk_color %Red% "Installing GenuineTicket.xml [Failed] Aborting..." -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -goto :dl_final -) else ( -if defined fallback_ (call :dk_color %Red% "Installing GenuineTicket.xml [Successful] [Fallback method: clipup -v -o]" -) else (echo Installing GenuineTicket.xml [Successful] -) -) - -::========================================================================================================================================== - -if defined changekey ( -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -) - -echo: -echo Activating... -echo: - -call :dk_act -call :dk_checkperm -if defined _perm ( -call :dk_color %Green% "%winos% is permanently activated." -goto :dl_final -) - -:: Refresh some services and license status - -if %_lock%==1 set _retry=1 -if defined _intcon set _retry=1 - -if defined _retry ( -for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) -call :dk_refresh -call :dk_act -cscript //nologo %windir%\system32\slmgr.vbs /ato %nul% -) - -:: Check license status reason with wmi query, activation command errorlevel gives incorrect result in older builds of Windows 10 - -set _status=0 -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and PartialProductKey is not null) get LicenseStatusReason /VALUE" 2^>nul') do set "_status=%%a" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT LicenseStatusReason FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).LicenseStatusReason | %% {echo ('LicenseStatusReason='+$_)}" 2^>nul') do set "_status=%%a" -cmd /c exit /b %_status% - -if %_status% NEQ 0 set "error_code=[Error Code: 0x!=ExitCode!]" - -call :dk_checkperm - -if defined _perm ( -call :dk_color %Green% "%winos% is permanently activated." -) else ( -call :dk_color %Red% "Activation Failed %error_code%" -call :dk_color %Magenta% "Try again / Restart system / Check troubleshooting steps in ReadMe" -) - -::======================================================================================================================================== - -:dl_final - -echo: -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -if exist "%temp_%\" ( -call :dk_color %Red% "Cleaning Temp Files [Failed]" -) else ( -echo Cleaning Temp Files [Successful] -) - -:: Rolling back services startup type back to disabled - -set serv_rsts= -set serv_rste= - -if defined serv_csts ( -for %%# in (%serv_csts%) do ( -sc config %%# start= disabled %nul% && ( -if defined serv_rsts (set "serv_rsts=!serv_rsts! %%#") else (set "serv_rsts=%%#") -) || ( -if defined serv_rste (set "serv_cste=!serv_rste! %%#") else (set "serv_rste=%%#") -) -) -) - -if defined serv_rsts echo Reverting Services Back To Disabled [Successful] [%serv_rsts%] -if defined serv_rste call :dk_color %Red% "Reverting Services Back To Disabled [Failed] [%serv_rste%]" - -goto :dk_done - -::======================================================================================================================================== - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of PowerShell is installed. - -:: This code runs only if Lockbox method is manually set by the user in this script. - -:regown - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} -$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -::======================================================================================================================================== - -:: Check Windows permanent activation status - -:dk_checkperm - -if %winbuild% LSS 22483 wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -exit /b - -:: Refresh license status - -:dk_refresh - -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% -if %winbuild% GEQ 22483 %_psc% "$null=(([WMICLASS]'%sls%').GetInstances()).RefreshLicenseStatus()" %nul% -exit /b - -:: Check Windows installed key channel - -:dk_channel - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" -exit /b - -:: Activation command - -:dk_act - -if %winbuild% LSS 22483 wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" call Activate %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% -exit /b - -::======================================================================================================================================== - -:dk_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') -) -exit /b - -:dk_color2 - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else ( -if not exist %_psc% (echo %~3%~6) else (%_psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') -) -exit /b - -::======================================================================================================================================== - -:dk_done - -echo: -if %_unattended%==1 timeout /t 2 & exit /b -call :dk_color %_Yellow% "Press any key to %_exitmsg%..." -pause >nul -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = Generic Retail/OEM/MAK Key -:: 3rd column = SKU ID -:: 4th column = 1 = activation is not working (at the time of writing this), 0 = activation is working -:: 5th column = Key Type -:: 6th column = WMI Edition ID -:: 7th column = Version name incase same Edition ID is used in different OS versions with different key -:: Separator = _ - -:: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK - -:hwiddata - -for %%# in ( -8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8HV2C___4_0_OEM:NONSLP_Enterprise -23505d51-32d6-41f0-8ca7-e78ad0f16e71_D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ__11_1_____Retail_Starter -c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT__27_0_Volume:MAK_EnterpriseN -211b80cc-7f64-482c-89e9-4ba21ff827ad_3NFXW-2T27M-2BDW6-4GHRV-68XRX__47_1_____Retail_StarterN -4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T__48_0_____Retail_Professional -9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PKCKT__49_0_____Retail_ProfessionalN -f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WXCHW__98_0_____Retail_CoreN -1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8TYMD__99_0_____Retail_CoreCountrySpecific -3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_100_0_____Retail_CoreSingleLanguage -2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8HVX7_101_0_____Retail_Core -2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_119_0_OEM:NONSLP_PPIPro -e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_121_0_____Retail_Education -c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DRR8H_122_0_____Retail_EducationN -cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_125_1_Volume:MAK_EnterpriseS_2021 -d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P39PB_125_0_OEM:NONSLP_EnterpriseS_2019 -706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DYJWX_125_0_OEM:NONSLP_EnterpriseS_2016 -faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MDWWW_125_0_OEM:NONSLP_EnterpriseS_2015 -2c060131-0e43-4e01-adc1-cf5ad1100da8_RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_126_1_Volume:MAK_EnterpriseSN_2021 -e8f74caa-03fb-4839-8bcc-2e442b317e53_M33WV-NHY3C-R7FPM-BQGPT-239PG_126_1_Volume:MAK_EnterpriseSN_2019 -3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_126_0_Volume:MAK_EnterpriseSN_2016 -60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7V2X_126_0_Volume:MAK_EnterpriseSN_2015 -a48938aa-62fa-4966-9d44-9f04da3f72f2_G3KNM-CHG6T-R36X3-9QDG6-8M8K9_138_1_____Retail_ProfessionalSingleLanguage -f7af7d09-40e4-419c-a49b-eae366689ebd_HNGCC-Y38KG-QVK8D-WMWRK-X86VK_139_1_____Retail_ProfessionalCountrySpecific -eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2YV77_161_0_____Retail_ProfessionalWorkstation -89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_162_0_____Retail_ProfessionalWorkstationN -62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_164_0_____Retail_ProfessionalEducation -13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QPF8P_165_0_____Retail_ProfessionalEducationN -1ca0bfa8-d96b-4815-a732-7756f30c29e2_FV469-WGNG4-YQP66-2B2HY-KD8YX_171_1_OEM:NONSLP_EnterpriseG -8d6f6ffe-0c30-40ec-9db2-aad7b23bb6e3_FW7NV-4T673-HF4VX-9X4MM-B4H4T_172_1_OEM:NONSLP_EnterpriseGN -df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2YV66_175_0_____Retail_ServerRdsh -d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_178_0_____Retail_Cloud -af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ4F6_179_0_____Retail_CloudN -c7051f63-3a76-4992-bce5-731ec0b1e825_2HN6V-HGTM8-6C97C-RK67V-JQPFD_183_1_____Retail_CloudE -8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CKFFD_188_0_____OEM:DM_IoTEnterprise -ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NONSLP_IoTEnterpriseS -d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN -92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition -) do ( -for /f "tokens=1-7 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( - -if %1==attempt1 if not defined key echo "!applist!" | find /i "%%A" 1>nul && (set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1) - -if %1==attempt2 if not defined key ( -set "actidnotfound= [Mismatched Act-ID]" -set 7th=%%G -if not defined 7th ( -set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1 -) else ( -echo "%winos%" | find "%%G" 1>nul && (set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1) -) -) -) -) -exit /b - -::======================================================================================================================================== - -:HWID_KMS38_Files: -: - -:bat2file: Compressed2TXT v6.3 -$k='.,;{-}[+](/)_|^=?O123456789ABCDeFGHyIdJKLMoN0PQRSTYUWXVZabcfghijklmnpqrstuvwxz!@#$&~E<*`%\>'; Add-Type -Ty @' -using System.IO;public class BAT91{public static void Dec(ref string[] f,int x,string fo,string key){unchecked{int n=0,c=255,q=0 -,v=91,z=f[x].Length; byte[]b91=new byte[256]; while(c>0) b91[c--]=91; while(c<91) b91[key[c]]=(byte)c++; using (FileStream o=new -FileStream(fo,FileMode.Create)){for(int i=0;i!=z;i++){c=b91[f[x][i]]; if(c==91)continue; if(v==91){v=c;}else{v+=c*91;q|=v<88){n+=13;}else{n+=14;}v=91;do{o.WriteByte((byte)q);q>>=8;n-=8;}while(n>7);}}if(v!=91)o.WriteByte((byte)(q|v< - -:bat2file:[ -::AVEYO...;>*0;.....N=........z;].d,..Rn?]..U+..FFqGy+qGQ.........f8|Bw;3pfwU($Nt=EL2=Wz?${8_OiWAcDo/,..}...aF....uS~PW5b})lYx}$ULb(+-4xH;..b{..`N,...Q/q_*,SnPpURwOnmwJ*LDbEX^srD[.(4..;>&{..qGzAC|v;##62^]Liq-},KW+c*K..-]H>K1C8S;%*|PH{#n;_..;.7%>=mdMoR&H,^i_x0f(`1Cteug5M>epjBfZV6k0w7Khm>Mgol,j!X#13|WGdU$_D|l$f#]Xrsmi[Lp67v;2s`5b+{;i_hbQL^V8.AM]Pr4@~FEV>zU7XX&Q|]7Sq]PH>AckpjE9)h#W@<|(vz|gRKF{IoPN%5V!CRy>9Nk4fa)%5svdm4,B68%y}lbQ,Jn{pq+PzF4o;sk6N\}z\wE,>,>L,=.L],PQd3;Zeg07vmNIUuin}UC>uqm&0OcpGeY_-/S$5~XY\1Y6S~;pPq*AS+9hk-r4_*ea@H`8m18~rGE_\I1Y^cAOb${4-r5o)&?,SZHU)/=kQ`nF1e!2TcyZ3;{(6xeX&GM7Jf=]^j4@0>HKip*]h,q2%_0)Fw?(KQ{cAn^/Mz|fBWyZq1D3T;C;5FM4IP%b3~x|(J!aqO^$3n/v+}l2q/m5zjxR+pd%I#QBxU[&kEO.h=91g*f.)kq${byolqz,1tj`dRofi.PB**{t!sBL<#MDzEw9ntJf9LZ8h=n}`ek--c,/`j?#OSx+`Mi!c0?o=*MA&zV(;o\Y`tzf(dh3]+/Zy{%}#eDGEk7)*s^vEP\b^b!](SGN#8gA<1FXsN;f?S(SX*sXEOtV<`9P6zO-ox^EsN`T`RXktY`xc!Cvtztv|ZcBV23II5O/}>Z$~pizL3UugmnzOO-?jI?b-o2)TKW2V`?-hvUqksqU,aQ}pb=g\w1q0*G/fr%Ca}E8rCC#!bxPj$j{.j|yl[yyX7f?nTA/Uhl3`9Tt>&;JrwKc|xZOMs.i*BhVPn>T[8~XftjUh(t&lI6vaLt#&z1K0RH2z1i7xqS)q/_$av);!|Pjt.-,,c[Hty)$vij`x#B?_/[Y)v|@I1!)p^<)BHeg}!1dub_j*ZelV`(867I#cW!X1Y{tj3Y9\|`G=q8-kiDhQI=)OO{#L[i]bU,me-E8dgbh1G%O)1A}42=y6QwP.V`s%LBp]U-nyOzqn-B_cq<6<8,(2e,MhC#y+O,iKyk^vy4X6I)1ZJY>~Ae!/aavljPEkG/T3eBZ0k\E5~.mri[J6]s3Dz=?$Zm_mTGEt!PP|/BP|1dwA=mV`5+p#kCDcDhD.Meq)`yTxP;duusyXM*MA-iRb!Ur,prUbr/(kdnO(2%s?3/Z5lF$XAjgD@^tu_vOzjYq.0?9E3_M0^kF$L~L|&mot6Z^_=3N1p%3sFvzhlgnAfm3Oe]0igO%N|w#W9yXvZRGH/W!Oq?c6MV\[wnON5^l9D=%OY|WXdV92A2zSdg@DEhcpv#91mgmy#+z1SM.IXt|6f?_bc6TWrO@i|w2%28IcUF>oq6l]=tLawD9r1M8xemJ}z{f(hszw=)\b2k2,(T8HD1T@;0K\lw(t`wpI&Leq|*W?-;_Y8x%az63$NV$mn9[1TMW*>t`#$3?NUlUZ#Sf-gsSP2M562NC-9p/$_e4idUD*E$28FU%6W|W??51H?`B|BJxlfv[6BSWDmn|Hn0ak0?c%ftB|7^Wl7_[{;h=|GH*ie{|MyA\yNIL-D]7E|a{C96/&q1UvOOaPKx[wH\\uAJTJnBM#Z&58nxU1YIJ3qlB2nzLie`HbH#$mqaUB_deL4xG~E@6_ExwcTxK9tkFKLD(s]zD=c$e~4Q]v*7r+cum+ZD%_6rzL(y}du<6]Z/>JVI%~O7Vn?RG0k6ayI;abdl1E`r,u*ZDEndMOWjuaMt6Ck!Prm`Jl&OLJO]w/N4(&XQs7u|d2E{6Qj^)H!CYYany!W#Ey3n)}tZS)E9m8Qp#2HY\5e\Z.xGV$[ZF_1@1{5I(}<3(uTgZ{Yuzr7clIamLKIW&ELt4\QSHKq#+UA8uluH#&eL5Hh2?*?-{@Be.xqwZCub*jy)U^1zfbsojA-^j]Em)BS%[(T~xXzxa+a~hz|N+2yElwQDTD;~euG,?}~@)t;j_PFN@o>;cb#AtzH2@8kq@%5~P\?jf?^qZw`6l+}os*rDeF+#S}RpjA/tizhFLK=SYT$W+boQfIJ\3Wp,nxrjpCzjv?X%&$L\vcjE;i_MTW<0R7\1Ocgt5wL+\J1coir47\J9?2th)Nred*!2,DnTZU9FnO{kXYK`RUd#1TLDd$bj*U|J[F\<0{_t,DyEEg.@n%B?hv*=FY-yzs{lBymffFpCdXLyog`9o!A2YwFvLY[Gcln%IoFm\)W9xx7x`bBGZUOqhfwhJ|p{}0vA2dJhp~br1WWs|BYE}24=Jt0^,e*uNAi=RKkeJILAV!pRbV=`/%=;A/cb=,0ZBm%7P.-zCliKWlV>P0xpc+ZDCJ=jqL9GI(3&+691coCOEW9RJAv)CcIf.iyeb$Tdu(3kYkP4xf.YP6RD%nr8Ijhh~?f$4Z0#rtc|j3;LuZuy&fLY#=NdA2/w`XQ+4cp#U6rXr>~&$FNhIx22AD{Ut@sV`=]RVf.oy[*aOdUf\Gd37ourf3d&)G9uX[a+3[Ioa{`,^s{XQw)=N[6za/y1I-!OSLI75zyP$A,wCRU0e@ji#2`6l~]lgf?a&_&A?wfPje-|1N-@x[-PQBK[%g2LtdlM1g28JtmuokUukcsfC7[8\FtdP_*dZh1DQKR\ot&F~62*W94.~m#W^]CpSnGLzZnt({e^zt2a_pFAmHXfK11ef&ArND<8Wr83d~j~01U{&Qmc$I.<,,eH#{ujhfrdzwtZzFzC)CUg{`DI\C\3sLmZkmGC[X[b_gHoHGDhTPt(o0JkCvKZjap$cldcA_}S7[0|kqI~|S^j?D>U{a$Nr/|7I\]jz^K2#=N6|]cObWSHprbDrPt_8#}ANj91~[zXGe1iah?wzG(*8g*Ei)%l24V$g1=.xhl~5`=M/2)^FTyrB}2w83F`/U8l4StvVwnNlkcSxC1HeD)*{bqJXob*)2+=r>10W6y_j7HI@OnHX1Nj{w8-Ru*_}A6gYH!A6&#~O|2%$%sFt%F#[,KkZOAm$dYo+5Cz|PQN7GaYuKnKw2Fz]OP0@+z99)?onHut7ys3z*`OT%Tvuqq!Oc?eT;abHSKa+ff3)w18gx-duJ[vvXN9My+Pt(F=d7G!XG@RY$L{[3M~sL2\I6btgLex{=S+Wg;p@Q89{>p*^VQF0[Tt}lB0q2t+1/s -::0.25Dj<68(1_+`^A$loMliukPvtUb)z/+&[/mA*^_Bf/kkOy!MNwk-5Ncq>VT8zcWy>sJg>AA~O7NtVKxzP+Ef{HeTc9=b6[;9^$liMsZ*o_4TH/cPN)7(TdWdy+{}@,1h=fRnl/#P2qK!_RYZp;$KQ(dR{F-3YdoPCe;`Q$mn3Ejyj]8S%o)pn@3HIgI#$n8yzP|c^Ii=44p{/kBdLJ*K`;{nq#Im&Os_A/FPRtgV8^Xg<`NJ8zKX>[.Osg-<8t#zfam(Z@}sjyW\~C[D&T<@6dU\h<$d-%=&?]sNuKV{VMv%e@LZi;2,}ACcFsP!(b)/cPe\rS4B&Ej){EUM.76X]M]spi^H(OAFFdWD1.x.0&)/c$O?jM3As=iN.=qaugaR,B.e)sf}XoBF)RZ7x?fa.!{Un~nPV~$8C\fI@h-R`\.mao}b)Y)#dG,Wfij?_Ri~?5,[JqY02$;wRU1*|qeD\u&7RZFpxJ,F8lzi,+Fkav^@;\,|_J#Bl\b~;67k2+@bB;Hhr#-+NY+;*ctZ`6xw?mX#YF[/`o2V<=(]}PjZLZz7IO1/kz4Lu*1Z?gA@f0m-8zBk~Qc1%4J9GFkrnw4VJ>)7$?F)@\hj~clb]My~Kc%{6YoC8uCp3u)Lr,;w0_;g[0WnK4TN(LudT.{ijdU?AaT*Ga5rBEzsQs@sIfWA{Cg`667O.Gcj$(^NA]]wTidh8b8b-2K]Hp5L%P.2^HCW}Ne+U\;;7r5]EEsQQ#RV[P[*?l8%5yFx>eAA5UVAhSUs\9a1VQ5OB!JpgLQ)?@/c;P1or.yoi0_ovMzQu.6$|b3P]bqp5n7y7(R&99+X{2Q7W5;EY*WtI~_FFy;32dEP))7;HV5s>6WW/{UHXYo;>}-4pr_.ByorIOl}x&U9_m5j9q.}Oz)K+x#vWd$BY,(kfJ;0`&#n.#683lP7(QGpz#mHQ8-x@#)J1{Pv64R&LPWg-GCU.pUu^),72X602r&S4w)n1e;iO4*xsav6+3^ZY+X/;DHT!#Wr}@I!%J.4GG[G^y56yP]}bHjE,_mp3*!Rf3BHM?2|BQ&/W^13Wx)h6R_x_p1x)H>Itd3U,}+K^1.=;TC`CL}#=,q-X*f^[+@3i}m_(PC,x]R{$I=N9,<5o8WEl)![bnb3KE5a/|`qO2lX}O~{tk=.}~3-?*dK_CKYnfbIv[eI8{WMxcMX4^!M&5j3dW{>p8fXKfQrV8]3*g1f?SPPy8!kA_l=pn]PwV8ViY~;Y)i-prI.*LR*gca7KUW?LWxLFZrc{RO44^X2>1FyS|2IS(9I -::1#6;I[E95#n+0xv}[^5p%w?kU/&@Po5}=[%)S>]SC}t}ibb+5,S5vP0Lz^WEef+u6NbK2[fA_4O{BX&cMBKnN[g-;P]L/0JyyNNlSBejQr4)#(v;~|i\W);?.7uPxV$C]!385IEF|xrxnacXl,17D8!_3J+ru+lf3-vL#S4.dT>!6+(4,7[b1PEZDr}{3Iw^eC|_v!u}m/LlHQi}Hv@BO-nqoNOAJ-b_2K$hd%WN!;7;##$he.Ad*/IrjQ},(cfJ*fACtf4_>/C231&Ah,~|)D?sFvEi$2IgP,*_d32RI[e=e`BYDpg\yK;*k^Tp-F#tq2(*3Q;%IT2;@Q{3>C-_P343zB|RbO!!/dDJR(L5,%#0y-=(zhM|v_rEv^.boHWE_@Y^tS0,Tp?nT)[?_Ro)W));-@.}TN8)*)rk],rmO#bEs7yKy-qs>D>.${Q5JB)j8aL8-x{.j~\a(7l_,0].4#dUL1L]aQ_7c/EG@[(Okg0Peo-NBczJtR]pPA~z8T=f/Xo^}.L,2/`}B[vrl2lrp88hd/uZ,2xPy^M]%YaEsfXpr^.,r6hOl})^pKGpl=Osf7,_67%mrgJO[yQFnknxCKO|^w(VYQ;RK?;lYhnGP~GaaAeb.X\z.;,xF~$KzT8~5]{QbrQDN.WcO[Q?966%2#;4)?{)7B|1`{|.6A`^CTwzj}0UIB6;V1S]nTjRyKM/lA=(@6W6V5>}>;9h|P1bCB$;a[g?DrLP@-e~Xak7=r\~8hp7opxc(|%3E}6u1LuGk.%WG&S;indEF6}={6}Ky-dg|O++,qJ}IBJ\-@T[pchYKeiY!^(PA\[,R.5.eU=84Au&a+#5\)m8|.xLp>|7m_lLx1Z,d,5u-_&P@G6NzR\N@_./Bd&V4Q5c#nT,oD -::^ujJH31>2>c1zGUUYvb}nR@5n)n[BS`;z;,[GF?.qvRUS)n5@bF#Cc~A?Ss-[r#;PU[YG8C7J[B-MuT]|y^R6,o;\_R_b#eU(Q\-&|x_;?NFNN84l)r%>X&?f+mvxPv`NR8rP@QRy6qss$|yuP%7G[CTPX8IwGQQ_B\;5,V~Y,g(``qrHX$G7^=)|{1@uRUZvRD$~,NsDDd[,}5oo[uS9J!RH9sPqnZ,V)s^4@|.\4\;%5?mj(2lQuj{Ts\nQ=++W-;ty}}Gb7q7-Cz)P|r&=mGU@0R)wY1J!*5SXfAU|T)=18uFWRydE{U`+U/MP/4r>/;2.%f[vjleUKOZ-r3jn)n+VGUqU5^b%g,)pY/iPIa[Q.y)eCa]}$8`D4(w-pjKBc8-JK)|@&?{y0WW}A}psx_oB-gwXKI\PWuLM!#y`1|&%Ujpa{b=>d/\DUFsZb}t)b#o]_,|lYX#_w)z;6cFvN]2y-edWu.-*..E.ovVIdpYl!Tu.u>;YhaX8}{Ec,6yU+f4pNP%vlad,G{7aaQH->;L)w8._fepnG=L{qsdtU+,|+2,,,(d)vH6p/{T%c;T)91g_Z(mm.,3dny{Y3{#w6GXyadz|$={bGLjpbH(1sD9=X\O`Cwz~a$9=dFKj3kg|9Z1\K}ErGx1Vg?gyKS64}VAkwf@8>TBFP1ryz0CK+S`Ho=?sGAul@lcSFo0*#^vtwxE~=GPCL=2/\NqFQ,8Lt,&Y$)ru7#;>..5;Y/..tbOja~xvJ.|Nq*7ErjFzw9VzxVM,NR`0Gr&x7e%CScma^jduu$>K@qR~},O>S2C})B2PC*C|A[Q]uLsI;[mCC;q`r@Eniiy94SF;C_@TO#ptqvUe5L}1#ib=rNv?WgFaCn(!+Vs)2j\IuK[-`0,1;fY6ZRyqcm+A3!ml0(]{=W0?(BUkl8%%0$`m/)jET9(X~y-fRx}(}YAU+~xbrw4[^;N+$HPl`}|YlHs5jXAmsnmW1J9>JybXv.=ltk#I^}3wtIf((C1kI[5Jp)mG7.AM}zKg{avFeUg[g,&.I{zfTeLB&U3=J}ZPNvk[zv[`J`Pg^W6`sV/C\!1|[lph%cb*y{JA^ZGV(%,)th\.W0\xp8hI|v)hv8M8`.G7,r/EA) -::MWS<8=j`14@L,EKsF|PCUEg271B;kvgRyDuf)TsBkH$7Hooj?$|XxO/uPUX()v1K^(@/8fORJAU_&x*s)`^D=w@xhbEyMqxHj#O,6@HnqDwL~*su>[H7h/)[[^{JzKV]G99d!Tb1N,-0S3X)#KJXgkc&(r<|#7EbJ_u^SfcP]F)XYilX~,MqISdN[Bi-L[Dzkc1JJQ!C-(XT_cd^Ul[a=8*\G]nZIV!rp^/*G@1LOoL;uIzUZEH5uh3rERZx6fUx.B*%j~U2z$Qt(/ziS!v!Kbc]hQRFFZ>zuIN>\|FKb3K*lF;(IwCBAK|90g*dl;Cxw,EU_99lC-ULvR6~EijO%p6VE+Kz5#0L%HM]~RRnSG#qL9I~A`%?WVL9iBv?GQx26mR?gq#6BFdk+i$@pYn%mHi#Ssj_G9)icN0yygHWN23aDRkLo3$^(GK%RWk/4cFlV6RJ.9(+c1;KQe0xDRBO7l2X;v`rFp!DL*MwOx^Xl/sGkSf2Q;Hc539nX=a*=QR[CB]De(.l6)^}V[nVxqw@!I*`0zTDO&ESE26c}/idaIu/ili9Y05pw;LEt_5~Se6S8]0JScGM)DSPGO/W)rysU`1_(-zl8ls&ul=<8N)NFH/5ZU=ZCIkHs+(rvmTrA>R4I{=,o*&S3$-,U~7i`MB54~=h#8r$4@<>9AF1{*l](uzQYD@F}SIy&.@fB!LmceQSNL;1uns\&$SWW\+urhnf.cH(%/Din!Yfrke-,{j+HIgS,bMY-CiC})ZNknu.@9Zc5V9kAGdS0To8WYh^GE@bs[@F[jewNxsH&`*ys.5QZ}MVF]\bz4LWnlBicAT~g@C?(iH$m)w -::GDdzLlJPPZ]]X^F4q[d_{mFAN~LEq_&ZPFIg#;.!Tkev!Yd;snVfJ}>?vO,Bv#k(!IMV`M33pS!5?I+`so0@;!nj;[Ca`92]4Wy&O#,Rfp?8m~FkQ;n(V%Yd`nCmJgic{]y*WpB,2OxzpoRQiamM!xHNn-[.3S,Cv/a8E5f}}vdhIH7=h!C#p1%5b3wp9~foBte3x_\74C]=9.)S_5;,#3;GHuKq{u6lOL;zSAb|Z?g0yPT%k]UL5x5EX7CM2#t%g7KXB,!l)C)f+smZDk00Zxf5)^1eNrk8hQ7IF04eJKRu-A_fRjAJVk=P;SX&4?>[\8=CZ/rDA*p~q$3sy/|T-scPvVLjRMWH73%||@xnqfnmNC\JX!hsK>;b!$Gy`;fuKCyP/x/k/yDpO?oL}wmT79N\.;}];#354%Yn-=Ro6Lhg%Dt9if^^^?_Oc^;C8>,%ZdX{1Gexmr?xu)-MC(3D$d&E%9,DYm.bOV@miea]CFq?hM[L-k,H+trDwH80}_#;Wk;7Ya\X$ucT|Bl;+N|FyL[d/]by36OfE4_J^Q0\oT<*r!,,emr~#-w@Y@fJ[X|)\<@tc%|U]qX\H&5lT{Ok,Sx];dcwpxAImG9SqPJL#U~He$y]G`d>nFyE,Vjf]J-dPW3>(7oH(&FsI,R_DsAD!s#3mThok`6{[}fe1s42!/%g,r1*=VSM_&8E^fS_4+BVrl,#_RoF*p|26r@/Tnqis4G3k;I4[3!qVJM?i&+V0WFEf)w_D/1pceH\;KTP7d]l73TmS`KrUfYoFz,\FW/7kj%[mMBgfvOKo~;dk>]E-TM[s3LV9hojtPhJ*]LlxTU.t&RfJhSjq=&;vu0LbI0ui;O07)y=Z0=0|T_!*g?h(&5VQA*@Aw,Y]uW\O(EgyiiTS7~&/dCYu6gF#n`Iat`]<6LaT>,lLjqR?fCDbVr{|iC|s3z|lSH3)Aang<4fNbwWDOV2pJ]dd%jP`)1%T+_,SBuuFWSrBxu8/}=rW$PU4B8`$kFp,nvba?Xp?1<%cn(yOJ%jG6m`O?HhiqYlkm*y-IkN10mwy6P-w2G=KDyT2428%^[J89k{3t_{*URxe6ZFhH$)j>uXx5Ql\A9?&~S_=>f7zklzhiQKdYJuw_uTXx0LY(cxnGb-0>NH%HTc&kCl#{n/|p98.3WpRC.(|pcJY[9{r|0P[~Na,d!x#$rkJ~Kyt(;q>|IILVct[5D[I*+gV81@eD!OL9#@iJo|4M(#;$/RmjhYG~9!a$d69qh4kHh\SokI4g]~EYVQzM>3[e/Qr8~Kdke%rNkk^E4Gh_tmqIo39#xF.y*E{A4e%3TjGY|u!@4p3{A^1{g[&&|DhCU?T%b2rD7F8I=K$R5o.6.W;^D-Sr&6E(((ZC$MLlV^X0$3`aVqaz6f{(?n?L\uWrOax\h_rnS~0mi4xN2U9qm)9X]g<1NUdH\YeayeaPu$k?%->;%[33ER~Am%XaL#<52LbO7C~1l#Q$E1e&aQ_|c_8i$&*Tt)\o/sY*n4]oOk#E=(13IaqiE!,p(6g=!6Y5OH$yp1jdK.gU_wSAs83vp`~+k08}Tx]`@h4<1^3P^EzmJ8?BSGl1Yho*1l{4q-kNoZ88I -::F=|F2dlBdz1j>9-lX0J9uZ|c!+%97l8]Eu=NSsb9aHvn@CX)5%g~8IMbVN1===E#a{AJ^.\IF4QXrn;qsuVbV3uBqF^_;/8z1fc#U#zybr{}c^(o-?dU,w8_99NMhiVlk5c[(Li_`?|y/DQt217eZ,kjU#?`S@5`D7Z9}w$4I%qt37Z<.`jd`g]&HquAO=UM`LK%d9y5T,ujN#$PP4*_R;alndkMzU/LeB9TmO!m$4t-NJ{[fA@[FZTna=r}`eOLoV-_a*EAl66f^}?8+j-#Bt4M>[0y{ywL]~)+rAF}qDTQ`$BlG_t[ZDr6kr~#*%.3\Q\J{_@zk==Y^U=xv3v@_zaR`UFo3RgL-zP332zzLmkT4fVg|D*u\G^ePcBH{sG^3cb]Sl~H,v@{$&okh!Jq2ZlH_`CnSuUCn8[nQL{W*#w(%mspc>j6hN`Zz(RQ.C\W@6L]@p*pvX(/|&*|?&Mmhazk4KnoMs7@h6_$5[gpz@xQC}$BnVIg-m_<0s+s~4VrE+w3xFAhe0d;wTYsalz\Z{p?-U6GMM~Yq#Te0C54d,n=vu4bro)tk2X{pA~ryl0{qdPX?<1Kn0PtVW{i/m*p4q!(~J6lIv?#1C8hkiav@?,i([k4=@e7who/Ry$U`T>Da9$k,3P@a(-uzlqq~O!znk[Z}lcr}qf8~,hx@idJ?5\,7pdk{ON\<%|w0dIO/_6xM -::IBHE1jh5gp/}ZaS/WYd{wRMzNMp;!1dAZ%.~yUU\mg<0x[lzO)1{4<6>)\$D}!j;Ow(;Gh65i0=NIx-N85H`N@GVFHdQzG{fF9&&Qj|C@\H@er{PO@(p=`xM2^?@;fv0m#+w;&U03`W-_)8Np?u4FtGzs%*MD@^eN/p0;G+r)DPy7v)8k>->qZXC=JtK-3YY)cFKY&5S&c-VK|gnJ7}-)V#I|Xj0!5viNNlw#xE9P-,+\Efql.F?jqT,BUYwS*lvB*Ip{9-z\2DrMPH]QG)IEH5sO)Gj2uKw~hAJOLHcJ(W3!TRS=LH}3>,a5%kaC?|df7I_v?WP?ZBQLn|Ol+@JpasN9KK],U5@gkT@)U~$N-*p);?[;a9jjUcNAio]Z!Sjp;IVnpJvhE[xn{sWhDtPf?.SJb?WHtZDeGD&gYl@v^-|i^oE}L]{Y*|$x]~e6+Q!{8HWfI$xTZodJOvjZIgA3muINC#uTB*YXN-@9&rX>?b2*{pYO?1QrEfJztOBo4NWj,DWVdBDqtw|Hv%*Lfu{?=Y=zwoDrfVbq5Iqb}k}4J@sqi1B88lhq[!IMvjodFGl/%NzJ7]|n(7WAi\Niz4IKgR#>&2uAtLI$4b66UUiQD[PkU3H&*MJ\RrI$0D1[mWu5y1Rw9&xKsC\Jek)qkpjZM{zGwt3Q|,N/R}@%ww\lme&-e?/3hBb6k1&JpU$o/JYwULTFEm20_(bAoiHHN_vZ0)ow{lS,tJFI\o&od!dxGvA45g^B$&qHrSX56typZ.jW+1jKf-|b?Nh>[8p\ax\o,GR(N(+8,{01pK=Xd=Gt+XKTTQ2gO-2XUH-9JfuszY5%ctsc;SwYa7iMD\HO#wPj^@glL~z73=dz93lGlxX}93X~0AgH?,#Hf.NWvV!&/.N_m%[rt6w&{t[%J.2/sexcFuvKlGyYdiV#9z5U@|xgQ2uZr)EC0s7ilU49o%<\*1}?3q4KS`m#`cOc3[s*],AZ72vj[z5(W`[9*t6!Gae@@(U7hJj!nHEETc)uOvK2o+~7Ri&lg~qpl#)9%kK(0UV#%9lBhmI[$.?IO~-1)4ElQiv{B(Ko;A_g3PG*/x5_cV|\4CS.zB}>IpK*8;E;Z,A<}1,rZ2uHeCM$]=MTueDo)n<}e-HbLYJDn7$S!fQ?sRcb]p@F%hy5aH2>?Sve8lFc6B~5/dU4HN\Wb%;nVB;{IRoA}Uwl!2Fx;[Y%D\ex,@MTTd=;E0s16V{Rq|y-G*y)Hn[0&%7/.74EH>yuBt_OmS\?AgYj+(kn0Qa_uc>|gzo~iNgm\7^AsScsUuAcUY8g*Tbm>5I%BH^/1Gl3}F#.qblc&~iu(4+c}-A,!tHiP;5.go6^C-+y;U*VF7;m1s}f+375dBa/6{rttnQ]J@XeG)HdU]%o(,lxybSXo%?|m+ys?0n5E^PS@(v#Ar~z.dzyX(4jxy/Fw_+Slp$Kx{QSc5ese!xi12[S%KHW51+Jx@Ron5\z,\Hhw3]faP9er~(vaF5P,_7W7U.m*~9%lRt-d!,cf<-{uBz#qs)0_^Dvqxz;gkE[%bPXc#{N$U>BmWL?vBtJp>o;7&\BQ2`|zRMGz\dRc`|%X(uJo]4B|VQO!riLA3b+UVPTkWU(M6gt0bDR`MiOQ*I}$L#k-1#[4tv)-FlCue$/vIS=@-0{fr(w6k>VM7e@|P<^%2+m+!Ay\c~#i#C8CfoA5VP*w5wk&-$6AV3tqyUyD~PlW7C0^yCm2^0XChcow7Pcir?vZK\Yk}l$i#u%)\jynY*7hYU(ET8XfXz!EI7!V,=B0T-(H,r*lkCtwO,ltbJJC3*u7^8M9\6ewYi;LO\,L~Cj?yMq>3RacbyzV\oCox52q]`e<(CL|DwBVSa%h[+id1xi1V]}zf+NqPGVxt$_ly{rUM|#yVi|+E#bt_aAYd^ou6dIJ~SL;=_Xq`M;&S%9$6mkVlq|,s;%d@|=JK+2brZha~glu-d|Lve<QY,eKWE}WkF{;\+BRkU9Sr{8Q@!UntI>i%}|ch+T;ZkA*U?9;v|_w5NGK#6Q;/K`GBI8Scdn{j!2TgqSR)1,~7BoOeRop3%Fs~/>B}zI#5ZTsdsY,TIufNauHH^zkmF-Q;T2.h\qHlAF^ly;ae1q%tc/3z|%0;A{6#>f)ly`vs=?e!gog,p^@U(j}2-@r.zU[7RF$qHA -::~6QM?z@?\w9Jjr4J${?p_h3Mwl9iWQs3?S*9YY!X6OHQSH1=}mG_e!kXy`4(XYZ!sbxKd_@zfvLm13aAmepe#05HKAzAqvbL,iLA2G.+M]lYMCF}c5G@K!/7cX+o8CWY>VpH4VmKT3Sb;b1=YSnU|wr?W]a(bm%ZY4I.rrm|cS]F{VvVADCgco.^[....%p4G\dR%Ck^`,IMVC!3qV<8GQBM!|Eq~zn|7yzP#vGx$fxMI[I&Jb$fBaM6$g~swb8~7(E~Bo%i@IplQswZXgef;w81u|JI/&C<+pTCu;rF6aZ7w(vnA~[@v+mk0xLoQ_3t$q>PQzvE)b0Orw;7tdjZ3HBz-oZv1w66-B[!u;u0},X-WIz,#e0WENb2DUW?po./p(AEkvbsIeSd/PeU`6lDF?Ng5o?~7`c\/w;%c4ty-)q2IG^u74`;+/7Y2LV6AJjoMR1Lj6=`Woyc^x7ncQ8)|fh-8\WTEVf\_tA/dRSU86J>b)c(cn&U-i2RbQ\9-c~DqSZSd`HF`~*LGiXn6iU`}]^@8(1uMDa?R4TW6NL!J_EpSulG;>UG\%=Glc^8]hJf6Lb3W&yc`T3pYT`OExqcjC8dn?jl[}m~~Xy+(B[1712=4dR5U]z@gTSvBte,>3Wv%=1ftyx6au-2hwFG1z*-)fj*EWfCB4r^-eqKb@[vhBmdyV[&\+37fPw-->RE4%`;oz~`^b1a+m3>z)i5/Q`Ob4VWd83sN8RSA1t1L&!M0^E(HdN6PLKg|L^X}R&>/2}iCKYSuC&JD|55RoOj#op_\ZL_PLOe3e%mn;x_6p^>r6=j\?,brR^Zt\Ea}6nqn1^0&IV3Wcdj2|`V2cX#DZ5sNOnRk~aL95tq2>0A4C-Su-8,sMNlKV202KJb,SQv8h\G2`@1L6x8+3dLxmx/;$f!^)qq-pi;\(kT/FCpcdu>H1&ea!d?2wMo1u?OZT9f4f!pVO$4c$M+T4tqT[)Q!k|7S.s8EM{,T<)LA|CzUif,LswHs{wzEB\v`bX]_nVC!giKU!lUO/S/XX.sAG}LuZkou_eQ4d?vwy^j$rY~Tu5AEz5zs?jS&yE8=oG&p@i(pOW*N\hS32)cP0YwsA5GgqF&UmYIUh|=_*KYYqKU]gt\I[4aK[Rm,*x(b%O(P+dD+4}Z5(mu[k{V{_oRF]RLS[TTeIfhl9PE]U!KiblchCNXkPmuBvBK{1c5TJ,!_}dmJU=T{n0`d/to8J>-)B$ERRp0Arc`*~$a8FiLAI(aM1B$\{N`M3Mxs}Rc{aC3B=(>X]}p_P8,+Y@!/&Bf99_ZlWx\Pi/{+_,pY^@0xK41AUcni@/AwW/lC*M;AhRv)ra;s_vlL$|TDr.;I=#J+3cg6`o392N-qa/l1s7ZQlXs#T4UoFQuETAb_WgOfBtfbY.#Kr*-(Gj8P^PaYNpc2ipaAcf4@ut&v~+vvE{hz,d+R~#|vIz#0~4#xi/h%[MXEYXEV\j$z6mk\)o/ilRpm`Jl30sU2}!+7ZHbkl|b-GsO$Vyf)\\jYa_^#y\i){upGr`+t6amfLC4~xSY6DZ9g -::sE[5e(UJ,5lVcx#Y3gM1!lY1/KHuFJJ/82^ZpO4vb|SqVmGO@BDI,8sXaq8&8YDY<2i9m2](V4[f/D&tZ.h?d^A7PWK<|`,NfH&on*@wA-E@ZsUTY-JCvxt0O[}bVf?6cR>hP9XlK\NWA%FzCN]9V`p>jL(^UQn!PeV8D$%dSb*Rmhfse5==PnY8r4tE0rm2L+?AVNI;Sj*};mg@Z{XDJ@qufJ}1f+MjD~yABXnz1[>Y*T4<2s0Dk[grenuIPJi2sv3#]fnr@D{\?@8\fiIew/XyeTA+JoP[F5-&R|C$gg2He`uxtz}=~g.2/pB5&&q`^Gic9;97@\&M#hrV^h,4hK&Y!#_u3Kuvju*RY1RA1aCsmdG`N1Es?V3<=FH`2nhi)S%~h/6JQ//zr@Oeqr[.QW21B2nMuL<3oh,-EhqSnYX69tkk]{[V}3Zpwq269Hat]xP-Xq\%s5_(Q5c);1=f9-A;juW39.a-Mq,_5)+g*A>qd)TS{p@)R,pf6K7lIX\^6]R{9JwkGkE#zL0](Pc=B5)fou5W3|7&*.EV?M[{@w)k~0Y,sGe9&XDFr~@TI=X|yY;Z\bGZ67n2+8agbj9n}*a@_cJM*s4A0~Dm$r5(b|ar,LXlzKEjYOBy!nWv|l5(Fm7~k+=]o368}E32,<+(htXyOC@./gFigYER6;jSh96B$#?&6Z%.>PPJX5iDx5l&{0Ki@8kKOjSLhpzK)CxhX`Za#@zq3{HDrKPxxp?Vc8DNy00ZqNkFkmopOcNe5*lg+[)67XDKc>.;AQVoEO|}O$8?9@E1|^{Q?m3,_Z}FL!x);2d,bAKhpVn1*xVNWZ!kF)c#JGK -::${ZS$?mE)-LGOj/Wdzx;O|OE*44^w.EkM*t/@`}H@9HCvtH=^-u?.)W_FknGKX\X^r{tWKd!tZ3Y4au9J8,H#tzUM;zs%|v&|4d*/sqBE4yme@yXTs[_Q)>jYF0(^C*y.agVfF,7R;;i%4XbYGj4{Bq;kvSA|j^x`xox?%9e&UvPbIS7S7]?baWG>/wc{Ywh!cVHbEX/zlz;+UW-?93H/Ej)%s23UauXP-kOENHPA~Oi+yXafZhnuR-X?}Kcn~lhrtKlDnZ[Z?89!P}kXz,n?O5ep+nb;B/rTJ@Y(RAZRrCIKDzaL8mD}%InvX3]RY-5MX[6ha9v3jE]?2Z&,Th=0E#FH]BIeDC@TWCqwrUJ^eKo9KZg}@NN>H-.lmC-,.O?GpMNVC/qXVt1W(@fPT]-QBn@Vh<;~=3]kyv*dtDEjrSC`sKFjp*Q]%JwI!s|Y&MOBypI7U@uK%/f\4n$5lR`LFY;rIFK=&T{I.P9Mfq#RlIh\gfC|vZYjgo/pIkQ}#bkB,CCcyEJ[BLMXsclSu%w5Ksy<{!FxZWGMzk`Fyuxa^RIeMN%Jg5qDK@m_u&A[+!@~zLP;1W|8\!N*v -::Fjqt%dq6&y#X2C*Bl!.ePKo=fLY!$&a(Lx*j3Yd?z4*rfU2J556i{[;fH+j$V2f&b~7)O1Wq;hyX/Ynflp{CJl41O9H9X5XZ~QPGDK}?u\qWd^.+JIzXm&;|E~I}l~ukLj~|1/%io^O4BO}9$b(T51.9O$a%oe7e(Z=t`1?#wi(0*o;6B+uxg25y?(,Z!ccu*6\1H&`*?L)x@q>AwwI2z0?qid}m^$P]KlO=Lyzl+=PP2HLyRinXyX{QaZDQ22#MT^C,tr~s^`@4Srw$B_Fz6NIt0^TZB\M*A&|``xT~xPh&_(=&2F3%2~on~hsn0]bDh$eu5@O&E[^2>@5#P?pDvjsJv`l2?cl32xhX^Eam%P3v=H-$~pH;*,PdV^)>DIQ[7k7bEFEKRsg%Ls]AnL3f6`9.N#u`+y6_;&@9_DRWYQLK<__phk@M{or[ean6S3rc*6^pD/EgdEIH[[{j*?(Q)iI#OHELG,.%Y\PKdRH?C-%>yCa^.?&Fc;*L$lf0f*2y9ijiFD&>.(@?*icT|ud+OlkSE-ag\Qs;p$Lt`B^#f/2EvB@IDNh+t!0WsHGAOSEt$Y/}Zs}Em?}i+}q[&vZ\g$7@7EPg}h98,|]ZKX8/,afwM3}0oExZaa*Vf~d~$M,TQ,T=#_w>@!{IV`$\+scGW$!F;KMB%m7,69qL4%}czFScdl!ZDA[Nmnb_ -::oL(tJT%]q%;>/cS$`^YfRFP]kDbsaltl9TR!#An9B*&,MW2M{oS(@&Eoa0,NJW}+2vi4oBWds@*aKMI\pU44alueLQVjP|6irD7kkOW<(0]a$w5.!F%2!H._8p&@[b$6_}]m?opLCc/&1z0?Y%~\ye*~qs0=`a5}jVuAdqeqP543$zfeRc|S6Lw+swh~2{X4JLgA]awvzB10ECT`bUgrO|jvl1l2VlK5iZ&^Ds1sQUWYrBWArQ!Ni_)mCnk88ipc.8S6OlK{`en|)#szhHJ?SE=pRp7DXNJ+m|zfe!*#}*~wB`8]~jpvg)qE&lYLJ/QpL!S(r23N$J6%B|%7S,^=b%sC28j7OA-YbU\l]~9rB(Q\r*UPDc)Xt4mC.3I(~U,2>aFzs~Q,2L_y.r-af`X@fK<%9|;/X@0vK7X(3QS_|-OG7]&?Pe_k0wK5[iAc9&*-@Nc!,+BESk.;3&V$G_3%-G7&q6Op.~7^DgFWWz$+@|hW2)h(`2OE})So]j-gE[X@a#mUbs}X@SOazux*a\yd]4wcNV!62at_..dH%zr@Zupw`g^naf8m{32#JGw;yiFIt|;!zMMBMljg2*ZTO;\aGSXv%CENIty_)]MYE}`qPFTNY.f+nKN*})Pcl>Eq-lI7rmkZ[+&(m57b)Y2YO{&xZuN_]V00k/eqX=CW-Rf*7nUy1NU4>*Y|(,ZHsxSra.$amE*,R*PLL#j\9w)]6/]e+sWDYLh4{j6_\np\~DBMX;nF)9j+yVHLkWz,y|c\ZVxtaIt7F2zq;uUW&C8G].z,rbv]{F\ -::Z=F71,4D}|v7c1k6Sspr4eba]}O02J42,y1.)4>RP,x?{Kn$2B^_`-@#=|NMX!9#o^iw>X~I@jNP@I!A=l`\NevqI^YxS~f40-;D=7ol3X7!Dm(h~T^gKQ^xN&HIo<]-x+[UNU&i?@mQGhTXeQs.]PmC7@@xkz8hes.Ur6NA|}~]O&@i%yn#2Wf?qbr_%*ZJnr8G(QiwG8\{(=PG)C62Wey0p,iBuvxlGN_&L_=_IsnM@$}VOkj@RCh{%C3cQUdmUTUwc+lRNc^#EQ?JJzFKiEZg4a8EI3dWlBuHfI/%;wt+X6[2K[a%H!$p9^$4(Z_Ljxz&qQgBC*El,{z2{[CZf3xWn)7ZRB!yX#7*q2?m%TinLcGp9o8~IT?Ug?ArJZOeTj9fD*FSzQk1S*Ao@QEe0>QH%65DqE{oZj&,BQ$D`DI=T%qTz5DvM^08oTpU\E`?i)A>J|A)X^zJ7O%l#%ifS&Jt?fUBp+W3a0ub)Sl&$&e_D3.I!hSQ0frdlcKul#b!<#Yq?T>uY=OUTotFJ)h7^sJ5DBL7Ew{,UxQSl[;~gMdgNY_2=46r6+yVDu\6L.RJ9UF/RTDx2V{_/InciA+8@Nrft-%Z~6kfMx%14h- -::O@<|UIVHBio/p_XN%`[7Yhr*}qw{uJ9W!f%MX9i\WvwL\_GqXQTJA|D7~^@lG*W^QF@1F5nin;jSjSIpk}f!Hik@WPhHH2ZM-zdcr4Yf+%%F4FP2V\l\}==U={]=RSU4T@hD1x{VX4&8Mt(O+=F<6dUk8)]0o>Q=bn(V~MwwDb0n18s+1}Ad!K!C*J*Mk]0;Ha67L;jpke=.6V[I_W0;T8nQksZQC_X%=9g&;pN2D`Aq^~cS;k#3UbUt=kIy27vE4<~\%?y!$6)Zm@J(u}QRBRg%F@^_jm$U*@d~AbLbkKUhJcVYK{blydZm~9_eK{|}#$`IHYA6zV`Q_>sV2GkkFShn!bMNr\UG=KqE4v`0G*[qVcLkgp~sICPN#Xw]SErAcxinyQj^eu4bZ7U&P&Yj=#7Ez8GI=ta)m#3vus};N*z`-uq-M;DZk%pk6DH8sN|oa+\SsI_XfZSxeP4f9CFuIMFwUqPF~!!ed3=Z25Mk2PkPj[b]R -::R8MG.iXSzEK`(x|(D3Eq(IG9A~p1H_xJP.m(69+f.,@)9`ah,g7.z[[y\bS/0MN_8|!dlV@xaWH.6mEFv=dM38ny)t@\g)O5qy+5t>yKA>%jR6rHh0UGB]j~O%8o_}s[w=IItp/|mc>+6_OGY}BzS$9{6q2T$rYD-cK5A%P11d+5yZVAgEq`MTg/B3fwWYPlAvBW,z7TWn5j&_5`(s,LD=ewx?5$yMypFAuD=-;qPkU~4hCOGWI2M0S>U&kma];RPUinoN0fx],MuWl,F]kUo_G72wsD8#XHjJ*=$C.NFQ,#OgJM,6Rd`DZjm|e|$1X/_lg77QqDoCKqZfJX=h=XLz}P|mxV>SH$xiEEDJ?e4D#;JKUdJ%PdXq@lMJ1BLe%236RZpXjp#Xd^X;uzZyx[r]p0Z{c]iJo6J](T#`H+(M67f^[@Gx?tBN#(ACw;=_Jt`H5p-9kZ^1f2vfiq_ezGPus@Hz^ZAX2+sGf,f7bofr%(.{PJe=Y%(q5f[)hU0ypM}QY#x{/X_%BR*&xVn(zQ5nWB]CET?Z_=RpTVgQ7lqOx$0q>W2&)21NyF~@mjZmP5;fykSqig?)2|s*tz\hEyW;$b2pb-lN$=}&[,^_B8/d}S!#[y}S+>N`klLCSC#D=Xqp+kNwO5Rf![}0Z{$3?wZ2hp4H#)fQTPy6it%cD7423nsDB9Mvn9|&K;])3*ljfK.dRd@=L\?}U#Yo$/gOn`k?-Dn~}&DO=F.&Q>l4k^%Ondu]QeBXj-(XJk!=lL+3uq(a2tNLLqxH)d&dKnNREhn$7y5iyGB[5crvAkB`,2~x?|rM7q;f[Um]gy8I`p#e+QJpD;`kU}x&kNduTv-e9R@$>M]?D^^ncH=hWTq8bW@>rrh?Dsc)9D[@KCYW!5x^r*<0Slf^xbL7UnR$Et37Ce-gS*9KQ2I4A -::+2%.jN5J)OY>zFmzb|s,0KPz|A(@kNFeVb*mMTX2GOe,kP3g+LdJq5f,XqFEku3\x3EDJIjK\P/TIcJjtD.$fjCXD+/R&E+2LXlak$`.GY|/V;5R^&sV0OC>foIwi7To`Lqp_/zKPKN>[E6?iz/)ttfey~oQ[B30kbtuD^-IQEatP\KFQm2!w_l%+sPB,,bTGeL2s*=8)bmuPAc6vyOm;jHl`)T08EBbPyswbJr\K,;{Ftt/Jt3VY.YQUIv3Q)0&S6#!EsMM[=>O+FQM^5D2)87d?r0pzHuw{*k)~-=8Y]!0Z<6[KlhuXs2GgYKx.=O6t%qv0VO$6H@m+FQV-dMp0F}V]d.l8-/Q=`bF,$r6eGWSvS@JP_h2kmz|uM.%tm9}eOIahSmCk>kslFH$C8>!C_g,`F,wFIpaKjm>^>mJN_ewRw()%j$L5/Px5qM[X*8RU|n&6$Yr.mrKa(.Rp;$Cg]Dl_.t_tP&N~(uy05]pPSW#dpP)zA!d]-z`EvwnfFM2/Zd+}EXpKERb5rLpsWzoihT}6a;H_Z\8w8!|P0**\sn;N58l/Mb>p3&J|S6L$/0XgfM9 -::R?PbKvF|SlWz=#2r4P-FysMj{Tax]aHqj(y]gxXPg@EfMukfe%Lo)|b7pRjDPUo0mqT}l=~{mtoh}rxL<)_K9ZZJw?)#n3/9VBb(HXEY+k&)}926k;Ng%UWExnQu9rqiCcR.4?0MRI5O-1Uj.lw)\AF357amQnsL4*vY.+>xw}7h8nO;|-J|Vbd|X}LiQ2kIx$l]I;NV)J%E9|E7?h]HpF%NB|Zp^cwOd/KV3yRToxG(pID]ai{3uUEmV!2dvclNzPeCF*s+gUDha`jW-2pjlyKW1m]s\ox/D?h^59GL@.F+3HY=h<7`mh%JdCG!X27R0s0C9ss_-4t1FCZVwcy-#^fIs68#+Q%[q;fkhI0{T0K|p3NIJ,I#Gp7;>wi#L>2(HX@E-q2Hq@_=I$y\/}i\c#r)BFdhmu+tduPBMu_1XwvOoE6Kx)3js)]O-qbZsXvcR@3lFC,]RM&&m602+}wwJ@W(9__MgBmG*f,|gmWjGCU<&XiF6G=;!Lg2|>uE;QC!5D<+1k[fH/Vl8zQRE!sMw8{EB&3Xc0iE2C)=(S,<)5ayFXD|!Y>56=-5(\PMvd-%l$Sel>Jtm6N,;!_}q#IE5{?yQ9!D#jC&bP5jD-phmpTAd8Hfov5w5@J!EG;Hfsly(_Dy`F}*5Onl+bz5*3qPJ~\xR{fnJ{A`%J[08o=\i>7k|?xFIXhVom%B$}7(U}oi3AGv!9Y`TPrM0RA3z4OXbi`3Q>&9t0__r,RZ5pj_[Icg`J^uZU@c}UrXSi5sY#)+QUgUE9bl|EsWz0Y+Z0^$luhR9s0{NO8BO/t]$EchKi?Bu{QP)lhJ(,dCn&*PMjmev_!|H1t`_NVU=#ch}Tmw=cTeV6~hF(Lh6JhI`1bMRcL$eax3jOTH(L1oX5]OVvhI8%+9T2qDSx?RPP)2Ebd1VTJ;iLGaiJ3n9WoYL\(i[$[Sr1~T$QT=zdP%J=9yXMkuI?eN0J7^!05^>fU/-p]_\;{pe0R?~0|M.s*wnPuTuz>JuV]g$YTdG=\Y~`x=_6*7@*;6-zm2[pSYz7\Q-Ze1u\-iLm*FwDhOS-;Wz4iMI`a0zqV%%Fz4?}yUJG9K\@y7/j4%2[%NU}IxYkUG%B}v$Y6F;/kN!)}uJT`E0AglJ?CX!5^`;@i\9K\/~?6Fy.fk;J;MrT+R.-E|7NV7\q\cw3sE>?^ZX*K]JHFN^|Hv?QBn`m8(!pS^,G#)U)V&{N*;\(HP(bSf3>-Ajv-4.mCg-6 -::G1`8Z)=WD)9M;72+Jr&#dFSYJM>1G1GN!x.n(@PCFK@,(u#Gmk33apob]~oGl5$OE0R*K`[dl=hh;o1x@<6Kp])X3FeU\DJxm!nrIg&GYw4y0,L8afA;_+oKJlB?cj4T2Jp^#th!NM==)a&v7XAqjs]?*[c7i9vYhx,y&43m.9X-^N!M%@U^HE}`cG1Sy%6l.A|BA_S3L~Lp,&SV2nR!>tRol3-WHeTNm%BpvLp$a)EKp~Iqiil7^g=cl|KWUS-]ChkThH(tKrBY8#L!z57ws+)\Ft7`%Mng(kSFn7OGC%<|L``LgS?BFjiDttE&Bizo9Mv`hi0&mY.81U|Mm`meydojY%{u.P[+{8]Tb%/8Z-hBO`KDc`X`qaAUYLnQSaJX,K$2?lIZ60]ZP(YA{.}8yrnCZWM;h#1tbRuzO|SaKK^]R0z%1e@,(K2K2;xcw.5$gL)z2UYu+Dk]Om@?.HRhU`)hiUw|PxV8H#uh4viUHE.,OODLF\&o(!H{O&/>Gq|]2vJYOu-(c>=9(ihU*wsVW!\dX|}|?Bk4y*/0[dM/J|WH2nHvPZ>LWK+$[8Sd0KWv}/4i|][k2gOVI5P0jWHO^0Ni9VQ]-}!L|KpIo*&&RMUZnJp/-EkD(FcJfNOP8^@1w*Qr&,n>B/Y=JY|(\.kWa0_/(@W|>V(bx=-k8dZDl;G&0K#ce_rXG?<}-+#8PKQi)eM`C3~]pj%a!Pj*,]FoCu\I-f6KV5,MNz!.SpUg{s%(0NsptV(f_lE.2p[S-JB7qu#l[,VRue>\LKSX{^c-{r3m#y#&iiBcA&+Ze4s]pv!Jn?;RCiF(L=jmq|X~$N6TS^f^4<-|=~l5jiz>u<>J&?%!BZ?8)9UMlcnrU6U=HXyp^N)Ai5T%j^C?|_ZCDWF5g}q}ef`6}@onEy>6j,lG`rs}*[r9R}9Hg<2sJ.!lg{bP,{fjDutdG^hr79|gjjBWlKPL;s+lD96u`5q4qU$.)Y&]2\);vYR7jUF;_Wgmd^usX1&-qvb;9vLAbSzPjAn1sRcOFooMh|x1]why.gO,;~P|q9{$RNP1p)aeR{n[x/&pcNnobR_vr;8MNJ/tPOx0KvG4z9LCF.OYudtZdf[Agq?H^j@[hgPo3h-]wV]!CV~#OLY;Toy@8R*l -::2BKkTS@AUr(52^/Y_LSn$z5TX|O]A4}Qn)Eeb{.P01=d;,[GVV.]1zO~1F[Pg/F-]PuCh`bKj5w.jw@b^&vm^6-6>Q7no`micY}S`/C66W4c1)*HXx@ouk.CX&P/MUBU*Fjv*Io}BqC|PvHhx-coQ[E7)@HcrZB9G{.~U>v!.KFq=QXZH7RQ_u+^|62cic}*]q3r7&6(!m;rj8|Q&G^Y]yrW!]i)IL#ZL[7_+`F{okjn&,QRh)!eZrj4)tkWJ$5AlpQm~#^kCTz2\5+3o(ZtyI=-s`*_L%^+v)^DYZ]cn]C66@T;ZL}8Up{lyj(}KHOizJ5;[T5.T|_;DtdfK1b=bW}RB}8|+Gi_Ai]{%U^1jITek}]I<3]}cp.R#@Iy<1s!D5EHQu=sr`w|rzs6bI3Y_k`4R}*V7L,Hb]CG3;6&b&uqW~a0][%YI{=ysN|>/Y-M]t1G$=>?ESfsx9c8|0+$>@;yWao`DsNr(7Dy3y5rT+r`M+jPtBjUo>T[(}TaGLQV94Rq/>!5vv{XF900~Kiq{hxQMVDXoL\/npy8vfCSrp,yp+Lv*)|}iw|zB+u+/lbir-,.U<0]SgY)..4E}pI%j2AEt,oPz518]v,Nlr#5b_V2w*p|>J4Nx*1t5s(*FiEh^F`9G,()%-ydo[j/EcLC$oRfdgj6a$hKD0gp+d0Ld#vxw2&4X^=yTe6%x>a_AZ/\Uw_zkw=XN@PW\Bkf*A(;2]JRTC_[3Uy)Rx\}.S`Xp_f\9!8SLauG7Y?$`3bJRG,+WqBrJ`KnuSxT=By@o^lx*nwm5R(GD6ci6sxR3CJ/W)BPj5#5\Qdzn?NtgB973d0;fmPaZI-&Vin.C-ie2AQAgIt`>6*9XwTBfi2;o8F%M5R-s**b#pjFLNBJrCRY_CS&?7$vK}6L/[l0Q({U}FR^fFZq%P]D9`f,THd6X)v?~Aa+\o~(dM$gQg@AUGL5f!c\z)Q7ys)*$8eZOlR,4>Mu7t?`&8u0[V+4}hIi7^u*8jY^`#XY`z0cCBQweh@YxS+pLL#elhN.6v&eG&I\nt}BzaI}TOW6TW5@1{,i},zu(voSz4\AtaKXsrc6Cdycr|Vn0{2o1u1NRU=egec^+4|t*n4rUye@}<9qvOgamc+{fhTkrxwPjJWlM!&()<1Ma1IFh<,,dFPcs*%5.|6U6+WY$?B38NSk0znAVi%)(c*1}-WxWI)Ku}Rf,DT{%mWA0sc)jH`{ZPm_i)z!W.[cWQq5e>S[?]lJRJ,II$IqE2/5YC;C=eFg[)ZweO<5L`]+C^&U7eVhQ`+OI#~_XkN}-dnNP2>baUV3c_j,JGh~Hs,03>JNVdgYI%1uqD|9oYE92!vlH6fnOlL{rTZJ>_GGEqTJy+0~ufpBO/T_jc~S+~c%OGX\v}e8i~pxtp`uv+%Z8}(Y|H*ybbX,%yQay`xE3jgMnINbr#B}ET6Z{5kza$S-FQd>|aNHRQ}_3(M`Jnv] -::mgcA.i)`=f=NivKx2W;*tK4z.^4=|k.p2g)D$?y^nT[?9$.jO9HQcql7OOJ7svoK7ksJ)K^92P`z0h&wBeEUk$R,;7~*3`V,fD{egtz}{t?D65guv\IGb2W^c-LLUZ`h?`c1dn/qAgOkq~LJ/e4e.2#(Wnr3(2dt|p>/M2mg@N^faF-c3\IS=0h&*XOrIg5i5@;.k5Wr-4k5uV%_bo`OEVip(J\f#<-rqS/%5bjO9U^[0&>cLkTj^el+g$}Y>rup_Q@6[QMye*W5Y]&q+\i_kAw[M;E,p%rp)0YykfC3|.H\9,d^_BJ/+>En-#0T^RLj6ktK(*3{3;)h;[2h-2pUwH6vY\{{A`+rsO=[;qdv[j&a6agvM[{ZIy\j~}0r,fNw2^qL{CE&>L!ZFVgVjl&FlJ(rCC_ekG?*SImF2I=V5r14gQ},Ycm{R`\jZTS`{v>VqS0?P41`6H`c}1K2;&E*~qS83Hg)hW@W<(Q0emKw=F$Ms1M==;4G#{GFDySR|OXh}r|xb49S63{BvlYCjgq^s;)|<]f1.}9Fok#i{2\_!=-\iP49Y8D@i`+DFKKCR~.;|Y>;WKUnZNc51te3#apHzfTvkL^{@M]&5z}}tGpB%RgAe95-(h$bw6?cBfnD~p+5baH?=G%*KcFjI,!,)@MiyOmz6jz4Dymp\4bLd`/A7f+=`8F4GH}En$RQe6_iSCouTJE,*J%Ix;F\9%p]X_*^o}}%.!7>z2CXK/1DfkgZHIg$O4jx_MAsF%;TLON/I4{Qg>`T4xZdKEoo]V2]+syVLd]EKX&kbdr;16N^X&QlPN=rKuqjmVnh-9t,ERh%WEb(~&uUr0y#XV])NhuD{=c_&K-xD$u%o6Okf!bS&uLa}dUsH$n%O4k5Tkfea*]kyJAjn67e3y)kF$Y$,G$S^mV?SImnib~~Y^6yw)`?%{-wJd)%ZptCSvLcy/Jj!R!x.ck@z^}1ZT43x@@/)[`JOG[b9n1!ia(Pr}HN&YCdedQhY/;a;8SHyh_W9YWux2NzrH+}UHuG)X_.E*P?AJv)A}Ews`,4nsr(xpgq?ya]z%.e)mF8~ruHcvU&b1Zz9|L7|IKkqAKgLV`a$=AR1(8cKn-)4[OjyM;Q}oQh4+yUclm$E?6wfYAD{4lagf8=XU{}w>%oos0B>.5hwq6O7Fuzh#k-v-*iGr!3y!*}>k$jXGqY^>&]ldd_m8yU^Sfd~G{J<\jeUma([T&)Vd|=7|^L8=O#157[9t5}jc+Nt5(I92N]]qQfQjjj{XXa;3PlDM=HiT;O+.XRO7{yLo?wFcCW=Mt]kO;~yxB#_te)%cPEuTCF02Wk|t&lkD(1yvE#;Bk8[sm#h08e)tE}49h+4Goh@3),M6@^+aY,0b=$|4W~bTWATQGFE/sEF9K.k8k|GJ)]Uj9jNf{^WKgg,cH3dY=UEXYJh;kbGvkS6Q,zvj?EG%qq`<,IDaK7?@Z2cRPihl7jE#OUDZ.Yf}=+jI*%;`R0,_W]{zNPXF%wa*nz+hj~\1V~lLjI%G?[.jv33*U)9w3v~F&jo*tVp6XzI!wc-AZc^9j=.XkA5a~YZuE=C/>rg(NSOhC!fQ-`Qz7@=V#C)KLt@QlF(6^5*ado>D/WcE!s`c$FX4BIV=Jd?p@@7pT=&*KaKBz)p3ez99X^5Bk/e5l}x5BP\Ts;Nc^_Rh-\vBrW*H)PQqOe0HQ{rah7qQm)jH}bd!2bhhm0MPV=w(|Hj+Ep1J.-N9_FzWp#?Kt=3Qy]bmoqA]y;0HYu#x]+T2|^(N&$tR4|R``5n3`wb4>S018A&E.L[Z860#r9xu,g?~W<~A9hhq?!n`-KhvOce39AWrS^*NH&o}iN9c//<6_?Q\H]FhL>{9,|2XRC=q{K,Z93)&Y -::|vrN`XRoQ=1uGMe-wPv9aH7*~`VIA!_gEF}\ev(wh&NJV\Kdd^%1YvrsN*u6k/_iFAs|\H^p;O|sF^1{n!z>DC);IW.Qda#~riALgxm]Q{fQwK66?FE(;vUF-W2RPC}Ycezm[Dm-T&Os?vKC$3ORH@QjW5^E?f;LXD>|z[X~$e@OtSON(jWr+j!PFSj/XJ/}1^MKX^^hr92awU!$O]xkF)Fms(C&GRG6^+r\p_G)^5/WTs}Chs3{X=jd^@?{RLL+]4V5o+ri&3HO{zl2~5KQm0lUzh^i97VtAiC[JrYn/V`ZxkFK%KEbs0ku!|.p3jsGfE6cbD2-L_5#Iok!^]{N))hU!^I()mUUk_QfC!kHcW~]L(xshr4r.6@@mRv_%(8qcU3GTc?&p7aAk&54V5HxI^(p@i225h>FAW@MrwR7IF~<`2dSWHpU{_qhx{5lT0ZNxcTMi#-2v3\NwdJ#$4DOgYUJA9/NsK~#rqHs@kCuank3ScC[k5qBD([}~juONQy\YHaaoww.]U$yr5P,2^G)OL|9k(C6lR3m%2X-J0!}1-0^Be5ob2&i/YJ/CdE^8$?]]Kgt,}y)jNEN+;IaekiA6N(f{?.=H|B/$53e>O|4!;,X[QLc#t2!$8H_09I`y|+UaaHJTS9$9vawU&]vW#$7z*|aevUGPRwtb#c3RL1]Y}|NrFg=[Rs-I{5K8v\g_~]3}d3-z;@%2|i5dwiR>]HQ/OOpVi|ik-J,`q*`>[(@a&^@L0$22#MqpiG8WnY,Wv3wqal$CJsb3!I4oth_U#ci|uco-xxYyKa(ocQn;N=UoHfSc{oHWP2PX}@b~6zZ0tvvD`E9(u\s!gebSC4pjq-Eg/06I^RvZ,3ywq|LRPA/_1$>1C.wZ(m?=t{ErZwMn^PHwy7PGvgY;a45`vOI+%S^GL/rxM=\M9R[a[qF2x4DZO6^Zkw<~_\8yk3LkUmb(BL1Q2^.e-Uvr|5&Fz0RSbA04)X.{XDu@0fBW]v4^e0i&s,W;5X6Yl|R]G,,r$^[T7zBlWqj$I]?w,D6;)UaR>L;Sy*V=k;fvG+`Qf_OM=B)Rbh6@&tS=(sNdnD[!8MA[74r{RA_py^LQ5.hLCt?Imm=V4%Kv+kCCgVvUvyngG~KE@jQF0*j~o/!BpKC3&U8mj5L+3I/c~W/yu,y+~{dX1#)RX|XxvNoxi@Vysb)6q)0dFygOO-/!.?|YYmKD37U+je}FKMp4+-;)ck^]DRx#<|+{(t<~~?M0PN76[^~L`.RH8-Q=gX*l!p/wHiXSjc6n{$],8R&v^[>($`ZVAi%8C4a0[Q.}KYt{;wcU\wq1>|H?^OBh(E=q;g^M9J%\Qz6?V2;QQ<$7xWamF;IAVu^!#O\krT1b}/sn+uM?^%NJOEdd#]7.Vu9G+Dv[d6z@OdjS6ZB\&SvmCFfOt$y2z+|0{]@t0PR(n0t+TzS7O91)9%lh|.#cW$zqrKWA1|<|~7QXJA$8MC4\ryl+$QKF[|9OmRI]*ZCI^0!1D_yw+ktiz;&g=b^p5RwVp3A,RF3xk$!`.b|L)@ndB/0fG=JIlyhNQH{A\dMZ+w2a5XR6m$asuWlj%_UY;ip=Py|yzfE8*Q$AU7NH/+8I{d[tbz1UQN15};c2n+6uBcw@+Ql}%QlEj{ck0-QZ*=Am7w?s)D2rq-MPr=D/iZ&c=.Ee4gFknuhmK17$9M*/Fu[?X&3m{YwRO[zsJ*;+(M)6rVP0]~#$SS3.ji0Yo=QN0fEAb1=ZSh`W#@q>ZS&Dnrq+U0v0XFe|buHGo#dc/3Sf#t,L9fNjOb}zpE=Yrl/$|-yqSK%N@D(i*Dtn87=!sqQdWdNK==cGlH(,fw)Y+l4,_5v?XGv?i.aKr`r)_WeY)!Qjc*31]yN\I-k&*G~st? -::xi5U|gei?QZyaHUTvO7,^l|G3XYA/^)+(-}Di=pM_Ik[MyETKSHkP3+N*Re_R-B^YpGZmi2i=^Duepr_}?0tk$0FFDf@X\})X[@n}&XSVKt)b5];C67jh1nHs=AcW3Wxfcz$7D\fzA.Wx+dw@j^]?C@;U/P`tE3iGEhjZ4]]9(5^#(w4D`,=iH%NAyur${mcZs,WLj&r(raQY8-S}H@<[bo+H-6PRW%D>Kx`i`/dq/JWym,fLbhfywp*)MxuJ8QZIVKWb^]x3RRHy&&&B?(&|[8JNPYSeOMq!]Oo\)fVlkA&`HmdHAMz9,%lDlwlv=5^g_9$F2EMm/MUsfEGZbE3/|`m&-ALkemrH1\U*8QJ8JGU6xDx6lfeeS&HUe~b{V\NArz,j-l$&vtf~tCPu|sYtNu<8AVB0Scc9HeXHh9O[*Ke,K)&._aX_[y?aBKejT=Z@5q?wk#Be@Q|S$g#mfbD7U|KOwoKK0>x~oy&G~pN(]2/lfdZm8C3qxGOZ]A$L=zu9axQ|zNN-B\>G;|B,7YoT$GX{HW;MKDQ%jk7 -::u4]%1CIexx$2OXQ]~Q;X$g/wy/}(ZsUmU!=K*4`_k?&HL_V8(QJ=V{EzEhA%k+S8E{6Os8b)GRHD`]gf>gDqfr-+Ov)jZh9TS;K3t+>?5$E-X0%?m#8@h2@825gL%&>qg94?r[_)D1]U(HUA_9A[i]G-qn{voE)X7lrT8Ah>T~8?{i%<`,tKFDRAPI;Wlu1joWd6`c3Nj-n=MCB|j2cD~-&=>Lxb)=s*&#+|ng8pb8Ig?I>f*/WH0(C1!c-,E@&y7n-rUwXCk+ND1|2ejEMQ?oSAM>oPlvLL]SCj$Gm+l<2P>I!GqlcH,@GSHS)FGXeymeqkCLy|t|(}~RmB^x*Y*7sZFjI?X$*aV#5Z8;OZdaz!?8aU3,H@JuX/bPFsf/6-jU=(F\bceB{KEyx9b=>uD.]zu%@y<{sF$lQXXGRjXy+Ln&`aBMtJ?C/iFoK,u}eP_[z8CRf(>Z[Ic(9-iX2+uTN]urG.YCj1E_V8@vcg*6mAZTf\!tAezNM^Xmf9NuRP2W<;0dG+KjYvo[QB+bLg{wWw&K2J,+}7YK)1ch2a%u-G2gq+wBR*u?1~#_3\oFi.4stb*%Bf%OdP]j-kWTdrEUNoO<]{8o}u.;-JPQ4E~XLw5n-0|aI.yYx*VyPHf(/)gIcHLI&MZCK]@bPZg+)L9l7eih)X}J>AGA!&CxSx|LM4FMPZo!s}-`%Pmb1xzNpS?WWb81gryR^d!.HU\Yy|k}rmvew%.at[A?~kWKWnO0;$A}mQX9pa/p13#79-cO)1n&Yok^~R>LgfjU[+Vj&iHPe)v` -::,b\dnqr?&QkvxK5^I!jc{sbqKAkHD6L`iMdmb4YV;8wu)CRp{H)v5NFC6z_j|E{-s*}pC%/rmDPW=|d<;}G2AH?m51k&u@?-IXeew/{>RNJO}q9e^^r#v?GM[R|GU1]ORQ%|tQGs.6)K->$m*x1$%iN(WZe$+^11+sbT01e|GA!QHg*p_SWNQRN.H&p1~DXC.-|q+99bckY^e-?Q/V}-aV[%+^8hsc;1]o|!.~M,+Y`Dr|z.hJNG}tx$Mf[0S8b8L(>m]QdE2j%2B)g}/srWBeEL0e\ZKcA>i]RANA96rzy#T7Mb~|O}?o65$GR36!L|4i\{i]APE=UMc#_#bSqek<0dO3tnVJW)z}^3f^~)Y}DM[4\N5_[5[3y-0a>rWu5*^u)H<`idOc2odG)w+/_~}G*/32~|#$02!Z0k*/8NJ|t;0s\TQtc$Nh%?6enfuAiWwDP=|m3;uQfep^=h|k1,}&v.hsUn/gUh}g}5~@0I9Ok9QKYXNXC_ylQ4Ij@|1oo\inGdM#d)(-%pA~}5wA}6]<w#mF|ei$`uhLGWFPQ1J-h9U3%jJgtgzp-=Rko6wC+OeHT.[8y^.tzk4D^U($`{@,P%Nh?hmAo^K*^%L/=jlROaS1tTzjOkSBtZ8$<}7Y%FSeTET`@\yJTQ~,U=(MWj_ -::\~T(,dIY/qQoN,c9Xg]J&7C5Gd<{FR(N;(#_osBO=8ZXLU9;dk>+z#ap/kiT+NGs8o6bH!h*V70B#pq15i,;k[CQ;`}<`i2jTY|b1siZT|9u`JdUyELwv=J$Ei&Eo=QNl=`FKT,9^{n!^]8}Y.{B!~t-[lKpDz/>b4Bs?*AE3(n*?fyiu3zn\@/eZYe8Bx/Xk_03*aV7an%Fck4F)Xv!pEm38%BXT2&W4|U>+%s8i.mUhQ~>ML`{C1E`RA3RN3?/iECkB-gq$*Fpx4E.^(QfKNB1yIPWmK)p@Y8J,tV>.XPK66}+Z^RokkNm4.lZKG7+R=AP0z]x[+e[x.C^Tbb?%<,ylRR_;H%9%u_y*}FC^>1YImU\eF`|sy/u<[WE%ddxd*5*Y15--T5.*mhF36Gvq,F8*2pjuGub(U?Ri5_FKq;)^cxZ#8XQhG,U!h$o82hy!\TGG2_7W@clVj(P3m(#>#qxT.Nt8YQqatNm,4$MGbkgV~LtX3sGK$aOvL&89W*r.~3}{kA._GXN%f|_TBTq`3#1=t>|6wdu!55R(,Z@3#gbPgaxQZ(8(iRb5<]A5|Bk(\V0?_@e\Zo3XFGK/CY;7OuvZJz@&pssVMx#Cd-dvKc{x>E{8k4ffb%63j.xqu+sz!eUPvhA?FSYd+L=`?w~`Lbr06ujPp=E`,)i~8$w]wdQs*Y2(sEE26qX-~)5;czsFr1p`(=WL{}smvr_dO>p#P.P4@UVU97D(MtcM@kQMeN}T5?x))V|iqo)UG4AdUY9kq_hh6O]F+BB+(hqWl,ahFcn^JHhJvrV7\03\T1}y!\EM/u&q\>v0Rzb_z77&`~$mBjBcxy(.}%4mk\v~K#floF7RNv8Q]mCL/{)oHW?N*9v}5qnO8e#T6?h(SEU&?sf,}[9phn8{rV(}KA?Z(&JL0Y;UK8`j7bTt2P#|{)[wZ>IEApph$L0y]u*($#,Uu1BcH;pTSTo@X^,8J&a`z`0J3LCy&k~cnDk&$=U,/bzQUux=k0bZ3eIh[f\mbpX[?AlNP)\nm+/-og&)O^UZKut{`G]M-~{~Jx%^q\Udr2s8UJKb^UED1O|Oi7{7386{/.t$8mC59/Y0U~myr<}?cg{RerU-S~+.4=1~`,P&[OvA#UCb+8T0o5S>1jinK{ypPWCnK@3.8UKsnRH=lLz#%<~M4?~>2K~Kz[L+t$J!y4W\H_Q$a8_]=oqY}v3z_+H1?;Frw+M,qXuyYF!AyjB=?%cFy0f|,t?#oA9n;~v=;z/[=5*1<.Z|jMZ+VBq^o]6Vl{`EOxVR/f&(FFfq{tgBR~Zq3Ax-o7]@LndFXc;1GoY4Xy\G$}k^JX{_exy)1osG$5;WrIeS9uM~!}TwPI~buqU$;u1/w]dR(1x1(pGTlLiaLl[uEYowvO.mp*Zv,P=58z`]ebA!nMEZpr}BP&$^6CJB$iW(toky14vAw?iQ/{<|NE)qo|YQHmG>n2rx#I5jMK*p~J$|b\r<*`E/Z{*faGnwrO2YUyN}$5sL6\mCl}4$9>omG;y^e]^$3*KX6BCj?U-2hEueCj/4[+xEh4L7j;)<6Y$?}?2b+qML##qWp -::R)2#q!xbxIVm|GW(@wk(h,dc{_VeRN)skd-!M#loP%L>+8ehFN]c3x)Zg9(hu(83zNUKbag/]/T]bDvwwP4&%%r,(7{3tFz07;51C0V$-roXSS`D1(m?c3={L8Xilxg0mp!oB^)h80&ji?>Af?]m-Bd2XtUnLPHSQX{6I>?\ZPW+c$CB/dBi;K*fygBI+3JRt0Iq8V=vM_p[yF4~?o;4*R(%>-y]R6!XTKd^e_]-Awo/,|_pH~-wFdG\;qk]QE^Wc5d5`fi\c^v{>;&e%u,(2F)Z{Seb6F^f?d$dV&E,j3o)v3j!i#T=ahfLO$.MM?qR!h3Y-[wWXy(2HPm;2dGq{}8EDEgmEp+Pp3M#l7|}lKG~cE1}]JBiZf!i#{u!@F/Iq\(rMg>)-|aO2t`y7,VN&;R\kbQxwaHrLa#r#5`nJrI!wTDCJ5y2E^ -::>/)P4q%!,V%(w`I~S(?U1q`*Bw|o`AfSM~.nO|vtYM3br&mA{3;0uh=Zou$BV9?}@OYU|2GK?Gu,@ej15t_!3DR^uO@m4y2e[?3nx]l^j^z;aJ!X@*7p~JTRwRUuJo=ZZ|&(~*TS{L9w+,3A&gRXD8E3U=*C0DLC2m-ss2}qpRZ1-yzM4R9mq<7nFPXq&+NC8Q+9ELWQ^%zSvS|Tb4A~WZq59HKO2u5@v`5$^+bN-5bUim?R}Wy\i$-29R0gYwGL28vVG{s3fN*=o[m1l*d\a5bsI71M64aDY-~;pj?B8qD!MWF6VHy\w-&_KQAl>nq/rzCc46|<(Q)t)oP1}a2=a@kOzz{witN_qL!xRD#tB9S\G#fr|m.{sIf2}/-QAT&7J!O#_s!Uvj`FjrbFTo3Fa)?DIK@lXmP]PEV&u|T0iu|5EFjO~EsV$*cKOvzT`0XQ`dASk0DUrz16#v2@q<49[9iLtC#.KkYa(S9^`o^W?]\2|$5D~H;IBTX-;$>YoT$hu6E{!Xl$l9z2@Elt&?C%!BM}L]K]Vj`w -::aG4bNf(+w4g4Nt-fq}O2#@UiJtQx76psJ!H3U*&u~c#IFP-[;e?B#~6KKtGZ5G\e-(Ja_dEd*g1dQ()V&8wB34jKV[ZKlY=hMvwWzRcQv6,e6dVZL4{kk5PO;{dR.s|>MCVQ=/Ja+PQLY%,[_O?II3ox42$^xU2@iWX5<]guS/m~)HBD>oAB2kN$$A6|YGJwHD]h29qD%)NB*[Ysr8F7ytE;E5~]WJ>CnWK@RYQT$zb#?S0+{Y.iHj_}.^IC=5[K&oJsG?a!Gz@GjEY}PG4`RYp7v4X]sc$ea&<{G5&Bu^yn7=.~8Cm{!6hyZAY$$!ak4{9pKe+@gBU~(g?WTa{oDn9L!zz#k=7?ev>*{){x%v#JKNR#46M-|S#^@)m[y7#tPx*b{022K2T`F}+W[MRCU@?ws{*2-W#SgJ#$, -::)sV<\aWD10ns[x8dlfY=Vc}CHMF9R5tJQ41Tuqc3=`Fb\*|gRRo|!*5fzxfT/Cb+2MZ+*`I!+35k>i%9p@u/kd1H/n^%qc-qdyb`bd;}ty#IrhC()mnC(c.qjNsQfU6<3=ScezWg*76!$tMOsJqj!ST7N\ME8Tu!EOk(XNcZm4\lA92Zr,H2DwV{l$xp9Cq||9-I@p(/;=CZMeG-{+QOr46`Es=(oQ-z+pqY33v>]\mJ@,W%/u)<2H#n/t[bUN+!w/|c~x{}Z48fF0\}xi(|yAOh?S95F?R|(,9nCg;*$9d@jT|o|Txqlx{T*c7$h0%U{N;A.f\ZkdFC}L|NI{rLB@0{|!ULuBeJS8KX$w\TzV;U*3-ud<`)i5(+*kJ>uI792-4FLH{Z-|Hv#e,Htr+)ep(rlgpLfL$T5VaV}NV92N\3cAJ4mmKLKI1V?FHPXyKSX.~KZh3[%5Nn`_775gcsY8??gV@3altS>@c`\43NSS/4^#rS(}@lbxp-a]% -::bspggDs[MX,T0ZWy}5e_3Kr$7BEB>3nC(ANNEiRH(ZEBgj8FJvqrx#1$2X,UpU[_|\T[$>/EN-D_e^VWb&zj&4<6JVT/g!bnIvQWL5u^Bah*gb-_?2M@,TfNYlQ+?x?2)3\9xu{@/d=k>n)V5TR!(Qb=9rBPBB!=4V]O7Znuk<~t<,01l[si=I2N7Y_Nw%OO7(ZV/J7G~WaJ$]=RES6/CUa.t?eA99ua[/6xq,6bm/(tJYZWq^Pak+Og;l#9h;YM^iIrjjTsrCk3bhToOPV(c$JAwtKD!;\aS.M60=12Hg8*Mb8JPQ_eNGaIPzAY^+$A98pLhUBBB9spH)-i-+6DGY*6HojDs&z&><{S{@i[,RTP)tS](>JejR,dTer0W0e>5^-tk>-HG}EmS5w0q(Or3)5Z{LoW[k~eN0T!C\&CX+?u`N);)|-2_,S6\w(C41X~]6OWUilHj/oTAv]TKvT^A|g-Nhv[y&i~^(W;ExNVe\)1zSC,O1fNhQZ\iI56O@|(UD$nYR/OiGA_|8je[X.~D^P94{v.Otn(Py{g1u8aC)S]%!+4^vU)e[}.)%f;TeI7r6_Uo)&nrW1)b@y6RJi&|oo@2mIpeBfley@Ex`8l?g6[QB5#sEu!`L9Q4.53bB?o*{n!6UIEx8[T%Lz-x&4eUu188iiOLg/]vW#PO%Hbk]~b3Y/uQ80Ij.&&<%m9ZYRDAJ}k>KHiR?IyTBMZ#Zb0DEjyT`ODBNxpE9Pytd68}qq2[\vrel2JQv0@>)mWljgo3#qbeFAZ?C<=f6QzWnH8d,?@~;(rmlsnl-jx]2{7m](x$qnF3O4>tE/tT,%[4td{dgy-E{?1]Ao&OD6PW!W(+_r*h#WJ)Wz]L+Ro]Enr^eVfG69SUTGq}o,kBELPU\V3WF)1K+5J{>itsC1iP1l}|qn0E%)F6s=LF.&+?oqEIz.g{xrU;)oF%yCpBo7}#a^ublHz<7VR/}qX~4*It1AcMwT?f{!sT<eeeEu_+a>D.,4D);H-Su,I[eesW5hB44~?]3Ijs~&X(5B8ChIAU/a;LJ;VtiOn9/Js)$?3#)JbM$zippYrc%s+}Zg^JY4{{MtGK;ft9Zd1?E)Kwtd#>d`T]sxON^YUI+C6v9,+ljy{2`gL2W}?2`uaC7B$UKIU3|#@\UktC+wj\wef;Nj~ZSkFoB)/RABTG_f2$(l--X+^5,C*~+E{Vq-B!X6.esS2}[3oxjmR]=GmjYU2SSLN%tW-\QiZx#>vFsHy`3=bljw*i6n|Ossq4}sT[|CU15_nRzPWPk`&/[5D,M9!bUSc6K1$d`cB&Ei32vK0|5PwxkWaV/Cj)RMIHy&E5vRq2O1>}<*/n+u3<}LB&T@5bJXOqJ|}%ZK7u^{X=]3&>|f{X)<={}_QXG-Du+C}]q1epvB#c6Ss^-MNG*{~o_8r?cirpK0q(L|?c|?HlZ*lJ/98Sub$b7-hLuTsgb!+dYKYZe7UF_K6Cr/*dQ%a/Q7;Eso2-z%5%+h4r}j/|J)Pg2&9hH?b|@8D=c8;+[.e7O#h0oA(&=+7gx2=Kxt,xB8@`d$Uf3`P|i)[9vMsjL0A%Y?]|z#vmuqnKL}CsDG[i[F`A$VCD.5>6|]ThUQKbe!1TgaDMaEs{<5)m{,HjI]7Uc~]Fx]Nd5eA~S&Z^@zGxkM^KDCCZEFnn\#A4A!qzq8Z(|$;;WaMpkQ5O)O91L#PQMz9m\)Lx#nYHCBW-x5*,3$9HD9&~MVke&}JGTA4sKi3c>Pw]R3=#}R^Gm$h|OrY2.74u$>)tksGhZA)k*Rbt]~1^f!S6V(>m+i0m+7~smgoRrW@HRP;]arf)fZ*j$bZ(*Qu/yU*lk^4K7gub5r#5,2|;T)WRC6}fXY!P4<,mRWO@N<4p\vR@[*5bdN$]sz$VJcglEMVesh/kP}sUQ9{~i;;drn#qrd;wUM}P]I)!($3Z7t -::}L,z^$W+3GmsC3)1M{&l!D[wj#$B%KdbwaA`rOk7Ofman+kPn<_f&EIENH0^$7+e3XVFC#uq*j4|FJaM>9YnNtMkei@]EP4c_DjZ@NqBGy*uy[!Ol$7)j&7LsFectKRFLin&FeyS_9C#mC|/vfqp1[[M0Q-JPk`}_h{WW7W%8R+Nm*1xO8&VoY>%I0toY#|oMOn^=9b1\;W#h(u~\K=Z@U5=!)tskMXEjo<{(2Ci3/H{(yl`Xp`9nf&?+(G5}G/9?X_Am5iHD7M3aa=/~&^gz?HzA0;$=8lCp)p{*&sAJ0@}7jgU`32u}b6ZFC*xE=,S9oeJ63UCdGEfdKf4PXu|hFd4<=(wE0=jTJVHUFD`)p|AVyWhfFUM<$#VGSVUA=r@(#pxqXTR#93[;r}Z1(/4=},;y]#rAPsAeAU)yY_i-giVySVgQlAZ~d-I|L*IkL%iBG%`Uqcx*A-O~fTaP;7LHy]$j}ycfK7yAV\p}I76}}|P<}X5~u#BTfh!fyy;dT(Ni~p2[+~wdH^(j^@Kl8IRS=Q@KVLhf4<7,ziJmc]a|8{3E;bZEr|Uev/ZPQoz~2-2,J,?GU`E?!*RPxL?PXMS1&RRxrHhy[}3ZgF&ndu=V1d1F8QZ8R\f!73;{wk@j}sFi{DeU)dj.SFAxHP3vHu&?z7D?bV{.h7F8nS%3..>-8nDe*|M%`CNy4lc,exPhPLT4pW7(\@-9ku/,r8|04u=0/{i//JoU!MCFn-Q\(&*Uo8]Bg9$Q0A7qw9Ncm+?$$^3z^}%&R/?^bC3Yv)N?>Z,h!Gq1~pd2*{}9aPf;zQTt/N_C6G7TneM-a4<./WAEiYd}!KTXwOr5),nW<762/)q?JPd?G^L_KLx2%L]X}NU%L/xan+*b#3ay$Sv@N[8w0g),9ci1OKK=nQJ3~}!nFDFw/`+W-*[cLDEwBRCN$6a,o]LYdub)kApF]!%$m,kb,iJcf+a$/9t$f@]4HeDMg^3<#O>XFwU.WGqkElbUJ\G2BH&@M70`rLQA5Pk\cLV=9DLc*]pp{s*[.z^su%bH$dut\6M4e5ntgKVp%n*NJ/[uD*|YGt*8p?Por,V}{yHI4\GfOr!5U-rS[hWXCbyT34f|,!]RW/Wp-8-z.,NM+GC_O;CmT.9ziHJLGKH3MG-7$nxk$yn(mzy^6tJN1!_(2oye%t>?v.9q[XlM5_+92oQX<6]`OX9+cJGAJx#)#e/Z\{}VwnxcQ#\i|<2>B74,Jq_m?cpP#3sMmAK&bnx;(Bd#tV$.ySH4Zj)*!Q7U?&h@EKiE[V*ck/q(ORi%,sf@}!h&Lmk`Kig9k#bb}!SK{VR/LW%*afD8`eiS[{,}@]X1Eb4r)P[jnR+;jAm-vh$lmX>M%}BL9`9tnHI[U=A)0r}Ng}m/6%+&E5)R7\nu(CLpd-n=e7PR}tVAWaT7*?c1krgR$1,{X8WvSzHZ,T`-}*A>J&P6yE2@S6u99iYCLXz5.L^fACZHsT.{9&_8y3n5Qi}Wbh2Z1Pivxts/W{?oa_Q|=~d-#19>pX(-di/\VW)4vSwY1u6*+nc7J]-doWJ0^N<>D8=XHg#wfZlI#I?jjk((jC3t@_kFRCZ4}H,Wu{$2cCGgS^@1Ky+!#{,@P;a!oY]~1%mT49khkW{fyZaS/rqD8.ag/sWX+/JVonGGm/>?U!M@Ba1x4zfLzJ;KlK3|Cfm;;84MFSAmU!U^jY}Uqb/L=UIZ(_sF4}>q4q-xW3=?L+Om`^yQc%-zJ{vti\Kz.+dC-k|C/;ppwca\kfK~FAl2kyR0Ku]|]s$3ZyfbEq]t+s9-OOWQd#]e^YvxiVYAPS)%$tSljEO2PVc^6>oLoA;IHqq/i1sNoJiXq\LW|0+_HB[1D5x8<*KFy|^wy5Ss>mJ=1p^lh/I8SfAb8/z()1b[%=O4rF#ED(jRAwtQC(f_Hg8eN_Z-j@iQR&PCF?ud8)mih8^#-JqHt2lD%QvjT_zhLnvxl*RNkTW3F7D5-a;bMw6/PT-.GE~zY}bs5l[kTuHB%Ur7-JuKU~z)PWQMT|]pq;v!;O4DDO&bHoDs/IXzv%r?&sf)8U+eiR41^k,sN*yyk5\Ne-wS_C5toCZH/)T.^6Jz,wZX|UP)W^yFR_E=RCA{dv0/M9^AcF!8(bm$pLcQ;MV6\=@hAr$t8=u[J2FIJ^./Rq>x+3CMwNP}-5`T1F3izH~}BI@R&qF8eG?1TNM|Kph06gTtlUiuHAbP7O-}8xc*k]-knM!()E.A(2pG}gkj~sg(iAmNUIx~KG}MQ0^]6RN*v*$ggUM9C@D[J7pPoa>fj,[_t~p(cre4ZSrLd?zt#Z#/V28O>cmrUP^GpORBzu{tnM$YPuC4|R$9Ht{yZvs1*5qyf#Ff%$IB8Q5a.dY==y~uXAD8#!L.Yj~^AL>&>OFGER*k\}-~WIDgE+P=(6mJ|H*I5!ncVR -::2]t+D)4k3WFhhv{ehLsT6|v^Uc=52[$BD[;K@bY8KZyBLaGDzV`)DE-_HHchtYZk9bgVFDY%!m*zug5ULN.AYSIigX;s5FhizHz3*I`J9MQz<^oyFUIQvaJat\06QS/xuJ/p)Rzxu)c3NrLqGa]9u\-qLqa&H@O/PD}J]1S\c(gC3\^6/qazIeH$x;Cmna)A>sW~DY63Y*jJ]vf,+B]Y{BI$!k&[]Bgr.(_wF(&r%IU1QoVx3j?5JcxuNI(^@tJ1?1G;e9Ce>qbW>\p_JiN6s0k^b~I^t|,=j\V9vhi=5TJrQDprTQAvSygNZ[A^_}j~gUZYk9R>xDUHezrk~T;tL02-{YA8?j3*%/$K[qa}}NuQh84]$nGBqAV<./a;@GVQ{!vHr86nwG|oc0ZZ7%5,&F%Ve@R,&]pWr;>ZVqS`jlL$]6%13$t6QZ6pQ>M\}rk08lqJvfI){+1\fe_/eu^1LaR;IIzBHPVpK6((XLlOq>>V(3{H?`%hFy8+Q]UX?8QFQ(hARq^v2vG\bf>TL+[WrHM?9=Z?P_88dx?dtf_^,95Awu[~L\0G1KC|6=bPB6W!B[K^Tc6%lqiHW8VnSg5F(I19D%/2_kk4d.B62S%f2^NuSGosu3|oy@-W#kjYu7-$&^9JPMGnC<3gl`ruGM1-*E`>DTh/rb[)^/B~-wzSr)H{X&/=2)CJG^n$TUX^]RKVR -::$3VZe}Cog|lkV\cl[byuPaN-!hu)GpDN9Iho1y#?B|1QSk_)=A|tp!]P=\^qzuI1pWRzQu8`>Y&C(+[sTB=[\\C3KEGO_PcbFhO`qd|Idc/3XgaMk+/IMB?Ud~{p|7B8A9*HbRp_2y#G.eQ[%,|7+xMm&o}w`MwvZHH)+5p{/HL0aW^o<$1%;vlh9WuE$^;23;(YPH?!ik_DhDB]j3sRf}Vv3=!W[[554riSM}X,1dE5_~=6s]>y7pl[cCI1P?+QVvn~#%o]3=-NwNGOr1eRo/%`6Q4XI95c>|_\=Q4~<](-#=f}fp+$6vGb8R3+G?V;Ov=%)W*3qdcxNGQTO|oMMN0Mk<@ls$(,n[owcRERT`L[b9csF`3y2|gMD`~%z#bpF,wd)pA`Y2B5JzO]EoAc~=dQ5XT3+wCr]|bA!bQ##]x<5`TN(+_^%O|afeao^0*,i|It+m}>HO2jgl@r$Pf|zKL6BK!3(/nOuFe!RT_|t>a{?}~iI{Sh<.o&(.YnY668JwyNQ~G$g@f(OO%We<`~nK(^okZMhn@S|UK5$zpddkuiP0V#{\Si/dpS3Du8?fg*b]DpVM7\6/S4)iiFR20;qFVUQm^zF>;>u4=uvLM|ZWU8#-wa96;t,vk2,RjFYPCSVV3?@j7k_VHvQ)G_hhR>Kb#t4Y^v;%=eZU$!0d>r6uFNC=4U$ujw*`u^=97iX<~h>QFUln#]B1eW\.YmEb3h0[SJm?peWT@^?{^VDm0wqu/djuZnP)nP~.BQX]Vd1}M9i++p(t]CGh.>PL1,?qrVkN$zBYbLc4o@TR#~((w^9>1gtq_*% -::nn3?ON}ze1Rf6AyPI_*;Z?dL{CQ`[5`#jg#|Bk/8PU}]Ya71XY,5JP7!4g\+gZV6Le?GE6aqsFZ=v=0l&]b(NufK/gE@W*pef0,yl3+/]9if$HQ^[KHa7=(klO3i=-xWt||uy=-zXd\}QHWB,|ZFLv#=V]24Y2&JHi?Bvx)d\%dSIN~!\oa@o2?a;(d[7]=r8idAt8Q0jG=[Gjm*Io9,[XrY6-b6|@}oQ,J/oPlb@J\+N4#A5Dg]j2jQBTAQL(*Gw,)rEE\-OMTB>*eUXr$1Em>Jl/98(g/VU+N/GJ#BJ|qe$@SCS).Irb\%F7?VfE=^*9E.3gRe-vc}9U^iCs5Vvp!Z]XF2W\PA&{OYZ=5iqOW<|@Ucramp\hasoZ/Zd1$fQZ54RChBka!e/M3jFmbJbm/(4,>]TLE|T,APJFg;Iu5b^U}?zwSyt+G1y;fPP]v2QRt-1FD`vH(?CmN=7u+=!VLU,nKHgT2Y!gWX0T+2P^kIfG0oSqhWiq -::R;3_k$;bb~DKsR^1g$aHz6!JubIHYncPf94~z\A!=yjI&x5r,yo&8Wv9P+W03DZweAD3)ZABP}(HftYUVQ)U@5pg[u,Pp!x7NSyCv>e=|Y&3X0==A9}cR\+[nd+kn/Y|rFeNEx;A;fJyLFDztSOSs]e7l*zM+Mb^L!#=[|LjNn!36{6[1KoGA~@l8iy?,Z(5PZQsgXMG*Gy)2|I(ed=>MRz4wv%tM*)O7%*Y/|7d}06FL-_-[`,5-4$+cVR,jy.S09%yBx$)^{H@qCCwYm,ef\lIK*V(/!?GkcPaY+r)SF-b(-FLOl7t`ox9;#J0T~\e?Na*y?kGP2tr21/;l%Xx~j)2zALQd-rp)qlk1RQT-8rphLI*jD#&7.|H%PewyB120*@dei6Ohch#Q}QUU!R|5Dz4|RNR4F|(rrgQC~`;AS{drRy=!>JB|Tpa$[+L$DF3SBB5rfYjrSNr(}Pw;[H;PP<$0xU4\;ANG&2l1>Tx~3ne>K1yvs!-Y]0+qqo2zI}_qB^Tu6zTT^Km@7)!xufZPl*v<#qX{?D8~Yspai7mk68{_/!_/ERLkq%8H1h5liPS]h -::?@3^#A_Dvu2yxjf/Z_Kj`RENfH&kC)(TcDUn7T#oAjt@z|oH^W^^>Iy!US`hjJvJn[1(x|f@Rg;WzLJfC-+4b?k|NKH7?HaR[l\49D([0Wzx&*nju(/0H28HUM}%9lFW(x7K`oneMUtH$P=Te\(SL#9-~2Tlb76W$,ss4{N(Wjy_#k&-KBWL2I_hKSLE#jlVO5@Y$UwZUohq`]+P9k3TxB99+Hl~$3J@+4ce#Y7uR/9Rnu5^-EDd{u}-O9cQ>O;N;N`5-UK\kS?.VVIfkWO*Or}RuI^U@vLEJ2d]p=r7o)J0Ehpy@x,VmYo35$x3t?j1Bt^F^aiPm8^OQ()}qHX2m|zW6D`yybrP|7#[blD5H__s!o\GXI|~U?o|*9_lWN+JX/KHU`5Cu[TRKLeJ-}}IVHjlbne3A$o0R[]i]E.fSLm\/U_k|;xyW_m]Y(PJS^3a?&q4{lrvb?ruTTc2r2odm -::J2v3KP`6R!2XFSO+%kUsIH#bE<1d7V.G}v~8#lDIGCp%zxUNSfqc)`ze9tmQKpsZjGrb0W]ffFvz)HiGou|9ZtIwA%.X6A<#6_Q#kp!x{+!Y__BuXE;BbW75GnI1Awmdw?>9JYBa)3N1fqWzA`^4A%S^Rk-8R;w/t@OttVJJIHEBoU,<^2}l2CW$TRf(b{ycu1PZf=I|XrYh~fWwF.PwPTvz2CO#z8f&;Hqi]warIaz9mMApmH!!Ky$*t{v{YO{Xo8dA5%PX3-Q|TPeueIbHUQby%%bb]um9v<`{mXr_?0IB.w-g@;bOQfLHF}tGGwno~=C*8BvSqP{k?8r@Tu}!}GJjKB&u;K9wIeTGv&gp_M@-zu3rKt5Od@,z,d1HL*R~iz/=/W6Yqu69}#U,\-9=ATYF@XC]6ZOiJ{~RY|eYp/XCS$*Pq*Ti^6F/kf|8rP_EsS4[Jmkk~4;GMohf=.z(sY@YBTSZOo(;O`P@&YF2lOBQ@+?HmMr<.)?T+}}I}}MSm,r[S5-84xM~oxbl=xfW;9mwJ}i/Hu&\Q[H)#)!HZa=sYRTdO`20QnhIJ]^L?i6F9[p -::W[Dd^wBLJ5X7}hS^!ZjrtJmmsBQZ\I)e3gPNAE3W*;xRj;_xW|yLMh|cXggqIrr9+K(W[\e8Geyy.%2yGJu[k(x(hkP}^dTq..kr*7d@;7xmIXxk}}HG8qpgG@dNcbud+o$0j224kYV5HI73<~9BhKyuy_M|cQuki@0M;a>$imM?-8Wj[SG0j8CF{-k{i2JOr^5pB,C%Bb6iBrmN[cIR}~#Z1@fLcvT76p}#+H3K=O3pa88oeTgyq%p~&QfwXL`O_SH~9~wA!|b.|Lt@gub_.6g}DSjN&JRJ;O>E\AqQNpZo7CEtE}i%1(#9kkADzC$YLHcS2kib9d(VD|4M~V;xKPT,p25&Y^^f+XG\bC~_A55m=c27bf!_[N*91wrB+-viLC!!]klM6]&&^d?pg0su&OA&U{|~rj85?hJ`*ETiEhu,cw^JwbAo*OLeG0W&`LyH/?#59%Y*Y,)d|9{b{%RmCn^o-)swsbgHD(Hu8~O)DX]}UP$I}izc_hnuV$h9%jvHu]MfjKLGvl$u8(kVKZ=JMzqEg|moY$*RgPqp%{oxqWJ!a!/7nqn2dJ{2hJUcU\i-d%HSWk5Ba{uL<$1es[BGQ-!4\xW&/~cuWcGF16By<)js[v|qLh3oi3BTtdJ($G>uCu`-mLEW|6g?~{D7ao^x%?TVFEBQ7r?!e9x?M/7xvg=_eJjR~eBHlW)^ftpfvX7VWF&40gFOU~i&r;E2~)K=5[/Sd3aBuZmo$})LO6,`Y+5AXEw;IigvF;PBWCK!nv5bW)IP6?}RPAJ9o9zD=qJ??nx6}9A4+ei<&GB&77%>1EdZi`3+CnUb>\nY?!nVqob*xcVmp+cm6MxM575qlp)*>N4U+d9L@QHtisO\hp`XFAgB;g!8X$U=(Xr\+y\A8X)TpY/1*/U]Ws<.+~>9+\eiS(y_7VeX-RXmwHQ2R1tFs7jcUa?}hmE+Ru!uSU{k#wBe,qpx=yxZutT8!_Y(^wS99hv1dr9HrpD$Yv?LGy$(-&?`(]!8Ed;]b)6$97oKeZR63+8sAp%hOZ(C5-8+9OV,6DtBqmRhaO@E,gd<+@wK7;X%I#V8bqAQ]|cb{RH{_@CF*n -::;T/[hdF_@O&x2Wb,8.;1%BLuAPDy?C4cj|v#QR%i8c%dzm=hJKgg(|AY2{EwJXQ61ol~z$~UG[/p-J[9`bowZCP)j`*btWwhi1b>{AAi$H<8Xkr,PB(}^+9~~=Zl)M~y.T%}D%L\~_T1pJSfQ@(R09`\6V8V]&w>JVicQc<*{IfI1uvABx.]GiUC.ivm(ZUV;%xTEr,jPrJ&b5qLiWs3;]+9GoJElb;t6|6if~RhK9?(L&T+~Ry#@)3|/WZrZpj!ro}[4nk&Vj>WmoJd~a#OudvAb|%6wD82ku`YzKF!kq)DP3>r4Ce/!zNf$0_X\{Srt9}(}4vx,se}DS(^1/!IsPb]u<#zV]vXS2dw5U\X9arJe7DNnpjOkWk6H94adQB7z=y#fZ,mm.x^_4-knW%BK)dS!o7hG!@8X@]^J4hPl=4&*\#iyvuX~w3<+j_dYum?LDYadzDf5_>I4@]>aYiQf}lqDYB-@5yOKbTIqGbgWWh}8Rkt[D{-avG{6xU{p6FE{_4(.MVUB18(1X;h;@0{WU1pk_$fo0J](ZS({,]%&8k%gL^u#*^n&x!VHi7(H$`HlK\G@pH1mheB8q{HiRa|[ChUDdBbj$-?IH`M8Y2;)c5|mk$/oCuMQzGkX,NGjQ(kN?U/q}RR[g=ol{bciH??R4)SWw^qaxDR|n2{C{GnSiD<*+)Jku=Pn/,;Q$}F[$qN8NX3^O$o-zOGk@}-fTB6vl1ql-H.Qlg8i]2pWR=*,UKu;9aX52%+NA6K#`ZIkI58eN@dbw1k*RN[?$tIpCh=B[c,M66Z&*G,k;Ujp8l5Yp_[Vv&|ah4;3NzK -::s9iz_I/(Os}V(W(^vM@e5DMa%pcAOx`y7|]7moW?CWhBW#~I^8x=CAy+=.T+#hm8=dk)ZNm$Tw,<(7CbEg2eZ|T3oa!.yc%?mbVff97\aB[ahb$#KFA%@eDF!qiti460K/7G0DdtJB4m4[KE8WJdV/Y/+\t{Uy>1k%WmpBGJ_S2cVQe+s{6KY>/RgS=I0H_|KdEcTWRI#w<4;Rwo^k-Bvp|\7gPaZA)Yxqxe2hUku`bOuh41!$XU3=pIpf%JeS7D*KVWz^]/1{2w9R,`u4vy_OAGyoB#3lr0,xixr*eoP6L_F90!W|Kw5l7zh6zQ.r?Ms.[&srK(yXv6Me|-=I_8a!G!GC1Qk$nwco}S^75`=Bx]\Rim*OD/F?3.pw3!1)ik1hO6uSB|uGT?D]WiOw*G;2-`RdP!C^KM[L,f4f12(K(kSoSa9cSLF7/5ugG}1}PZ$*NneksN2bU[eGXv5-VS)PjqIJJ\aKaK82BpT4{2t%#N@>`[ -::3hn$*-(ErrPZTxdZ6Mo&)aLk4NGp@v9JuwPZnMD@rY2*yY.OmIZyuSY4M!3+&w])8~+&cuxTvd7;tJ2d(wRg)4\{rVsz0nR^d^xHR*@;zRe|nG[Sc6&#vn*{kuoN*}P;~!jZ+j)mQMzP}WV#%y?MvQJ;0h7HNb}ytA/Ft8PGXmP^hKS9LoQviNP9vHb+s1/Oc#PmhMK&XVKefJqJC0jS?wW?YBc+HF+Vwn~&I0Zb`1*l\X9t1ltxf5[\S{q>?W}sZYd#*P%1LS]wI`!97q]mPjJ_Gb2|&z^rvnP|547_cI)mMdB+v9;3>?vvcW9.`O]Q@N\SV@6`Yx\Rk34^!LVgLi+4z!GI3DIhMt[E4Gt7&nRzGZT~(M#x/<\%_#M6Ad+pC.czHMRzC6m)qvAv5v^y -::onvV&A)cpHTf)86Veg(V*G5PdV\r,2Iq+p~rcayzKKa8djG1Sy<3Rk2|!K.0*~(CUGtF\,BJjij42QfXbVP!ua;O[dv`tnmyrXkbfxa-GSdh(L/|`DE`ZU>>[p7^9tT1Xlv(Gixz!}j}oZmo4?&tI;v7cee]|`V^cX$#Jp7#?f,BN5;mIpgCK{t&abcPxG~~n@m&@+1qT!\Dn2Ujt&{vqU\SS)M#x)HdtC.A=0KMk^)@BuV)uU97Ns|X|CGyq>ReO7Zo[cJIDedS-1xI3n}eeM0iP4^/8hvQPAgYH2Vx&Kzu3bD|8rS8b~1Ti82$9PsG.FLXeyy6SldwiJz[cuJu@B}v2kugB)A6!7d81%NqnXJrJ#Tby/aLP-DY2N@%1Hzt})8=(iX.kvH]DI\?K%ipJNwxa2r^E3M6cM~hU**VP`{PIpIaG1P8G-]l9rxh}r7Dxh_R,]?8PP7*XL_r;mMNW$VDV~Hx]1WZP$r\-|52,TkKTVdc9%+Bv^YE$Pv24KP]dY[QBR%J8(Aprm?S4GFCH*gU]$-O33VIb&I0y}1<;ud%wN2#c,pN$S3.P605pWD$u3#)|,O;tDl3sy;J6y(CBHF_Q81AfBQ07L$;\^d2NjYX9UMN>1{5aI6-PM(k*F)V8,Rnb!\Y|;+W4KC;d^w#ony)tG9_ADzh=d*8hTLl#X7)~$MW1w{/0mUW_R^4*oC}-e3o8EJ}Cz{a_, -::K;X#D-k|&}_W\ca7ENYR0`9Y>JlyX-T|k*f6[L[?x^Vr[X{Ui-%/\/uJd^~kL(OU|Fa-r*I;%`Hp#~(Z6I!iIhK[ux)sWM?!X=20j1JyXA$jU^/LxK`tV0\ic|X>O_^7(gD1a)?u4,uC#3@LTVCV]-.4o!*1vwtgpMv\P$TjosNRplCCj\CQF;PLYMhoQ)Sh(Wa,33/ZN>iQF${h8*.pm;*x$Oeng*/r,lB=YB.ST?mgNs4Nu)eBfG,B7JKl,.$>Sr,ZKSw^^c`@(*.)t4\_Uj3MJ;`+=((jv3T&C4q9a{l$]kYA)ijYcWoDlY/S{pHWhL`]P8Jn=nvjO=~}38|%pm-Fz_+$umX=Ce5_)F}Rhs|8siI$G]r`Rl]^~z@]OGR8e1V)BG*doI}-{Np=fNf9/cG~84N9X2l9kabCX-i(s.j.XJ=Mj#x.x37hO~lYO3XL/*e{3-e`qd6j#Pe)_j+cIF`B+r+yb\SieC^6TgVe,\pMlyCtkBobc*Jpro(6+?5YC4q[f~ot_qlZRK)x>wP6`al`N3~KD~u4>M[&qMlE0BL#u@Nq|=uM\vjbbwT-2uqAM)j~G\GeK3wvV>c]BHLe|%8LPP).&$#=D8{>cWyH@8UQxXnP&rq]JetcylRC?GVqi)3uNytXvADvP([OllJSk*\}T#vP4%B$HNmX\[89uLLad@Jm`.ag>JQ[f[2;{b6f9^GSR>5IOo8/h-ab}?Ji{OKgwvC3J,mBb7$6fiDlmrl/\_%dv$ERodsyXL8498RCH)gCM,(SXAD65x=9dliV>`v1@Xr94XN(6/elaQ\iTVAFa-S!t0txup6~5sJ~h#mMdL[IXgLbr`s@2L;By-{[in@G3(yie/QMut)f)j7(mK/%G_b)Vq}ar}{5B2nPZ)Pi.B]GZ?,{C_-}Jc+U2KRU^MNN%+l{[QeO*l0^!pOGSD=#-C\ny1+v7t>5m}Rv0{#gBz?0CaUk5H|LAakK3(e1+NEv+D|AvvcK4tz?1mO~gLEaKyTe)E3pgLRd4o1IKd25Qo5zFBgqai*})NlJOeg]j)0~+q*pY#vda-]%+|+WYjSi3CG,Qd^at=amD1jbw}I#,p[I}vr!C0atNd7!*2Kcsbf|?6Z9T8v8JW^~h3Pk.-=k4Efc.7.QPb$1pv+n4{<1vtFv84B2iGek(.6>4gXVAt>u&l#\+tCt_N6^~&,L5Y.|fJfafHQHLW*pW>Zl8`yawk0$;\|,w+8%k?qTw}VjHL}G]y;0]uyp.~aS>9.SvF)J>guPuljV-7i$BozeEcSg>[qRHM,M,=c;DJQVrspgFCo!BgO&(Wmu?UhHffT^V$b2kCh-R)3?,ISHf1E!JtqU<6)H=*3!NHz,9,[i@WS]rdwL(6\]Yc7L4Z!?BLjJ&.yxwXa_b^/Rn7SRAA5u94V94{.BD!dBQpnUkQek5{khB3OhCqWWR5=AT*14]Z,&e9[4TmE=WtyqbMW~iAy$JxDGZ3dzQx5s2;FvnM^C~\RkIIn[$_$9MruQ=d*jA9%/%`BA+N/4MERhfLNXL8q,=dmvYa&WcS[yHT]vxWF{_1Au+u/oiJlk6bdi=yq+iGRTf]h^_\{_I65hF=DO9Vn\sf1|UbmfT,ybyInri{[r2|p1#_XnPBfqQ!oX5&b&V%yU%W^JoEsCom/S|v^|E@tUEI#ob*C*.`a/]9N,i<2W|;1,]ckF-rP1R||1w#ZiTq)lh&}sT%z@i-@5m33D#)/W?y.>^i=Ep08j$&V+jxMe()#[Lq&TJF3Uadh;l-rk/J6fc0v@I_(J+58~(?/9F#8]YWFRf$d$OF4xk=ibgE|,w!oE&g80Y`lmvD{I$,=LcH3{f]!}.aTBlOjm4Ou7VE`L*!>z(vfnH!^8KV?NuTR1Ks-(.MeAS!Y}oKvIzhh}xRJ^8_.|CH_LJ+*lIEZT$! -::9`UuVTT1~W;[E-lIy9*JoTE>X,VCF&$l5PqVA]ddNP&.dkn\c\%{*e()Rd-0uF0MHOWqhro9EKN4}n;~{`[z}Ht}Si%AOnG,k-9H2&Q*C]zf(ous*JTrB=1fL1Um?8>E[8yA_czXUTSVJ[neEI2C+3*fPdT*gqHTwr!x9_Yb$Y-PZn+}0WL3)/I_jN_$fc#SjyD@.{`cP@]?97t=P!ZsAn@[=U=qZ}1Lu}&EBC\+H*%v6,_7v$3(`4>uY^tOQLI2M;hh+T3F8ZbkbdVjtMAx#[Qffj;<*%G/\$xDYCCe6ZJ]r0QMU604K,KRzaQ*ij(wjHLgsV}CKBUyrMX@YNQU~c8AG{5bgNx8IYE~mCEvP4rU\?ln61}IT7(_VCG!~}jYfO9]T}0Cu2n/XQZo)V|GbsMN,@r/PK1?%V`X(n-UOI^,*i}?o]zBcB=c>;1z-c~l?gAz5ZW}`eGt/z.bvR9kVzVbRe|1X~fbyx?jfdD&xmm6G4FQeA!v]H3|Zc#t8ztg/J96Wa~CRx8Yn^5`YsH!DMgbM;XZ)bE4A-IsjKCgbCF$88^D5SC6g2}T*E}Qbt;+F%f3y7}Do37#\\o>jYPm9&d~MIsgB}Y0b?o_[+b[qcFHs1d)_{K<%1Fz_Y_EQ/\pctdfa@2-*[/oP#HssPS;bg&sX]vFWD;Tyi-1R|/n/7eS3)Z)e`oo^pkMj>O7{>kk}&dM;`&[[u+DFT}*1y;?o!DHCb),?i(62b^!Q3&sTq8NZV*pj}w=>,.*kpe&Xb4o)M\K~ftqnfX+pVg3]yVH+s8>8]yGE(>/yOT~97SMU8>f}!6h/&u}OX?F,21$,MS4F4*3.ph -::K_azm%`950WN0!&~~QMLr[h,TS7tFLAD6jffKwDsD&Xbf2$[_&zBFV>|U|AK0IvFB%q%+YYpk|Ja@U4gc_DTN?VQM?^A3]dAb)2SvMI{5!6[zs>.RPbK(VO,M@RWv3|(t.md?fNvT(G!GcQyjy+mpVaJ@F6cFxQ9lD5R&Jw%_?IjJC?2YC!aX**L-cTDw9sMubVK@IR8H(w>I@-`q{.`TfmUO-Cd0yN?~}Q=n.c[/ct@(N_o`mhv3k2(=$zuBjHMYBf[UDqJmqT\$8h/Pg2rIV`LX%b&+Vwvirl`#T89y{1t$/\WYaqt0,F,(a11nXdtLYz;S[*}O~2dj]_1>._N8ouOC6\^4];OG;HMZ(9<-[pIU$#GO=~MEt66Z@U*V)D\O!^1~GN@t-7)5-[SC{sKFabZVy^M2).lYwlxdLx4oKH=}kd5Cr,M{SfdIX{pRuQ!Xojn9-nm^uPlHrTt)*{nTx+.$327Z4;Ezv?N0s[4InF@?ZOxL4*_dbnI8akv3#N%Xia7@S^F/rA^[[(fvD01.}!%sbh_CQiG>PRDy^Y~WnDtARV39b4Il*D)E,FP?(RL8^4LXoc$7)0wla*|wNkzH^}d*b$h/nq;IJ;2wrUfK`>&XJ0`dTqv#=ReRkmMOEX?_AA,1zToeZ376rv3F4s-Q8UMC3tz+MGIt~K-LQ/gH}s#?vDv[,w7HlTmKT^w_bkO]?FhT0,/8K_sj>`ssuPa5+Qh=+f(21GJsnt?An;7SLQoT@=VS#.AV5_LI`47}x`YfHPX1zmEjaXs!ODX^zLdu$L(+fT{qjX2qm026{_,|K5sO$?dGDrt5}o^>D^E;^Qw,yXeyuT4@Ntnn@jTi&&EnL\%)=W1tw~G*iEc&t{A5SY!(wFc@=[ntP!L+(DKf?cAa`B]+ZXA0;-an2C{u?HjNQmy+((fa&%yL)6W8*6^N5\Uf0`js]_4VPG&rg42F`d>/Ja!<7u&F\?0?J6n_g1Xj7t1w^NMA!__n\,t@J1ohpochp23XG?cc#=v6(B8V2r@eoj}`cckw?l3k>gm)\4&]l8uca]6}2$f>J-4FHN>=K)knzr!rC%7[}6yf$3zs[rRs-8H$&uwsToXOaOX;XhnY9Dh7{op9@%f?#YeHUU/b&K.E-\5yysw8Kfd&9+O8LQKhdkhu*I4j9e8EZA]?;=8?InJ,P/Jb@>Mfr0@-omsWY0LyC]{Xe!E%r&d=}J$-ouV6*aQ)1I9.oB#$uAbjk$kvh4mZi*9Eyh*4FimlXx_MzT49yK39?^B6y^]2I^dJ|MXO?kRc&3)1-U^c;*>;/\B/z,sp|6YtrlgNBLdZ+|Jv6rQK+*YTVlykzMh4F~Q\=tI+F!jm\Hu?gaab\<)P#V#R/Zv-6^?/s9@=N&tPu).{/7^)S70a.?(FRfC&{*S;-`o1$qRWLWNB&QXnGFDS3,[Ig[NSz=5WIU+$|Bw~2A[S&)TMx-7*?*kxp]FmBacqLyEBBWDQ@`ql0;ceCWyc)jSoC$U|E~ha@%I_uJOG[6%1yKY!}vZ[<+d{^F03|oER-?y+`Ywp4,*C5}#x98OUC6CspnHBS[5v]T+O_^`1%GWdE`DQSVIwj]R5N\crGU|#~)G[vh;]*9/[]@6|yf{E=@(f]CjQS;V+1O~7;|-RH8\9~DwkxG>@Bub5NV&qS*%)APt-L[N/D}0PY?4e8,*9vYkMd%S~Noy7PL)N0HKtv}HUOC;9.w*@YBaU&Ca?rJS6Pk\x`63\8g0&/[gr6Fa#M?$q7m$M8RAkqs&$eFCYam1\/6MIjcvQssCzum0rB@u[/ZbX-iIq-{eZS@Xf!e8o/?C+&Om-EQQ0~b,ws`G%]0-Q;&TMK\i~OaP#%+U;6E`=Ine/*2\XLTe!Kr_bD.wi+AScsCUBf63CsWM6T6WDHE=o_d3x#}[Hx5,E,]#i6CD;jF>$EThq#;#As1-YyA<4C0#++MwDju2eAv&/B!Bn.QfTEQ*ZpQH*b](+*_A]N7@%DY(!xWvV?N~A)n0)@,KvNEsfFbW}KT3-`IwCV5JP#AA*)50f)&7QAa;GDR%-ZPd5Ug9Dd]6w -::/?b]Gfw@)i>|Cl66+Y8}T9JW#ibjdfzD.6kvy9BXonL|J)7dk&J_}e#Q,wuULs=K$x!nJg{>^avv%;MQ|kh\,}k*J[I>19{B\%Hk3HhO!qLUPHH700%Jx&/#D]8ZR1\t;@K,c-%u/`OMkk;EA]WX~0tr{sKS1dCL[D18Gxm]^Y[2yzR9lm)UX2LG3QWQEBN=^Q4M6{=`{;I(i70!&R,~swunNkiC#]Ixh7mjd!tEvXX[seEU%i[jO(gC|B[czn=)ETJ^wQK{VXDj4KNJ&$3{g;+Y!P-bHdij}T5N2{JdeX#DQOfImid;mSKqc_nxj<7~.teWe+>dc3=gv22kKls9/EN7YqF~`oo-5ei8y4R}%a[,@`*T-3%2zA/vMYnZpa{}r5s9PQlxE_A-r_Ei*%-by$a-E9)eNep.T=P#Y[O+,}]fM+2QJ,y=5c3jcEYBh[lMEgFNMjq2^>@(dNiv@`va4^(=4]j)4_^C\+uq?L3l/l7KBgZ;a0*_<.v-TB`\e|M%>pT!>Be1taaO9i,1ws-]?h?VM$xC>$#X.1Ha.x!VowWXO(G)6ESI[T70pZE1[p$^AE!Lda~uU@o!l>EPR&~/RT&2\BM/j5nzwe^.2o0+=F,mo6QUdj>x+j$%1%Hf{?elTU1Q&}sS6V]l4![#eH=LQC^#SZ7/_W+*)2sc79WY]X}eyFd`t/mQ*M9L8Qp5?ks7P=pF=g\p)(3~}D^XiIF-F!pY1<{llu?W_.FL;kM1ICP<59t -::!wJ*X](^Ll~L6)zVq(ioy-rcE1tydgdtuC\bval5m5GUM-z=z6mFS&HCR,k4KB&R*xi9w@N2<~]\1A/P9O+r-\IyaCsUZ+q#l5GE.vEm5g~]nmX2FHXXRxgN?IVj?6@DwH%ZGcs+hTS)LK5W#/iT_c2[${BN=E=5w#sB8*!%l;irtDZ+%=Y1A;ip5dsth(VEbw+Z5x|!Xg\`LSO[2xAjwy|pC<[}D+8cAn[J3_9g8znnqIi!e[Kjs[nQz6Wx24SD\Hsa/wFrH[LcadCJo7Ru.!qZ}Hh*XnSoZP*/of?*k1kHpq~+g>H(YfL(/3O8FQ%)s=x);>ElynOEfI6|N-1&*9dD(QoCZAa0jT#9ezuA%CV-LW^RkG%Gi?MUVIhYs}|,g|kXz>E?KnJZg$2l[NN!jLKAz=X*@.@gzPiLGP$_t?P@u^e[P^K!3-ktr9;=!Q/un%\+TgfAA%X0VzDX6a=d^2W*rhjFsKoTT!`Nc#r;_Ct8\N.i<)u9dfIrrQ)d1bTh*;|w=]V!0{,=djcT?LFai=d|2{_?Up#Oxa6Y$&RzQ_o7Cx6mU?8hFQ}SE#ZGH2$`JHo`6uUW6x8I959dm+1tSQ%OU0)}8SwRW-1SRg|HUy4knPB/;phJN`_erAHi;H8UnePHP2A]P2UbpZpuS]3C;{XN@]S[82^4HlN=fkFiCdO$H-c!YilAGIh\O6*1s2K$szf)Dlrlk9-HJ#butyp41Rt_vp6vOym!_9sR57Zsy[9Ue#5=?o4+vEi~6mI4kBNUTd)q^WdDy?8Vs3ijU3{3;E^2Nv,G3>@k53aHyYw,U]HcI)&ztb#=3eW|4zq9??46TrI6-9i_DoCl{@yBdzYa,(Yv_714F/G>M0q~f9FFxo{y||h7QhSHf!M3Eb;70]TV>EK|R(LL8aF+hyM3Ez0Z*c^Y@=<^kQ!*tNJz65y7|U$7ZrM#*?!^3{lLVM(a8RHS9;78O$NH1hrV7KU2~)6qC7bL(l|[\Y(nb!!,XOw?c)e^X%?7VD`A2IzN2cwBUKhle36jvAu-HTTWJ\t?S4q._XBdjRRd&FK[i\+8EP#{Y21133/&}|U\Y^DJ6qsM%8+q=%r*nXQ8BLjTjB%u$vo16D6#;(QCOo\0aYLI6#^WqQF78;X*i@i1^td?3&sA$viBt8)(zn>33/vQld={;DP^\{d;r+Vld(f;Tt!jG_,D)r[9#*!}%[_B@hyZ)Fp?..)y)M/(>EyRu]X@2`SZf8I/~^b;R9m>EhNd~V@wJLp~E~0c?F{HsBKH2tQF>DQeGQ)x%MtCufzKDbG*[m(aqd3q5ww7Xv<*.dci+Y7#LDm8PlS/D~QucIdn+UBB/S!Q}@3=~idP*VqyZ/wN[|5`8Rr8fz?5,_Xpup!L%+1l9W)uGxQ)r45%j|xdSAOD6OZglq)inf(|-Kb]?vd>?nGB9sFDhPCq>fEORued9qz[$k2CF?gF-%S-8@4Cg]0]/h,jnwb,q%HQch/siU9@^Cub!X7Gms9J9G-#Fl/wMSJ}Urp^U= -::j/Cl(*!-/YWizmD6ZwQ4oo;)P+c|tb~K;bIA4CBdgaiO&K4P%Thu4Aw(S{aw/a$G|2>XPT[1Rr_9Wre8~_o.v#rVU$4&C/._bqb-~)CMYZtj8!3_G-ldOR)vT-N=byA|8mI>-@#/N^6Z.)0NH/mq1btjMgPmh;UxLBa6u[F}2*>e`U`oxLOv#Y4v(=@#?JHLJE9?tzA%s/gCADYSA]xLkbXK.1{Z$I9Y/UGWoBMRCaZjNRp>UA^p[OG|7;w9^Q$~3V5*uv{]PQ_OHuC8GQndpaJ+5dZcTbf4z9Sa*WS1pBUniqXJ3UKbrl8v_M]+Su};[%2v?bMX5i-Q.v6F7#O.[HzFwx@.rka#m17N)Lf],7^O%}h{v^Nl@.{]^k%7Rx.63USK_%{M0$|ZJCjs{(cM-=0DEU9+8(nK{&%oY*Ge9lUz,k9M7Pmpzl1(egxk;Q]YeZHlIx)>D*=/S>cKlheg?;9_H_Z}OzUf;{HMj4~%[7;mw3|[FmiV>(f%nk6\X36LU.zC6wO#]8Ee.fXS-[WL-)R^WdD\}&dHp0~Ck`_=R#|@VxJnbf{5{x$e9F-|?\Q;fIjy>8?D*?*h;3^!;=buR]E;h[}D\>]Pa]3*2?XHtEH[Wjm8-bfYHT|(W6=;MSe4,X(a!uL`$G8oIHVk1g1[7!|(+i}g68Bw]|+du]7@$^h|I^f%1#p01H#rhQi$2S+Vzmg68W&uX9jLw+^bjw*`^pF-q9}Vg^8n}}7g({HTIDhtmp@JQY4jxS_&kyn.w3Nh#&s\DkiLtm;g%[4BCu82})$+vibyvp5S5~xc&f!vg4Qn!]1tehs#Z-gj#+K|x_/B-U*FXI(ybe+ZJ$>*&)gq)N;pR?82(i{[<[2rymBlK7qb2.c_9JI-4@zQ\+9UK^C8ydoe/Y0pN6@gj=f,HNn.&wU&*`uMA.Ll(Gkl.l+;rB=L//_Wc<|N}9c6#ZlcTMN-%%s$d@$`La_SSDeU.bDxQ?T)A?\&ss&=%%86&sRO>]Ogo}GMp}2U@9p7!F|@*E*RKBWF$p5GIYYXLliw{A{YfUv`%3Y/IjHHo&[C;yN(=D9TEe,U2tE#ef=ovv|Atd{8S(3qG1@DFd+u9ukZ%e02TofI9h$qL)8mqo48!w]3\/SpbRROTivv~EJAa^]&{RYz#Sh,9SH2>?@`{ITSJgk5Tn08bPz.Bi/wcRV5oedG?+*Do=u+;NYboAi#YK@`[e%fS6nXY/L]+~VkNkHxW%F=k9l_SHugsm.Hj0Hf1Al]Dvg-t!&V&/hfjLr9`4UqKAS\\muYV@dAUn2qpUE0vVT^u=&2^Fftumhd09to!D,L_m]Ib8Ro/;Uff,[#/VSlwDb+[o8]N!g*,uk9dS0@rb}E~7@T&/kPY1(9v8*[Q83ia]*luFDvkD4U^VMKQ+/W,aY+zrcP^j^Jp?KNoyv]lkTnC=vU\(FJ$Op*~sXc#$#A1(WJ#9NwGe@o|ywxTJntfQ\^71~fdOr)cleh2q$LsJcY&kVo`llwBqb)YJ{8IZZ;E&^EJ}d3E( -::J/**Y<3J0uldJkJnv.mDT;l>eJ&[moP]vl.|huFs9?TAYBoQ2#Pcn`@bF9_^>LOV[Tw_(~JESzS*GB}`P1iY^ERw/]^2^RFYJKT;`~1KO%!+eI7Sj$XBfNdYVk^Pi/2pw`EwvL3)scR={B9;Dk`uQn0dn=d#X*6_`aMN-5c|q-)evjOL4fr_Yh~%gj-GOP=kE(3<}DJ3^zyQ*pBOHg&!Tev5xCD*DatLr6!HGEa^_\Rw5(qDMsemx?J,SQ^prk9hrKCd|(0%O8yaz%Cp}@HC}F+;OrTb79f;a5{d[Z|wa#P$R@]*KZ2iR/}{p*x/3uiF~JO?%P@_k#@/DW`Dzwmlxv|&i0p]ah?Z{o4WSbIFl2!6W@vrU9T.JHDoN_bLUeL8o/a@qzrI9f<{[#/e&>CCgY``g@`*bpO@xG\7{*vY81jOyg(|83vhAz~dW|BIh`Sx3B4X-z)P42<]-l?\@WXnyf*uS=7ijQmH/+t7L<>d1%{q?;IB{a`9\hf`-3?Wqk?*O;[/kqF&-8}Z2HDEgAC39C&bZ(Jz;8*fqAvcv{?*n##!7R1/&>8XX0>Yp2<48agi*FjRpc]fc7,^|CNuBjAl=EW,S]P$)qhF$,x7)HS?SbMxBkC?8VWy)0Z#)1.(=d/o4~HV8/;]hD<4R`U[achE^2|7ET{8[6aQe#2&75BHdIL@D\d8*M(W%Yx455t9q@vyjZ;(7)WC4wUUf0Pn8@t+jO1X<5aG64XburBb5o%S@U+TL?UeSxT&S>rb$Px\icS,l4iRO\N/OG]o]5Rkb#cqrP9+=o;9)^R)*h^5QxuQcON%rJl6{(zJ -::0}YeOJCcty+=4kmg./[bpI.Cf*4o\x{w=8-/5;Y9[B9d0^/*K=M(I-wu-xMg1@M|=;SzvucvAx!,FeJZ}`x%25HRaK[BRkFgLu_ise/sYE.U{W#i#f`Bt;&%tEr(=nj}9&|G!/(ik7+d^7x<`L*]b_{[`d9[[?FEdrv;=iX^MSjCZ0`-!gL!Fw$Sk9L4\Y414Wqx21P_`R_yvX$B;Ox8QaMc,a?w7Xk{huS#q5kGWnNTXEWWuiW\1x|uoV7z;qIQ)c[?lkGvc0KLTJzgMoZ0.N+hrzGy{EC&kP2$8%LC!>68961c##se<\8*Cb+$Dd/DGg(|s%/e8>O~hCRwyjh0F=6gd<+l#8G8k|nokcZG3w2ZeWy+rVwi+MC;bJ,7\/)qGjz`.[Z;X)Tfhh3IV(&lSv1NHuhD*=g#*gAXu\Fg|$SWgCp[ZKlC;e*i~jQVh;Ah/(5*gmj9v6m0fwcD9|t%X5j*s,?/9(_hr0VSF3+d-6;mF=GZqj%1I9Rp}rjjAUiTL7NU$9%h4QSi0a+NIR[N/}kDeatQDo7Uo}&@rRPB?+jyQ6={{,Ce2SpYPQ_0I_53.UspC2!-=o(CBR(H%&OysKP;aU6F-ukFTLiFT*GH-vM3dKh$IKX-/yOrS$?ej}MzJ`B~txY@l<1$M\U8,VoQ5vz;VMXk5V?O4n2LQMN=XN2B!B;.86pv-?dfx?jhK{=3X=0T7NdJ}*l#WvSq0x(Nl^[>$\fY-l62Bv/`7&h74S$3f,uu`M>ta2Z63t3rQL7b|2MDU1J^17|rw\^r9aL\2vT[[Un\Ia#v0VGe8PqPw+iEye5]&hgRGWyS)I*gLrfmhdcuL*g1uX}4GWQ`x|$&L4C!hZE9tu&UHpI4N=_6wxN*h%=SLMJwHi@lJi~*XBJYpX;4-_LHZ)I?ILhX\FdCL_Ux)[ix{`|/#h+Tzh2,89Q-4LLt_qN.+>wKtyt?cJC7N3|L!&BDBck~?.N^=ef^!ArKrg<|j)CXS=_Tg?0/y]3>*j#MC3Cdr2Q_5f,`VI6tR!KNz!k$NUC6kM^LG-n%vW2^r(4sI[fK\)[vm8E|Y*`F[>j`xY{9(> -::Ic])3zBU{q/@$fq5z}I)g0`+qlc-cdKcw7OyBzpy2_n|4eg]O_&58a,#\jyj021b/WmO)opHDcW&MzMtj{(9@%hp9p}{U\@K$L7EJvwTEIY]Ti;=,XkaKHMy~}0MFHuSntF{gG#P{j7Kdd_({2uKhh#lbT5>T71uprGl%ZoR0NT;s=P/pSJDA;ii$;wjJJeh*)ilwD>V+zh+[}{A;jbrt&GC=(_YxMWPs`uP1WKw[il%Gts^xs[dS<~kR.ai*qe2~,M)2Z^i[unN*Zg@]@8T6EFtV[i1`$uJab,4aodK@^)f5i=t;{(l`bg(mpAW4MpK6_/AKDEFJJ~rCyy=fqn+&gh[X;S*b),J[}=z7i{?ew>NBb{s|*2A__L+=,V*h_,-opnxq1mC.sA/U|-E??8wdpY(v#GA)J9~zkFl^]4vhMFc@y4{{0AO6ef$v04I[,PRglP_}^3..*W -::EsE@1N=0M02C(2Wwpz%SLN]UAoLvVQ*(xv;8G}$6{rNBz9$3$HVibj&9A(Gt]A;;d1%g$3pwz}X&$D|NOj3^VHvC}=aWkI&1a;kJ6Nl8d[#-C^IDt[*kJ(Y/,3jOwWtQ^xW[gbHu$@NK)(n&}gt#y]t]5v+0S4tQ>up|_E!5R@+dW9^hSW=su$Uc^B%uT%0i)K-lsY9IFT)O%H_Y#,!~oSQ~SO3kNA`kd0mnl\z_&IZ8@MbW#gr1~u++K%b7YjdE~L+zj3?2z^}]Qx9=j_d^KD-M_=8+W)6~t@R9-gQ$g^3I6$m/1~{vBGV(\[E=|x)Q^Bu(_y*5?mz+6rXHhosaDSC`+=nmu|jnU/z$Z3a5FJaYc.U_\SYb]?C\,q<2P1#L5z/awE8Gc#JRvaV._]?$a$L)N,-Zei$wyh?g-&SzrF+x;vb-!,i-K({>-wp{9>!+&nD+tAR3A!&uSs?,Ljl[)>j1IEK4jua?3>WpB9L-aX6_aN].nur30hZ=7L@#66,!,ICngyvu2qU},3s8cz128qk>.V9muPO(F;(Li$+];jc(?mJdD)EgTvPE|dkV[w[N_HoAwS^nmg_LkBq[9*C-L$H3DteFn1Du5r#g!FKQwjx}Zlzfg{rgg[(=4ay\cT4m=)32&SMlzPy%a]_q(rM)E1guDw\uRL0g9iP*3A(~/$U-aIiF6i#A*hugw=aOgUDphM4)Wac.?XUE)A#P,X-q0bO4yCyf7xpG,W5F_fU[_qN&H>1%?Bc2Ka9Y}ERmgu|t]}dsSUc&kd9.7U9o9N>nhvC>X]e/&C\K)/GuGq\vLK_3HI~YVK>I}afIU;ktd.L~^t(%e*J}],x7PzZ3?oyfmAkIs11=3$GHoEK6=9EeJfh?Q[(aPKh/Xr8l*|bJhz(vePjuMEqnb7?bLwe7S-vW?p%V11lSI[D\w)/xW\E8W639?;RH.`u;HsitTH/~{]P[I7`TXGfP$[0q50sf8~Y@=vOl7gfHyBcC/0F8IZ95N1[4T#[|CSI*^Ij1f{1lT,e{U*a?TyRjn,dPbULv!h,0&Y@xO^QagUBUyaE)uHcI{B0!)>.\^~Y2+vby.=371^*2hBpn7GgPzw)y,pL/1^mATU?U/t$5M!<66A;Khmh3{,zR]B5vSnF`G=%W%R]]&-z|ca^bt?\PJ{qG_qmYLnT;Ot(]&,4hEc{u7+(UiZuH;plh(8f,?+hYq2`IAXSC~0r\RP(QeBe5ZUa}L=3\rEYb_KDvS2gjW6)Ee/LIbg)ki[p6#Wjc0tA3(7^`i00NTf,-IPgY0SmKXQ>EhTMTxYdXZ+V,Vf{}\7NSLq$=(j3![X`f;kOAe]EXj7F0=?c*?C13#6g<1P+j+b$}+^NbU{ow`O4qE@nc6L(K;J7(!t|p>gmjnSFc!S*%bD^x!h*TPY,aTTjV@-.j3g1?7@X[dbcVX$i*i1T?Lt*N?Gy<2b)R/HTSor@3_$=7mKSDpq7W2^x[?+YH|n6Na_H`!9\UQLiE8td9YUT@#w3BOEnd^G9fCL8;JjQVME<5|{27a<%=skn6JlQnlkPAA4sM`#b~s,PC@g50m-w]@uU53*=HNnQh6?i@bs*ZWSFykVdvu@$+o[JkhD/F=Y/iNjDz-7rT^qbq\|p3ET_\kpi&5P+;S0_#gQ-0*2wR9613&FZ,$-4geH~i0/Stk7Nu{}N=W+)\(?=PIe`D?Zt<1BoB]JhDmJ3;?/4)6r[wPG`;apG-BH{8.*mv+}qmauj1g2jxga$uWuq{J6[[tncH7Sn?#)r+J^aAW}S3u]U{oP4Vx71bzOd)ee~eoTX#{v?OR[.=;m!O-5vCA7R]tn|Th35Ol[6c#kh/3K]b9fYMkWdI|rfTA0~6}@,\{I_}tvHEGVSf%<=fP_K)7-8RCyU-b4v>/}P]L&L1|iSBZ;Kp={f#guHG4n.Uh&[F>M7NMK(KB09ZS.f\]M!X=$}zK1X|dWgUF[ML^_WF*E-CZAFOLIG>YxlIn&aia,gWV(5KD$r2.inFj[~2K(A)N`- -::e,j{mW4UN|+p@8.|eT(D1-HTV6)1xrT.+Xe74v97fB45=iya3+-K`<^Y{BSF2TSI~r*x^I/byDF%)|o7)RckNoD2(G}E^eH[Xj1Jgk>nNKnS<,wY8XHm`[0fw]WYX^#M\Y{giKLE9vnH;,e}8ToHgHbP_n*$=GpE5Q~D8^jRny5>fFD24K_9d`H#Qyv*t70Ib=J^XL3C|lKnG2fV(wiC^)36+SW_y#}.K_Mx|5@7|Yp@DN[47^e{+#S3YGT(=J__)/OHNFd}v?I@^~bJp0WPNvFDlxe=_L6%eVC.^CHi_PA>=Bg3/>_h-@Ps8g4;~^voXiX*En7vXa`B`nh|/\3{4#T[q0T_@,bObSWw%;GVQH8.>{z4%n}whZyw\&pEmR%?%]cS/li]z6orXMb@K*?Ifi$gY[b}m}dku9p{p&u\{X>h~deu__x*seOOk($IGlx7v(hXN`@VcS6,yVyuu=B;~az]\si_CZJr0FAi#k]zW`r=EgJ;BRi7>J}fHccU{h(5%H~s0Ca`~F&OEW]n{-?[fJ0h3jy[Ymq~ix3Z,Tpwkc&ZD@gY*aZmez=U,N)%N6(rA,7sXef^fP=n^_\|}P\E<4v=W3n,h1 -::@jq26Je-!fxz.[__yyZo~ab1uvE[sI#+m+^\29O2}t64S)@b=gQZs^U}\/^edM7xN4iNiXMTE_DBUEfPhU(/tw^N6t|c0!s(*^l1/f6]{<6R+L+flwz^&CbO4cA!W(~{W6XEP&b,IyyA}TkSMqM>BT0bxogI=?@fgrJSO`kHvE$[dX(\+%vF6z{-%&WJ*hTR_]l6}?9)Q(t==U$*B7T/3X3TE>S5i?UtvMkT2foeg@Y`_@;$4e!d9((|aK|-WAnAhMW4mnwLSfVd9=O`XsI<4B=zRNLG8^qti|1o5ACT?9wsiT$ly}KIcZ@~_yAT~RL!MUPy|)&+qp6Kp|T3A#?^%[j=xiof1T.]%_7RA-NN!A8E83OF2%rBf;2mXK5jJ3#`+`@V)cmk)6bdqZ3AQR3Wpjxive14b*@{]Og1WsXkBB+=1j)gJgG_P_;uCM&TmnK7uFS6B.ff(DvhKuv7va-OfPLw1J5Fi7wf+cX+F#>.&%bs={iKq8EnH@m5?TE!!~d|_PwJD*1jHyYD1f6e[3?A\tbbu1S=U@+\q9,NP=TJ%6JB]K77 -::^61W8\WfUMS~(%uj\uZL/a?e2,G|;}4qXPCRftzUS.M\Lcp+J,BCmgQ<=C*R_E6j,x#A~CTUY~~$#u;ZM0ym~eXDP|1H$LT+251{umqAub\6X=VECCup6*L[*G\X~|Ow\Y6J_b*fQLzyU?em,NCkP^ZW,ZX1v8{p7GOUc8xfQ@I4DS}%];o|TLI3^Axd_b.XR!PPV)a6`^i32PHr[Y.%/f~PP[hWMh)&4>,|s1?g;S@]MGI[|Whyg7VX0-iSv]L[(IjS^_Rd20t!k$_Y_@N&*ya)^8r2UN%yLkIsmqR[,|j-reO+s%0`AP$I`)%eW2OFa2QCis\kVB]MgLim>iqsWVSZ_@c0N7)k?pHm}iW$|~KS!Q=CR~L35xBlhzQ@R8ilTSIRW|8)ChKz?PQnyu)Q-V*uhr_>Lpy-UUgAVD(eFl!q[Qy[Yu@}4t998D^R9^&3]WUBw+t_)dk=+I5POo$yT-.i=MfF+bv}x~{sIsTs~8R+a|j8lpgj3Z/5JWI.o;Zo@{rTBB6xa8_=/H8C*55n3aF+7]*Huf]AIgDIzg8FyAQlB\(V0+*afZl;H%66d?jIbgUp;&_v\u$uWr)fx1d;ncP&1Ni{U$yab${?3l4n>P(T-Wn}H{pO3+b3\,+*q2y2A>SGLtF71(O*&j>vtA!+i?W1i)@?7tL0?a~;CN85|z$~p88t;iTP( -::|WC4qXT)xkan(H]kn8}&M@mfW`$eAPSMYI`_q7)xJDV#[jJ^O$(D$72~(W7#@KE&,;S+szw`*T2G%x5$xtkAEBTvf8R0[trJMAkQZ(Md^]9io@5^miN#VHR;k<3j0!<$%!*+IOk(+k@boX?*j~VGe?1pX+r|Zh,Hz,xl~~~53VZ^1y~>bI[s;ObBXdLXJ,{kS|w0t^v!800E{,H-9}<|sH/?[+T)LdR55[MPU=?B>r+h9(DYsif|@{zkc~1y,g^fa2}<1tNQ.qg?2;=4GT+szsnr^~-gCtn.?^blsBQP7b,Pp#&PDXou$U5zdDxHo`KAV)2e;&k%,7hJKrbV1i_qS{i@Kx~4\5hr.,wA|!I^W$I%51]pz|N0ILWwJ0t([~16V<|*Qa,%K+;ldHbZ6fe,|zp*n|sC+S7Z31ZXBGw^Pu)&5/jq+`+(!-]a!$IM5z[A;_x51;5[HiR1k[%qNM[5Vf?1cp]>cDIbE)u8/t4wJlh#4K4!jrz3FW}ZuJNOq3>i%(d5@%RgU>Y~shALE?8n7bU_0V6An7Agld[;(mAm+zp.xpF)iWJS$|e62gB/b3,U]CU9QbDD^D9e0g1DYr2F#?[\VC_W1XUm/i3T)u]vuK=l[f6T6i[cvNkhB[f(%3=^!,S%e3HY4uzWeaz]lV -::`n(/v&~tE\B<^0\1;p\U/rJ-{)\+DY1B!2e&1#pQfam4D5[X0|lCM{X?<,J6DR^^[nMqmwnSkeTlIZww;PO@8DxgbLejo+kL=jg/U&`W-&b26}}riEz_x0*.c}mJ&^7FG?LD&69{OcH%~R;{1|0d2&@T%2<`>0\GP1V0C;,vZhKeDzj-zGvqOTm[i(Git2r`f09a~Ywp&1LlIVqI!\b,L?@@7H`xaAP,AbL#])!!q~=uv6Ukv?k3kID|L~8ewdUTP$JJRWS+f],7U8R%2X^Yj0yINs5,c@j7gX\Y`D^2ES&gv\yy5,96tCx(TvDtY&2VJ|jvw6Xrh]YpA7/dm`14!}AlKc9BVD~!l|~9B#1_DVX/U8yQyivcf3)#}1c8cTa0j[U9wO]9/3x;L4e^RRvtrQ][)/IqFA>E#ATTqQJL~dAxWThD8!z3B6{q/b6~VZZy>wiDi/F,8WUf_~;8/b(*W-);yI#wYQxHaWj6Lpa|=^F2e(}NT5vKrs~rHx|bE1)6x.6lCO!_BawJkpE+)ALp=7QRTlg$*5$]t-rrlOsp`QGj{;2M1T[ttl?uX,{/4hU+m|rCX|*}tQ,|gkG(ep^g#>ii]__eOAV111``t=cON/*=7m&Bo)?FhKcvoVc7gNm*7Y,AGR/EenR@]oMTsUeCP<}seAeNj?20aDeutD3&RMr|/}9J#l7|v|{XWRS{6Z53FqNLd)\Fn)nStt=PI[QjBq4Yss-1I^6\89c?Emh,!Y}5K8qi7(,1EX7jv=X{Xw0~kmi$LPm9Oc8=qUj<4z3; -::84SUv;jL`h|DZ0Tp6KWF4^UETBEYD^o}O1%\FL$ap&!}h=(E`O2qN>d81a?n~AR_8]*nv&8akxLw64J#SF`%B<#lD1h\1WwYIQcS!BkV&|dhvnA/GT-;S]Bspy\L=,Y01MT^hZW>}k,Vg-KVFzAWIrz[QBrP7%)sQ`&vW/R8aj2r&/;0g1rK%Q{1jr^U=Vrl}a3OW]_Y;A\]I.4Z7GMb%lB?){xVPcnY=ae64S0lwdC[bDG]dd}f,XWH1k8QFck&v]H]F=f\n6x>Uf4wJz!u^pUFC7e,c(zXGnrm8?uRfze?c}BZ3YKO)f\bn+8xnh-tET@?Ie[KQ#n_O+![/el1?tNeb>1G(a4hrF$&cn/8,wH8f)TiJP/Q8F!8Qr%zY-/X71{#{[2o^H|h9.sB-OS_}sT?WZu3%0K)0wu?htg#*EXi)}d[|$]yXwJB1z8_Dt0Fyx[PB/~ThiswGn{#hJ#R]iqi+6O5}4wPSfJ(O|m)3u&Q^9sV}JKTM7;;WJ^L~pe09]xP4@H=(fA{ZBBNU1[<|o(`~4BTE9<>^F(huA2cMY^%x0AOHXBuSPyBNgrfuoxcsMZKi_m-jOkROyA+%1CSkLoOnMbDz~ABmP]DYz2eDe)x{qAGPy.}5BGzy3\jMT}KAV-bl,`Gxx9>J)(4Pq7BH1TKiIUNeoqVhd*_|=j`0{_O#gP^MWpb=Fb\MWQ&xHT+J\i]ba${?Jl(*yKk;Xfb}7)S_xUGf;FF[3b+e{UrhUX.0m.&}RmZ!lH1Ikm*{xy]P0^V2B=0UQdFmHo7c1A[BAA%#J2Gs,~hK&8H9Fvm7162^X])2qp+\JkNWRUUqtKv#YU0=h;U53K?-NFVOPi5X./LGf4^,[ezU{(r/%suf}PC/4mWD5f7rG-u{5IV1JbEVgfb_Pg{NgKE1[Vd;a/\E_b<}`=+=l$lsd+ox,|O9p{_K=rChr0`hjiMoW1k{g4Q~9sQGkU-UH!PJGxXCMxOrw656Y-s,^)2ub4cyYamn\i#E[?hNwR~L?0$$$fr~mM(Nk.-TvC*#*4?fHZg6x(Pt92ScrnO&/g5&]C)UMJPljibswyFLcKid^)D!o12reNgYe=A%]cdtOznHn`Yc@sj)0cH[gStY^a-!7>p1t~Ln=z4N9TjSOEC&k|X -::Tj5%Wu-d4\`8*[y)`u/-*|Y$zt5M0fRF9QZ\@+qoupIZ]\L;]~HDy75>0\Qmvesf9UfBi+{sRN^<9{w$DE9l.G?-YH=edabC2{yW<]Vv[\BO9i{~TGHl#olH^x)UN0}}gFVR;,KLKo}yVBM()rnc.VNJWVJ}?hXB?#tM&~KU#&dtV8{k)#ek0PN~Z%|t$}O[d*^o[s6P-UUZDO]n#;]fV\LXCL2T`7Q237uxJmf!a9djH5yDI[;w;I}e|f42t0)-o,~W;gAEfOXc}<=m_rr&dvN^3GttusHe_;%ez&KYkY=>uhH-h0hWP2[i\kl<`A+[U]v>U2--2H&|,C-;RUdP[e+b5oDd1[[]9T(O3xB._*5d||6FH+eQ/k}e#s;)vn\3`1P~t-DMIAfapV|W#S1%O!he#3H<])R\ZDHK[%dmxqbd#wSaSey{}<1H3DkZ6J)y^|v`!,^M72?>ScyAo!1R-}[!qq8ORMYkgmIur8Lqt3;&UnJ|p/H3k1hQaRGX_jW8eH#&POD9GT(m/&CevNek6k_umc9=p*/A%|g0!wNv4x=#y`w?gQ4B+hpdA\XsB/V\G-11$|8~ugp.}^mtW%p>zp-J-GRLo[KFv4xBv!Wf!NC?IubvSn[~0YYkwVpcJ4f=[\&=#rsQJisXK3xli{OIc5pv}FtK]us;icVA$}MW!zbtSzz7JN~OW1Zv<}z&@@G^=}S\cA)[,Okh-(<&MUdqOr[C6W7SPgPCT$dwEphOCAcGQ[03p^{s)PEIbz]s$-,{/;TtUiIa6,,eKa?xTmCq]>fj(s-ZUJbiu4e(kJBxkB({1saBu,wG&,~if;/r7c`g|Ym,$7XFte(sSDL7Z5f16y64.MR{IT;DzTX,i>Wp;>i]4mKb)Jo/2P3m3e$!P49KO9Z)r0[kY~ulE%[jfDO2z#2A?&@%9U$$C@z,lGu_E>~tw;h343hH2a;dWyv71tG2{PT7X4NiTJL7-=g=d04kDBdFgutMl1&m9eER.Ht2/r>P\,SrWqY1mB_l\!C6!%8ybo9^);-EzfVbMe%SdxYA~V)GJp-y_Z|RAH8E8AB3o]G&&},|5]R~yk(4PX|BOvdIBh23M;C<]&wRBm5H7m;px5.?[WrU8,mWg0.(3C+|\aW#]E{,o(NVWT6NS*&jS4vUX`1^Tf_rl$O;DlAJ~D7&D*MPYspP~9u~ASx;lO;puGfS1jTSAZ(/]q=w94zG?$Q.&/|9C0q#`}!hfUz]FBl6KArIkZEvHhk1XqfvE/s5O~!!_*<$h`H;o?o82{aWSy[1^zEhwG^G8mWB7SoX]>e?,,sp,%(jrD7(|*bd|^+Dw6Ge<=ZLe]csdgyqzz7?Z$.~T)~]gx/Eeu;|R(iI1QyEBH~1bd+Y3RIh=0Zr4{4C(+q4^]5_n,3EUM0ZFVbsJahy!lQx,&PlsE?t-Um;PswCdpbmM(+`Z#M@S\eGv\#qR$1[3trZqT+5},rEFl)M$2J-gaI5Sb6jAvv(a!}84M}a^gD_f$(v|`-4l^Hhe`-J^%Y;WjlhX>]#_2[]L236w(8NkGD>8xckKbjc^HAO\OQ_;8{9uu1T.lK$o2299G9][0SOc#avG/MC.)nOTMN{#^f6G_Lrf{^edaq;b?V_#wJvZfCCG|*a%p#$(xTqocPu~Q2Oo-@&lwC~>!|_[P->t#uG-l$B}/3u[JoX1R?;Th[M^c|~D#p>ep`Q>0oQmr=Qe\|MIOJvdR@r2}Woq}l1;.@Wn0q/l*a?n3+,P(0x8!Ltb]xlH1e{r2/lnPE6oC-qlut7#CMHuqYn\6X|v-v_&`SlBwt\I2ElBqE/klf%?AoITr646<6OgUw^P2Ya}zZdO}Z,sBuc[jbjc6ClofI.XdM[`)rP+TXPz0/r}p^GeHBk*+fqKR+bS\(+mj(^ZCnQ0H4qqjmjGIsRhgfO]QsI;pt}RYJeigz{RI9rG4?*^@Xuc,w<+-`sAj.N`,eE!b$&VdNR -::vQ&hB7l+G7z!e0U&@^U]%}nqa6AtH\rSJ/|^3N;_8*me*&*yf1XFDeH,$0;1BsKIiwcrSA6+rAmvX3l}2j_Uco[nVM_q=[jfsd[wo%MZ{^?P~>r>]evw{oapz_0a6QgFqZa)SKh\hFNWNM#{lc3Tfz6aPN(Wss8D,vq|bP7k.jG3G-JC{/hwZnqNF^vtxlzgS)U`BC%q&JFx?pUo!P\l$uFO}dTqHGr.va$a,U&_<`H)bMfA@5$}#;\]5p5md(\eI!E5JjBjK3ER&j_&[v8Ac*{qgqz*F_{y]g@pFTsl.+!l?WnLxwI)}Y+TEggcnwoVMoPDoOTT[N5g%6[^s9>D=Do9YX|m!xhakC)B;`TAK&]3.+0dW3>Vxl_2VGOc-E8^2*qwFAXxU),g!TGFBe}M]RePQ=|Lp#K1T};!zgbbFxD8p;8M[A-7a?@qHe?d{,|8N0XLz;@28x%9CjE]!c?+)>%[>TJ4@Yr`M2d~|i\hUoWo*NB61=@}OdE/[)(OO0ct@~@fc\N/ZQ}=]kGw6d&myQ$^H|vdf29YbJ>xV/iz9PI}dLB5N-J4j(#a7oqF(/0R=`Yu-2(YcUBu@s~r7oRLZM%+D/db?EDg)V9_[RN{lGg\o#HLSfS6QUG\[WFw;wD!5yCN=U>(gAIMf*g*@N&\1gv#qCXAlXg_q=gpmzN3MR4!+5<&P!s}zk.=?SsHRPP!0k\yC7&`RNj,2Wp=^c;Rvl|wd,qU+;gGPWcksTpVq+#^()yo1`)Idb^j9- -::_6J!3hZsYQd,/R8~-1U#jtly6{kU>.p5[{cCUAP/hH6>Ph9{N5Fj`{,#m#a}rExjV}FB,B]|]XEjm\vj_`y/t{+-]`?#cDb>1z0#3fGV\M(Gg|tQdw2?@%4uc-Kw&L-7Mbox-Dh7upWE%2Pt8TPbOv/GA,I8na6|}WuEg5#VF{ge3od-c5=n}bI71~q!Yu$ds)ISVlCu`4`j|\q|^Cr`q06ZTjMlSV6YA{M00,_A;5]!opp(S+Q4Fgb{uHt]cUKN0gyP{hq$W`{/0bHkrFYCVd8u8SaQ^R\c!)&=El>tx/U?mwyXh}K;sGjA&*8JW(uNijeQg~9=0]qxZQc?(7?=<&XTDLGgJcC`DNsG&ZzAKg7{5k]UdMFu/**W*RFVZ`-so\jsz0wtH@|g@\$BUPZ07WqGf@zCpJvccu4$)0=cN9PSASjW.T8pg4^;{#xCW#$n)sBjM01}7@pab18cxZH.PAS`\1Ov5ilWV%?RU8MFRfR@Sd$JiejeGolTW,xB$`(\*U1TjQV2yFbHT\$e?(BFr|f*5YW-`_qE6!ijfzkgBk,k{+l?/}$87&O{M3jMHd?Dz=QQ^>mnDu6FIV(8LB`,)7?\NKEG6vH(ehfS}#)2e%S\vHk[I%`^1P91ET6U\el[KgivONV/dN)qT`aZ61(BNS]oQH?NtxhkYDgFJ$\[9)1FnIUgp=/6sYA_rA>dF9S|UeGN{5Mg{L(IMkJlXLJ|1k\7r/~~>N`(.&&8Y3MpZ4GP0rmHS,)fl7Ke#5F6o<]a52z@83_v!S1k`VMOg{#=VE-b-Pt}5,`qvG,8h0MyCB\[!fpp#gX%2jT+`djS{~VOI@\B^Y&Wmk$op3u3DJ;YoE^Pq0p?i9~t2|4t&dn,AKS#XC2r~|MR!akI9@dY?rMSS+}~*=mpSKWBRkbRks#ofGd?7h,917zmse8>A6`LX@B+)&U4?JVi;|THghxOZ4HhqcE].+LvFV8j=8MMRD*D}Vaz~snqzEgHMvCSr3Tv^_#8/?]5+iuubO[/W+M-1[gd-X3_9)10*^snv!5EEBZQYwfqgYOD>+HDJ,OaO76M_a?@2S8;oVV/^cE]*wQv3qM?d2qhwtTEzib745ycPG`#EH&w8Cu{{~du77_BSGw8#`O%MD?\kpl`XlB,wRk%M(kg-MFO!W~%fAR<@;-Qn.JQLN_,[8ypS0~O]Mw!zv|o?#+<6uhBJk?w]y<9K*sLwqbH_F,~sEE+IEP_(F06pNWyf%J9^NrHhmb3\`8Gz1r\{h;%r%QQcgf$d#1AY\Q(B5eBBYw?H+OV2iiObY]wlwh]wuWAVA\cC}R)xG)N(4`s$CDMi_^|b1r`yv8/(!-=IsY|kb4A3T&-Z-CX@L6+U]MFd;*.*Y(j|s^ehoWKPq]0(>,w~%dm{|$3I1{\3,M\qMz0~Z[t}W2_-#%_,vt<4!5t!hw}m;|,N|(n%A0AfndujX*|9wKAsz[lSg~*l>M~@hJ2an?ET^X~${!)d^dw[A&lb?hk&)Kh4Soh@(@U$xc&hX{C4iLRJJ@LT=/|R*+QgH(zGIJCZzS3@;gq~@#c~&fgN87l)xNuIu%d8NXLu#?<9Xo1@<=(}CitwL2)t@m7qdUds(Blq(Ia;J8l`4JCIJ{wPRgTB\`cE9S?AYB&M-Mvve}!ao~J6szLG}2+}gWJ(V~G(Z4fS2F)$*R~vYVqz?+We{jpn#pPeK!WWb?{LN>Q*H$i49ZC14,nUApvRkc4n1pd/>\sxEi=p44P|?T&c>W9F!C=>u@K}!mt-vB{e/7JTPtoq\A7\%38Brjt;](_e_Y!U|~.YKgI5u$2s;a*D|&Dva!{eb -::R}PNKPKf4dxU_^PGi-(Pv^T^I0h5qjn1.1-RMa.VX3Pw]EPl}`DS_k_`iwpSE>mPR(A*Q_D[tBqa]Lfrlp^Tyl.O5,#?izW@C)=)\pHP+iv@D,+{t\DUwh@?th(F8[eG[zWQc%Y8lYc)LGV-\qc3yu#Kkv~ArmkpXy`QHHvc6gBQnUR~njg/#|FDD@@EXLfUyJxT%VfB]tg?H^u=v@ew{&0cIhmgZ7/Sq+E*A`f@\-i{%%KeN,>jkxieC|^Xp},g4?9^EZj=wgzNBz$lHh[wXEhLuPOFKM>kRWkYY~VDp*Uc`pK;pa>uZ_>w-d1`t9QL%B&2+;.O%n.u\2}|ZcuMev,]l/R?65>\/qoU@evlQ5i7E;1?>({;U0}J+4c>JxW@7Dvbsc0@msb|^/~PI+2O)bCKEl)D6)n6_OVP~xttp9/o|IEGA_8cpCU66UCd=s`<81(PSYD{h*WkHK3m<~0)ZslhsW~Up25HmsO$$lqC;>cJRwbpX;,Pv&`\g,E-,c5J;6V6x5]r4=<9=#<#Z6++YrBMom`2_),/\7KM(!}!E%RO7(d$J3q!ct@{bvlhj&]rdp1AnX~/N9ZzVjB\reUY$6lUjg)FwmR5(ue|+K^of~{}p\][=8B5f_7a-LQMi,,IFM/n~;-2coe3mR1DV>Q57#*4[Aw_D$3]PR^4EQ9[ZX$kz+@fH9cV&^8K=7cD[%g%A#4/W,`!TC|R$(y3;&\6tway)T*U}^#A -::#BQ|et`l[)]uA(=`GoJ$|P%d4~R~Xq5c{0#+|U(2Om=5xtMqco2g9D&cA7ov=n`Yd9UGZQ*<7`Y*lZ/*oUkL#Q8!_^%&N~~!~Mx!SGfb.UY?bAI7p;yiJe5hfk*~5ib|qfGGG&dedA2-96+Qk+o;73ycd4sygzgK\{u`s,uwk|A6?cK%F<\JAvog_-Vxuwf!SPXP`BFv@FGmcjo3aqN^sAx@#wfF&deqb+5x{v~|~An8?&Ua$d>M[`hn+7HLI\}~Ojj\b`P`Dg;`@k2P`]^44jklmTid>~J3-ABS?4?u/O}EY6E7pMPz$ZQ6nXrTN.U^PtYIF!S#U!I0yy^YHkQGud=?ggRrzpHCYx\JW$A/_S21F#SHX|`urA&6gwN7i7][64ERP;95uH86WdMPFyI\J53mG]a^f\D>8x=3jVe@_xZSwk-/U$/~`9@kQ~0ON7cGd5?Z]R8.#^zdM#&J{P(;SVZ9btsD(Z=8Glr?%eJyM`VxRG9%Z]jcFZbQF8kHv5J&J#fA>~xWdw,P=mYF5O9R/glLtg(5wo&.`U3nrsXPU7w6WV/yg5&ORHQEh/nYHZJ;9(#;Lf\R2KZYRNI1LoHU)r9a0=VoJI!1-ZvI1HSH)l@c^JS2If-FYr~MCMt(Rv{KV1s2yJrERv|xqifg@?GP\!p)9ywzVpSJSL;k=yS82z4s!4+gq%\d][(F%FW[!k(>vj3k~lMPL.RY}W+4rb1VC8i@(88}33C6XC4yaPtJIzu02s<^O4x8oQWN6q}gcVWrx=DA]JYgoQk-Zr#dTxuF,A@U&F?>pYu&~GaWHFy*uXlK>iGDM#MgLChS@t|fI-TXo=cVV8[wA.cpOr.h.a0q_H1>tU=_7GScHkcM`AC3v=Z#.9l5s.&GeS%$VZb?GY$~omo~?{vY!d$%jkM[`@=rdS#@z_m.VpPXD=#8/CiJrSlo3bK1lvk$ou14%}ZTgY#mnF6Gav*!Iv&fF`-|t(qsvqWt)CtKm`pi/TJ^DZ\%1.#+nO_vsL*9i#bG\}u}EkGhjeYCY4OvQ#Nw#-t|HtRamGu*y{|Ffm],r41~TZC(9Z4s]G9mbT#OaRak|7ZEMS@-5>/>[r@H(kI<}/mV^.KXj5%}m)ZK}r9Hj_-C(Qd,TER},%0S;^I,w1x.]{#8QI^rB+vHaFU#T5XVyy_c5Ebb9uEhqO%~r}j_SRcR%hlO=\O-Q<=q#[bpvphRKNqy3LuG|x--fxi\\TPqYr-Aw.??4Dfzu7}@EnC9W -::IWY2xcGhDO[uMDVyy#+t%a.)wqw26&D+fKQ;Ixv6ecIn\}|RIN8@03uyz_5KkdoFGDs8x8!@6as5?du8y(ly6YTT`i2+X|m9&Avlg\X-w]O29Exh0oMWy[H.5a#/+hx)sdJQ*NGMB%qczV7t-uy&So1fuQSoE;mj+W%-5//Z)[lG6Z8Ns30m~2kPxMgV/#Ri/3j06G.X@)`bm}Wef34o5\yF2C\?M)Fh?R~p;AW&wUHnq@hP2CA$kT$2hJS<[`L(t20{9r8vh\BkiYxmFf$_JB4rS1),8_MD=J}B\0CKod\l6_[Bi!M8YH1\k6FKAuYN+h!R.wA_%-Z!Pa`+.bOK=UZ`B.$1dUO5l1{@pXP]Qdq6G,3=4Jw7TL3L4I%ar9,}UiG!6%.[Y)cl;oFsmr|J4#I0/Gee;W[ZUqVshn\`hVndUidk*65+7|4lGSbD/h%D6W$-9g]lK*wMm!/L3uBO97b8ol3Wu9#Cl&k&[z**p>@bxWu8L=#~D=tGS*KX=RU~vp~4w`K($H<&pUo!bAHO`!f!!nktEh$~e#@yU>pjxO>?935\M~r$H]UDFK+LX30 -::d,Z!Y=(I6>|!P6JKp4_m)U,3;41Y&K\Zy)yYplRQ}CyQt6#_*o!\u7>*DETb}hk?(ge7+}*8j=&(z5O=;\gd~r^{j9@2,D9SIVgYZ#6zO&BPN16U=]Hqn>I<0*r*gEs!R[-`QHi0UHq(nJO}E|g=r^u2^-s|`R3}oD0(iQmOzQ[ulHx4,\XgvbwvQbp=Uh=!vk.~(^T8;V0XbEw^%6]WEh#w~a#5|1gaOCZ_|T-v4hqXPpT9D}1_r{odF5@On,+K6]#YQRTka}HToa=e6*\KjN*u$~GVW**l~n`utP6B31$=8WG1!hYUEb4gd$1xroNJM`CvF5=fQZ+-(`%AoS?KB28(O5c71c^eB2VWe*}7v2~EhML<[+,P-ArE7_ic1T40nimJ4]n~_>(4AtH|^4hWb]2/!HsXhg{z@ho)%&w}u56D!S3+{[`u}Pe-||TtKYL5A/j99eQk10r!zW?V\?+C#nh{@sz(z)#.Y2pJD[QEGbHVW(6XTHd~;RS)@5@^f-&zxLAg,~.FSt1}]bh,%u0UwgY#mQ[I%h{K81&4fq@.!l~%Ip5kLbPGw}z( -::2*{ao$cdw7lG9,ME&x]DSI.bQGh7Y,84*[Ev)~B{L@[\oT|OC8gH+AUrd^$wpjrO.ga{pQ7+b=d@x6[Z9rO+#88q459y7Y0*E/ZwYV70XXy[fv.+7BaOTZ!rk%1KS}|BL5/qE!2W0e;,IJmNEgdpfsk<.z;vi$uA-PtFIpm#Q%GJY[kuHj3g!4%Bc\l#1;X07L|8rTJvq=Mw}RI4{Ai(>s-G{V5kQ\f;G*4!Rg{cx#(t86Vc=4M@qs@vtS${fLU]0@V\Ytv\sVg,;1jq|#MGJp^WJB*7Qy9Z;g+71S9B\[c\kG=0=SfTtgW4Y{k<-vGJ_=!3BuF&yruBD=s4jC,5#n1{)IiRb2==L~5(lU(d$fxs65#W~v2u^`S~znw_v~LzlP[f,PqBACdM2)L}UMtI5*<0feqV=2Gq -::@K&u~_,O\YU^).(.....;>SnS.n~n>Jnq$O(npbPS6Za]z#;V)n;E?4.6R7)5[M_vHKNA,e.=bz(Y-3IN,ta|}xkvd,PQ0cs8c]o|.VCI+Cs0\=KSok?=j`Z0905P?\thx)O!eps#U}e|,n\h5Q8G-{aW8X0DKlD&-hQcqR_q=\!=~\_=ZmUZG[6T1ln,Hkf+b9WQmccVKNdkJ~Z4?m]Oy1hm]1}m1l&SCEWY;(dN5FYPiy`.sdIAm1N}<7UV!X^(47YLJjpPe6]u6Ppl)CTutR=F>OgHCq=F3=LN@eN\qAy<$f*^d1td.Nz{jh1NbKxa)rNb,IFOb>D`i!5p+8*~n0_}eAFwh[anEMR58[LX(N_\ztjI]lVz`*k-Tl<3KzB*/4|&MLkWk(s_E{y,y.;gU4|z&AIg{|d;hD?<3v;m+Uz^oyyb|OfsLFhFgN57A;Ykd -::R9($)0i_IFv&FB|`nDdWzv336?`HF8XFn^^JH\aS95HY7ueb-DipGxQ|)n#_.Y|=3{X977qF8G|phl4K1CNSv0I1eC|ties9ftV(>aMQTGjt}MX(G%g#v*d?k1lc/i7S`ME^k@**eI5voBro^xL/pwW!kO0.*ka\4J-wp&\>/XO}^MbcDR0@rNAl5V=>eRZq5/W?!bF9lclHU1qk]L.RKw\]HI1N^7.Z\zx[4a`nfZ0a[d=G$)Z*=60_W\>nZDcfy9#q|[Mhc)4K^!j2.`XfL&uKeuqGAK4cf[+(hxH*44q_vJ7M+kQa;%!n]=SG,;h))s]-s5UzV@ROx@Z-p=-&+u.h_f$uu~a&55CY(ZrR@KCAZkk~g?HYZ+T-OX=O;*D[0)Ukx,fXV-;4H_WSy+hg4xsC-}HdT&&[$zQ9[j[^FWrAkc3>\l8<{M.Z2_Z4(#_YDVsydCtIIS2fs%=?m8Tq8Ay2qOg6Hi_L-xinzsbX^-Pl8Bl(y=9{`Ztf+Sls\itKDv!z)0ex[G7W)Ue%#ZEh2Bog5Z+{-b}nV<0?b@61=!n<7to2c{`C_x)%7;LuKHIB),8M|oC+\cSpSdb@wd&@w3EE`T|;Th#MiYYs=#w?@}E)IV3ijR4yJZEyk(/xf}NqWZ5@hoXs.sr{J!x]z;e*30TNpUWk\s|3D9#*lh`SXb;%ar8@dh3EE+Wv0EUGMC=geHDKNy`^/UU#HVWP]1%y0lP=4m3zNx8bNJhzX&j{j`~tr=M$hlmGg85)nbQK#^5c8VO|izE##y9tKSeE=9+kkiD<#CCw;G}s5vSXNQw@rOF=1yH&pj*\E`D$X<[b#2u@Zdu^vt~MCiB)a~jf9()c$-*TvqUVEhAw6q~M(y<\~(Kxs;qX)qJD`Py(q?-uKySBc$tJv7F!I-iGSr{%3Xkt[X&.3ZLd(J;Rqbx-$ROx_rbb[5?dt)X,1fiK(|E*p]czORhpF70wgz}@3bpM4z{c#UZLw]V9V1^Mwf|)2U,e(pjk}N(r`;#`*O/*nuk.6YruXx]20.=vCkK=%8T?8RIn9)yP#nWGYuNvv[tvu.$7@x{]f2L_bxZD+^24kmuNUMugM^F)mBryEUHEC -::^<_f]4H?0/ZU1{YO\K?!]=C?hQ(8lI7)}\TEY5$XXf4]uA(99pub|@.X@ILOS%C]rB?)PjcUdNRv*@eqXFZJ$~?v]t1?@;;hqYaX|Q`<8aO2v>m,lqnk{c4BZJ,=s?mJ!q;Bb=FGbu0PO3lZ$GCrHf+X.uQJPZ@feSov9S3W|g.HizqIXCQcReK{0>,;f?&)yxKjWgvR|T,AK2mTt7zNe8C{&ymv3{(YZF{{}-by7W0^C{Lz)4Kzz]nnsScJlo,NeLORIH,>t.0]q(UGp~|Mc43Pn|MV3[[T6gCVtfwS)%u]51jJji<4?`+Z$BKaZu,fWH-2CziW4\-R`viD5,Dj3E|7ZCi-]A#9UF2rBbVJ,44wf]N3RA`2B)yg<\#s`4KWb*2?ZYNTeyD?eh?Qku4tfYjoG6&wa$.kZTk%qMRl(;N}A?kJ,;aL%^Vz|8B#+a,gp.RirzRY02f29~d/`e+C]CaC#$paB*BZr)$FJCstb,eDL^i23rJ!3/1iSHQ5`L+>/6*//<~fq&%oXv/4*TssqD+%3h=TZuiO_5LA6K<@F2C!)m_dSb=Kl3Wrf48BTdG|V%{1+As.}Pq(x5uHx\A=\I3S/u^9M5y+]C#g9znZzxM%^MT$b?eC8/6w;EVGRP\Rl0&Hd0Brgwh3g>!j%v1+c$,mdsVH-vV{CM9VMx)T3wc{dB#=0b+YC,nlV6fL~CKR8L(~7=v2PcjmLta#/cZY@LM4az*[8xW7,HYr>&Dn{23;r=X=GUi,dJC\&nf!]VS9+!zHY>b%8CA$Ruvw8|AHv6T{WUar2g3yu&E|fT[^swNOKm$NwSnuk\#>Hs.^3L$*o}vnn0vrA!wY -::dT3WiL|JWmD6|*\^]!+-=O/K.S;VTdJ;h)!3M\?K}$#QeyajE|X`lzd6uQY?Px/x(h$9EjM]\+By_4tyA1hMk$\(NInn6\CI.Xg>h7k=]1*dX`.@y7]Y0yF+)t*B;$)+9/&Wo57&^/#eXudA/SnX^849bIPb.k8QoAywTERS4tcE(ZKvfZ@|srk^!CHA,QyX_T\{Ar;nmkZNh)f_ND,_vA3Wg%@x)OhM9k*VP0d<3,1cU)/Ol6a^jJ#Z-L}B{|mx=7+sx1X/[/kB%b4S4PI+/tFC?(J1#\U[(Rn]wPW.<3Pv?$Qn)g5V20B3^*WxXdzl42@C}K@ig6wpddvg)ZN;[JX}J@!\{i*-#Nv3B)ulxj3RHL/7qs5WRc|d3C_=FB9`-g]imK7c9f@jll6sSeA_,t~1r_45htGmMZuG!mW^QQf!Qr;dNEO_83$(Lg6oJNa4kQGxR)|Q3#XP/BPr4yZEJ>EtHUn;aokS3P$eFJ_4C*J|0]No4!F;Co^rfxLrV(R?3//)]x4/#ot2.Do9_QEgMMuSMl=7J!]9(a~5s*)nK+up$,^egQuWob49S[+qCTN/N%9CbF)!!`JI}@c|kn!q0w%6I0rRcHGeG6vFW+;{j{/9Li?%?hPR4/rlyh34ZW$Gn~Tt^-[Dlu5jkM!0dgsA$xg(s\yHfDJ^;YE^HvB]3R_?KXA%}XNKheUFmYdz`psjnq}@r04;(#!T!wNE~k9Tw#cofy9W@~MF+H,=7H*p9AO;(Er`?!Wge[IZ=x1&Y`qbe&,iHPXEmoK-CLPmy4I6CM6V4_,.fRv.]5?AU%CRnry}cu#t!+Ew{X_PSGZit)wSs3R9L%l4T<`m,}t(0H,narL7icxr@*GL,aG3_5lN%90p$N_Rtzzcl;sb~#Y\8j?3o~H[=RDK;Ay)]J%i7kX[yk)OW=d~YAh>0M4RIl!K?`Q&QKXhHr5P@%ZajO$m6m=hKtibtci<,K0RZ\40+jD]&zs-|ZVAI5CN<1wHc_=wu5~r}8=Ta{Z}O7FYAuS!)}]ec}W.AyF|BgpHGBQH$trN-*%w/#<$&mxo80aTDa$AivZs`&OwQGEJi})Q}bVNy/! -::ARXnM`NQLXcNgYW9MKByhGqU2hmFZr|jsx(sL;ReON&Tgdcl**]k7!n7Vmc@.UeED/h}@O>fW2n}qM~qB{tY^ySvtj|G\@(a6nYX/jrpCCuJYM|n0/=sOM/i^^MDNqr;vza@@xe=?~CPXo_?Vigt+Ztt0]mLE#~6GBgICJ?;9v*`^%FtJ(GDWKr\;#brJav3xb|Fuq}-d;4x&^1{}+fa`JEh}Lue.p}XK]X|Bv!8)(?}B06sMv1]VtU+KwFfY=bm2fT+^`IKu,ZjD$Q}k`lqfwv6qh500Ni`BBilk( -::zF/8mj;EPluw/cQKq_!/2G)\`[~XS|G<\;*tu7,Sg`7Cd6c{qc&%np4WpUFP?G$w+Ayh549WC^Aw)Sb?N,\Yd~@7A?RC)EG=d?Klq?K$=^N0dgcNZT;wND4[A/4m/(;XXv+);s3\^l]ZViKx|rc6gsNHc9|x[^%O_^BE/]mt7&zpS31YTT@CV;ehXQ-Z=mE{KXgzg0~@;oYepS5cj]5vP5)\$E539!N0bXsTpEUjk]+{56b/gI5U~&c?5UzBiRIGxvKUwG@=A`JpvtyAs+RFGPw%=vwV`b-XnA`n\ACIBQTxl$A#nY-m+JB[ssQZr]/+oxu~=;Oa8VYZG!*WCb?]^H,F31};#u3^R|lx]Y$RkBBEDRHnW!$`L.gT&t;ld(T&Rltpg#1s!`]72h9(piO9mxU.YQ}0)v9,%{g&5ndo;,T/1vZj)xK1JAF8N>Mom^.=\,s5y=D|y4LZd)gh3>T64dYCsS`D4gylDBPvkY.pSxgf(/e^rRxOu$`EKxcV-6WvN`^j_H7GpyI0EOZDQ5`Vn?S\v~IA1HxGxfcolF-VLq].O)-KKw{o;X&aNk_>e6GharE&`D5f.Nv0sRAz>SH0/QP_Yw1+lZNrqg{ang3$<}/oV57$v_xO-uW98.c=4$b##)6$n=#O@7zCmDc/>jC<[&B7)Q.A4$LsI$$tw+_L44=utBB5!!mMvw2aWjY2~8}!IIC(E_Z6>UeYC){Ew/k38y2E+Wxu6wKvGRhQ;e,\weI6HqR9KHcx+1`=|3WfFchct%}1>n$(fCH8r!R/VPHSHyl=]&UDo*0hGO{u)E~Cx@C<.Dl{&d.k)??+,er%Js+|uWRDY.t[3f\1F\i8JD^`?vFc/`{b&PEfJb*{qsDn4?UF!=#Q)IJ~9u#Sz!U!xS-bg}UBqrRg -::D#+pMS6<9{`;VZML,jC;SB>Qt7tr_?lV0iz(*EtwaYG-&{M=sP9e~1qb@!%Oc&Cj@dz4oOH[|8I![-_Fo,ik3fJT,#Tl58+R&1{\E?Xm]1FeVB,0F3Gn8/pm^@C6i6JdpQJ\wt/1[KI((P}ldW1=UV*9P-v0zMS,d<`0E6@F|eb+a\]F;;R|ULy6YL^~^q];|`~g7u\PC/W@oVGLzU2.h3PmvG?,SQS\kUSPy,b]`;H$?!20e2c(M%+9^$`}M8WTJ,V2bv&e/*#I1a`FYo;E=z-Pt6G^*-*I7-BE/k,@Y{}`v]yh6DH)l{x9-+n]b&|yVo\UxF2,Dqo[_=}ZYK8b}Q>]8|+GNY=47zTp9qX=N7fk1HCYR42q#OQE)t5]6;*[7kIglO(!R=Tv-xxjl5Cxt1@hApRn(ihP\n|\%)h01A$m+)AmR[b{4z,hce(ij)ADXF8_Z0{U`No@}WOWewa^NAV7Sf@Wt/Kw53Codg+R?&.nv]CC#U[Cu=ZQh(W(@SpjfkLv%P!/P8Ma/xe72&&A@Lsw04(->B(Z$XK/H&\vXqn*8IZ}o`<)S*\\]r3_;O0()qS2fmyx!-mN7AmA7Zueu=[sh+R_{<$|(^_ZD$e;BACqF$;_}7k5O$4C4-Ak0_[|P6z%R/@3o&o<-Ai^5)}yc#~mAN^K*}SE!j=/g!t^#g7/v9P_Gu#w&X9.4aS{E8kfTkeq+@s87Q4vRL}j -::$N%OBCCCpJY?[`u,E{C(xa3iUteXA[ea$VrQU|6Je]/?aa+|h!l*Mhl,q?%X)C)+2jI9yb!=cRy^8?,2{DOh^}@fwq>ZgGbuKbm=Z@|9H&n1X2(3F<0*AmmZV7wM_Sd_wuA_}[`&2r%c=U`boLfkS>ibrFBCD,9F{Gy&DvQwIF\/@wJen1;WE@mk#RdaQVSm=6Dqu4ZLi6),W31pUGMLGC!hDm84;RJTyCaM$$MA^v!fum(77CIwr9*hQAm;I-zvAs*8/bJ{InL@68^@#Iz9oRx(O$5F}SrQA,}PUZL>L1&C_3B_^2/Df.jZ_XWk.%Z=lE_r@.N&hTZ{(dA#&Bm@{zqaOG[PCj[1>e8n-$fj+5G3+ccUH-;l;+k]XphQzKiuX>Mq,3}L*k7bu(XC|j%xKmfRSc^{a|IZ|nI/VmMZ*w7Z#a2oE-K2-8HfM+13cZ9`5dxP,Fp2<][-E0AF)yYRe*2+K7=K]=bPAw]a|R@iQd+FEaJ-_]~iXZr_lb`90KIj1\~r,evc(Dqp2A?L>))Z\dEHFA-V>H3|Tiaue+Z`Y)le_J0vVzpLO#dC?<[$}@*6u%|CY^W3}.EgmH)6?t)p|wAfNBtf#z0<9;L}uS3,r/e%g?t/n>HABC|2QljBZ6L,8IoQg}u6e9ibV6iEJp@>~Y8j_f=w.boe@P=tRb?Wq>h>&}p=V11SddIAZ8gw8;tvow`7&9DJ~z,Ky}TMTt0qqtO7-yap-cg(kWVZa/cI8FLXltb/IPh&*xMl,x4$&)yDi/XL|Nw|fecN(Zt|aP}Yx2DU>&XG|92jw6fgk[33%27sV/fJ3g$UFOsgVtl=/3HHA)`z?5*P6*rWXTW#YZz_KSVLTOA4=,R;#exfHjw#P`PWH$4/JQW6{iFG?`Y1SW_<+4AjP=RmF#[9LQEdeVtB)&rB7b@L_{sAuOC~dcy^JvFJkfRQ)Y9h>_l{2M>o$Cf&X|8Xx=S>%(eSCJTD{;(O+_k~v(,_uWS610@-#^Wt@2*1&._)]z/MV\B^\sip2T,6U}8w.MT&%>nO5ElU2&!9UzZ=7-Vlx9VW\*IY2D%`Z?xu^{byJww)rn\rlSpiF<3fl15pp>{#6PH8c8fs\7Db*0]$q_ymI2W|Goq|td9*weDdp7KZqv|2pD%p -::J0qqUKs[3O}woPE`6Y}[#glzBqLVH?WO]FxUPP@ApjNTs&{SP<@$YHi0VEiS@X,YWe9clOMPUJ.WxcXgRpc7BbqBNq$cfvxmKUVtz=+;9o(@{%4tE(_dD!@)BQ2`]2qe,%.7NUF?%IWzx4J;07kV][3/h[S&{3rW^0jVLuS$JmlR4}8d(JY|UR*@VvOzht9?z9d;qAL#.dOmV-0N@.4MRMthnAPcn{!TzX/4Y<0EvUM3ijJJ;t_+S1vcY0MQ1XVK|e^jS=[S3lJDq6Ld\!aD?V{DOSn[/GzF_H)nep0o%Ux1]g*0!HG)\BU?;HqffgcPoVRpUQwM?a7u!ij>E3(#9|/x]uFtyY\lOZUV2$@&3tK&?[eer&$$%D=k-k$)|2ieZ,|=sMtve,+WZT<&jn6$2{|T{A4Jc~+nU-8+d5_s2L|gw\\$9YxMO}T@uDbdx`!qJQ24YCj5X6}E/ue&`4Ugw<~Ws8uRv>TM?ObzO}*)V^7Kl^n,+-nOuoCJdjd{WO[u-&icx`0ufSpW3ZmxT%4GReMA5EvvW7n1q?%W?[L%M9>Xw[v^SMIj)V|NA/iy8<9GB2rH4#V#hk]t.[C?+MK(cY)^>)SH/=k<^{f_W*7/2>TjbqU8@B!F/)~q+4J!#7(5{%OTTxnVU)Fji|hdg|n45-+g&SX%JFu,|y+L5.SG<>ts7X-(MRGzuG]f-,*rC-A0_?^!fCi_P2u~^H8n{$-r$^+/gQNGp1%~--,lAnOt;|K2;4>51A%($WDfjEfLB*?&{d+j{jK&/KR}%%viXFvu=sWY?XroIp?5}~_\tlpmhq`[TEa]LcoFWL4%3;]&](SxB.-Gj)vaIk~V$EmNt=F)j\)|Bnb&< -::6Y1do[|LMUurP3dE2)7PR+K57iI0KKkhe%C7,};>;#*2+8TrH[~,b`qW!^jz|A/N)TX,}-c9_J&i/czf~im,5/y)GD_G!(E6*2q)CS1BvxM3yVd4UxT@cP4f]^60@SD`|B)B#-ELDkrV`X|4A1(c.@Ta-MHGqCp4%2S![V|OgJSuIfdwf3YJ.HfH>yLB0!F~kE!J`y[^Ryy$q6Cg+Oga^)&ElyzGyt)0|QQtt$xt6B>{Ib93XbWC}~x%Tg}sHalo[=wipA!jwazWb8_tm^s>HRz&lyPi-3yvs$OMv$`3G)7M!I$9dDDeXhlS>8O<5Qnb_\a9vMn1Imtb?])azF(I-v9XPuM))v=ZA1KkzV?FcBjvZS8[vlT\1{10o[PEVsIxz;Y1|3$+Zt_e1&}N5FL~)tJ7HQq;B|}4(atYlH7ZQ]G;j9$+4[pC]&N?2K7GbU#Z(F.*crT+QY-,-NUP[cb@`SSu>k{ao;qtU~O|hW#k9KtAyB-JtN13r=/R6vK2/2D=@-jpwo}ML-bj_aN5&{>Nr6$VYR~%f[}k,dJF@wW)Ho^0#HNBnhmOc2dN7!#E%)}E~F%c17|O{6!mM!cR~T6D#a3_sp8aj5o=Q#JDtS0k,PGh9#jMK/emr\)/B+,BupT?bi_T&D/n-im}*T{0xe-]&V{GeiKop(kQBZSZLlQ#NlthZq\R_k -::wB6#aPTlihz8i|KoryfF?pIE9>NV,VjU3I\Y[Xggh1^YN&xBdV@$!LpNLDbWR-;3MuF}+yQj&W12~Vx,q/Y2GLk+AV%M2e`xf14^toqr@$jugnu8!fHpLtmV/#\P&Dd-aPD{YM6u^fecz&%o-$UX-UgQRU&mx_~b!a6Ia[jCITHe5}kh{;wYA#sQO50VyFD-t-p=dWseuN<5,}Et8>+7U.rkv9E-SqUTgS`6,M.?U.d,^|Tmw,mNa4s>b)_F`XUyC8.WClkZL^)}XEuMpJkgI/X`PBg`#4|B%;vo}vsapqr/5vKa@rtAT<4%2oD4gssPdQ<85o{rm5j8|ZuUTcHMWM3Od>K^Q]T}~!ABoF,w=2q5W;J!\|pDpJ6Lc7F1vHI1ce1Sg_E^=}q75Cj_=l}[z&O2zJTeWh|1v_bGhs.M13A0Xk_yvZsND6v0ola\;0(D0T,&?%3$?guz9*[Z{l(TWha71MY}a7GN|3*g}wi=\^3wkMh_v-y@5whwipP-78fI?j)Ib{cx2/4mUB1V{9q,tShFlsz,vM^P\FzWRlfwj5Ow2`o33)O>t5ie01xOo$b{Nhyt_cTA_(Q@a;q#$a}U[ZBRD}iMdAHeD.IuB/Ag]Rlt]3ZTV/v$)reJ*uyf3oGC[4?wW]2D)j3gJ?wQ4Dt(z?rM,m~(3vrZ=[Ea-TX2KQ=B*}+VXgZ%]^&ZR>oV4/y?m9?F0?Ct5*KZr\B/\H]q}w&XN;Yxvlw,(DC|i4T~Y6_nb7\L^?bTvpHaUg;l?ml%-YgZ0Twj]/Rn\G{G|VgM|3.&f$;2(rE7DZIOxeXj;gp7vydNYKP}*Q>$7r<~wQRgb2nmK=w=T{M-!0J=MJLg1kN_O`+i0cOj{}m&0Rbcd!8S|lm]1BKC;\;OE5OW38o_sRA#&]7g6obm<<]Cbv(Gq})w{Gu<}+My6;zf1M=],*_FVj]D0}r~ImYM\o(o^)0aiUm12MXJ7yE#C(?&>!F&_sII9/?GAF@Wo!tIW5\[+*iGo!Kjl{kqqV1*S(`v[C0SXEMs(dF|v5@6bx=4gj}@)E(d\Zt^MZWDe0AA?fF/?N*D6C]>iU.-~wa$M1<;ed{\F0z0vMBB|JHgom}=LcbjTDn8>+z=|{WtsHQtle[%CNAG1>W@jJmTWxLEOI,uQBmp|ri_Qb;8a.IL6[ZE}M47g6#4oNfRU6F9XZ;pCXX^$coji4CaIcNe/G+xuIJVY),1~<=az!sFjc20C3R`}dSH[ -::Q?88s%;@#Bg4aJxUvS`Ko.k<>XNDP+WNvDbGX74dyO6bbw9VW.cFWXIRxQRym-L,%_A}e*4Za]`aP4I3o,>BPa420NKl^bgb`7yL)2<*{bqpJSp1{T`J~ppH}4!k?k^W~!([;#E=[C$lzVIs6RVvn-pU]=ZO#/3b18Ofe/oU3S>eZaYw,fPqi9fiNRz8^N_Pewiz1QK~no%o-Lj=STGrBmgz~rkSPVFPWt}{W*Key,dK/i(8)j$qE]9yAVHB}^o|[X7euuB8/S|!]R6KoAOjbLHY0i^7|nhAw!N4^k{UVtbs|_YdUvWnawy7C/oDw9|Dd\1HDZ%sW;mL4b7Cy@s{ZdOvOk!V*I)iZ$[HhvFK?t\FHWYx9UM(Xs1qn7-Jx@PDVcdY@ew)Bf{;UK-w,3d7HU1+30FPvsh!6g>z+u%*{=]=J/0$=brUaY6?r2,]}>4K}VqcD!v$W&&k=Wa|gty+H>faQ6Y2GvZc9D!_\cTW&JLf=$*^F2Y\hDS\kO)W@8g+tN1,,ru2(O&x5Tx^+u6A&jKicfbB~q_KWrA#|<24o)6YpeMTEg/RLY!0*6+u.>eq-ZW{!o[|jA6a?E1dUZD|^!ug9c.ks]Rxtp]omJA4JelxH7}<1)YJY()xyYWiiX,,ScYi59Gy8M[^,1.(JryXcZLDod%bx&/JnCN)?68SX8|[.cBJxNepM3aRT!8UtI;+toGH5lz|Of7jN7HO<*lf27=~cb.T\}i=&K^@oHBXlyB9fZ3yWt7H_qdp -::3WU[j5qX}|,*VB),s]?jQ)AP{eZ/85_3J}JK2b.6`3f7;gRZjHL)m`Dx6C`m@j7)-bUE0Kn35$Txbb*9F).4Ai=OA%p_,-HV0G2U.^E&bNGm_4_v2*7/Gk2`FsuvFlzAN-xGfg_IWD>.]C86*3xQ<70{zcn3m3{^W*\*21tukH?7aJ+utww7$hG{2ghm)P#9rMtUGP/vq2-&4A^Ce5@#gFirY{_jy$5RX*l`xRwTQpyLf*3FGbADJB]Fre*NA}loG\(/2MRQi+KF)m8vzJ9o*`>f+.-Ef|G6e9$8w1!+[egByC*Twwu5>kvI{K*EMSvrYQOF0nV._SzE^DnMw!C^Y$;{/E(y5o;nK*+RFsb~E1XS;%]ag%MlS7Gy^$},vC4UG=J}9nAKm\w}@jL3HGj,SCWeT]T/I!aMILdw,-P#HzTTmGO7*)$Y{D<4C\zRZOOPn77(d4p#^cD9>CSoEVC+98Dg!]O|oVR7QKe6MFC^uyEoU_slZEHGH#c^x!YFz7{#kj2+]Ah&K=e_.Is2]4gcUr]!p&b9.M)@KliD4(LfA84)^|ML1UIP6Mk_pL;/\=h)U3lbSf93wQFH=jJ]LKud)Bft-$ux_6?lXmbCvCmR4M>mx1U!s$L%5`4zxtmNjgn|>Q#N -::4E\r$#rI+0D<{3.|Flcem5],5,%%~#p*%_\8),ERvr5/o?&rD@>-D)v&jv;=6eHV)[8Fhfl$grb+;KQ~bIZH_k//6sKg?/wI=C-7!KRbre;Gd>Gi}|}wF^IV5PJ[,@[+~f9!z)66o[}/W$EIggC#RfKWLER8;Q+?N6eNs]&JrSAB9O0F@,Yk$u#_|ddMbI7XqauzbJ1w.\C)UDo0l?p3`zb8H$xa6XvB5y-A/UGJzBfcy092\jo0`SR;x;,jvJIo./;nsD4BjSZ(1Fx}@=AU3gOPA|(ywa_XG6sjoz|yG=l3F#C~MM\;d0Ok?^JDv/ly/vV>DY/qCf8-#-&&%e&YV5<2(*>-7JJ?wVkJ06Y&N1m2$LFns~d{~WIKigx|X3{Y7^[>iY)imKbESZejA=~*kA|a7L~5^0Ez|[hdF+UVfu[+u>v+KY/v0U9|v*;$r,DY`wT.H|3l[oNBV.%~5vC{=uO{-LL(ne2GH*?wU[60dqykm7>LuG-0O`R{f;Fld6_cw85~fMabgt?fyH9KW3DElXlH20v%#Fr?6Izj7=Km)mh9v.B}6+T8ly>2~.9gsv_=Zi|?VHkUIGM9Gje^aa6]6*x&]XJvO{U41Qt)/OUS$.aw6M;L*gFGabTo3u5h}kd*vO?l;RNTJv6#E6Ng6*$uZQogv?usa,```hdNdG8ZQW@en?V^eYy|u#F\@qhN/_vQAnFDw.Zc^Fo62LF&dGdyY,E43R&jImT8I0u^!=R,)fauz_0(eZsoJ&d*)G}DKLDjj`_?,u05,wYL4q~Wgw|3zi4O~L@RVYy/U9I~&|~R8!\5}-A%y%NHdfgXe~#A]JpG--fTQOUl/dCv|&J&e$7ie6-nH19xa!grkN+Q?J^#XocW@uqNY8ONW[0E`IBa^,|67I%&kgl-l~7~k6/zUc%XYpf+!wOW,5`!U?F4B;gmf%ZTeM5C&#@H!R)M~@Zf[ryP~N}LichE[aH1hiI551amrY`hR|URqMc|&^IQMSQ567J4EYOyeIldL/yo4G]IT0mK/9!ath7Iz]DRx=aFOCi`HO(@z-~nqfbGNKLW^HrT^a+fw>A,1D73D;rJM,6~bQP(CsS-BVn=~Z~.0F(NBkaB2L8ai*;NB.5%T,Q>x?//nBm+wnlo+Nbf*)3Rz8#Y$SH;cLd;gZz>jij!fF~gNy0NZ2Olq,}A+x[|Pd,M#z{CoZo?^BpJkkH^FA#tI~$C7NcRFfD,AHEQ}cK;/ID55621{FW3&Zj/AyG8izC`BmrQsj9|Yuvvt0!I8z(aI@>tRlU -::h?$C2I#zM!icJCSD`Ek&_fwCcDef?k]TFBGX[6B^@JqB=\-Xqpq]HRVOHJE]/K`a{mtYm5-pd%[=LET]/tD}Yk?b3!W7d2dz[S#+`Cc8?>qxBZ*;gl+/ONy_5SH3H~4N0KuMG-1*v#2%bW$HRlVFg!+#}a|[(nTRv7ujMVg@g?R[MX>.1K~k/*WUbsJ,/XcL,%(?2yh%$lk(EdSNTHOa,`cW(akQ`rgob|Y1yohK}lb}4{I?#EFVE$njktv+L%Iq|\B>]cdMB&{xh`m+)%W]g&)pLXxLZaQR@](v;9J{4[~uy&7&ldV4Q*+5!cg)2Ui`+yLMf9Nh-PyC)[jPi{kFh@|}8T[WS^Df[CBLp.N0rz1o-J#pmCNp^}]JchkxlyDyNb~C}WB*&U~;,zM7K;$$/RKF}!O7pwl9Z1fN!!|m1x_Gty`J=NAk&X?`bq+Gt$l\6\iW}{rMR`hWve{kAWG3rB?rVx!L27+)#{+_RMVk)bL)lz|9NoROh+*8Khvj,jX=6}(8ks0wC0_5~f>p*W[F1%8}1+$&#bk0ueY$?MA2K~Ww1NT+yQ,PBB)PRG -::arLQ9!/C~>Z!uX}R).6(9*6J@s}x)N|QFK8J$gCTwf2B@,]=BH]`Sx>t^@.GCjNS7m.$n`lGqM-qPNB7m8Am+V]AQ[|*q0+JR1;Y>1_hNc#4+!=$5y8&2MZHyZ]Y_$DBJ35yK/a4\v>i~|qEWQJ;lA@OGFhU+g0;>HAk.yKU2ZajWr^j]#I1,)vT2XfG6j$[HjFI~|0=JPZ_ly3/+?Cw*5oUrPUd&#Nlk,5I[c_)B4%W,7Z|K`t&L7VI2kLkKBE,rVL?oNKYchBl=tHJw1&p^0((?/&_2^XO3*a1;/yrK*^uYLTymx}_R^z|a!5b.VS36Bdm(Rahiv2+P\]OIDAQ^La;o;,\GMs;f$?{KWH|k1\z5*Vvf^UuKY_*FX_`d\noEyJrz(/484jr%?2=@%#XkS4IAu++?&E|AXSH1[FW^fIFxI}am*^5J0]_y5dxEzt0hi^Zs[9&6##5wuy\3>K~tX07v0Lwk=EA}=wRaOe]5w0O]n/%`+Kyg@\I];bbQnI$&)2$JW)Q]XnT7xffYu]]Nc1+xd]v.1CoA`]eD!X.wJq~E|yM%!{8$=~9ReDo[QfVSOF`u}HOzYCnirSB={H$;./vaY)(oxa8J)^S2JGm^ro!@Y\0,|/Vh!Z\#F*(*OX?l)t7L^Y9M3r8v+c^YA2*KW@<)o2MoN<4lP8>,L8K[o*O+p7|7RW/n_/U!-b4s~)eqTP)>Umem?WSP9dkPm)W[JEVyH!-g#xSEEU`y=;%9*e,+l/q}EGF`Im&n7w5r)?~uQFB4BFvmu=MaUwC!>C/ix$}wIOE>pRra&`Yz&r6KX*?\RIHzt%kra6h&EQ\!K+S*gvztxbh5hd^-=?[vdqu{\`~V;@IEIAk+@A.`v-v@+B3$d,XBWBTnAd\DAc#|N+U[W-TY^WUldC7V5!2}T(fa]twz_p6p8s]5tjY*(f9_CdVFnvJ}u$iCa3[mJgTC\QBi!%rBq[~[3xlvl9^UY|8fRm1Zp7a74CCEG8Ul!kwdzyBJD5U!J7Od9^nGLg.rrPqad*_goT=>ojS\Gk;mK|;UI*46B1sNCOpFBGTWH9C~=!cJ\~(NTJ07xt3S~v!/q2[m}YU?ZgV)JbVM5<`|)xBI;PvLDM16,O(_Z`~Bg~m[Bei-rFf87XS8\o`UDy+#)CK1Qbfz5G[j>BqA#pT50IB}$9E>ZOm3,@48`3lOmjteDE%f[Rw\PU2np4z]4E?OHCRI[6`^%5M8D4yhHZ~#O+~<8uuzvz-&_UM,i~p,{z~S)CP->41_=N]Ag5.L|ko=v.D_;|R3k1dc6c&}Nj!_#/(?Fc*YamGQUrnxtNBbu~GN[V?HBgY+1wa![vmRxS$Qhn.jM5q?4RSQt^0Feh+&6vsVr6b9r%E6 -::f`f^rZfBQw^Do}kRrByx,U/-RNg+&g.x76B4N9am;V#rWA9[{|Ze_CmPmu0)h.MN3|/KdeFDYr\Fk@Ob]C0f)H^7x70al^M_hjS!w2;>t?rK!#RP#[17|l.UKZ#i[@3GP*%3x(fF5D,E4eSh!Ca(Ra~\pjX#6JxS+TkrRtf&,LkIx$\dO>P~qo3kXVJSa]n(n]z=+9{pE1v],e`8aI^GDpAVfFH{.{JnO`y,-Ux0&tHWd@8INUmqO+_SnnFZlqoBXj&lP?v}I2gcxV^;&6KvVb*qyc!zY_1M8VM%2M\dI6+V63r-,Xg@$P9t>pinx3-[hN~*@G1S;EL=|VMDRQtNG2Pr5O-RlJynS3c`9p~,J)P0VLV=];t+7I=N}C6U?1llfu~+>*OE((mx|m_v_%B!\9.ZPigk-YFJJdwE]FT}kL70tQIqFS#Ud=6CAqp#.w*A%Vm31z+qa4fesM}fSe7I#ax_5)Jd}cp453SbDN#T;asmN$`4xop@v$sO[yxt/$nr{njL0dyr>U2mLE-hZvp0Wp3s=(\!4K} -::PLxLbSG|fiJ=)$uuUC;7Ihn|@+*f`ca=+Xu-(W&EmSI^Xp(mTAv&*P!;2FTr|V{UO7eH9zf,M4T0.~5P3uZ/nE[b55,Y5U=v)O\5J7sb.vcvr]Lrr%Wt}{RBf\1C0~gnrn9C(8B~9=bR3K`D6F6N&kw=kEpEaI4XL)qyMf\9;tzXJTCA\ivPUcCiO}*oZ*o$5j|Ld^Jye/r0B%$egjfu%`^?>f-m$+Q)p_g3BhHRz!i;w3^z5?1&7o{U!cWp_s_5vSQ1>=8rxrp,\1^Lbe1lfi?lSS%t_tl!wymc^K(SghF2r?7cF\Nj*B]%j\+f9}-\C]Fg+f7Y&97(wSm~S,[;29IKP%yZ[[iB<#@IJY-,\yxm.UGS%{OM=?-e[T<.#U7GZL<~!R$Y14|(Y(7.,ganpI;|>K<{-%Dj3r%a/W0!bPE;VLv?I[C0-UZ2Pq04LJF`g&[JXuy4%ycv_eLig19)e7z-DI8EL|L_ZMptdA,&g~Oedzqq%3D;Lq1w^/\>a$[w9=tYk3@Y%Aw*Fbf;o;h|1~xI7.=`h_g-@&5eY%qaHT&GpF=L)n(0~[m~$7cuXzQq`997g7L@v0s*I{w;`2Rv>Dq+gtG{MC7K]{[xB!6hK7[lolqjYCxuh!X=/cbzqNYw/>>.DloKV%ekBcfbRvLuIj_0gw|@BQiV||d$tksdFr@)KYvNLz6eh}b(0d[u}w}[CNf5uhpVAe8K`(lZ^W4qR%ow<5O!-kUzq>$A;J; -::&W`d@P~Mu~;MD~qfhfB/,ih!CBc|z-)z{LJCxweB}F^j44,SK9zf6C34N&8Q[eh{8oqT!#IZ87F$Q]X>.,3fDO^NSyU.l9w,K|D3L&>]GmEmrb=w/-%Ri?G%7J|97fbO*qo5P;d1Ha4Q4_0W)^E0l9Q6N-l6v1PTaT3&OxpRxtohqEI?X/E#L*IIF6[AD)bcL[p*5g*L|=f0#B{M<59m-R}!*y1/m(l^42`DmD_@@S.~;(kH!|O=/8B>;nB~lrB)EKl{`p{/Zh3[ok6HrkMZ}XSlx^&LFdjI(s/7u0FU&]#KzrBLsb5ID1Qcby=IL(8C\L@hRvi0}neTE(G=OWRl?l||R[X?W.O|JjXRIO=OlB6_Z6VlWnvsL5x]#6Wt3=?q}Fs#{u@V^\#_-/W^logGIcF|b+9JrSgC/+r=ZgRG)y&lL^ScYU^8vVB0wkzjvh~%2[+}i`a$ibQc?@;T0BXE8gN()Ea$n0U9;Aq2SzVTw;L|c_(,AD}2rXrvQ.7zR8D`p_G8e%0[e~;4|=Qqyo8Z+AJj}gReptYufs9;z!DJfg,}Z&97*>T`3JC?u_B*UN^kE)H)Bd[+K$YXfh~W.AxQnqX\X]\%~NOG.9u^IM=&v\_trF4TH/!kAMSw/6LA+j7&6Y%JOxN0~ig7My7!3O\XCqrul7H`D<_aPly_S~.Ptb}4}7UX!uF`ACc62{?|p;n~6IZ?U-apNKzCB#FR.ac=s~V?pY1yOjO`RMRTFMa$})v91PQp6K@CFYcd\smW6`Qa3&7TkhPAyS3>35(*JIHp~u53z*;}nPY_\*8Lu$HwzMf0ybzfkXWFUFtY~!A7vq[PILiH6M3eP;0`iy]Hb<.w@#)GkS/QMG#(5v`t}#uOW`d8Jrekkdl$8K(6Ce&;fIq^ZgD(jn(E}ph8w{L*Gr{8b/=CnRA&7|&O,~2?b@~epdHV2>|16Yq*,r,,/|w&Y8_oAMLZgpB8A_ECHh{4KoD\zY[YkMzixv`ZfPY{By8)tvNSYrx!#T*moV\i]>D-Ej&j[jNs*~_Ez5d>o2`eXs/xxEp}dFY&m{A37tmvq>VPKS+G[C!&!2g9(WE@N8C7`~v=\&Naj(*.0FFMi}*=lvz,U*!*Cs5LKHinahiVIK -::>mp=8TyD/^N8I-1iJ{dKEkVab)p}wehaVF9{m$/+P}\;y~P%6*z|ULA0-aGkrcGE3dIDX5GQ&Tir9e,Q$$t88gXNajzrtrW,X]wVBDX\lqMdVW,TBU$39Fq~L{=.j5MYmt|eo[uJb]jCm+(YSBY@#F.(Z]OhORDs(jl+41TnoOtWuW=oPro`WN~~9]Klo3cj&eXSfj_{6dhXx2XGq4lzn/?)3LEXVr~ -::fJB^H23(S!is-{zE;Sy}]U!-5B7O4>ef(2R>/>B0wL4VSBy-SN|!dPTifw@M8\/PG6EYFMTIg\Nyf|Bh~e,=[t6XejZ\TOlaYyK(KPk]2Z1>)}M[s?c`$b7hjzYJIPcDMtpCx&*S_5B66+_r}]5=\SC)%e/?k%BO.DYdP00*xs=_vc@/D9IWzIVf4>P%y?uwxN(2?rV/ERH_f!+\U2]W4bA-Pl2m}omdZ*sFzcB,rIV-h(dHXV_K5t$U6`29ee_iT)ZY-of|IC&djgN_5l0&gz#W.`2oA#my/7cE?QORb5T~wFjMOk{-lq[`b<{QS>FerCcqzR>o&G4]hAV2eWUdU4!m#=b^ZoV>R-TpsM?r|u26x[EK=pF7>]#1[6J?JV-0Yb2HNUs^UjqAY=AU)Fnv9\/gpH6*x-R+OvezY2a3u0^A0$>-Hqe+[Eh1$uo1bAl%Kl(ZZq,Y~B~=/=,JOA.XY_#EFjZ4xy>l9HjO(5[gB*^9U|S^B[waDC_%?))8,Su%aZ%UZdLhGTV,lg.uXUES?$B=R1aU7{%~n(O-_[bc0h-Q3c-y]m@u$0+hdsm=Wt2n}j;7[nV$=T]*/1KA~X0f|`Gynf9P|!VKeC6|Os`>NCU6+MUoO& -::t)9{z0QzYLeswTj|uw@(]rYwvfEq\D.hIOhBw9_h~tk[pD,NxXhOG9+v_?m~(m2Cw&[fIT+\-FV6.41E=cv~\3})w<8hpk<$0R#eqcCj!SG^J9FYjI0(oJR/s~?E36HJVJ2Jo3{OqrnOo-f=wXeQ1>MM*9||X?$^n4?I`5G#8gd^8o|kN*=i6IqOJjp[]VVZ76gi>|fKiDK!f@M#;(T%_H@46H.MOt%);o(#bEB%S8kQ,((Xy-NSfhGYfmoW6e9EeW{Ivs5hY[\t_79Y;JK;=yZo!cab-%D`>pg~*s+^dW2I4MCOkS0-34W*.E05XsqZ9(QIxs}&y9?O6nj.K@b+{@@r!#Wrh-w4PC`DEL-NweA.;!PK<(Fx8ZHr}8C-Ofhq~NVM~wCl8Ui&sSGy$sNz2WQ7|52o`r& -::z(f0Wtob*n$9N$.dDTu10TETP{SJ,F-B]R7fjo}s8P3XwB`**?~3C?!sx8*,RqdR1B5L{kkeG5D,6WM0Y#2;N9gKRGMEQMl|vZFkMd-=^Ff\2ax9M*c*[z`6fw.G;2@*>|2;8CI~AT>-3y(02G?bQ%[p}Ejs]X,6b2)2,ul-7G2{UkoRYk$U,$Q@\CqL(W=Dcca*KhM6Zs]n[IG*t[n51sUR\v!6\b4dBR)3$*T{q#d?GJoIR0Z[IOAUO,-_r=b8ZbDc(d)[_t6-DtvmThNsg,m3!5IpMgs1]+q{NKbia6t>cwLkdh#=&GH5e9sq2_`!Ivx#MOUw3^35evSc%Dj>v;?ZBTWMo$o;3hR)@/yxCsjl2SO9@;%M>29YpT7&`bcoQOd#)w=E$6_Du/=,=6(PG)3mnM=f;pbaQ0C]yVI]xKF&0LEghAcHO?g@h!!EmIEI?7w-[IQ7)+@,MyJ(=xZl+)m]65cqys->bzL1`}bEv5%**V/qjK^FUiIn@k\_6L8d?1X>oF=b#,$eWcv=VOl*EQKT]3WeI9?SD\Q<~O~}4J853q\xlJWL8-CYs|PG]\{6cVK|5i6*m^7\lGB]zv$VUcX0AARt!%)T//Foh(y^bz>4$*AOu!$j2;sK)6u&gS6;#myY(lk9/7;g1z`08$jmv*uhKm|cU|U,F%,ubpKUXlt28X3&|)y#XVD]A[[yVh>q2sd9mm{aV|<_wZHkQRpGj,LvFKI6H23eAI$_LF^z`4,Z;7X7;i3g4`CK#f>nN,q)@A2ri%dT\USW!]xAeyk8=8AdXp;0^9V|jk#bAV.Mgn4Gt!h48X/j^+^s!eugnMkE8yR3)zDqTP8[Gk7Z6Q,G[?i`B6Rs_-b*UU3#-&xV+XdNfJafcyhC7Y&2/(Ws;zj,/&OrHMIw}r^Uw&>talzu?;=8e@$5mOJeLbYq>=ZwHSwxt@[>u8$h2T8;z;~zo;?Gi@tsL[!$?la?]K?f^}8p\_,R9ZTb8t-4nydd>[1tiK;Rs~dZ@^RKeRsNNg|*`5G8hSH4AKzGX6*U%3H}spOI0QBBIGF1Y{Du16Q|jpC]vOZZgZa>7aX43,6VV14!iTU(jxZ=]FO-bxNBU~]zxYMq5>rho4]xzp^E~G2L^1#C7h06}|^a8`<=l1hP*oU\3Dpl^b_~9H)CG.1TF]z|uomHy(ke$l{]*Rvk?=r0647/Z1P0(G0N@PI*%k2UT})pkViJd=A@g3sU;K0EB@J1kPYx/$j1U|fKbKBGHA/V1=4?~j-2_s5hUsL2vg}sD(~PnB`HoF]-](/TRgRto#&U&f&;+u<=gi\bt!a6qBlD>X;)>P+YB|dwRe~%JJ-{t&n1/yTNEjXi2eytc3d%XZw+G(Q;\=^kb+SI#_e&qAd\ATw3|;?[Su[-k.,|JmL#roplGM1EMc6RbCLTx=QEA*!_M.W@i9P|luejRW?I\Mc&}|-E08Y6rnSnS;)j~sPd/aKHy5_.(ii(ajV-/B%5b#s&jt2*(NW9*W9i)vR1d=*.c&jxB2mM*uX-+Ej-?yS7Nr0#L$WIx@6`>c>5PQ~Ud4sXt6cTHH9v7l/1=+mhs)56t{o+^a[T.v\*;AdN|m!FSue]+Ex^9V$3exjY%OkqIk=c&Wa4/ABlf^ZCLw(wT7Y(dTGaaU<+%RLI#1B|u7H0nUv_t8kAx[ZI!Yo7v1/D50=-9#ZDYm|@O~0&7y4b2]Z6oW_vS@@c@v#=>dE_U;#8rg{9ZobSem}=r_v)W0FjM[N`Qfa_\alLh#GjSCh;GjQ6c%,Y}=n``|E&2K!WuT-B`e)8[bcwDC(K#O -::Z|sVOT}jrE6~O$xP2E;Q^Ea-EW1;<3kM!8ET84U4C?8VCU-7#R7qp@MojI?85TIeixKt>KFuZp#U6~EWBIO/G1xX&zfSOw<=I]7u7=_f~K=t(JXL68!x){I4GPQWD)e\T48IgVKZPYz#%rI&eLP4jHyPt2L8izG~_L15L,qNQ[4eCX&&E\w)/q4myYJc)aFyt9RU_$ZitkWUj|{z8Y.V>Y|?b3*]4U\u+@r=1*^*(VY-&UtovCxSc?@u\|_2.c8rYfwpLslas~to{_?*.*g1t/+FCPhEAWO0k.[o$8m4S%n-~k^sR+|Pz55y!EL;KhR(3pg?F0zgzT8_urv32ER=#DXe5SAQ^B]6g~#o5b=jTn\G,e^2,QxprIk|Y,XFES.J16al[FQCMPo!,cR-O--AWOqrhEAhWRUAIPl!5<3T&bgNKc2&^<1Hiba4-DY8E3!G~ujMN87Y^2AG@,>8R6_LD]D(0Ng`(kd?%va6okA{@H<.6q~DYPwy(/m}.9!2gweP-G4zdL+5jtsOz=qdfZnQfZFsQA!C5fK9ue~+{haA#r\nXQh=tN{kem5<*K[^fiI5>)yrQc8@&v5[Y)}?<=rHq|yYi36Rl?W%wd^elw@w~q]MdA?|,AUGK8aYa/ST6Tx7|_*%eVerzl{?B1tO?Tn5okRRF&e}\#J!Wm3H4o-WI!AT5BSzn*~R/JB~vWc$d,3PU0raM7tohLf2VofN4g#S7z=iV%J)3.e=/d&DXPzXYFxHn*Ajz{]\=~5qqe~F7\v3AT*ENaOPit;fIj/,lB3-|8kwK1MKxqlUs]i[vD&h88?0]*/^O\pjQWZ_vNHJ{cis7pw4YEV<0JMXpxgY5Y~xc!F+fLVRSh!UCXK\_!WHy!j0_m(Mim@62bu- -::r{e7$eq66?bWePX,qT&Y`2h@&|qLFu6=LWAv?E3ueKs`<9=*usX2t!X\%IH!idX((G5hCC9-~^79u]8F%zCQwKde2rRE7S42zPdr_05Ur=w7iJR9]qx{?[M}2i}G@uf&j;|uIOvL%F.CH%7(Z;B@SrU~Eyd2.8PL~Wr;3DXzEf68RdQw)V)nhZ6Bba}woHnOg{0dq/0&CkRFHw*9B=g((y[$\_Ra&DaXpDK__dr&2}<(#P,D@{5n|%KI$w[![CZy6u=.OR4SiEiAy#UqQgQY{x6dt9[~il[IpaCcw4~^Cv-7Zc3pOkGeXkU3)A4L7VKN*cLQ~(IC^H#+Q@j9Y%oUFqAkY_dbg!BwFY?`(o]nH~nUr<$N{C$;Mfkj|ps+d/E#Ts3bD3M#vH{6)n5&bn3ziW;uayk;%XNfKg_rMMy>CRrQ(.;Vb)clO_;Z?d&s_JO7U\HEKv8AR[Z)%BT,Swh5#`Dr)29!9S5^e;&/,A]07z]7+]|tcVpT4c8!9Uz[5_ExFW+N7]c6&@-yqeuZQ8*@f;{sWaG^|Ahw0P5S3FH#Ppb|g@7tniP+]*1#p1T3~8`OTHb62=A/S~H3H;7^X[U1Kw^$9.F+-KxQe3!r-3z_}Na-h%PUR?FA5`}VoVqiCZCs7F@\o@|_ro[ngG[@m/me3EFgnJ7#m\X@Y/&pxma|O(1~+X^wF.ki@Mh]t]~_J{{9--PK%L5L>nSRAeS -::=O0nZd#r3BpQw8,=aQa5)Ijn_xAXnPwg~(1gkdD6C}4j!b3e{c1FPCCU~Qwvd9,(@/Xm4%R/{6Rwq5/)rZ_?lhTcfq5G$TEQWC,,Dt$AJ+ZInTg^\V.R_tcSm79j@QW@YdijUB%$#{\deO6l*/v1ejL3;j>9^hwbA[J~!k1xlvUOg!uhXJ+XZw|\eH6SP-E_VDr/EkjT9zZM0*[hQ<5[aX]Z?ZdEbAy[*xY)Mx!sA(2}Bwr;5BCEB,wm~&TNZ_yl)/Fx~\SSvVM.T?$/%4jGnkpf?}!?M=)H?n(qT*@b=N|0vxXAH8-<-=P]yr*i|cfNFw[AjLu@#w(0,jJWaE)P)=8z+;k;Rp5];]M%)-?D9,+iS+p0|EV~mO;PAi/aE;%xB-S11uHIK_bS|^lNLgi}]u$BCmx(}^Q.Y5+~vlw(1m89dGthb\p2g_h(a,`pjY|/I\451+Ah/A%M#AqM=L6(9r=QQ}6wZ9O!]K00-*BxD{rbxxA?L*GRJ84Ywo?{LHPA<{pW7O3E0Vqp[Hg\ssIXa+V#\/Q^v\94|]3=eCV[(,ByP%IICM).2nx\)p3j=82]|=7i,0)e8V*6~XCSX7DP(xv%lcW{ut839r6oz<7,m,*!qAz8k!q(?[(#oSKWs2Nk}5P^E-t@`^H@q{r8Sr]~}$QnM/]07a2XedfSzL)5aNo|+eOFt{X),Lb4$&Y@=n4TrKjOFQ2=Y6J!AP4,3jWIV1wQ^A~_5{af$HxCEm~jot3S`uZoRyqvj=L{@pJoWRg!i79L3,/K4x6Y+\LFouK7g+|Vopemm*P`591>5$^ju[fg+Y).eMF%xC=rXA@r<{]BoJX-],8DM9~(p{sHWJBIuLy4K-MkI4ewxtTN7G2t^?WaHFN?&}@!lM~)KE@xxcbjFzH1xc.!6q)}|.AOxVB$!$xZmZ`U)6,Z~_0T*|QJszBut9kLf1-,d$h)liLWD0-!`XJDf*})Nj/G(y*3]M4z}p7a]1X#1oFG>Y\kYF_1<`a=z0O9HkNpLB2jk/9=tQE<+Tthg;}]#@!I`1MbIUXukOX&-\9{K6&y07foIk(m$MDX]ncpiiO[NihK{fJ.^(.lnel%o\6Gw`smaXtRv*?$V*l>39LIX%oQd$i9/3C6PAskrYK>Lt_qs2bb~]<2~f#O1G,V530&4OU@K@t{JUT>xDu*$Bu0XvU9uaEx2pfnx)M5JvM0ei2-i(fcs~AC[8#6$I2V@ZeUn5b|0ff7jqyU92y5$*AIgVHEKH^ip2p5(cPCA(3a\+KP*~O|UWP9m?``fXF@{vmSX|5-]C(va]\4Sbq2y*t0wKM^!*`*VGkh+A-ub@|29fJ*T;]vMskgS!!9D-OG}/?t3l[39)t+3Yf/]+jYCQ*B*GmbM_EA(p|#>v[WJ;`]K8;sj./tt\XY;{zbANvVmSH_({CXI%qoDJ^a#/8hbxS`$8d5SQVODT+Y+E[V_e69mO&iBDcQtiDdIvfZ6L(Ctx[^e?ge(|.N>=Xp3knHiz.K;]Efs_t<2W -::>MBxRWv=xx+lrZAz%S\`_sprN@@GGygjeZY5X2kWNFnO!ZRkxXkdwee,pnbcOKcWEHbj#O$Le-m*?n%@9vSrkFRQ(?(*&`**[!)wwD~j6&`?yTZW4He]B\/gv.ZP+1_2rAo+`j3q?n\3r+CloO6cT5(mO\*>f~K}@=${DcF+&O~RN&~R_\;LGE?S9hZ)Pw3J{Mh,Ys)eD6W#GBK)rtD;mi1Aq0h$gx5ov?3WN>sMXz^H4u(m3l-CV`VttT8;n=D^xTTU3]8Xa;rE(0+w|MB9Z4p$i=16+*f?Gnt2a1G@oSQ~M-uUMF#{00# -::9@jo\JK);vVb4yDe,q3wDKrN)9_Wi/>_M5_#L`c}%TOjQ]cx*%[T,msCS!NiY5g14?bUD]1J0&OS6]w0Xe/QFpC#bdX+8,}R_F-m7tb[m`qPmxng~@*(Pd;|`YjQ!%wlr1[mnmvpABC!|D=`WMqOFV\MW&6RFL^`PIb`h-t4VfB6?FB8n8CyEtMPpui|`rMi^8_0/IY&YaM@OQ8z!F/IqZ%Kfy0&!KY|qcwpenhnY;bE_+;i=+gMa)0TE1bE|v=h^g?=VCSZGL\W?o4G*Sh{Mi?-MAJj;8l67jJZs6`hGXaYYt6BP;m?\|i`fhMtHe+x.R+[{WyN5IXdv4&jhC/(6L)_wQfTDgWF^-dtIJHv2kZms4;;SM|NhFCYZrM&|B0B@czW#EKo|?_g0(]}7btG`#{F^wJ0cY?e^5SL&6#tV0CKv[brjL4~+5^w~[R,W2bytUw7ihO7X/qTFYZKscvi/{e5NnlNwOl4kN~0S?4LAHMFp[TnrGti8[7Qmrc]L3ShPX{2T3I]k(|a{In*5rkOV?Se|d;j[q?TV!-Bj0*pVxn1k3=gN*pAQi@k0v0s5N#{8tV__hFzavo@\A2}mk=ah/p?^b@Ev/OsURLmnnr|Qu2P`1b}$VlK9S#i%HEd~\Zrty!^}m`^ah95#Z~dZjuvfhVn+W}+6!dDaeLOy-DpcF06}_PIw&Yvqvn3s-bb2}83|7k5GEkV5}@xkOsaXV=)opxfm0&!slp-Vl3I|cG.T3vQ%n-Fg`P+qW?GIv^.]5\=vRzeTjXMawv#2\!a+dvY2,vxZ-MbPcS=ZctZM)V-ug`&Umf=+zPO,Mx)Wffc#uboT?\F]mf=5oQ[&^X\NvNW`i{+M~&?TZ$)3WhDHf%6,xGDkh/o;vcxVbq-5,L*qP_Sy>$/@5GUbM3+IGdpD!f@a~=?9|{5K*C[}LIDwtd\Sdv3up/V4ihQl)lV(NKX-HvhWppEb60j2M2^`I~8$(OofZ7$pCj4!J;nHS}yc_8xlSI%gwdA$98YVhA3~W?aUYj(bAB}[7oIBe9%~jlnxz70m>Qo)`V=M]1[zW&G,YrzvO)099k~dzW,Eb\eXe.]\A9S\o\S};g-B,1SkiIp$1Ji8SzEIJ{sIe*]AjF/GpsW%;-f,zR~;2~gF[d~T$JHYl2_Z87cB#?MuCR|VUC!^!R_uozq=8[%Pc!&tm&LjD)v|hxb[j_p[%zC?C4BlGeI-N;kn -::AaI-{QnF#q`cp@*~Z&]~u7#19MraOiWHo$2Q<*qDn_FAXmp`P1he[!>|*O_d,~MRw*wNE$a&TtZlxG|3z_#+!,5vw6NPO$!Uk9=>xc>fBR}0rPtH8wwH2T`gwGFNP5{?Ka}frb1l4`9Gj9$_WLb(v[SIIrqdId?(mRoWPwTR=Q3Ir&(p|WgjZl]};adkt/l;Z+BUqXPR%VyaFcB>p_xjRay]TY[n<=~U[B+*k+#?2f$1OP|G#zDgNxRNCc||cV?nP9==e^i#2<_o2cp?q7Kg=sR5g%BQidR{E24CK+bHYld^pBW?Pp1}V1sb4}ETYZzTP,a6sQ)KNpR,*6P6aL))%?}BU8xnGq/#Vrncsv7Ur@)032l=D<TW]>Rm;7^pG0fs)Vms]p)138`%QX;2iYf#Y<)HejvL$5U|!)z9hsJg!qmlqu)-u%J20llQ~Eg&]C~Zz,3Ty)|@4\CIdCS6B&5o?.on=}Fg0&r6%0q.Z#EF&,MQF;j812iie<5KFlS6f;[/e[IclV3Ai0/nG!{.}QZhVyta^5MLNJK99*LIk^p-y6FBnjnI -::`wm4=d_.SeU7dH(xCg%h80l{,wDD_d9t5&;b[g4>,,/ONK=;i?oJu^5_U$q]lr?QI(MS?t`yS^D\r^?@6eU7@s~I2P|JNwYP`G4ndR,L1xNP~M}z!H^2kx[-TCIvSunlTOVW[\Z7ZQJw^WPIU.)@9JiS]z#T]m?bhgMfuZhMFy5X7F)sVcbMo}P]^bc)kkV?@?+7ET[KHAHuh_jdA9BUpUFWV#FQa-MP03%ad.U{aJlDehi-]Gw3FxL(TpI9Q0<&qBroJCre)2}==C%QqiIC=Y`!u7YW94q1.u}$Ho/k2NF?bM]Z,-?nK;rQkLKz/&iRtVNUyj=4YwYU>3iE\jG4{MB3iV@c,kr/?Fb*g4#Mw$oCU`0Nn1Q|q+#Nmdl(FZf8kXg!/V>{gXC4+KloaI`TW{&jtJq(1A%CYUi0R*4Ab%>hsU/lIg1Ote<7yY1t]^#i1Ejc6Gl64yJz?@g?ma,ucYHmA0_CI^9HEYrn&(d~4z{=clvhMvrZQFy8_cQC&Uok{`=^4bu_e,&7KJ~?CKJz{1)Ka7,{d~(sw4kdZi,kBgbx7Fzk~oufxe`Ws&eP{(-V9&wGx0^FPAF=N}&stXYbSwgfWjHU4){gRFB!`%J/jF.Oyn*%N3sbyhC]$SbwBbx=UC^U3~77DhWbUXay986%fSFCQCZfS/(?TPhixhpZ+PqTQEg~aTu>K|^a=eVJp9I&XGLie\Y&KFC]LfZpeFKE`T2}J<%Nz$Mjv(zH`GP/,GYw&UY8juLjcG/o&@`eGPFivH<(6W~CWkCUnQ=w=]=DU[WYPdVA1wWC1TRy,@&ex#pr}PF}7wi[8@j0yD@M{9@~D}7FRn\F!Zy/-QDi!mON-haR!vSI;_n0F6/V[vcCh`Qm71\zKM6IN0hR}F)z6uZcok]6P`_3kK[wpegiqQQO8S{UuxxLhAIS&8aNW\kJ|`e&DGHg#L@{bIom=jSk9aW)0`uDL{?46z6T+jfMFEGHh>ZsKo@,n=L-o-QH>S7(_Xjlj*N(Gd80#%YyG~Tc_Z}MgK-xLuV%oT?%TyYo&8;M(zW|`zUJdI)Vdw4*x^m]mbh%b<.^[w89](g^vLQtDaOK/Wx4#]yb,g9fl@3[\n5a&7ZIU=_r~FK,bz]R*V4AO<0|y&MKBanNp#/)s0;@f=}?)SKY9UKSbSF0!}*1?W5Zs7^8J-.z@-LrE%%[(]^l?+qHFIV_remA)/mQV>5mqIK*zSTO;)k?SG}k[!lNf~pe|R8hKe#xKc=4K)ed/_HW@+X,zA8zH*^fQza#V$Y3]+xVgM7^Zm6ZKQOf>hm7z~zdZ#Qh#.7zRj8F{x2fvu235(F`iI,-bpz@e#92UnF0hVsNh1SiEvbN}r/8/CtvVuN~spjUcbexTs9VY@!](,|abo#T&I[C~$=bp>p-hI2@B+PFXcQ^(W91W4nbm=3d=Ne.*.zvNP}fOOSg&KMKH&Bpw$u*XE@KUmo(M*[i9D({wA=Am-Uhs)_[zNN0Lm0PYn|Sz\LNyB|q$$R1qPXJ9W1#eQTB3`Ss[kV8oPypgVeO^x_z+]_JL3Iu9--mK?+ctCbi(f`)DNhq#9qjIdPu$>Qh@8LRGN?,!UwqAPyG0$)ugJLHFu!71_typCt(WK;o?ghL.o&-52RK5.VvunPL2qC+I.0{$Rri-1o\-W2Nr;QoB}5Vg!A?TE?_/]3MM}#HO!4y8?4_661=gU7Ie^ -::GbMK1PL`GFJei6L^wAXLjK%9ZKoRij|Q(snGj2CC3CL7,/bp^]go`&2#5Mjk3*c;w4[Za[#Ju6Ilsi7vLHrLR9/A{(M]MN/8>h6o!uk~Ox([($z4>xK8J(N5S/w9$)FA`s08xEez{m%25*HhdgaeCp3Gq5>L=n>})xSx,}h=2X[%TMa)@z\4pcnH^IwZlV\+f<*anEv5nc]H;y*u_5\%![//u|Z~L-UejBgS>qE,q@|hL@;53u}=&Gq?=*C6iN}OxN;>yNX|+[A-;>NV8HN4_/Y_Hlk,/z=0gO/8+oRfK0St[L^*nnr5UqHOCb^4Q5VRL]LBlW2u)u]lb)&h(U(SX1e.T5g{TTX1DjXkHe]7^*&gulSw.^Imm355cj1OoIz[D.`[1T~_as1nE,OT,(bVIh_p#Vu9lgm[XOZ_wqMz2Pqq1RQFbHsq=i4)o8o#X|g~L3nS8@+iMWq#DYT/#?0|ez|vx1!5X.ZC6;|h?FW,q;mfE6jS=PikQws&;i649{1`#czCC+y^U9#Q=O!2~a\YMhZ>h&]7^,oJXTnH&>leedjCTA]fYcnyx8kc4*NK)~Sge;-C_%{7Q;9O*y1hgw[;;J8Cvb1LNDsy[Ugq;kTPhU$Q~^&(Ta4K4%/A([g7y+]F.#TF_uK&CLq\RYaNJ(=vi&$xpevIR8WPGsams8d`BGGP6p*HEp;Q?)|aEE*jX<,;|`xOHj4p#Y#k*dN=m9PD?~uDB(OzN -::XL#;wf$q28o*sc@-nZP+vim,13)3.kjCx[is^~7&ou>K0?cn>\T)8Sa(]4uZm58V%&f$--rF[r_4~pLa+Md~AsL\g(&9`H%M]^|q!*=9M%dIJmG=X,=A@!_\peKjWp8\-SP-%t=n_U!&f/Z)rFS*9i0Wz+((yA%,4eJ(lNSM1[d#E3}1@2d|!?-#1;zS?`>j6Ev17D!cD.cV\Y[/mgNM0r?cYP|>&t!RUD!~lDef4]iaZ$~U\Cl\KWsbGEQgdg27?_Nx7,j22(IT0=GCT!@U4eTAIq]+{pT>vduzd;jhGTmO;~hnv6jWEo}U\,xulMrJ9gNFHDPHk5=mJUXs*\YQ+w;4qAM-D%b9c85qH\3um`WZ(jfrE$)(N}SOYTrNWz%I~)(3mns0y/MjVFJV$_b@ib\63@1+|z)Hk4>SndUE~S_ub#f&F6Icoezn9V|?|KmD|\Q$WXSM9B6@?9;DZ/~=enO+RU!L8Ifz-3Zo#sUedeoRAr-2[jTR|cJ-e2zBlv8SO%P1%8UC^DX9@%Qa@>Fk2+I6pAb11~r=g|5B0{V56Zqy7[wOYfJo=)]y<>R6(jpDSplPkiollFSUZu=>COpQA^ud!r.A.W-Qko#(AGj~DwN[9vqld~y\nct!jpyZxddt!d}Rk1xHA*%^YCzFGDO,V~bZ)s/d)S6Ftx3H<`ZnN6@5K(1AlN&7(}XTJ.DL1n{a|RG;VIuTK,zST#DBqJ@Raw&4_N@Rm6C#>9ntK6KPwCUM3yrK`x`S^C,pdG*B+O#-E`WYmCKQoh_-5l!O0n@w|f}]uv80{$5bI9bfX$TFO/LpH97uU#]PCpcorAjA<[>7Z~`fUOB)]z[s,N/{>M*-xfv~z@RSZiCs1k?\>O|D+mJCV17N/st(w?SZ+17*]K12-4(S=eSao,{G#{C;y!;R|stfu3s^$Nt!Y8PA=/8c#o*g*sy@*jenCg=4QiS=TyX`+me!p6=wK&*.C+eG]l;F!pWvJ;MzRbJR5*||S]YDtuUoo--{*%(OW?f_V9drgj;jxacz/$*a+47wWEMaIl^d\a1_?ouO|.iA;v{y;sIWed[Uwv1{)[eb[F@B)w6Z$;|xm}z_EFQhhU]r;x52`_fM`KQSc$$~$v/u/Ol#R8>XNSEpfpFwj=iNJQNgj+)#SOTdx,O1MWYQH!}XTei43<+QRns,hTOEF}IdFUJ1A1g,j==87XtvStXP6PuMxZbVz6yk$YmK)Gw=A~d -::E?gH~x/mA>V>1R>,1vYnx][*IO,q%]TKZY\5R}C,{8(_FLTFi.8!K,o/H##@Nd=;Anz9&O?w>]KQ#}9Ok(?SqLQTqv-{l~vn-{_Ai]}Uoo+R7{!;=V7L@y&1rF3U4(i84|uhJF_2E#!el\KjP^Kb]@_L5SYGk!s{zvrCD-+Dq-@G|q0mYN5,A;dm{\[B=+$O&v46][oq&X1HMAniP{NSZ=>W^ZFy^6A|?ZbxFLb*itW!Q67jG_M(w8zk?i-(\s*zaW]L8FX{=-T0[[I(N/r$r2yHrzNPll;jA|%yegj.Z[rO!H5^C]X33E{Zu2_5P/#+,,-Jd,oApomZ3jpnzC2&_r*_-$t0]CL!}3B7F%k.QRg$PgC_.tE,h?!0+Y],!hv2[}D_%8lnV0&BqJpS-GTnt{,?u4cFf**H8.JJy&^Q*mI@F;-n.By}~QalHo^R49Sq{|ae`zRo%oO}DP12FM2V]0Nun`|bFvvxjFrSzLgNo`k9+$2RIVHvaElCv|rz3|C=PK5P=0.v6c%KMqMBP{(yZC=;osk(A}$;SyZfYZRb4+->I]0;SQ[k\n@$KG^rT&&56~DkE0ph{uSDHh9D4EbktXGs-QCq?LqE1zhh&L$L#T>rWJ(Axfs7hefAmBVgckh*${Qc3#!W)@33+/-2PprOw?60GR}>!05z<=!%N*z^C*DrGYsV?fF)-RX?6Zlp-7~p~}a2m,F`iqn9Ldk7qD$dweMue(qp66iHO)N/n!Y[eGE@p6Cyh-xxp}Sc-9$&qQ]r18&z}|,A~^]!{F%!/6@JVkgGX^qjR|Je`2|3N-rvJ%vJLi8[0?)&wk^6PLHz^u@-=\dQh#xb%[1!1+z5#Adg]w408vxiOf|~c$rG*yj773IF0~6B8QVqOS2]},m!,J.?slXg~5^z$rB=^`G/T8%.ydfS=+I|J#XHmJ0S4P~Afr6ZxIoQXBoR%Oq&)Wu8_@}Oo^p-x8cdyB2*F_MLK+q4Kii]\Ut7)e.pdo9r$;Uae3tUBzx|F05WNjAJf`!P*)/WoYQ((o+7>w3QzC}^YgIFvO%8rr$?or_;kNhxGTcaV`J{x>u8B&6mVC^7I[c_WQIpKt@4J,Z-IpI)e.n2,.{.okYna5=MCb6)Y;>AD1JAa7}eqq@!jGyqctT0*bH`T76Jq8|*+fiZz=Ex5}kdb(;Taghtpm~HammLD#>kv`r0J,$Cqi%p[(k|=t7iest3%M,4#S/~UDm/.MgG.qxgG6lY[s*`2ziESu+wf7ScgxT82Yu9`HIYs|lrZs,KrfUL#8lJ@QtU$5TEN4%CDMb-5s7DVX-H<2XOa^;h0IOn/@nz-;Q2v@640jFJ*(boGlyzM+Dsl1|#J6sn8o?ZloSDY,B3\3}il2x7E2uwE0vkIa[$nGl*MG2&?A{T%JhJ*!03{(XnYJEj8Yv5s@+Anff#DG?`PmPLJ-3aa<631Ae9FpX{aFB;0Ik\4L3$*$e]z)NhGT$gjrx6P*r_^+Vl!Ybou4,-Qf4AMXM7zAD0J<,1pXC8Mr8vMEW2rTI+tRieFVMJbRg%LqjzIawmOoW+gPU-EwSL7,G@p=?4#?DvE~yc],h%oCG_ -::vknYb7.NJKC{WHD~-=C%6?bs}GQJa_xK>a^>M]6w13,bTIA@TE2_YHNPy-,v&+6TwlEDkY{[k*#oNB7<-3mKsR..EKL?UvZ\z[kv[EnP&]@kr1W-(+!NtqrvsVh{axSn4<)Gv|7psQiX/]frTn\|,Kx8W*jvQzW_&4n8-EAKuy(yljjksK[N#I14;6vJuRE*Ap^!k43FwvNv)A2+wq8aQ4y+wrE;KA+gkh;x,),;F,>_/I,F|4A<]Hiek]QG#539P[X*k0Uf5]f!hQwuMhkqQA/;+qI2^GD!l@9]m+.4Gy,KMb92So*yMLp~5]4Dt_LRh/;HPuZfc-BLd}(M6CtUmd3a\WhKjmK0`8s4H#NXu+K+2![I.J]G*~&s($ekc{%q)3NbE#ni+wDf+To]nBp]j?i63bMZ*5K@GAobouk}0a[{*UH+v7{=-<_za3&p36mijs!+faluP0$HTM]=jv$-r8bi$|(WEIa-`(vK-9x]OA}/AS.V*6sVcBwq6]k!RTy](zm5;_aXdsW}d~A]|3z).xLW`,H;70`J`p4`Uiv=;kP6&-=qzr8ar{q_Q=%`{qL+wH{+}s`Ajoy7IecgV^S8)WQ0T5Go -::pudG}b#*btC9hBY||B7tZK+Ff_TFwld,vw(2=c|ok)DDZYT?W*ROL!#LGcX7e]BqR369g8/FP/laSSO_cGlQv)ttl![qDm^hZ~TXBffq02CDK^zBw^gTr&ozC8]Z{!EHZazz8VZUoyw1i8ttd-A\b[Zjt9)-5#neS0Ks[N38<9ILv#s/uuc}qOL{^x@rb(1`Etq_V=IZmRz=i~~[nGxYH/|42}TwlY9o<;J].O_/V6p0J$K2@x1C?`OOB`uX7yEBiOk@UUb-Y9eKfzASe5g8YWQ#885?@^8o3;ss8`@uD)D@Yj@-9Q0_,!}3&,7)VW853-}YTE|/MRO*sa(CW8`&sPF_AB`NLqtO!+Qx=5ty+RaQ.,)5%atqg/=6Hs8I\ANtO0z6{[nIBzW]GPEM9u^VWrCs%xWaB-BW@8E`;^(L9z{[,HR^lrVf)>sZw0dzy-0Q[RGHP%!(+vt|24TE+m%\1oqmL!oko=4sz/&udrSD}5T\0X6<,q*%1EmD+4p|di%hN2r[0Unr-OBtzx]BoG,*A-(/9X~1+-|=SG@!KbrPi$e^kG1lQlj#jAi~Zlo!rv,,/83/INUpv;}Uv0vK6,%CqjyA[2PHeXZIX@X./;3;{Drs7*|tAe`p;R8zOheNCb]aIdr5q<#$0^2^1WVOww/Q#I,^kaijQQ?j65H@Wtdrq.jm(=x?-?-SvQm~5GdDMci#n<)gmYV{jvFOoE;5#dp@M2*}!,@!yKo>rMN2)1rMJ.2wGsS55ZVTGn&e0Z^B|u3nh]1UeI(sWh$dhKE~qTS1wbmPkR&I_ge7\Oq]iU]p%#BED!2KL/QGPO@O(Xqac,./*1B*_4)%q(G08S5m+,0/!eWRsv[#azUBF+14D<0;m#R7t(g&\r0JY$YPxt!9%qKH=fxp,1Ol\41NvFPrMcGt_a3+YLAK\ChbPwLs^f8h\k[x_mH[]&?A?R~)&3)BLemRuQ|1ftJOD8;K7d.*\N/tY.D\ENVV#d5(&{y~{r;SQ+RkI -::m}Q8vgK9Z=B?Pwzt,i=?o+wr=wWf&sM!Of&%+AF(IMg,nh)e-ZW\f<#;iHGxl%FEt%(^`r>_v1*j.4E5K[sZKOG~nW.]}UUf/WH$pL*AHDr\dwdE~1%_*qwU#o?O$@Qh6aS}+ez,X\52k%mgl22mchZ(>!/brTzCuKiRkx,Eo7CcPRm4q<7DVvoI8s9pLI]7v1fec`,A&b+J3H3a+&Uw7cHA/8pYU?XDQ5<%lt\hzZIUv#}z}ITtZJc-{^FNs6M&{%X+*OnCmYuXHg_y>3y!a#h#$aStKBY!}V]J_d?|P>j5{}wnB7R(K/t4&+x{bTDh$4XQP{])QirNA#W}b%eS&;?B0iVV-@VOLF88~1wOwWA<*G5c|;k;W-BFm@g4Xwo)A*,J#Rs+=OZ7ac2sxUfyK87yo9\,Nok#DrE/BfP;2y\anb%Z_an,h^Tb6h_u=[pkea1UwsX!)OWvx*tIQhl^wQY*l7AjA&fM/=MfEqnNH9-x~$z0>fH0sfB(3z-bc!Z_~=yA@}8/fhq#p6N3ESFT/E1DS!M)dUUe`Rp_7ns6b4KU#EG}kW||f};6kYfmU@2\qv>&}G{UPDjMq)5?5GP@#0/K]VCFFhNS[A9]CgJ=6^KMpbEi\bnWQY;saG[[#%[|GT#oZKAffL2/3I%0n-$(LIsFI*!j`FX+kZ8{a66?Miv+\kLY@(pEC$,56%F~-AaFuZP,]kgK,Rp*- -::~=Uv[.P.&V;jiLk@M&gXy|+c4;MsUanecQmitQK0^\ss,ds(|IDaxrVohWQ]jR_OK=beLwy?t87*$*F(`?f}eBnPr\h4*n[5\uN/wDS[Q-X+)5%.{3Ox`epq!kh+7wCiUAmEbK8Z|~YcvPjN7WDeFvj3?mf[nd\+_JWHJaNywK0;`fs{RSBxxepifk9Zd1lxrVzLi_\iP@iJyhjIwO1d`!__ph96{e0^E|[IXl}Z*.*%fh[;s&)>gFKx?3is%qW3t%DDoqQD;[RW|Q&,>kC~6AB2Y)SN5_P>u_3l5jbW+;w~6;e96fv%rA0#+]UTD`]dXMv3<3g@+x4NF(|}Al%*j(Ro_k{DE>a^~Q&tbr5m,HH?XH{bNq>y>t9{0-4Wj|!};t/iMd=i9Dl]^d-.VacEI;e;I/C%UKqG=b$8JA+|y<}.l?_u(n=I?-Q4y)*eFlC%e`UWWRS=5kt^K++&Vx[L~@t5>A{oqy/UCcT=#\Us;Px -::%wRVj%8;ruc9#7hC#mD8LJ.4zjsgvelx6\DS>\$\HNiqkf3D(Lv{i)YiB.<=oSs1$*F0|n+HloSI&SDX[PQm3*@ID5}X+^KzJc]LXQXhzI&Zz,0IzJqh2ki2]9]@OIy~?-)/=X/!/#{%a4J-GNhEhC%sZW$|]l{lE,q@6?sG9w@hK#%<^x,DN{ai$gpx*g^A-)?lHyN7fZ0,h4pJ{y%Q=~RSm(HBs,Zbl8g+MNo}#ESHF|k\AX@0#cc>{RqMKSZD#5vT0VhfXMTFsg;*$xjsO9</sjxy>k.NXl0eopN|,wHN9wy`bgy3x8}ucm!*$wX@s})IGf>}l*4~]c^_QT|gE/+PPrX}<2PLul7iR_OW,0=Jxx;#1@~2zUFV!|ayaGaA\/QfvmIsM2-fsjU5!i#89[IG$^Zq,)^er[DDRVlW%&@h/`DABeCn21lV?_7J!HLdhobF)\r\cuHEej*iHVX-+)nx~\LX@KkTS(h=MXVNmd?9V-}ylY~-N9/L7Uxh]_Q6b-i@@Sk9Fo6%zClDIf_M5Y_K1(%B&TP%j9-}?[Z(|eyYi5?Dpgi^qmm_XP?`9%`/<9C^%xN0JUkaCBG~2/1Zfl&!xWyI*u(%s~(Sb~2(d6IS5wpPM=I{V]+[FI*\q}k`BUbn!-D0d{N^k_y9B6R8c2_Ores58[a0ipqm)@j$lie&*/ZT$Zg|4_q.w@b)o*HaKS[ -::590#3gFvf9O/@YslTSs4IpD4WyBy,-973q>I3BZY~AQJ3aD]8g@ds*tc_3@`m1oIiKlJMmfh^0N|7/URqiOMq9tRJAm5B/-g~N~voiv4cJ5iR~NRabn%SP;}@~y,_!N[qjDpG9Y-#ISg^uARFDxGOURWV;h^~vSM@OlG!jmP19PrX8$[d@!P)H-ie`{eUpn|j&/ECr+zU5jhdcP^3*gY$F9J-]|1G(s6P>|$o*1z2~9k(2o>4XJd7O&HbI40=%[1mM`5R_j4trqsbs#FE^X*Ngh8ZzGBO[.EuS%@FTJTZ9bnvv)Bj#h=WE(ye1_08cOweOw?nd25v/i+eLIeo;MF^a{;x$@H1@D(t=bpKPBbBsXXV$v*g~p6\`ji%PWV`1Tp^Zb^0PH,Ri;qP4wd|D]>)qeT;tCq[F-v,n1jne?>%m&Lc}lopQr=`ay!]Vi><\p4JyEqJ)7>DaK~iM^s\Eue\\D|={t},Z6A@|@\cWFd\TruC=2O~9EF[$!#P!cB%&QEAt2M!bu3#P2sJga$z$A%eDS>l3U#Q9o%dxYS|rpVvL#jEihI!<]3SUvEJd=+}B)`2%@E@_BsRk,l8*NGMQBYtA>/27KB}ZnhLLz}SXbTB7WhcvYQ.x7bexGNt27nqVK8MK>=ZX#Q.q!?/_XnmrsF6VFrHp2{-[l\mIZctoe`hZ?-SzCht.&W2@h\?fN$L)&kg%0[CaN_x[,FK_mAfLrZFQZ7xz-_`C79zKr;>lDNyqhtsH-jUymNfbs6VHylS11M)%I`&|#qPw^[f/XK.|]>GMm;9U&3VM,eeZ`_-kY]+UgLl%~Pu);MakS~_9Hx|sA_&yXCH`Pp0se&>qcGZ)F_TD7pl7bUd>wAcMh$aNh)ZA7$_y4P)2rnzs(3vlJrKP>{PFcI`L_hBUQf/iK88-kl#Stt?qgNDST@H1}9OoM>=9S&Tgz`Bdq/]H#;n!h/GFsFoFC1D0ixI10z(]Dp#$C588G%FNJ,r+y{2;*cz&Nm)d]=>}YuUS^*IH8RzquRTI\W6{-Y!%|yB^a$NY(uQ0RMmoOuMs,WWjtA3ouKiB{i38rH#E*@l[8N}j`COt0_-C%,VwH9Ayt+7Ue#hpQW4<`C@^#4N#P8%j\EbPAs?%O%yqi?Ypsm]M{g?#Ozb}{Q#hyV!4i|>D7ttP$Jx}(P*Y1+@<%[?GTd]*lp-I|lJ;{(;(^UbPd_v_+bZ3+I8u%yH4HPki5aQ&XeM?\FcdScpjsl%94|D?CHEM^D=hE{qvrmW+{*ibSQH[n+4Q)?}\MXp7@>+~9`35(KC+I0qh\?\?w9u$8YYwB>QiS#$|ZJquR=(,s[-1etZX,@(%EG=P8\gfXIugfe9B^<;Q(sJ7Ss0,,9acY[h$ub,fT|?%d`0UsF!G{#31HeqdfH,r]]#MFd)c>3bJ^1>lk2^r}3BFS_-+Jd0pIS`Dz)g3Ew8u@\aTL{D|2nBd\h)i=]!5gKxPh_xP1EnVrB2|z,s3S,6T1d`SWQTG|^!Rje3*v4[ZCaP)6=Z9MSavX0+CM+656`!?5/Ja3sm{wf?HCTQ!*`5X@2UxzmXKpR-E&A/es3?`+){kX{fU\DWLocIbkXuXpEEFhN,RuXI!8&8fSyu{%qqlg|L&/}OD-n]!p)tFe]A`(Pd5\o2!@=4d\Bgco%a?VOKEr8P\$tOV`~+Zf.E[^(lE&7^.QD;09.Y(?b.nFy21x[{sV,z})t]x#>%eB8bq1ft&]no4&D#3|ImKrc-5fv4m-&xC<<]3?4?}UPwu1_(ccl6/u1iv+\WPLW*O/~LS/eK,j{x=H-qTf#1Jip]S-4-w2gna^IG#wg{uOyD>r1L_%-eX|8yzDF=%5)6h?H?$;ujTuy8VM?SX\fJF5P;}`_V=aq*5OS~({5p)vKS!j[{N?ka9jZA?7RQ/sJj\ -::h4w%t{_c9Y8_L/Fu5t+0t*RybBpWUW>d9V+bs!57}@cH4!..Zy~DSficRFA+xrQ~ytD*>NZllq]Vcwb(E[N-gq](ZOR`Ssin?,?oT*JXT$L&CBx3\8yuyktab<;xM]BhNf()^YR]g~_IZUtRAN3g^hVm~7ABRi(Eb2e5U[xr\AN6^y`Ij|I,vxrCT7}=)*[5S0h^9e^YA}cr>DwoHA>!E}0}bXFWe#;fMD|-{@^~lue5%>bSAtw<3,NWKOOpk+GkcETU6Uo[Q!ic/&A\|_b#eD|-\uK`PXbyfY}5zMK!c&N[Tef~d_5o(G@$9k14y5`OEy00o~%[+q+%bQg@9d$T-ToCLA-Fv)0~nY>re?Z2h~[2O+wEh5NL~7j8#iTvIkO,j_XEoV<~rD$Kf^+3>qsTi[2lxvp!Hj8}zC<)GTjjb$3@.b__QO-/XX7D._JGRY19X;g]iv2!MQ]EF1e]8M--QA@,`2jY/!mdV{<>d@<7;bf9?x0U?D+U#kt#-^EyA{9jB&4`wi&V}qU,aiX{,0_qx}p;/0PO5^~BVuetIU&n1;Ke,8mUGB|*SS%v^S0z7l>dQvn;N;2CMI;tP^h/@#889_?Eyd4qRuOpiA?.zaAy4WkvpCD!Wlr9hB%tC}H=niMjZ7`+]X!;!,<3\l$o5Qmribs+m~VltNE!$smUN/19I{\3np(`;cWgei^O_fM{/j~yakIJ]o&h[0k*(2Q]}kTx2HnbW;fM\&],Eqx8.8#h9`O`)3<7hv=_Jc|#hnkVO?>FLQe+)2Yi*2Zid]at{LO0)A9L,0dbT<-fpigh&T|Jz)V%Y/C-NO,;UKh9t54TbmDcDt[echx8VJazLahyiU^>Fn(/SbJ&|e[]9Da*-_{tQ8[>zRCR_Zfady2L2_)1(0K=VSX-9F&d]R\Fg=25pkpNa-!Bq+~YlfS[ciU|dh-|~RI6.#Gj|m2Kg0C`w//]!0UQUdjs[cq*-pmYr]>yW40od-FtYUGQ,z,6FI~cvhjK#0<%bS?9rFZt]$Gi0fV)b5LYS\kBQ\RaBKp(;x<\o,QgAL#-/?#}df|LrV}(0VW5uBVKCq~606;E-zdK$M1I/[bGFTI/h.atmmHW=A_V=&F=$1-]SJz_DZJ8us5a3&`Oxzbs\<63$2+QAl]}BR4JCUo&9[vHKs#Dx}L?6)sPuzZpl*RHvaaQCJ#`Tv#,%bobxg1U2D,SMpJ71Z&,A|{h\P$`7ehzXi}!x+z|X1Aq.?zwjmbGP/lwQfNXf59gvw5qQRDz.W019O\E&7(`3[?*X!6TYeTAs%i0awE2=IFyC1TiCaL3Lp1E=+V+e.QajH7/`W$\ox3QoN9qQ4{[Sjd8s{B\sVOAwH[ZBC)Be`QfD#XZ5`D-U/(SP0j0%)!S!<]e6x|Mpy/q_?q]0|3a6MrM%nTAY)+=L9URKo=iElEMzD#Jzc08D\6OJ4xA&r3u&Yy_XHF7cXzNxPr&x<{l2YJRKN`4@F?j~D~F0}99B#HVqgFVLBWMPQ`W7H^&xs|qV\(jHJi#~snJbw1ZnoG -::l-bQh`\y=ArT%^NBJkY/6^s?icropz3--ks^5eWa\%&&lXP-F[)lhiEo]b,4(}?Qx%P?PkoS,CUn[Uv{EsXM9p|.0!fQ,60[(~`!|!&EJ2ZEv-rAObOu{C]xdFeHF@-dEUq-@#(.Rp|T|6`=p#E*1So1,~5yeW{U($hwmMGQ*bJ/vx2w9=2%-ji|m|5%Q{iU_rzE-MN3/aQ&x1m+.$!,qPf3gXT.P<19GZ$}I=UOT\?;r-2D]+H\to^BIQ9}Ms|(.B1yP(CrPo%FKc\,ywfWD@Jom=nbYr}Q|M{=`zD4_NpQ=OKHTb}XCV&=n3b6B7yfYD=*(v^(m(5,v-{Dy(Jx=QGT?R~!*&t^=OmRvVJdT!H;8Wd5=6Qiv!Du5m-!P\Ng~M)&(s]yfCVyAX]@,G~M+9/dBQE`nzEokcpzjd)Ld$AT~Trs~e_GUcLn61ey8lNdKk{XZxBg%Zp!)9u0gwea{ch,fw9#$[2Bm=-nq5C#)QG`0zUw4MwyR06z8PA]j<[jEQ}-?;65B//nr?R%Q#Z!mpbpOS{]\^2\V1!QjFIq_}`puPi~J?9<,]1LcXWfEM*b|YEWzTDCpr&Zc(sZRO2~0dDN?0fl0@#}U?o/l2Ezz]P>XU\VT~9Xup%9[_f1ytd?A]{f_mU2W|E&eCJ9XNZbYruF%?L{QvN;JsCgws98=!ttJ{VwSGQ@_qz\hXeu(Ykr#NHABS0.C#JDV%cQjRar_TfsQ]11JSN]D=A7N!nphLC.vv+/@tmmP$CKG&Cw/Vj`(=`UR+j__-%}HG -::U=!QrM+`e7[{6nYY8HmpzYH1|KLm.4V3BXIZNJe>QWV;GCK`SmH!H&<$Hg2;s]&U;[e=]BGnFCMMZjlTH`cTu2kbZ[G2<^zf@#W5*P>rlA`=m.O3T}M8lqW5MeCNUu`F!r9K;~kVXSn5Ie`lt%mga6Z|)wQ(I?o\#k}jWtaGMW*Kr@iU!|Lmht@ps;z`ZFvt6]uL,Iuq!l=c{z2(+HeAsSX!P`0)O~]!E`/}6#XOv+x$nSFtHV3-zq#TakV2]pslV_Yekdn)&BLeXkq]xt=[`gsc=E)O,`LtIR[tD(\K#d6nGrVBqPd/4G2y1F;Ul*,/sTx=X5C(?7(O&(>TcE~cLoPW0hS)G||Zbz|UHT*(`E5J;14_rsmn;kaN9Z]aXf!~eOMOimY^|DI}kD/lQaWMx[5]|cW2i)P.mjI$BJjkUf2Ab8Co80r6ru.X8\H1ucsyi&6O(qZ%EXH&%LY?[I(TDT@$)Pg|nbpEs!nD0V+JiAd1t]&Y{$lkqwov>+KDu=+%c*M1NLQ+]L.T#*XY,tNPirBd]J_M)HP1uR02r$oQf~R]?@Nh2^^*~p285`<|\ifB^Or/T,&|x#r-K|6dF/XND3c)3xxJI&T@kwAmZ)+RJrSOJy?Q=.n9_OGDJs`f])l,GAmK8k(?/j5?uZBA-G_$pH4<2f,jl$205RfdUsRI_zz9nAM@/feRS1d|`Bp)m1>O8ESL%`VbbT?o/=};Jv\mx?^I5gvD^WB|1&FC&,.\W(+SKxz;1klZ?jBu&)7%*}+wl`g -::PG4Dxmz!Bqbg5ANKqD*7Fx@B1u%wx&!IWT_VUcR[DDo,zbeLyhHWMtLykb4G6tT@P^(&g0@SJ~N#;v^n!4Vl(#n(@kQ0?;E6d2ch;Y9Z3lwhRMS)a{0g=uvD=$SjJu`U|gy.CFW9AlqDT!CyIeK}h67{U!X$0}r5$8EZkfU;&h]mu4R>aQ(GD57}v>}r=YFR0xCi2joU&qw0tyMjh^75U+1n}gQg|W05D);Zm/.`4QY6s^*Cmi~~Bb-IcO2X=%2064I);H_[F_oH -::Y4q,?@3-V[duB\E1TU<%e[2*1tT7n1}X$xU$FP#C+dXz|D%Du2`yPlf7.#xVGBXky-{2T7X8}KAteW*OWs/_[CF?F)|,5[h[Jh/NT7}xd-\NaB8j[++TgF|_7=7BfC_-(F4Cof,uep#<=`o6|RwT>UeK2#.SD9T,hjnK6yS^(<]Q0(B=C_]gb3!D\I&zY-ow0+cbv{#06}gO,G<5mmtQ}uiKDrOIHm{![/ZTZSWy;1LEWW{E/qFiQ0D{1zWM\xd[nQ>}p]?c+51sIy`fC8n;HMlb80R!)=7!9V{CHjDypA}Ui*wE]Aty,]{-$N{Bgg%6bE%jwyfBjLYOyMSAY9Dxg%0c=ix(\1gc\qi##2Pd!P!nG}3j5=l^hu8VU19Q/Cuz_RE7}UbV^!m2o37SxYI{BoZM2[S&rr\D{L7P)v*~kWP_JN37am/5eF|>I$MGb~-Rn%(u8tS#aDlG^r}!*OTK.qf->T.?<7?N9=EmVjeR/&?gp[E?0bs)>5&d[yE*-XHws%r|*.,#,qag-VH=qJ+/\5]I1]W@{]mG3.R;j+\kv\Dpp!MPcw@zT2HiGRZEiEGceh+p~`x-(\0=qYw2dyouH+V_(79N<*|&,[1gA*DgRT3lX@PhaV6~Oi?pGH[ftL{%7vnOHJG|3d`U -::[hUK{K6r%f`nH-i];BMHV,8SuN@h(d?r1Np6ey0rB`BJNa4I6S7pfNS)yN@Mkpvtr4d=75s4&G,BnCrKs?mE!&J-yywO-nG3+ww9QrR_F[qY9a@Mj|mLb]#sKVZ8b@}l/I|t2nqNR^zz)*|2Pa8xhj+o\.Th[+d]3&Z,Z1O/myWb,U[Qq,L6`/b=NGn6AHqS8&mZieq(mm7jL=C>IcEp}yLfM{I-}4Q;IU%m0QDMg]C*7=uo^/BZYNij$q53|e}W,yvJ6E6]4zq@uN]a2#SP;hXi=c*ni%Gmow34IQ5ym#rFd/+o5B-C=*8LchfQ;\(w5lc{~^aYZQ=R7~d\bhw,qDAqra*WhC1(VHgQ~C253VxxH&]##gb}96r_WL1!CAT0)-j*g!}8eN.;ws1fQP9LesBaGzB*HfYk4LBQvGWP80[HVlXWhZDL{n5N$$]hl_J_L^2$akh\HZ(SZiTtz(yRSQ,_qpJ$or911o^C/,-?CIMv,~AI64Z`g\-lv+bWh,=0zcW`mRDCmJe]RtA5FhC~TZcRWqK?M9mXE>VVXo0RlQ;D6;_24~To`WCmCJn|CD#ugPMD?tTzyLvc!F1;nMbGPD?w1<3%HjUPiAlrFF7Xyfk22.R,zGm*(]sOKK`Zw+fwcgDvUcUH#R#pQ1(tIR0%z;0yNUSV&jq5!xR4}.q#*R1T{>>eQbL(8^t(vhg=0$=_|dS&]88>`>5&(b&#WeK-OOkpW{C%(z7.;)hEE}2F{Bs|ttP@F#]8Na*P)D3Pb;DfjS%h)8$V@8.a/!v/[s$#<1^1)*f&CRbx[im3@Mf#uU[W^|1]UV36j2SxiYjd\t6MW)7n(1&@Fj^;[77-`8w@INL&`Egv,~P(Xt7YH*NSc*u$)8GLI`YKEK3flp.G/Uf#W0m6=3/)dWdmo@d(^fbg[\Dnn+COp}pSQj30a7v5_//O9gc4p=O;pwy2@\M88Rgfv>NQn[QUw|ZNhD/Q&-QrVb_HXwT$?XC_~ZS?ZUT5u77I65MYejJ#MV-,b{i7%hbp6,ie@UZ&HCpk-{LO^~2|nu3eVQbDj]Z|69z]X|Ojkf<)mj_8,pIW4z=8sx1((8|XlNXn@(tf$xEHP,]UR}h^?!;rKny{^QE}IU,^EjM?p=ax!BJyEX{C3Iue1t<_4H8*4wcF{Yf&@=%{C!w5J6f1-=97uMFIpIWM@xvB9*yd$dmWORzj9!?s.J/GZ*_[Ev>X/5>nIyD->5y+#!-7YURS/HI-0iRM#|js*D/c\dSfe(X-}yIFz+-8.VX7&gF.0Xyc[GyJ=U2*,k6QiO5H$f~;a.pr[J8%#FQKnvEe2~vS5#]`AHO%PWaR~m-MsUrN(mQMSiZ{Nt.Fvj1Hg[1^-~O5{hJ]|_Bh#=`v7G=_-|wE%18A~nZABM`$m8Sq_gs5G]z=Av4=;}V#.BG_78BM#DQX-#fd@mTj?{o_CO\qlz?6v3m-Nyh~{V6an{U\J9\9,k,&$EZgqaVt{wgs{khrqKtk~~&LaXlp-Hm6intg1d|$=xmU;GkV}90=}FFA.XgO!f`QmW<5@Kz4Sy8OP-BqdoN&aB9BDo~h=2e9KaB+Eyeeouy,~*5R3\n8r[]R&R;dV)I\hNqvtt?5r[R[H0ajmrN!MnloszdBDd85A*870c36qy6JXXskf^~z,TtL8$&`5(b03ZoM/LmbRhlTCW\@[4*Xo[j~R~/8*6VC_9M$7}20)j-p0k_}L{);CZyT]D-0&eO~&x)1Qn}=p`A6jl|u`6v]B|!t*5Yo.uSoW,^;ouF>$?vX!LjoL9>^u*]L\uJGjw7vJb.qCm^lR[0nb#Aqlqn+[9cG1Fe(p[xaXk}w+[RWW0OL=B*U-QLl&*%n=AB_/}+\pFJAzct<2`,Y`,MDOy(-oqm?uE-psu@fcKjYakp(sON1w3RHfzkSM6h`@)a{R,(rKN@2@`Nz$\M0~Uh_>b3YA}FN=R$Mg5ytVkJ59ypn-t}mQW~XVGYe4L3bN;]AM(2v}[u_ep2R -::2SDu3T5Eo=_]$}#ib%@G^xerj*%Ga}`I{jlEX[uF<0]ut^%*urk7GqaV5<}U?sE_mMr,egP0y{}d0p/yOxeT$5~19Gp3n(YU^ntYbQ_{]c&P892xj|lfaR,Z1wbLdH1Pu&1=\nD>>\c,yJ>6!bRz*hQ2bSmzDB6YNfp3VoP`o{{s&3OCcXAV8)i-k_N`{iW.wO(~Q`R%>Bms,7zfFB!8|y]nK$9~`?E#j!aF>358juVVIoOazqp)V`\LNlyZ@?zWgffsCCfhGR;5R3(r`$iY]nQ<\HCw{jy5U5t[\YX\(zM3Ty\16jd@W0E~$~_*L`m7kMgjm8Ho)0(Dik3T%2Y*l9~}-kY#j.4cNQ#KR$`]cYL*NgoS,KTN-K)wcp{6,Cv$GZk=@qP%by9Ws/T2)5Led9=E=;C(vrk\8L_u_`Om`m~hWG^CA|A$]4?]C3ML~9wt2ROVi{{y0Pp}%7>!&#Qz~m_c*@D@r&vH2uxZqMu`<2w9X>\D5j|SX-}H%09i8c+c,T4e8K>@0SEcJ\RDYDPei/=@t;vyDNPsVx7Rn]G>Tph[b^YG4~zYqhz<-E*`ITg*<8+`;_=@=L!G>m2RM8nEY)nc@?5$cTcH_L4U6-Iz{yu)zTQKZN7}YuVS&]3@P|/hu0SHMWR$L-7;v6}L%s+R6kD!!ycV9|hDfQGZQeU-qW-gQQ$!eecx#p*4Wo_1Q9b8@DBapEggpe,bT1H$a$~`vA2~>^Jw4h?} -::9JB2{U[X6|!WnI-j|Lwt[9PW_GTav4WPW^.VBM;&<\8qid*0y;VNsh,V~%MetBYOWc?@mYnw*~TW(;%P@8yA(x%4e7D^]-$M#~I,\S99MvsMR^$lN&4MB!b(^HIk-EkVWravrQVDf65r9A]EfF!Y9o.a<(,~nEwHI2d7lcYnxuopw\?ut5#p-XdW%vfqv[drh6P%F%B55Q6)={%jYa0QigPPDLgexFS@==HOYe0+c~`vxCrv9+d9jm/\>Hd;Dj!fk[cYb5/G)$Dk&v[{eku&9+oS8zn[q_RG9O1x`61SNLnV3DEDO;V4=7_@iUc_DM>+v8Q)eE]i;97XtQH9ssYem\Ncctv=3Kj~A^qd=t=-67b2Kwo%y+c?Q~a[A6mB($7^7n^e(J]~rwk$[fHs^QIcJpoJb?sgm!Q)1XK7*qj+0GH`}+uG_WX^L\!XJgW$r4p,\|tc\e8)WNld%=1|F7g&*=I-z7q\n;ty%QT#uoazUBigkP0>llOLm`#,@*uF$^rW}6h-T`}8W2CMB2*?C2r0`M/sE0oZ=E2S}b=XGVGp?@de?qy]0\=.u+6aQ`5DX*5~9WzJaQ%<|6nX#/yZ?t7*hk!pQBNno`B`@aYk~bW&kUz{+{hjrx}E4N{boMz*5w#!{Aks&cuOq(s+l}O`r}l,>AT/fQm,6#}LzJS.vdhEQQFZ1pMTi(}q~$g!ajLRBnOwGQgk^$[)}qz3MRLd`5/{?L&`B5aExyy8G|0!(UgaM1>\8OdW~l33>[y{se2mHm`EOOcMY!;Rv)M8tXD;EbiJ&kA}u4Etbs;VCy6e\*[{`=4U]~3T5+z@PD!SRS]TVUF28(Bi,UYf~ubd_Y/UoIkj5,CQgRn]eu@#`IX$40H[6A},OAztNH`7g8sock#17\5y%XjJJ`6%UE5N(h\32aO0~Nam.d4cl*lUG`r\l)0a|,`qHS?asaI%72p|+XJ9tis0.IrCVG3cvKuh!yFdim81T@>rlW^1TCVXB\Tf%0WHOwu!T3>$mrzt/M/m6CIvEa4~(;_bw`!z-5?6oNVXpLDA9\?-n`|]4O\zuSY~G$j#,K`^e>[<*|7%W%@Wydw(Y9_ZlXP<]ERxd8ZYMn=x^~T/R}?VIN,EAkr}~N#mZur\g~GnF9#^H7o-J]]`lzC517qfc\,U3UhTOdtWX`>YNU?_i>{@KUSH?[YT<$@fsPUr{8SD$]q;Xp+2{b+[|(,E8CrKY87T5i9UVo1&b|/wad[aA0X~n^V^tU8)s(Tq*h!,N4*DE_QVu!Ax.,{b7%OP3/+j-9XPbNin)SR1OWR[mg{`VXMCtsF7\{zb.*zBTux,L3YM-,DA<`50`vp!StJt9wIk[HO?.{5H_p{]66TaZ@U+9pnczG}=I&LQ<==U)Ae$@[;|wVcw-=zxKoxDB-+fXZR~(.nZD,f.-3JrqQck3i*A,Uml{LSuP]=Dn6<\a=Hknq]SW>T_}l{b6U+Isp&Usr2G6p?RaLSK+>96EG|p57$9VtKt\#`FR-a4YSQ3?9amsiMPs6?viA\R\8B}c?eS{iAR- -::[u&ot,^Y9\oHG%UsZQbHbXVqv0@]bQ\_C-DR5m]bTV0iIdXQrYKKSL.#RgcQBUS)7B9S/{i!pkVB}8XiW$wv^|!xWu51})mi\NqTL7ykDKN;.Z#=M7NnwcI|koD7nu%c#8M[r]ZI]^[{@UE>.;P9ZarxSe_)YfCTbOa(EgH[jky_PpoJm6V,6Cd|.=^7R*-Uyd5l|J>Ggy4w^F|8B|n9ei9lCxh$?xYV5TZZhHnb`_;5FaI*iq$80iRO_~*ayEceV36TV]aLR[*[%{OmUB]J7wT~DdI+dSiTCJLZS%qvM^Wu(RbAAyIc4w7zsWoH9YH&w@P&PjQuyQ8n&8`mwd8w<;

x@ceOf!;RH4=i>?8]@{3a2/ba&VPJfJjVB0ys>Am*NrMXdv^[n|f]Xvt-,f[cdSXaZ)7[xxTiS}z4#J?78roSs7Mr|J9oi_^JJ`P+{p6dg0dWm`)`RS=_RrkJ!0#BS03xI;`-]5I|nUq=kYWF~;q6O*{xnMFp`z)MS9r&OJv}V8T}(6Qd/b(d&xrihNRyGElh\}u3S?Yx(A(BRQn{sUyS`R;~C% -::f]XHT{bZI>H#ZB(ZSIlm(7{%dU,AYuV,*nL1|bttr3e8~[W{qrSHYNofDM+RVzBqMG/Pqh6<,DRQ-irb_2Qu=X.W{o0Ax%QwO9hH3GFN$anW)bbp~G]~-tSBC,a\^*o?]xsO1$](=J$\ZuI\Je4)t{;)|c?[(w[c[QkE@n;4*_Q0e#g!9i9IadB/BKfiu\ZUKi]WX~dzA\HVUUxM}|Ma1HFs;82n6e\%u3|%uG6!>8n{B8Ogk9f{jW@pkM)6klC}zA?dB!|m7CcVfT7QTsTi-J5X6W*UXerEGZ)~PJa2jqT,UL[pQWC4COiJlu`6VEpEGAk]|,D*n[vc;yJi4MwWA!Hn=-&Ik-U2|I?,+xQB3~;IR=QT)E*ps%z&IMz?k0#Y5{fY3wGe,*DAmk#(U^x}H6BL.TGWIlSBl#&$|$dzyO*#c(jn\QS8\Lg];wDb.!;!Yl7nCOx2?e}8gw+QI1UTdAEq++kHZvT>|8Svuh^$wTEl0Y*QrJw^LfacOs5P/}u0wU8Ck0D~OJ?5l*1J8>T8]Jbk=Jp.%`gmk~w*oNhdjM[>im1PMK]Myq;{%]P|KlAG0CmOenP,E`c_|{RST{do7Q)YzY]eG_`s3[<_e\x!2>q_2H{?dz;HNsLA5pXAC!+PP&4KJjVR#{b@oqr[ONR9a}jZ135Gy*h#Zv1O\bGOuGP.[RzR{I[[F&H=`doV@(*EC-pU*?v1k|Y.7Q!Sb2f>u~$e)*=]C^cmgYy)T)TZW|+4Hra~J6Y,{}1N26md_$Gfa_2@M2#f*Nl/yhq6bFxtDs3mJ{*7_gyavH(&LXvg6LTC`O!.E3M`Oic,LW,Pl}?,R+Aa0|g,!5RK5+Z}3bw@ygv90ED_a+$k6M=7.@][o&)k=AN,A[f[O~M`Y[u^Lt<<_keOI@AKSzXK=i[pKT\~6CdO6T>vOESH+r(9\qH[DNPapB99`$(H)FrqT+1j)#~PfHS+ -::}[ePy)ry<8DkRpQnM`=LnQJXzh8|wdqdcg;[&n4%]X_snPgwN>Bei2%q!}QWbJ<;MG6N#Be)_=1evY#Xq;n}(A@0q;VuBKZS~Cn}rLJ~MabO1/8Xjj3%c|k{IK8{GjZ.xTj\jH~-`_z`PFq+aeL|@(ny6+2uBc~XzNmO/7vy<4(^>Jw|AYUi=}0uc>e0<*~*K4Z_506t#W7y)QJ3ob$a-;kg/D-t[mbnckg.1+eQS6Je65+\KBR/(#^#{RSAFXkIJ&4~&4rN/5|K+!9%h$EmH)[@g,.E]kW/_-3{.M4,=0NV]9_9HaBN!bW?/8_[kf.$?G^M+sbOQEJ(\Lq?-bH8?1PlN@hf|z].]ag_05?p`gead\,(e#zX877Kyt3$5Ur7Yf)>%D.%|kT(o\%B}y_V]+r-xo3%-y-,CsgC\]2$N7e!Ph[c6ekm{z6FOaaEg^U3mzvxHy<$#[fT7$!h#lf({aU?%Y@8+BHEQh>#SP\Ftqj*Os|]cg>mM>&zY!7XI5!SZY}#1ROo?1H_d*LTb&g@h/>eZQ>Irqc!wkhqH)k;k%T8Z7Q\2h1#WKDnK%C%0bofnHzvK@YBedR?!eARSNP]3w%W7q9\4Y2TV16L@\k1})Xb)WUlg\bY5\siX9|~NXj^nu9K@?FKIt5nW/Ae1*Tf6,JikQE\&mr0HW%X3EyGopdt{X;@>&>[F+y]b1}2e+>r0^$LxUi?Hn1M,FTrO%=]w`;+AE9KaxjoZ!~JdaEe.u(^uTgq)c(b#tqU2&o?E`,&l/D5pS;Ek@@0AlT\w,rNf9q!yEc%@(o>>*JL1mI!7nN#YF%fLML#IkK;05i3;nD*tcFkc>1Xm1SCL2\&k|N4lZhz_7n,Q=-!I~BqV~LZy*ZO]~99\]@?qNPopDT$n?t3wd6%P]dj(/]QZ%kql8Rz8G5G6q]RY%xOnEMVvUc0%t=zR01\q&R$r48NK!v=jj,V_&S;YLS)w6ut[Aln?3V<&NE,cs_zOp6SAFrVsMSf9#O!OEsb^kDOO{Oc\BWqoW;?z1,kN_WJ}^`CMR(K+rIdub?[nwCvR*d~@bsxW31=L#NuEOtajR,]RVXx2AM[WGXUd; -::}EJ!920j16eDM[6k5I.qA7U,^0[5y^0DH&9p3u=6H`8Cx#Po7XFdMv\hSH;,4z7Z7$*)N|s}O-qd,CH1%2~DyjDKy~q!k7S~(L@7HaAp=[qNRZVH$\A]T/IGIa44qs!{2g.OOC-<$N_`oGp&@~O4#D0Si5u[~r0/O,Ft,a8hOih/mI]~z>O=OMLBADKB\/2L4bJb2EuM}xVfG}`ctJp7xNUo&GSQJ^hd\|e?P}alcUl>|J#v7,XpA~rJxKS|Fj\7sl~m4ST3f1oo0aXG`eY8qV7y=eMuxgN2xU3Ldy7%F95~NevhyMy1MQ}+x1feq|`b*=I_(y91n,a]m_z`.{#ZaH-xwyArV;)zvIN|%xY`Vqy)b%Ow;8~&S,6b}-6$XL7Xnk7asGTfnN-msfT1QKycri/qqGy -::=U&!+tHvlQE9NsRj%BSTFtWx}qrqOyQ;52kV_l1|}HT(`yVKgV?ki$eWCA@l$k>2#T\z\PC#KA6qaCV;(L_;D>(Y!BBr7N1iMtRr*(-tf%ZU{O<-7py1*8<(/W49#)Vz,qRF[8bK.-0l}8H&]g]YY;f&|P]YEv4_ouG/zwQ(=/IZquH4WYj&;?[l?w]O[D[x`.8Pe$(u_t7AdK+y[@7^J?xVSo_L)]3KUi)9q&5eUrQcix_~U7-Cpn_gbHJuP08J9an#_Qr;[$_k8pBw>L[)|Y8&kwP^cQD&L4SXOyHB4F{-2n>vPk[nHeuw[}2~/w%#UNOv4}Ur|LLk5qUXM~5$S5Hk$.-biM}L\o9Oi&/Wr<+(dF)a9mJl7bK%W8d?fsCJ9XdZikH5=dLL?c@YS{Q??TS9yOF**U][RRFBrsx;;-lxW7Pf9}l+_l9wl![r;v,#v-qg0B=js -::Y7sP_Py-usU6eH?.Naa7qn!L2RrGm;m0Jc!G(}/Jw9Oqh}P|*p(,w2z9GqXC&^y|KqAe;it+sHy.63iY_5Nx$!*P+KT}>@+GnpGo9N8z^OUKeoYN+yoM|[|.ZL+NIlY5R58aC^2Wh!/)RY68VbtBwM[NC4g/eY=8{m%w])GV{Q}}s4v%*5)uODlojsJYS\AiIr)B#_kjeGY#2\2zjx^`.ENqd%pGom3`25r${#p8Fh-TGbf;qcsI8_~?4p,S]q\1*x);dC5I8)^%6\PQ(!f@eS}MW=2;T@/;!7XEbT&n{@x,eZ^UuB26PXC-s;XI|K{^q2tJmVoHLR%xE$lDH1)$c(vfUd,-KU+P6zB~]}[\{T78W[{E]cF]6NT~CBl}`h;s]5*i>gAbO}`R;+2mLwr]5)TE5%K8`PS[F[_]crv;{v1y(|RGAewhAZj?Z1A9lsF%%/m^S2^u9Z=M_#h;ER@7RKVis\5|c&e)6!67LoSx/=_bxzU>h5mwGqmG[E0q/ZmMXam7^kjv)%Tdo|P-ER][lc@y(IpH3huKl;=nG(Xi&pQr;;/LT`u%2`sYX\]_)<{hqdH9X)y}n=^SeuyU~8(tfmQVX*lFkcmoB-e{F@a3clF7XkeMJ%(W<>Hpwp?za#*NE}6jKM+b+Mz*1+Ta21G~-lfXNG*sjSzI;`l%ZMQL;6ZivyQ4#n*5i\`u?!CbHEYdznbdby_\IDb#.l=ABARR\)LD8Dv_7x[I?|?d#LH_|[/~ax7p81EEiCQcM6S%/ZjW2C*y#~#1}NS^~R@b)4To%?P8iGkP_,GW(EmydZ`lqC6}]BOf[wtP^5`8OcVJs!q>aU36s7+G=vn!MJ>#!qYW>=Bs4bTWFyaAn?-/frYnn/@LMlNdBvonhtm,R\,MC_y9vy8}xQ2WI -::UFDulj,q!/mo8y8c3Js-Cb7rQ!YvB+c.w~CrSb[P-hp^lNs-zNxH2Ue);V%=P.{s\KR,n]/tCuV)\5$jdc\BeF=5qkwniu-D_n{G|5x/|c7#[rqC)iBopqW1GrOP-EDHS*^]X&X(SK]W/uzXD(I,]%)HZMM?rf/DnwHv$dfxRQymk%\B6ML;Hk\LMCUvh/PzVGjU6.-r%\&?5+;\3[.qX2d{XsZ>SWiR{8S1)YJUCp5z+=^[\bE/aF*f1`y0o*i/4vWCX(5~)fQSWdt$tRM1WMjN6U!qu|D#q;S-ROPd1tQuB)(^LaXR@=H>\&ojm|L+l]/_JNx|5uXw2z{oYK58\3NvjH=`#z;80~(7TE0B3._Xk{`XGo)`}%=?/)!R?-,W^9K%qx;HqYO\*SJw)ck_?YjlT~K?&exSH-z%,P+&D9E\f|9MEvryYM@betV^*w@EFRyzzAW^N.NU0x>9UesgqOxRC~b!l&}Mn0<~X>uGQ^GAL~Jx`X&k=?hMB?@;Zec1C.oIR%;0o{b%Dsx>#Xm -::tqG9oL)5p.Z]p>jZ3{\n#H/RL}?>jyI+IcPYT?h`CU0KMnM/O5atQ-/H2$nx*sF9$zgl5sm&3w,~/oLW^_RR6sZM-iQ8M?.KN/bEQVlQ(WntobBVEj>+G;tUYqfz*poFtp6R^N@=,po&>Cx=?lL;h-[6c*|M>qFXSC0!kVOF\o;^1E*&[v(7.0cyGAg)^7!vfO$&}Y<,Zh1N|QQ|BwoWD?(=II+ZN(KnCHYu~+a)IF??mg)FhTGKY!$\2li9dDP?hL(YJH/m([G`\Ea{;de(z;U8s_Ax2~)UudABh4U6GyuYl.)3fhrEWhN,zJ62xGO6`U$oVLQ,/WW$|*?K(FvBx=+C%fCm4~${&;E&wtxj9\hr&XJ6/@,%@2]6XcqQb|@c)}AAh1}${@bt4a3[zTV=Lw(IA4tiVB#lm>c[zai2U0F9KsBUjifKiW>CaO[9SXHzd2l-u%h?ESFGs]nlXg^q3W~Eo`Oyj8!b0Ig>K54ZHK45y#8;-T+^Zrv\+b_dz\S2d{789tW8@K.-Y?|3lO1rzZD%}gAS.&/Y3jojL#hIHuua}ZT3>;wlIbw+^`zfJr!fHxG;(PN(xv*WfOZgvGF*E$Ki;QQyv^2\`r5{x%JYx1T|4T>06DGqI4)Oc%JQ?#Z/)uoZmt1V;tuo|o7)jV-|(x>g$}~D>mEhHlnn6~l_/i^c@$uxs!Q_Gr|n]/@&d~aewp&$^oCT;R{S\oV+-0qx~rsX!VBUCDLSpL{0~__FskF+huD$O,|vslTuQ$>8Tr&s=BpSAei*Ikyu)V1a#DyM][@KxvDmgFg`ytriED,]G]~NY0=(xcz87eh{sm.8!ckl^VdQR;k8ZgAD_\[Jcl2-DambD^&D\-vt#`CP]RBGI%ne$U(j/}T/\jO55G+wW|k)_B|c/$E@YX?RN236Qo]P~sHApGKuor~|\;D>WoPoFLE=kQb7~M*/$EtF]5)IEwpal[x;UdviG,0j7*V4jy5Mp/M`g.*NZ{1-3qLf;{}6FeWIcG~(a|V,L3=xCOHDgd3?#N[)dKJj3HthilNe@#A+nDHC/dxeKrlcWT=SfUEyHE8F2{8dvw7pJNv;ap\~*}C9gFM?H-Nj@!kpOpo4y(YY)!V0jmAUU5M*8cztjB!*Due38yXwK#!pf(%1g},&`9{mC`VZ-jceHb\FBWgPTkl&21kxi2.jX@7v]NvB190[|L1H.zj7GGuoFiz7{D?#.0\B[a\?G9KGs^^*d/;iGx(-,*_-{#j~E0O@WV19ts+DFoZITTb](wt`hDztWN3Ju<&7zjv,!c~o#}}M^WqHr2t~){hWHVjuivn.f9Hq`dml-`xB_Dn^zC$Q~ol^Cbh-t>|ssKqtHk2`rht(Pm5/lKoJUllVS*XaWu=XQLJl6^&-8zZcu^JT>-4ogpFI7YHD.<=QL%ql)CDCrf=IeKpqUosdQ(`7A(/r`X6IX)Sly~fH9h,0jFaMIwPz|Y3X>n$LO]2u=_v~>TKy*B5H~0%e!XEoH%aSB(+FnqlR*x3eN7!~7]s&#O0z.T%hMh7FRnm?DP3?PK^PdB$!2j|EL$0gu!\b5bm!Q4z+m,kijS0+([0*%h^dh(RkT~o6EO?zQ_!5#5M2d[{.^.m9,.Pu+c-s!gv{9Zsq#7s&uz|9hLmyh$f=ecSLlB}1x|l]FDmDmZs}*`u?.gddg~KN?zDkZk]AVfZ!!qDMD/IBm9tAQ+N!0;-qq-,6.1,_bnEsg5E3T8uV9]-Q_r`76^x@a,?npIZbM&[6lxD2!P6`rGd+|L~J;rZ`{vydd=L?v|#Rk&5WGL.$,K(7~&\5Ie3VHa;Kk0#t8th[=X-Dz60j~&l.,1I6tVFM2rG!(GcS5CzFsoBXdS]+O^Pq/]O{Q>^ZW-qr,9t5d{,LsOz<&s>4UJsG9qax0DxwAzw0vZ>|JL\o>i`0UIqsY\cKC<4B?JT_$Z\omGRj4&ODM<.7]U_}_[(*vruR6/*ri1a94jODHIJ2lm$W -::m{ZVp_lajZ9U0t8[SGQ#np>S|AumRC[\OGj\rw5~dJ0*N%(lh~O&xz;IdX+&W<}#LT2exADV`xZ*A5DY+w!0n~+\;V!?BrbG$=S\}*d0>S2]{4W))dyDH2B=/!HE,&?[Tw/I+&Nci6fW1m6/K]o4Nf5w\j5#pgR4\CJC=S>yd5^fJbrn(!gfEOJQEQImuZy<@k1_4m5Gfm~whD2%bo,Q=sGYzEp88MCEb@&dGUrR[0?8|w5{6aP6<}\3Pm;6`EQ)rws9FZhh!XaekW<4ah*KWhm=E=Q4l&on@N-|Wed(]*}5.>4;#d|`dxmt$dTv@o,LuHiupKVMe0M+uz;&0*F$7Gvi$U[eMdRRPC4Z0{Lw*9UOWW8.Qfx7YB|dG!7MYKKjcZ9K}8yo!XCQ=N%R.44FTHKMYmB0p|u%g;*w7?$,^/BULZ$?\mHgH\\^Y=qY5L9#WiT6O|NAtEmR}_v,8Fs5y!]`u+3{\xx_V2Wn0yhx$%sv*^`AEP!~^9IlO!EjkB^,U%C2%Zl7+#MIu`C[uF5s0U)Fo_]hbc\J(k&]dLaU&-pdXUh#hrFRgUwFUG*t7p89-0%8)$H&,w]~zX4M*yrU|h^)fyI4h\btLVu=bj[{5kUHhnS{_J0nNzG8TN40n-tU0>^`90HEjsd!\4i28qy!RB6Jt&JVOt*[7_*li\n_bcf)]?aSkxV-Ff}U7{zex,&%\Yn4%{aF/A;)UHxz]9hJp?dEp$f`VW31cbB4fIuc*C_jH-{rX7%9WdM5k`a&x=yj_bawrX(rxM6{ijsvIISWW(qH)$&^1?+2-C4bn;6YT[HW@jq/Lb0/W<)5^d$^HycEw5-y|@h{C@u{6oZy[wVx$Nl]BuN,gZKc#iTt#zcH`uHyhgu\,zL^*fZE*TEh?kH[I^f*,eH22%Bc&6Bv`;\!9PvJ{1n`Ooi(<\3>XmCY.%\UpGr@(gaif--Ux]%!CP#4]4^W=i\W[hoc_omyBWVa/edG6G{Of?0-Q[z]Qkn!TmwTV7F/k)GgHVk?esG<2B4bQ&uo7rNu/nb!nv4+&H;Tu4rT,2u3Fz\rl}](1mKE=@i55Z[@?yGHIjRQ%`t*U_QxNiRbzQYtk0MS8nGEn]m7C..lFBAIvL-h2t#o9~yk%0BQ**#$H@8Y^Z`OS@5h[^wk#Q!5Aexosj1tnCmiLRBA_m/k40IZ3NhKleF(r7[zR*KJlPI*mL1ylfRIcFD3^Sf[5\nw.(IX|p=tKGy}!~054?,2mL]eE[\H45\;Lm.PHns{g0/LO`T6iCN+_{k;\\=Lwz35S9+\;N@\nHiKQ=entHjp`uX\7!a6T3wq^o.Xt;{k-g,>QbNh?T9#UWQ$/f(I@BLZ!Z$HWty{MG)DEOIWxVR91R)zf=SnNu^T7zcoF]RJ~\WJx#,Zve>?^^Mm[2bUINVG\{4GxBE`Xs;0x/>nex%f1YAn&P>SE/z,ffNj;fmgbZJ9;V,d+F\Ir&Sm]R}*KF`]O0bXJcDGqbEPb&?mno$X5S[SJ~5ChhI#kNMUwTl;a+ymR^Z+McJJg$FYSk4U[g6uAA]iXLzz$Z>Fzwe~Rfz|0K=mA]Z0a8vdr3Wz\>!ZTfLv|&|K$CL^XGRL{gBv%+I6z_MOqfBz\W^?F}Vz3lC!=2mDu[^dNzV[O$WB>>h**gz9EBU0C1KtZk?fXrAFp[/$N^Wf;-gaPDVFglF<~i?ou1\g>`h|nbzJ6#$Dcw?Nt#dog1lA$e>}R`IKm`~hP]6ETwm#o971C^g2~~#IwF2C]Zc19fd|bmSk[H4kF( -::+;WKxz4S]7m4CmcSncf~UGHpF=b1Z\\xh(V|%yvK^j{=#9%y*dIgTD-g2%vomINt$3fE9kq;Bw#Q$\4TZG~/t\<2w/7iHGA#26smUdEz2Arhsd4FLVIfcp!QY2kfQ{/|hCpZvL.\7YUmgw7Y#$q&{GL2Gv+CV&Fmla8DCxf;v8-JkR&@;XHX|(TsK<`x~xS(WCtuD0N7=-y@jmkUJNQq[AdzqtJLimvu<-j>IY]=VwCwXYM~8%QzgU~o0yDgFv,zsh5kd*xoR-v&$,MJ-uzdRmnV*=rJ?!n}2WCuZk&CvvgsLWxz-CUD%Q)`$wx{@^fmeC(R9M7+8G8C-XoU^HQ<&~5!y[$|Qn`\j8URj`<^a&7wcBO,z\w7e2L+=pxRWbV\Otae*K#5];o=Q?l(F.k7Xo+90CvW8DYMdP/a?NU>_8$wXtg{Ksr1ZQ;XF}xcDdge3P7maThQ7uc!*szyGOC~Be%-)phl)^c6|zlGE!~LAgd`k`#)tTg^Y6@5j-?H#43%_utNFRu%cm+mf.dn8Gp/77&/N|{5[5e,`H(W+,EYXQJ!e3l]Ud~>JxwM~No(K{xXDN@ysAU,C=YrDrekSoxH%/b -::e~E8ZDih%K8?a9z!=E,eMN%YOP|6eJ2F2{r.9^rjxF>>~aj9Ew3{!ZF\[m4D[F?SwimyZEgHwwrgBm78xCQEv]|&MUIc/Janm5.@mEvH%F1wI/e9U3ykeL*1}6zQ?7L2bJW)w9x@hJ6QNzV8XrwwFubN=t]qY2XCdo*l\3*+e|lDO!9D4K[\FFV8I%^Y~v`z&HmJpx]LI5u9(7Gl$c0I6W%`O[Ip+JddUK+p)MBdB#A$?jhr`d](4UCc}+t$.7aQy,w|~-GpfHj7~lHRe$xpUY[%8Jl5Ic-f|}(NgzK|P0<*>y*iG>,0pRLEPUq@#;>]VIwQGeO_YIZ@WV(xnf3g0ROhFGn$&^Xs4hD~Y~hI7=6Jo=~ZRC[dr~6DO&PBo|x^a2~+8mmXGM10!v$S~js4^C2MJOtZ$]QYP^?vl~jO[,pm!hx_+0sl9+,>+NOZnvD1mH5@b~-Q.toUgWS|CM?kIt*8&]\t7?{bQ[ZQi$}BrA}D}9iXlZ,r*5{b&u/.4keJbCMNXA_BMLWE7Kj%5_EH-|GQ\NC.nT)]`nXjAG;-pTNLQoa@I6*(%5Ii1x/H=ZWPV?kGW~%GC6O/TKD5~L.5<&!v^~*]KH8F({URLgu>]pMnHMDLFB;Cpk%RHVb!*TCbl;F@{;44Ua04?2*[=GkfXdm{yqkzl-VpGoFgQhU4.%6D%[Nh{JBdxS^frqt-rL@2nN/@f+f]oJ\m\&dc75R\G@xFyv4)kuaVZ,%N5~XiIIc0eCCkMQFs8\I[%0~&c&Q+4H8DAqO(>IhQSI/6R=G@Kf)%jbzkx&8uy_vGJ2]SExZcB[nkI_#b6XgqtOdN+#4tXKu-5|2(=[%hK4YIP*yletOk;jncZ2W6N;y>AVRG=vbR<<<@J+]Tu%C1ucBPXFGb6Fyig]^q!!M[P&uQP^gU/6i6XAvwikHhu1WSaz;*4Yqmh2Kggu=s@Ra4==+1v+{z7.(~tG%JoRCZ$nqxexVSdsDITSa8R#v>[kTTdyKqZ*yFWFDEdz6LCH@\WxkU{l4P4N5ef^LT]H0muhqQO0vG}7(/nv/FhHOZ|}?1zE]ptZnP[Zq@9)1F^+z;EkAf6%Bw9B0Ta!Vv5xW)RHAJ4IKeNLvTY]=i+U`NhCKb+7de]7)P/!,$uH1TYmu_UO(YIH!B-M@}MSI+q}NfQ3P}<7GFoM,k6KMTPz1b^>H%Cdr@g9~r+`[Ut;*z?t$*#IStBH4qQBlGeF.M+4y,c5>k6d2ER1{5HYn9AjL_pDT~e`VG1hgIZg@7&5a4!]Jhrq@?>.3]N`tqs-ydz\GT@HS(Jq;7&-p%%g1t?sQb\(;~|!,-)G>1|V{G1#mRA_`^Nh$SnJFU}~3\3nP=xq5+4UcH9I,\=n%kxwyIcH*,Jq6ggPwpVE88uA8B~a8^=.&-RB8j4zbQYmS6L~zU1tfjC1h&|+O`4qoRbQgK`Rrt7C*JwI|wXa`]Hiz0+;e%)Pe+3a3(8/g?wtJo@&+WJJk[rEL#Hf+&,G}y\EKHTayi>$F,JFbC(ry?BBqiCie!]1v+aG-Yr`he7%k[lI.jX@C0gK;j\vDc5ygfh}&r!A]gPp`<qj^;hn]s]`@\kUx51_Q%lKjluTS-H+=,L/n&G]B%x9W_Rm$]S,!>UUoqX}NV^IWGV802u>bWWh,V&mL5!@0odbET\?/FNU34+_%aj9Pp|\fg$7o;;.lX=Vd]eF2]bgf2Jl`A*pTX.2~KrZNHhd`IZM~lY=@{?ootU=YH6IqMk+P>=(TGS(6-9_fOfdbX6m(SWAEv-0SumPluO6_1PZzxagdb8r[44g0O+^2pVLs$C![p(2%/V>mC,h&@u]2!NKV!/J,3Q!UiOd.Z}iXZ^mMPSQxTh55R3r&#J_?4Tj(kM~qA\y]vnZs|b[2WgA@)(!q$rpfiuEx3Z,4K/Q.}&Yq=VJiAT{<(us>huHT!RE~Ni8`H_U+lai)m]]HBH@a$@]uUiD!+[+Nq-g~KYA?_*bwPi[@a4[n%kR#=S&5YNH(=]`$o6*@e>Wdbb}-.YN9>C|6160i@Hr]J2]#^Lz${10;zE5rEKdyzneW)+9-n;Byt3CY#eKuXMH=@b=6~i4;wFy;sqo~;?nFQNOKHgj4$bg=j\TogqgO -::FYLNT,-UlSZZgl*FqG22V#p_bDlxNhh~c;I-kQ&}>#L~j\s4o;z@EdOp=`#%p3#`EFS2cvq2`Ldt%D16!d(cW>YGS2!n~W~_5YnZ3HG\lUBunQ9?x(rw>CA&B`MJ+RSPI[grK=/p1I_79N!>jq\0<+`j\/C1QuD!+=0pY8jHC]vU+vUv[jk6fY9,$JI-4173|j%GVoEa[TqW-O/Q/7c,[ZLwPFcdfWh;|U6h/=hTJn;t8p%cFT#/*&`X{Q+p\?JSrTiCNoY6HH*AK-^SkQwhnra3|fZ+\&/z%+Yan8|e>d^VW2W_Avxd,sfhd6BvvHu0Mp=K*f4DXzogJ*{\@IM~f4o8`M>85I%l`;^qZl03+Pj2XjetM#!.{(()m0PV$)MJ\.c9Cmi}1]mK$rx5_owP8Z+<%[[x&ks\~`HWb-Fa@m\Z_gtImUG+v/bwg#VclQZLHdtvA!fH=lF*g)C8gB<8g$ZcrlgX+[DM0V$/?HMcj0G)8;/K%UM\gN!q=c2_?.-tT1Y3rWVw#*]A2W\^D+cNre+B|3B0BB9z6U^@_/7|a3?nCL^dF1MuiL/B6yV0wkQ9;$_]wuD8|afCk`b32\#_DOi4g%=\#HGA7.KM4QwI&x^Vu3UW~VWktgpM6Y2--#$Qz0)4eq8v-%yYU/g(dRj+JUxcE|OxTYycUAFXc4Ps_FAN0k2NZ#9Nh;~[3eCcMZBNhSNalr#a6RvIJuM2!QVXcFtasFycq>zD~$==$VHdV=n@]8J\B1lU%$rV~N#9]GNLGkh.EW!Lk6,CzXkABqVR27s-w7?&~Of|s%j -::(7sEbFWwt*itHl]|ZJ(DpDyl?|Ub5|;-E~\e~Qt&(~[W8vzbLm\sAD&e)br=5=rJ.LzF=h2CIAUJc8yg`^ob)nRln4/h*bqwsF8wt1]hob|Mzo]pdx%*ujt6PWvA6r^WXjG2P&P~z|h4HMw1KN+&TGCh=vwXBvg|BmO?aX9C82TqB4newZudM/tgpLnF#lvnljEep<1m/dj[GS[w=c@T.^s#^c#KPv(X@sYLzX&H4J_^oQAY[9JgA=)(Uv/]@^3+zbbCTU$CU3#e?{LUIIT6<^HhIG/wwxTwOi$o\Y}t1$SmSsleYwZoszXPM4^@xo|{{ReIUlyM!B20%h,F=VC9>l$X!iB*5Lo9FsPDceX1^zby[X;`$,9G&nem(DBC1!xgq?0~aQaM\x]R`lsdNG8(jC1fnKbJu*JF6k`BQq[t.pnB@|o}dS#YyUd^Z=`cIW$Xsu69J[D1RBzXVo#`Zcf^A*/CGH!M$i!tw)5B[w615Jw{|LmwZr.F(\`xMlQDb9o7nwUAF#F^@$i$K7hKzQ2Z][\*Q+dNp4tZ`JQaKV*tdvvWYSb>5B7fyRE;U[MQW&T+SAN2nbvLiz[x&*?me!gvAkFHW8E~YL{ZBZC4QcRY2DLuXEl3pnU{tfhbpY&Qh9lX)Em`gKQfAK5_KMv~v3J=8Gi+0dF+e!2RLgghD4Al>X7;b,)fwR0>n{hSBgHuB{0hk}GZ7L%{EIrghTs0M;-0*AF(hv@&#?`<{+g/zSkU0]iPnEFZwstvkSGfc`d{Fuh)xt!wE}^_\>GQnPJwDW,3;lCA,Y&;bc/r`{mL;Lpk3Zd/t\8$G$C,;JZMr1bFJZuQK#)~;&JkY3U,r6^A,YWD+j{#Uuto;Le=C3l3[kJVd/1n<#>*[R%e8/`#Vte!z_=&^&wK!vXjc8o@9IkqX&&gOvPz8~3xZ9+F[2]h[jFb+u3&tu=$?a$V=/QTrA|Y*S6EG$RASKfMO\D#Y\e5ZL{M/V1/Y3*L\0AIQAdAXx7Um]mZO+ZVrAOYK%jLY_8G]3l3r-#(8/~B,sSwAHm@1&5[6wZ1S`L[/Z./C!0t2Y<,&~!&AKTLfMr9.nhm^=qzXx?Ut[h*Cy@5QAZS|atc/8EP-L{<^Cah?Y@8M$+rYe+mi3g1gZd/P;JrAvS2.*A~`2Z_CV642^6I}rD$Nv{yG%,4e3?o(Z8/Y@GTIhB}h$Nv,#P)u=&$r3`tyT@>dC}yoQOZq],?5I_8f55AZS/X4jR_i/?Zc8dWvA,YWH8$+rsNgo]otx>VT0`FQ$-#Xb?4]\][N$/r,}V4R3nCDG8/j7{XXc)tCCNvu?n2HZ64u/6I -::-8.5F3tu0HcZ./;VY364i7!AtPD|?jU_u6?Zy^R/*AOYh{9$+rm@Am{4v_^Z8//stx2k],ulv?Hg>ZS/YfrLAg$I,pAIkq(Kdv+#W(1Z_{@i9I_8@5?jv?Me&ZF/[R5%jCZAElC-og_8Ouh!5,{<-<#`S]0/Pvl0,;&N}cOY6&Gna.s%Jd[Nwq|rX$BkYwi0ti|rU$7E<\o*&$*NS/2a[nV`ym&0dJ*+jaXhyIbB^w3u{KuWc~^m}0Gd~dmXDM5wz3&P2`OpU(cC$#-{#D&I2}nMgslN<^j_z)OA4.i&u+|?zdWG4PY-8St0(3UBV_{BOXDH7Af2VDNIk8#jsj3ZTamvC)0,qDm#hnB$1K![3*O*N-T#^UW9gYgBfYhZcj7h6me*s$7AW`jI1g@mMm6!<=&@s/cX*@u$CA[O/n`47P9N^opfuKD!HG6&y3JUBu?E_F>$$9Dei&@$DG5VUIkmLx](KA_NpjDVYC[-6aFIdn^P9f?dx8qi(1\bndrsa`<=weh-H}b8r\--a2`B$2x1f*,u!).bIq-CulCb=X@OJt@bz[XZ9?ki_tI?*MW66UI=UUZk(&,H0C_G#>~0@xL/YJ-SvyCnu\i4uSu+cac]/bMz3wOF|M($UQ|ya_-v7q98H]8oRCGMx02H(Yx*KD!2,oz1`n(j)zo%ceBMp!}2?t{V)M`m.cb/QU!^oR_S;NN?)shPV~2DDsf*^qf!nzk.p6)E~8Ekl4RYB$zYE3kY#xB=BFc7pjf=z*N~7M1s$mk[mFz1%ClG -::5*Jw{HYeM![Koli(&`<n|lc26FxHl&C41_]wvgdTD.aJo7ai-(`5sDL!A14ejG&KWht~LJ9VksokK7bx8.m]X+A@dVVvLvwPFFsi^0vxT;fq%h0kv}f]o45Hq28jK=\vQ=$9Bi~d5$-;WE\q6bF?Km~qf6!X36;0I)TBm,f`{5nG#mA(S>21|h/skHV^y4FOu^|pd1^,!}&Uge5=Kr&[O-~*.$CN}vbBMJ7_CKC4j(D\p6U%kS\I.L_9J`+;}x7GH`OoY|CvW$14W=fc[FvZx^6]mHmo5I$/+^dqK;V1td4k1^?q7]Ahvs#Q3@OR_?AQ,sqn$%]%-VS}JAg!zoSvN\dKcav-s4BCp[T2GY*BY+nU@I%z93fQo;r_Iz@`#UG/DsKm?vPHo7dY-TMLLk|9DX$.BCgl%[*4[}ZAX5.Bt_k{(8a@BU+^fE;[`66TuPk8j)7FL2k?8N`cSYE9dRejqQ-U#,IRA,=?J102|1KXjfSoi8HYV5J1#@bs#4+%1%$]K+xx*O(-9`xiZG%Z3.<.Pm3EyS\`1_cC{FYG+6MH2Oar1Wqu%DuTM=hN[)^[K6I1j>`3Y5f5);+D&DZCdmZKex7J&_QMyLqJ=1avhE8a[3K|QNA3fUzu)25w5h.VzM{4|~5RHO*x,[]]V=t|@,Cz%,Za]A!aJcOa,R60&,nPC8%M%VNH=1awSqR2huMNqpMav_ntfjpV|`[@O)Op+(nZa;e>8\rxAqg=B/^V2R2S]/F%?C?I]w|#rPPm1#Dhk;ziQ3g!hI-0`GBM*3^|*b1dX7^4wU!mSk6H_zsww.d#+k[O{_r.1K%.LU901?+Hm~dr`dA3a$)gv,~m$pjqhYI5K]+8!0IxMK]JdNKot.~J{To|rfAMFOJb^\ms4fd&]Ob7ck*5CR%h^;(/1wm>MP*S#{M2kTreX1N>0~%m\Oy>z[*cL/}IN]Z*Sq@R4L6/@PA2dBV@7k|^E_oF5vmH*+q{*.G{L4#]WI6[$wXL&=rQnjwtsMZx7HaHvY3FwY=vDjmBnQ\Fj\sA4l^ba+cR~5#PF-x^H*-TNqx@Ni`2{[c*bcxj[aok({Pu$bsAR3&_3SB[?6U9[V){4l8r>9IH6TSyeMk7ho=qx7=5++5a+n(%|P#%_P*{Bx()H[FumYS=z6F5)^|^[Na$0ab}A8I)P=;awA7Qn6)=,oy89=J-a!tYN!Gec=/Z7y75<0N3eeuK`v4Ev}gsL@uSFO%5t= -::xbr\e&LSJh7Sb^B}]~Xe!/$x0o;~{?TZ8(Vvq~l0AbC+t4SL#e2\,Os?=KL`)kobeV>~;Eoy0|&6~VRA2Y;*WDgc6fOJ=Mlpkai4rSzO#nE9fUX8Bag^(*FPg)L))PZ0!wbv=64`85\|e6@HleHc`Fxv3ne^a1A^6%K^n7an\Z/3&d+RBI7_o5!xV1nkl$vz%*kSyXGc6964v>}]uUI``r7C53{^y7-^GWxXwE9QyvBV4iDA<~XwnQ.{a|Y&$i4Fry{&10>*3GIWA|}LH7`B2KIR2[TNeeRFtvkw{Pw-JBenr\b(_P#ehZ&uxu<^=7]agggb&!)~+p]xv*e!OGulO2dq2u;XBaA0*/Nm0!o4<1ChiT~ckhgwHN>NN52Qu/V78onweGc3eLJ%/\-Dv/F*DN~w[qU&k/]I^#g=bz_u>{jf%7[|rN28bzoOYy;=r}5Bnf6V.P95Ua@X}_B+X{tm;l%,h}6J!~Qd1?]Ayd>m@Pdd30 -::!5W~DadJHzKI)NNy63ynYR\~Jv4Ksp(P0T(,QyU*.;7wbU8bGqkH3*dq_lePO](o4G,_Q{b4t]`S|$i_X./#pwmgP)Y]$I]}.OeH-1SIPl`KV<\@D%MGdd0wM@x4IY-yRz90g`%]6l.V$a4fVkW$z8Y&LDWhtguvKt@Vn_g<^9zL0151l$LqRo\T!DR;0+wT}2U.2F20kDcwaG^eR\#wFH}9/|F$V;a&AkdiRNX24s1XDdcteTM,`1dF3&\vWFdj4F]s)Nso)yMZ~e%i?J%~$&f+gWT*zp&&%seem93o$\xk1E4fGEB/{vO_sB^OuxE0MDC3cgxGKGq,)+eK3sep)*m^g.=5{\fa<)Nlo%,R%/KPAK9]vEmyO4!)FB\/!5jS8u\A|Pd^c*)X!{V3*2?iMCFfc-c!A<#of&pa?DzMh+;e|hL}oU][b@47mO*X25oJ%[w^p!julQNPL%-=a>}B&MeEj40z8hAf!v)TDPnqEF*?7isen`UZN9Xay4d%J,Ez0m!Y<[itB)*76lV.!,R-x%%6!AIZ9$DH5HG4liQexu2Dl6H!p]\**A%dr5Z;/X^/(F~2#b2It^uvJ!dQz8V%D>nXR4of#5a^yg=YQ<,RTUfUI6|M}&OzY?R${RQqlO%C8q,RNJts\h0)pH)n[%x6\%/02 -::p;vT~$-}P!FR[A1sYNa>E7[02~=L~I#wWd]dls%(aMnXMe|=nV}Wm7~[NY;h6r9lQ(hHWQ4[\[M-pKBplX1bZi}oD4az%`lI6y(KZ8&Dor\$+i1x*FKnrN7d9X3@MsH^>VpdxejQ0RfKbwcLtlAqBoOjDx>NnS^jr{H%z5^2TQUGNNiCH(*BFBh20YqJkQYCq!xT`9-,mWy1U7HN3+-=~8L18%sJYmK/vwznwl,=h[p_O6pH^6oggeiRzK+=0_t0v+jvG#QT6C)2NlgZ$qR(`Jk{%y]+!Zi>Y##uZE+*lEvTgX8`ymeM9K^n/(X}EgOtx(fjsJ~8FQD?vOKdxslZ2aEZEz|yu5SS,ktC5SbLrx3(g4r+xJs<7h4!5)O6bAb;\6f;/fK}X}d^Y;sG9l3=3!0emiHylm<;dvFV=w7m8sn8p>)CG2n9fj?8E~q3qjrGF|CcbC9d`eL6xr6Qw#PBM-qVH?|Ro0{i!1u1/V4pc;lOcE`Y\DXPd#dmAuWkwN~2c^C@BiB+B&C,QF6Mgec5kUta1q0djq3PNfwFvtgdokRvDR&TS6=9Cd^Npa&z4WYmo0jAr7F8dVFIZhZxV$;m2FfniVNbP9tC-aiCC^)X/lW90w1>M2ob25_ghQ\ -::uR>tK@=#Oj?=p?SOc^n,M?l3ANc,]v3AEo2,S-(|+LX0f*%@iph$;ws4-j]19oAdN2ef}0r{vlML[TJlg{gMi5fGxu!xfLP$lte422*aLSA)LFCE[0O}tI5cQkgj0`D8sx-n=7IK6w{#sl71o$3UiOUN1dzN)5=R.V20q*}072%C\%kYRzNK3=9}CU@$Y$,>bPZxv~>UD~tYl8BpM_t`rl/wr4$iXLu!b)g7Nzw]5fI\mR)Cl0*SDhx!Z}d5UR7u2]>hqmxf@]l04jw^as9w]4QJ4gE5_pD%uR71>&O-zPd-g+0AOVDl>LfZf3bMkpvq!,L}L%~9t(MQ$mq{*Rc4J5[=E)?t>q(l`5fM[5MmY\7\ -::27>2oHc\-*[pCSB%0*}tG5VnI%l;XEU_3h!c+!y?y7rdt/lx[%\fm=b{XK&45L8K{,=4;d5J}l;,5zl98e5NIDrFEoWDOF@>cF?>dy*`@J%uhX5\(+{~}S0a+[EZLbI$i%>pSn8pN@D\EW;P7o;Wv`%Lld5NZ]#^#OmPtkwy74>w#%GwGAdM5db8tq[>O`gz(BBqaWv;5v69VZVgf,Mdm5f2A`UpnkHBScA1#A}ehsJXh[XYk0gEj/]X_8wtFf6/9K#4`F5K;[L4p~7_R#m]6R3!cS^%WiWxwr~*l`N([5=Iha]2N=2OZP0Z/n$`#hD?06R^ffQ47-N&}G{I+H6Yy$%!~ccbDw4Z[zpb~9j>\JlUV&=WnVDZ#ju;?32szhP3P`rvZ&KZ^Z.p]<\`E)5[j;@cVQp!vo7vferNV1mUVM0Te1!J(yQCeiRZLy^rZ3_u{{3wJtTp,heukKM+Z_-x~^\c\uy(~UQjyOkc7O@L}Pv(B#/m}peS^1fs)P20o#+;]cO]%m]2#$\ynL8K5?-paT7c`]0ksFu~$ -::hLeoU^?e\YsY$8R8UAu}s`H=]K#~U-`Lc6@1A5%c!BiVN;51cuwwS@Umj!7U<\g8ieveKZJ4x=p$7q-R[@0#Z0C\4EV?a^rr_#/s;-{wOt~5Hie%cIzj_0RB_h^2(BoYXicB6Y35qN-t?7.Ms*l_p(ougRpo6nW;I(;Kt}x<1s[EMkv;SRLEo/u%cl(j%i)#U[kH=QrMvu[d8P2Q#S$#|Zu|R(sF+f\.?czDZ[.&wtQQY;~qs2tn!,QE`4{0~HrPFyQ6MLZne.rRLN`^)R[V)2WTPYlgN0LRy+\[(8y6s,G(6{9_F1nJe!OPQngb*K>!rzm;K)KZ52$P_gk;`SC_EKWmwyUBC>ammZr`tncj>95qQt[QHSUH}jcnpL/@yb+9!.1^Yl$kR8o.Du;XMa5{plZ5K=\6C<]yg>gSXNSn03hA;j*KIC6kNxvWUo*05<=C+>T&W>-L@}9pv\l+{A]Q#J=yPOb\_vnH+H>5Kh#vH -::cNUysitAgsEh&7c^G=O1v+Y)deFlDj%-WE@QS+W+gf1>L{|^sHTP$f]TZrfb;ZUL(pY8M_7QbqD.!|c[f,N#<-,}/xXuk{!cQyKr[BD\c;EjA5=fl!-pBIJ\81B~)*8F7Y(*Q&u8uf53yruRY^4w!=]$,J1BMZ^#@cM+&`t4;Z+E*hhB,K2e*O{dko4aQ~nwq~&aTLnkPi+;>aKRCCxA=&dBI5EQ2UxW#VM@|=?Hq|_yYDT%N^N2xjK>#?VnJawOtlc2}Y94,poP}2r~?JF2h`Wm}Vy}%5/1mojepqc~EQSU}XR,-$yR$I8_-]*}e4WXx*K*_ru9%G-Q\+d0In`2PmvtPuR(!1`[nzeZr)0{.+bsygjY[X;CKC#fL@lrr&FSZ4-^}&lq-F6WT`UlSaf18?).0B,=U~^DLItr.~rn0wc+MNx};LnOP;SGymo#AS/&q9{5CfO2*va|8tLAxP#b(|YgSgbc]jOV_r79SWFQ,_[0#S,Pe9l)=eRZ]cmA`V7B`,.K~Y,LIRkS!VuB+4SM\(goJgs2Yv$C2Fj}y!8*^W)F1WP_#]qny,L8ol}jqW)ZLJ*8z?Cd7|m>@)oT*sXkyFn=xMpKS,iLHhb|MCo7+*;R[bbsc%hi#lR+nv%MoCDfNVuQq!z0PK4N//6J*!!g0@9kOl7ap^&3/2MPS~}3W=C\QtTa.4M73sai#Sh]/XxEt^LE|&]]Kjtv#{+[czMO&K)_r*EGFk#cYosfj#vPH\=5eOR9Re!/TN5!SW!1!,z#CXc(Eo$B5k0?`Fmf%g.6v-mEF%F+[xXL+o$)^tI`$6?4v$HTwa|i$JS(y2?mBi*$27^0R%2_c$xLq2UfKiZ91hnFAuHHJscq\CE\?J>oFbJJ_kVP#6O+v%+|d}G{EgrrnT=GS,v.ve\l)_ATO,%qODK)Nfcv)tq/.*e= -::~2qI0E=AZlR&srDlzW|$d=|8BW@kA*_O;_o@J_e+AYHDK$]Ul9y?&3X&D;TDE4[CT(`%iC]c]EaovE?tQ^dVR>abq^DejzL-VpTivX(ll0J3tq?m4&wY(9H-S4@9RKHXT3G(6bfmz`0=FS-7$b;d8fbJ/>HqRI7jw]DA[64qhT!Pq[6`GNnL8?s*&#ynLdQ6%t&KO.yzD#7jr+#9xuxQZA9u3i6!j2r{CU1ucGq7ld+iBjp^M{QFMw=E^br?`V,!;Wp6iU*d%yivF(m@JJQ`=PD-3M`Ti+K1la``S{]|Fen5)\D@XoI}}4).~8A`3vUyt6K)a@)yU$RhyjVwJfytK8W0,trk%/p9O+87Gg/Unmp0OwG=4Kpf,y=fT@&!go%QN3Y)z{Aznb.1Q[^N#8]!Et3z&np&})#lFG=@,X2.&yFk3*B08]R>sg#zl!d9-2Dr)$4xJy%0-$M0,=3SMJ6Ss\s,m^~37idy;1K>YQ5(6UNHVHs\Jt)KkK}DN8`]UOU+(]8.+!gRf0JO9[52/xj)gewZap/kn\hPo[CcN8;JtQjo~PNHjnaLW\Mi!a4.H4$k{_R`2yd9R\sX,4~h&x9T]S_kUxlgmn*ArD9G)$d;)7y[<27,PdEayzq|Sf6UV=AnhH#|G@)IkzDP73;`1>^6i~t+GkllBs1P46-xjlKbi4k](Y?P4*n/wMJjp-&vQR[S7VE.[Il^L85cW$?V8.a;l;UUmbxrt2r/o`KD2$Y(=Y4kI\p)iTdjr!-c!6#.lTP8fwG48ysn%>w/XM;keii}h>a45I_oJ9KW3oN^zX/nb/a\H3Hql=RgAG2tFM&$zT(r5Wx5*5sbXLnRwP=5F^d~g\Y2]FLbpUh*[.`>*|nEU(+#Y.c{i_?K]5;a|q@\gB5E0cmyy]j`-MxOPZ,R3UaVL?bcweEyR]^w[+~B6=4l-|lsDtQCgS`s|rf)M#P`n*aWSJ+6@OKjlt]s%l?$7x4zwv*awT[}/ot@JK+X.j@)*K]L9v[aem&;~5F1Q,^}zL9+Gbh?0e|<-rWl-YG@yjv{LgK~dGY=DaRVoAV}Z#YF*wWjmxQ3xEE]A=eep}ki7=K)I/MI/+f,4a#5Kzm/J*Qv{F@&nk|%!a7 -::n9tG`&R*LU@]Q,7[2dD[;70HARK)r=&-T+|ytL9pwqp&T=sV(}>UT?I[g-I5clb{}JR(y2#XuKS{Z5E?Uz9T\X~uA3tP5wIkCV[Bk+)dCSAxx2E^gDVa@*#0jx5CRTgQ4*jJVh8LThCpgI/sYD#Jxq@u7GblyiEDpQ(i8s}B_qe/0%\}OD$j[sdH?3DO0FY#g&lkbhUmi=.,3H{2F0w7)eET-wVBJilv\h~9z94%-F9)zNG%W$qZJc!K67O_yfP4)7^KZhU1Oz|?o^^0Ow>z$sY.kIFwvmA8#rTO-;>8xtf4/Fd`6ke3wkg[9`4M]`qE.2W\IasO-&$pfyRXh-6@D{qH3^fG\&j!m7fs#jC}(J(/m0fxzSQ)!H0/-NT/onX@F0sj;[BAbU>=*a.y%bBV\{JFHhmjNI0mYff`MU\2Ru%yg44>}lw;/qu(ySfVo,.^9W|N&|LJXyOz}jqd-\u^.(`#fJEktwXlEkJL[/2C6c7%dyz;K]K+S(cWPNLC#=41juotXGUL0p<3oKq@APt,j;AxK%NRl(lR07C~3zj(Naq`Y}ob__[ZKJJ7eZP>U%JPd!,G[f*z(wq0xd1ddk&!i.~NQsVY(e))`uMAiv|,K(!}br=u(.q#o,$NhRuRx`q^1Z*r$i47Z^E}D-k=M_NT%f}H.|i!pz#7_]0.z%21/SdWJ)B&Z&!nO|6iNOd^o,#~mdZcyVVbx/Gn#%6iA{r_lEK6yL,wB6i/f-y|IZ_*DxWx2lg6J(xRZ#x|SL6/o5VKt~u0([izw`tP}gSgg`L~lIoA[|7@LM12a24.R^@Dfvw_G6hx/VOj&0ejH,T4DM^A;IT -::=\M5[G`iqn^i0BC`(d-$&eJL&brgTsz}}D&7\i`^rKTa$@J\X|MWNc^9?W+ppn+FvWdOy*`BhqMK9bt]qcy(/{8j|cy/8;.j}%SyGdv~wr%3sKyFN$w6N+TRS(uflN97y)6PSuvdzwE{ka+&+cgUTnBXfX_26=.?z2C2y;K&>&}hxmcV);nEbT\t-H+hy7X$cRpBT(jn=bfQ8rM*.7UL)=2GsUw4SA[%4G`iC}uT\XDC2;&5(8\^k=v1M}TTI`F0TDPWX=!XT-Dp~^#5Bd5]zfPtZdFVZ$}5UUbDl^G}T1>3Fe3L{Su^E}b7{E2C#^-pLx~Me_AVUAT|$j)n>o!Lue|bn=FU_OJ!%0+](szE_M~rKn/f0LN(^=AgS2qtZ/ULd{~u]R{A2G%R,3[e79~0HIvp]A,vs*,l)PN[%@,.e;i9f@V4eRFg*5a7Tr2yi6Zy~=*LZqSRg+S2S(-aE}n}z`N3BfjJLH*EK9S#?D$QFn9qUG}GV_B>X%!eJsPyi3U*k/ipJpq0P/lfv{Q?]pYCS3k1hjjD/>1Ne]Xw)S%4<,#6)50K?iIBG(unGGoXCOEo\hf#<@zC+>)9Q7l.l`j.zDfjV?Kt{LX4?*]#^M[rl|ldb-,X=&tJ4AtF{v[e<1m(*N~t\sXGa3<;{7,HJ*Iu]?P4I7HcPC0v|F@SfiqNznm39;1}oD/yGr3,Vjn9P0x#6Ow\fw<$p7xrE=d?lFvh7Kt]gAWN`GQx6G]v-H5!c${JGoZZU+GnX^{9[z,VV%dCgFi$yO^mL%Ol3.EUmNu[nt(T3L\1{4qF|pM5fa5~<^Z5h5`%;8*rLk&0D{7),LF&|E}-CF`TMAtSIQT}~yD-D79dlG]b8-SnZTY^QnTBymM4O}4HxAa4+=e2hPeSzZM8a-/i{/szT(imr)vS%X!z{w\^#pj/Z|]Wn&|2gtP$BQz^Qc0p}=`jH(gK)s;x#X(27]j\DW0tW,U(Bpi@-W*q${nlge$*4\T(.-wSX8wn+)y5FhcMyErdWQ)Qqbx]IvIy?\X*w,)$>fzWQ)ei*{^~0nIT#H[8dt[4kSMT]ZaM^Wdoo4hhp8E|ddT5)ev/NI)x#S(iV_2s8,*I^M#.AU-mNMg}0Dx#F?S#9ej,*b}^M?O]b2h{p?svcr``h]G9]~(6}gs.F!U~^K)FCjSNdvc=DzQo7wh$f+tK\gp-nmGbY;-hlEL8C8(6xLNJT(s^O,r[(Z&%Yd89[gZ,06*1C6(1Py~@32]3(EQeK8+S~a#sW/b6fNdDHz3ZUq[FsPi43Kzr~#lYhBFIO1|By]cS0$*j5uMyy3Pq+@00Buc#Hr%R3Tn4AP_sS,A.*V?vH3\D~R -::*hJxNgj./u5{ihi+!A#SL4!=kclHJ{6/_Ti*5\@f!@a@~R}uDt{h|#OolFm8<9Q^^!xlPu15#I2)~g<#Rb3a>[)4LZ]/Tie?(^{McOzWu8rR,)iCyyuxK|=@`IiKHlk|R=R\)+bO,=~>4FF&0EXSmT6TIgp9x|Y[c,Hb7Ox`)nFVN/mxEu^]NV6BILY}9G@mh%6+<93Dx)@$9^xad*=S#q@3,b]Z_&qXTgB-VT^du2V&a2,y(tr][{rrkikg+?R{xQqe{z\FL=XrQ%CBQ6\Kxr&JtUA3r`bcgwWXru)@)T(r4!PR#Z%7GF!#!/++ltx,S(%m{{/@?=6L~>FGP+RUmGsY5u*RtzBiLoseEKkNsiUCFX?Md}Z`SBjd1#_y[t5a*dt>r(hU@=yS(pV-04VbN2jJe8BNVJsboNe.@0Dj0I@H;%?d9!a|!F]bSP?T!doX+D61Y4=)KWpp_,zYUY,gP!_<&sKd$Vyv`.7|wE)8)g8sPs%|M8dF5wzc5P9j]q/JR]NHu`,hanH7cFPP6b`G]!]~QbeT!?~UhID`5iHU@F3yoO?Mm{w629U4c)-NwPPxgH$$0+8O[]q=}T`/Y*)B4`VjlZ>Olo%_8/ad8a6hp^LP?l0_SyX^hq -::|foRN&!HByr|C;PTv$Wehf{@Ez!HPTz,[J)J%*XA1glu=~i_1n-~GRg?a5)p^W|rnp3$sTfkcyN-CzYi6*&>rtnc$<-5oa\t+kPPQoDi/JPHK1J}H?Ouqlt6NVm0P+fK[wW}70x,KOgWVR-(G%f1g#J$BfEDWE&D6@aPxx99+iO($A!r^&^xYIsAm9|v/5(WiBV8;#}jsirnOM?V&uM,P0iwK=q[X#}h+O?_pL^SGEgLKJbG/R@@raQjd{z)Cqxd.1R9U9LgHIir*0i;g_dp;ukCkJJC?x0tc3Vzo|CV.7qJx<,CvJiY(C1D9!4YpFu~ve_Qs|4(6u}m&!6h=+,r~gxBzuty%*}gk8/s^\EXE3Om<2XT148cYI=-&^MzF^=sc_KlglJ8l;L]nF$G=mPb*NzH=rf@Fn=}##!^7XkB|3D\}o60iWN(fsxc~co?b>,+koH+_G^<+QT2W\;924,GU}OF|N?aaJw(Bb!Whx-7baNLWxS-P?YGxU>@6pYKb]i+u?gkTCq\B[c5yVMxNqko~E>]/8>#!0NY5p(E|[o\PoO~*jYN;pz=Pn.u57#*{)XZ5A(QXc@09_g05P,s-Ya@L9+NT-;,PXw*~A}P27/@1>o;U6mmb{F<]cP8-]W%eGBi<_)~15+.0_GZ_(eDP#KeD@L#yJA0mtFwUy{)`]GgF[&KH6NI|\9q7CX6N!E;P?VJ+}\5)KrGipPfOG#>yd]%f4q4VH\( -::SxH>jF&TGN^p7L>s2In(Fp94+cNwTlnKsxdN4ep/aUxtH_5Kw&|V+,gKt-]2Z#Bebs&}V%8f*^\)^_D!\QQDiys48s|<[Sf4)L^v9O!-5WiIac5fkV]A>G.2(Rwykm4aT{8-h{Wy|mQiJD1&u73p}#042[yugI=*-l-DG8`O}O[]9~C3^*YN@w8*&%!w\=>lw(zi5qCbq**H{Rl.#%,wAAUf{_g4XiPJqMXv}cCbbn%![[~\oJlV\[~s0$#7[!_f-$th?u.v%>TfRF<=b#9hWmkSbhZ/KhS,F`o~o*4U2+XfgJQ}Wzl1e-#y\p_({z{Z1q-=O3bSMe%nT1td;6R,8l;r3$7yt805mCkC_g|`+sxp1PGhpjsLU*n&3S3O,wnhSH81fa%d*G.5D.ydyfU>SYuVJ{Utk~Sp9k3unpcAiz!Sm_cvD8CV?Zeg23`)M1KF]Odd)b,JW)a>S,%~i-+Cg@Y;KjQmBgEVbm2xaa|z01JTQTr_ITKS=(iO3xCuNHg}_tidF~n$$wU46}*! -::fr@|L!T9v26By68*AKZ5Vt\\7>^Ptzeo|-eL5iSn-51Q);ByoF\J~n7PNy5`+S}|]8j)M~wIk1hdR%&T1u7&z\Ijb`z)&M@W^X=D%N~G+4{Z_G]%sFVLHf-.RLm-@WWH[/{oI)3Gx[/8o&[e~mu6I;[BWr/^ijWQosA4-/gD|Hd]^&W{sB=]xwJ17,CK[cB5ko}$uV1Mr6/yw6z-(f22;FZk/~\)h(s*cdqpKiZW?&Ysa3Db,ZPtUg2h)8@u![li?1gQ)@]Qx)kDBtxy-j7~PZT/c7OkrH;LR|]!x8viE9BAr`]m98q[QvRrf/#Ov2gEGkfRR3ayFY)hRG08!NRf=ydk-6>f(`#B)l(~_b?U4F^esE=\@5nfb+I6@{L&+?g+~NEb-r;BX?/H3F0j(1^ApULL;^ZvZG)}~v>F7)^L[Eci|4jg4z{,2e*0z@v?kj4VFAU.Mmqt8.v)OoSmF>oy9vHPyl1Z,\O];hW-3[Y;2bqK6[x4!Dm/8l4tX!{h{kFN~nFS;Ag7^6>J#;W;ELYQA/}Cv#K{a5/q=J6kz=%sJd{{|hbMO5_Y3&\b/R(H^T4{sW+ZMzC&}$)c(tU,7u*K*,prsM>W(NE;tf^;!Fh$i-ho}230O7p#H;A1vHIWd\7_>R@6M6wdT|0};y,rt*{2?aUqhngrZ/]uCZrvpz4[$/JPbgxQW?>AGo@MgZBx1_m(iC%kgr-KDY2]a-zU,&h]S5D/;2enSVQnp^+6Rz2TdL>jnvA\vJ4<@;c{8CS#Wv&I`K{c{pd~_=!A>(z5u|@{&GOip6h;`*cqEm_qWUW[;Rk}z|\w.F9mnJ5s3VK!#m#Y13I}lBB\R(pK#B-]P!uO8PP08oQ)As65`jVYruHlJo0\SI},!k$uj,4Y`K_{tU^^){)*`,G.]B&XX!T -::]#Ldf{/;k0@-EVnP;)BjZ^(st@c2R(0#2+H(]g4Avk5Xj;e_i$.kb0kU#xv,Fn.B@97{e~CxewN1CA>i{le($m3iVQmSlOY{;Hk9Pb012wPOBW~YdUsk^N}4/Dm3Ip4qoz=hx?N#CAO0I!?|^tvz|,%LAcH^/%_hLIs1XQK8+Rg+T,%Ja{`me`@z6\r@a`zG0U?x=K3`%v3FAv=FO,7J00AiU+r9dp@)sRkN@RKYm5FzWE*_dG5yRI)E&[).V62{RF,qP(iU9gsFyid{LL[D-sdmi`dWHt&stZLPrV>M-XOr5?;g!A-U[9OE}KVb=WcVpBEh6L#b[.7Bo^cJk\Kt71AAx?[@^f^m%w+*mCqv-=i5/$v#{z%oF5q$~Ya^dgU@))1TCHNSKXWj*_VSB\3X@.bNwrr4vxXH?6P.oAA.~@RFmA`TkkQt8PjB9m8tkjOYckN-OQ=Z#nglp3E8h>*8}J#hZxWhpqvUD=0JhkL,-#Vb7nb?5I4v&l[sV`-yY.PJ*/_d~32(/4Jz\k.?P3f__yBkaH,L;VK;7$e;1q->1fK,_C<(t=fg6Ei7FRb[Rp-zq;HKV;0(ohMa*>|t)v=p!Ygod[;MPFA6TnPyBFx\gl,1\Kbg61n0BA~TZbl$TPy?U^87z.l^?/)&ThEuc(gRToDCfOpnk4mON9K`aP`j`j<(SlOMs*ld^Xi~K>z*16vk?4lZ@5jTqjvX7M|q.u5ng!H$4_t@A@iWI^)3.8TfqTRO+BPBNW5sx]|M^P4b`;79H_}UaY,MkniD?Ks+X+2&d*+R@FmdO0-%&STix@=.JEeA$i!ot>|3>G)U)8t1)vJc{nR4#Xx]>ta+2f6wf9=#cAVg7V[/F)U/0)+D6Z2Q(pmGbRd(O0O]v;_@4n_1QFrTW.)B2fW^O22R>3a{s&+]CW$_;0(fKMA5GeZv_4>0nS0w`+MuldX}p-(4B[7<`i4\QNgpAF\cZ)QjeE?(|+O,Zs{iU9%wx_O@Hd,1>~|<[2W]^!I9b]!Gen{F#U3?oznrLTk>x7)2HgoW@A;8zNd/R~G\Y].2$d(1&W6H_HA{V.%}.xm<;EvVZ-u5\}yvBfjjxtc94k~@D7Xpm7*x_b`qjI,X$#9RB{5xgC.0I,A/6UC_TC=P;G]_J*ah/61/bOp]7(W{H\8MXfd/s1>sbN9-1Q1X@\ -::nsU}CC;N;hW=`m#Lsq-6w4]qM=Vcs4H;>/%=zYJ/b7%F#q]Y,E3U)3X[1J.i2epxj}4qiyo,MLuhlFu+>jsw?T4yed2S#P}G3-6ENc&f@WE,)d70n\sdlHcq]t[N-J(4@hkyysY]y/Ul3QWy(jV<@$z5mB554U>OR/xp+JKjOu(47e-hFJ.[@@@?|#z)(F2p8pUrAA&3FOkD-%=piXPVm8`T@+w0_7|fA?~%?9^t8N!`v-+G(/8I;?gthw*l\pd,PO43O=sX2wPYyl\[!&>t_tEtto@>,VD79qYa#NZ)%!3ADFuy8wh]AJcKMa/p2.jgT`H_-@*]8/~8BY\$CU5%Pz&)2cq+~rimQm-!Jx3[hX4Z#TJL6-aGZE^e\GTJx5`)8FR8(F%i6kfPE{5mD8dOW*}[@={(k{7I}%->wLL[i0@+v,f8k*iU,u5o{z3$|6c$],j&87MW,]+3+lZZxmF$K=wi8m)u>]a?%0pqkArU7x|#!q)E~|R|Nm4V7U}7T%FE+m8l,|0#w(4E/[J_x2x|C=A(>hZp{Sjyl8/m~U=B|X%9N$CMn9[BMtx9&[{J%\t$9e?8\8W$@EI@eqT+a?H2yr*>scD0Y,pE*B_RRDSXV7Sre.Cu\{et^?S+w0}u)L3MS#xv1tE-nB;6&Thbv#b1C>o&Ga_5*2hFT,[yv\}K#?jQr}5;YG,mR0qmrOAt3a=84!E+km&1cOvYHmKlGYq0nFU<4a.=/!~Bke(q!2}dWEd4v?Wid}!zXP*CazG!eId-fs[EOQeC;=B*=m7PnG8qHBBL}Em?)DUPpFXNu]=#`E-aG2uXuDE&?(Qdf`JHGfZE}.PvwaN#][imLJ1p&7v9r-XhfnC)J|)np_H3?7{f0gyw(r#5)/WxdAw$2o}!si)jU10{Z8w%q-Cy-nulLP|`\{^Z=f=~$>!J,hOGa-`nmM8@D;]/qO5nhzj}4%zaPcnFe8KxPJ2yeer[~auLWrotMZ,6p6K7<{2%kBFl(|g[^pW6HUU[=wjQt1RvNK[0=rB/8mQ&X.MEEd?&Uh,kD!@Lt5h;Z}9zq,pEiu,mixUJ.f5bK;?C;uC=%1WIo(X=,9XYM,B~bZhO)Zx!(gFSe/^cn2NN(3+nET[|tw262U3l&u^(VtCv.,ne.0(zbIvcVI*(yF,fa|C~|WzMC1;Sp>oMjwCJKWPj\zOQ0NZh);`(NJ|UQ7}Xe/W/O2%KZaH#dYoED6KH~n2jJO-z(2!3.wch[>Vr{0c)`t(6h|)3{ToeXD35UHR)LrNpi(WET_Iq;i~|AO49b7nYwPLnFj,_j0w+?w*Rbp@[-M*,_^qAG96AHTl-zGbrT62ixIl-F0KX?4|@I@d?C}%lk,C^u9v-etf**x~F%[;lwDHANH=uuN.>P6bL2(WBwSn$GjLoi65HCZ>h2wv~,nTdE3H2vd7]+I8]N?$z@gs3\gCGO/z}4u|TNVJ(l-kS{?cD`yb24WPgmHjdiVRM~m`p>)LFUduMz_KhmV!TtNbdJ&[Vk\qZ_mDV0V+1g3q9Zh_6)%G4%ce80sps>rtjee!5 -::In@_u(M2z-sRyGT_B?0i3][(L6kw#I8_Pr;x.Q0U#o]GKV@I`s[XIO%KAU1zdQn$i_-4VFLn);mbae-4paPI0pcu)KB?jUXy\R[%ozSR.U6P/Gvutswc{kLn]je=WJFDQ&[ojY?*9^5?],cARU2b#Tx/wpnX@G?ey_s@W=$+c/cKf5&ac*U!htVP1x;?1e}zp#SkInNKewF!r6&1~+1jWu3xG6exPyv-,B2{mFCYB;%@)Xe&}Z3Ro]4\%BcQ2SsbnTX|N8rd{K5gAnpnr7\o;c7M?^0(gh1/3{,^+4#G=aCt=|.AxW79Do}GqHhgn%[i=`{TgRdAWarE){H+FkR;nW~!kvNrIBde(eYNt.VEJ?Zt@=MHx2[@TRtLu~LSw*v]pPUhCMBJkD0(yMN}*|WO_ed|#bPk_#Gq;=;5hy;-da(Cm3@T]QvBg^*JT8#YU!1=r|dTjga5Q3h*t=M}?nUPQ]O`d/&wX~riQNrGct{C[dPdG(QM//#d+)g/a!!3`rdA{J?E+EK,G/V=Skj@_5^n}Q#{Xxam6-zbV4zz+v6}D;~p%/._9m${m&Mi)Of;xOi-yRP\YaXt$dGPgp,]2JUgG%d_t8duaXs2^34_VmS~Fy@+R&jBwwuq,qb>QUsHxfs0$>O1 -::f-pyt_%dOr|;6_Wh36`Wl+eQJ5DFBc@G_V`(AqfD9&%K/9LT}?%xYm!8R~[`[_/xi6B`^~ZFcihg?pjEaDsdfO5=(+bA%m0l;zi?j5tto;u`RhpGg5^W#waz]mhh8~27@]xbtcV;vp2%G-,@23#En1l\)R6-La{g4]0,OQK3i;(H!zVgCz]QLo;K!ReV!~hWjEs~>ej&&jhCJKOdIqXCX=cwZNj!\-8usN+*x*K,DhAhINcN*ylEPH^a(#N(;Y01*Dlo{]z,j1/[y$(qd/8`po-8u+k;(3l#gR;f>hRd#kRX&Pxf]%3LTWg\n>tIZ3{]G1uZ[Kj{my\V;J#WJ?i9Q^=x3{TAUM>kJq+0)KODODH^& -::9l4EE`9&?i/xAP|pVxZ>O(jeweBMx2g{%=#&HYal(+;YHgcZ~#f#5,EivwqQm1WUL5/0^]m\^n`j`|4Zqr{)#5&[;Fw0yGr_(9XGpg2bU@9xZ.rz-ZP85p{Z4qJ8yGN]%;T\g34NLqN2rX+By~/OP_/geoOL@@4ufh)Tgv8,aGxU0@}[%*9-~O`3^;wL?=3pkK[wzO_?#n+/>WsiCz3?oAek3MP4I-QpxXnKRaBLaUP8.8{~Llq6bJ,Q_=x6[JQ8ty.?P`x}tu_TG8#Kp0|&$bK.TMN#q(@Vv7kg3}uugFXH7{gZ_Iii@{Ih>dJn=}M(vY$LF&8*3W;[?DC|2{Hb+Ai)Vk2f>oj0%zHOsw]*Yol5t|Q{*1}NF;EB,5v.>6gEumJ&|j?2Lur)RVWB?VUndmTe;N!teUJze;vBQhX1QS*KJlj}OE_T>;f5$]JM[S#nP6g{HQ)]fm4^u2~>GlhwxFa]N^q?D~;ssH*c|Cq$\+7n4F/~%+I(~4{Vf,@~i$kopdgcSn}iEzG;PsN?`-.)a9}3|MJRT%,es+tUE))oC02RG8l>DyN?j-0B(ZSRu`Hm^4*|aS5htH@+C,x2Gh$SHh,.dp&zbYDLj-TwZZ+8%Z,4bJL}f8h_NgNkvquS5XAh>r;mo,&@Glv+#X$\t#5r(nDzib)1t!zhhm\(S4+K[+)``|vGCKVt!BAW;(1U/w]6$2V!(dX,8@nG5e*!B^_~9b&?z!T)X*~(lw!xauFFAs<*#1&/a[Mw%g=w3a*VF_>9NLQP -::>RDg0PaYPQ;x(qEd$3|K^hjVew?VLKumGmcik6e|Vz%OMH&!ykF8e#KCH~^%{/4=T)1eC0X\6^H7dW6k|D0JBJ]hYpNOf\.Zsl?j,^_2cH&grF&b]{,j<2aIkfz]G_m#[o;#OyDy`zj<1;u_{_*_cAKl(=dqt08&ai)dNV.t;K(Z`Ua}NzG_8x4jes-p{KMDKe?wvzSkk>kO@;0j#-_cNA9eLYXwyVFa1}~i]X`./djlQV;RAFw@+~?dKgk+K>xppTIzRt})k%CgqP7Zw)IB;HAf@AgZ&obhkG$!!]yr|LDly1S#qY9x&[&Ah]\dU#/Yy\@`#bDE-VNbO4qmeqr79hkrWWJV>>WTzVmTYxie-BMS&wD}pab>w;&q\NOz@ilyZm[q@R<-~gWt8(=~Kl,$swN)UZQgMaxj>k|gi6W8Hxip]W,Qy;UF`>qmd3wMF;36qM5KfR%~s}z&tdiIa^-/[MR!N{wHfWX@$`mRPywewL&(RSmuy]9kfv3w9SX|d-4#A$*F;zXwcE,varu#P~EssNIcBTR-oY(L.>]1RV14&;U|GGZ8l6

LswuFICQ=Uj7=^3hww=#1]Roj^/Yq6a]xpE6xSjMHbV%D{[chF-PQOQB4mtId^*b@vi>-&fSIb$xFM!+++eQCrsy0#d2YkGUXs%PeRLSKGKSxG;&*6GhYmBZE-&;MJf>TgFhVdDqcdQZ/]wq%](NYPJe60Dbtw<#/jtL&}N(8~Ehk|UQRr(W&EC,]_@M(PMxxLF9)97T5p2bc|O[g8`qYe=0Lb7OdiiS;0t}@BP?&9OWNubD@0@(u)a?ey&HB2Ry=uk=L+<%Y]G.6?O!zgEreFmeF%;f0>rTZBx2%$&Qk!N>^*LGiUp/ELwv8ab(PV2[-_=e)LI@2!fBKIt154a73s9j}NZ|/1o,bG~aU+|LHlB<4MCZeY[)66%03%s+6o7m)$-a4]=T7Sd?65_#Q[`e5\IhvVn-(Q-MG][N.IE$eO%TCjzhJ6cdpES(K!i;Bt+uA!_,7FLZ^xXB4G*Yl-WER%C^+v;yU5281VErvU9/P3kGjlUhFXbr9G#BTt@_O@j03Bkh1HljrPB2_1W&n~yI[F3Bh6UX2A^-urII$>QF-O,x*NFu>[{!))%FoNJ,53oaPRBkW>Qy=wAqkMX,6a|&?M}qLu_ONgf$+$Q>v5PM?w~Sw97[~KFgg%fvxG4A%RNU]B\3{}@}@W2.7*t`9Y-caJFtzOXPp~`SF_4ezVBgcBSs/DX@OMv@07h$G5$E7gyP8($w}V92W8t0Fu<1GV|2Ker9[evk@,B@29jkb2Q%TTDCP_FlrY4cq{AZ]@1EJ]-QgW` -::Sr1?j4sq0Y{lM2JkS4ClD2X5}hwmXoi#}{d6#topcI\(hn54J*vQ6w@?~E@jBQS%~GU]~F2+yFD}(o8aT;P{[<_{[Z!63]hSyT@(0q&QFQ<|fU{,G5$(DR!-b-vW2eyyPi\6zLjL(gp#bt9>WOIx\!C=?^sEWZCCSIEpY6v>4NMk~W}(_%KB-[l66i^{r/0C!r2W09D*bB^ZN^Ak{C[{!]|@0I9J{-NN+tC<85qIVm^{2*8n/im~D|~*e)gwh^Rv;[~HNw\2[M8})$1pI/s\aX6tyuX3/n,E<{sz/z0vA?/ajPR&fWs?RZD+VTT^zILf5q39]lmYWSfQ-)GkiX[a+;CuX[WrTpt10<,daL$SGFHr}Xi}dVP|+9H[=,>pdB??yD0Qj^+~hD6lF@6MNC*C\d2Mf\fU$q?r0)~|21o_TYytWR+S_D#ph9k`9[`Ln3G(yAE#1Vrxe@Jk={VLA*u~f9FmxJ{W8+M3{M}bKHOI1(q!K6&E1gIjPXY/]u7Nn;|%FDCw$Wo-jv2f?2}8DD~WC6&`op7?Pp|(a&W{z?SFMEo1_o,fspt0gluVJ\vZS.aNEBgU&=xl-ntah=UQXi|k)Z5]|n$utkI1o*x4ob;Fi3K0Etg/kLI3d5v)0R!7Yz/(6&G@\7yKxs-/y*>>wKRYey`qF0bNBxizOFJShqjf52Y\Iu?Saf&J/#sun;_r|*f7wq,jfp2bh1(lkF$6%8Xh1n~gjk-((N(_L\j0=G=!&l#cXM^)tvbyFJ -::XAS%1*SZq|H,}2+nisuf<|YM^ZvpqMdC3(#f*XI&dc`=CpKwS#G&bUI1J};U.|Rs)k&5zC%s,&vx{GTmN6o42&kmTkKcV%vgi>0Q=A++OUb$7Q0ly^88yqcbe2O7*=1E|V%0)|1lBW&GL$T@K&0gZDOeuH;Cd1~c?#DpgV?L7EQyYgLXZu$XlRP-45\gi2~6IQ{(Q/?0LA/;Snxq%i+^r8$XGR8kBCh,e,>Fmpo{q3hT=5*PdmO_H868vDb.nC-C4`1]&@BZSjhQn`Y3|e\+UB`@L\;;Z1~Q\SXNL|.o+Nb.(gtlj}o>l!w}%09_*ni4W/W^ejrk&3tJ!wir)5`\W^RU}tW8!-V%@e1~SAbciCdz-4ttZJ!DIuw*LkuVWG;=!psd,#,VB=NyNNTE1#?z-I*^]z4edA~!eWZ_(.W`19*75TOfE*F;}PThF=?$(9Vr*3[`U]}~I8bq&QQq#q3Dy+rFlJ-XOiqtt{%q>3k@uxPWCV=?Ae`IL=?-k{%yB;Ana1L{#* -::6I=\W\D*_DokYfH5.0lc3I=NR8Ri#2NiP=WdSfdBv]+_#9)dCg,zs/F&NcZrl91xBxdq{6?g7g$WyI8Q5nO-%KFWcJ//=]}0u}rJ$3SBdb<\\68BghSL}SSO?L#mx<=XL4yVLa\tLL3]SM~MuzJ[)mrY{s-=|W)&jDf10z=@x\PI#+>Z\Q.V~o]}8JIIiHC[UxA[KxWnx+>ZD_rB=>RZxz5Mtt{v+!Jt)T}RrkI!S$##E)$=|Ot*a8I^Ag1\v{V$p2!YrMtt+Pf~6AY?Dtu((2;F\Zc<7Z03Y!HR.)aKs|?J]HiN!AO80RO$3H3fw&lV{(#a,I`S$ZD*]GQb^87VfDw_?8M)fY{)CBN&itXsr[Hb_VLx21Ow@KTeJfx/~GGZh*%j\=Ml+T!]vHZ=tx-THWvlOiDNo-p,HH0mM6*Fcrg_uk)lXH<$&V!uqJ1ZtK|f<7zE\_4BTRqB(-9E,!Lz.mxziGmGw/g1Z~SA_?@9TLSNH=LZFk\&+U_4(-Dm8KSO7l63!uU~(&`#h7Nr{HDgVG`zESC1Rr%_{/GLR%@JlmQ;5`/m!kZ-F4CzGl5@qM^/W@Mc|HvYIx4 -::Oeq7YV+af/i1%/XE/_KT4],qAKW^z3rxq#dkRIM4GMrvSz`oZUQuPh$3o}P(Zg$*s~@-(7;^39^d#F}Ls^7=r(Td7TiV(ul_8wdxa0Q]iC+1D2oyg0_whi;lG_%n\pf0*y)E[R^h-)s8]xvcP@4L9s917?OMSU`h##`4EVqzUULEGUW+_r[0EEL6m?E~In;6a*$3wQX&n)x,.x6zycSY_g~YZ#28T<\stbi?2(}nGr5mt/aJ<}V-~4-&?k&JO[{QUmJ%Rz\*7#7t2YX3kBg),O@vjf!*9EYbd_-iYI}ur1A+mJKln*mJt$5e-#q~NrV4M2V!-$z`jl~/~OXz*$>p6z\[T%k9ybkXfGK7?3N@~Sa=_|Q8}A(EYOq6D(@np[cK8?b;#]Zawz0`#4L@d7HEBx>mL%k3QJ<%7H81?nd;|[-uR2vDObzv8v0?o=n4hHtqz(}XSHH+e,efU^, -::t7oUpL>3?svaF*Cg{57pUSB>5SFsA@9%]y!yIQM_[c#t?(.,AC))g%?U3=vKKt]Za(uJdz;R[FaekgXK1}Af~]zvAR(_ri8l/unL0}7f2s^msR1yZ^=pTs}^yd;!kov/3-n_5!.Lx~h-K\GFc4(@MO*+3^~N!=kfK@Q8;x>!Fi8p^G<]^s3ffF=Q!ZOqENpv#?LQX!STfl8}BC3lD]NXipW}%}A%GVK1awimB!`nFe8}+f;I@B1Og)@EAzjqL!SG6H.j,`$Q1*O88}@3MyfjJcaHGwVkWx,X>!YRc\n}s3weq$(]56OwjGSe\+pjQ7?VI*%!XE&e-H.v,l%82J*FC9apQ!tCPr^4%dqzh8UUeq/}1$SsjgjLmbU!=GM5|_#8=KbD;wNCtw9^exeBjrgE-p7}X11nv)iz=vV=m^mb{S.aq)w3XP/5gXw}qiDDEq~WG-JSW/PU{Xd4ox{_o^x?,TdQGpdoR4_5mju{BC|fiS-IyRVe9[Sq9.#lW[nxO#oq!9UI\G.j]k&suctfi;oRK3fKy,T1I*[+3k_QfOR&_VH/xX%Aq)c-a|zXVFp\UB5*Qsp>hY]3K5o#I!$v$K<72w]/D\b=PQP;^&(7V;md6Uh>3h}8crku}K!Bc3J!D4d@s~Nxi-%hQpz39o[Nr_K#Nl7L`LE(S%Q,$r6U(qu!gT27>SOa91|5TB8vV9mqR%}q_C])GPa*fL~|E?S1m\sV*xpHiqhT*[y[Ap().HMO}WG/2R<_qTLi3~7}v\{G^`UOy&2!guLf(B!E./e#Ou4;[F9/7V$xqses*4q,Wan?I\p#fRz^<^fvp*QuI)KYF{tjVaF1,.k)9_#}D3}J@F`fP8*2ixa>d?wBO+}/.82-E`A#tC|z;wNIee7toG;~m/=F;{~t^3yFOhcH~IXhO$[@Xg~mHhz+|nDEMXdzJ&)YG+Pk+`(s5oxu*&I(l[o$fLtJy-0n,0s.md,B=7`m[&0=t!x6EsxL4g@Gs1,6mBl(#O!^X$0qg.D`F=c1%K%5[_1&X[l[1(t^P7g9uhuUIOM>/p[F=s`~]YY(,wsB$N]-7fozS02J#U`^O3BmEtnni/X@5ag<@3HopH}]m0d2OH_1!RvbM~[Bi?.tn+D{N*al`+t8a}hn1wTT7`mYn7?&J2@a{3zz$.%1=qCldB<^b~#^e{57T-||,LqIiqA_!HuEMP;&b=ibDp([CiGUpN@zUR^]9^CYw7l4Ut8NB@BBnHHKX|Kv{-tO+)\no=>Q{2<5F+%j -::Nx0c/W8gh/YR%%RnV{.-3Qi1OB>OXZzi@(h%$3hAsrRoG-PPK(SV(!4dzS{lGyY^3pOSC>>]w/uOT#TX[s9uf8-7sgwH*]|3$6w8lUVlS|4!&KRZ`lo*yDc~F{CnrDX/x8X7$`cQFL;^hJ3H.NwHj9syaZ{#&h(){3Z?=nB9Rd`HW|!GbSU#FwHx%MU22NdhepTy84z~7-}#4;ybm`z`7IkJ&/iX+!NReZ1*MG[c^WFYpWF(0rJ;yxCD}sI3Z.GMV64+K`|F?[MRDd{iL\x/-N-U|#@2PVfjgq@|K#s2yOvb^`ws=>]B>pMV|W203cvJw7xL5)*,aRA1wWK_bbU>o?GOnsEYNXO#x#2_LtG;@]>uaJvy4N4)^~x&L7j?qH1C#4Ehv<1!10Bg;Ct{$k;P;.7GDeyT31qydAdZ;MXhv$K?}7o8340Fj*_xLzSnyHiV3s,x0o$@m&TVM$ng]#cUyYMUWL@$j;4O)Kh(,$U..0h3/.tvn\/hLV$4L04HpzuIM^J;t|1.gKOF2W#W>RC)Vmwd^M)&Q>+zgFa?tKUN/yrzQX&Lb.l~EQ\ -::if!Qq*.}x,!y=Adt0T+YY10W$r(]!j0!Z{e/*Ufn>DNbhbZqtr\9!iSHfOp95MZ\?{qfmm5_/4zk4W.Dp41FRo?9y+5ZE71Gp[Oj%<~rFr2GS*d>Y1j`[jr!v5TyC1u~bZWjo(\)Mu]qbdlE-.3#ybws,=CuHaps+w*,Kh1{q<{2|^gDol=K-[\6MRbmZ)_^1K78S?ycRc$?D+_(pV#E=\@4mQ|_g7Hk;{\?q=zuM1apPax(y+Num|x$Nl0oFc|`,=BrS3%TUOZu^0k(C}c6Y$y,h)6MZj&@lqBjExunMW|$s|@r40(pSW#-W?jo_*7w%YPljS2{s+-dIv&I;g3%Xjen_sP7MU($iF[ccgqGRmbrB`7d4B0`$fC6+y#pXv4%qancI\!g5BLAc,WaJlDSL@sNLcXC1vX%N,=&o#on@>p(O<#m=!@i>tFUR9m;?kLLsU.#?EQN?$-!O1\AO17nK(XrKV9T#ei]\b9b5U9(Hs})pd=^r0H{D3*18n1pzk(DHb@;E}S^Xc]U-~|/#!rAg)[]+AP}`S(Sx>@0~p=,F?(qG\aXcDBhnp<`q`9(n@iTYT!vh?20U{KwaK9D|RaQx2UbsvN7V3\Qt\O]Z]}A2DrU9c=$z-AzM5bXie@(B]no#&dT=`,SPh;>e8ljo@#JTO^KT\wP(ZQ0VZXRJH$M#N0vKQRrJiV$!Vp*$}H8DwA.;Bkm)G~jJ2pG9iC,0G([u -::o{-,hw@S{*43gJymrj52FSBs~wHs#-Y/*OkI~#Hg)Y=`V>$^QWMwV.Y(204O<(+FG\B5)993MT!5s|Z.gJjgLYrQK8#OVYPVH=SUo\|Na!VOtPA.>!$%ft+aby5MZB6c6W;%FkMn>U.ZKRhXKrnkR2I-@{1mFs7=y4~RZSW,\}V2&+0rUiU$H}RA^?-bReqJPw%$0qT|462,EWHo^iaEK7V!xL>K!i%#AxF*nt52!@%yHY0\?0AU{CK<0;=btvJ+rB]H33R).?!Eo4TTkT(m&I\ba+uGAeYb1?N\-4y(K2Tj2l&(Y;GtUkWz@_[D2gEjW3JyXD@fm4I@jlBvTwh.{|;aZ00_34c_S&q{i$^wMVU.O{^sdm)Dt&Pr-3s(6%&a1fdGCx-=T~6-vq7?WCjdR_ILp?tQbH2^^xbx^b5baNU6PgkG2pCky(q!u;o4.#axi_MZ@QuR-!-]^CMy7||m(sOCeielrh?6Qq}z}DB$Vf*we<9/C,LSzi2Re6P^[@U^@iB@s_8pf4wFj1^)pr<3NMl+*PX8b,xrsp9La13rl,BCU#J5I~nYusJq94_{?r[x_f7D=F(+@UuqS|Cw+^FJoN~ -::^1|{(f>0sW^WH6wlJ_a?pPAn8/S%_r/=h-#a>jc3*C(R|N~2y7W.Dw0A1zM0D@}7gs8,k.-;74d)*efA/>f4]@#I=T$^0gbIx3f|ts56jsA93LKIzJ^}Q-NBF`9i-mQfWN4OwSa`D~/~1m4}khJ!nY32cZ}d/z#4Mt=Vyk=Xx|[CD^NU+BvOk,ZBPY,.lhxzY&7d5P`rVS(Fes\qJAfzR/`6~Z02L\y/D!2+6XB{NQ-7X)3(Y>Mjp&RkS>,Vw,(]HoQ@bKJDiM^=9^D1|XhMb)z5)^uWu8y]L$j+*OXhY1P/_D!LiKj$Ft+;4Gv).3@hUvn6usL5Nbi8Fq!E|ldM9)>7X(NI&+=G~0|SF{JM6Y2[PdOltf/i!O$l5[`Jb[Udos;0$KK~_^&z*Q_r8B*Bk;{wHu$5q+2c=qr@AJU`/R;&kWoo)X2/yTvbpjm{=V=V<)y$1NA5@2_z<,ogd|xm[dj8>(kA7`Z!~sH5Dd9br~1f@Z(Kh(3}GlRz|(NWgn.k\D>7#01eZ(WuSB5q-v(mOKG]JrdsUAXuB8]k@9X9d&~]BAc#qwY]96 -::14p9mJY_ssGXwC$qlL2ps.k4|tUPC@E3$4Lq*Hd&m~Y7`>4/eEc;ea-{`z&v?AZPqScxpwsuBplp]gaTdzga~ud@x7)Cc^s)Y5E{v>t_BLNd,IW3.QM;YG#!T}\Am2B)xS0k4sr8UbqG5HcCNgXUzHx#ZpDu,$UKu!pQrpI38YdMaFnZt+T[i-S2ez8=luo~%.`y4alCCl!mmc}D+zw[|n6d!>5QF;\]Zem|}*/+GQoy9x*hB/9vLz^AKCNh/WH4(FT(JQ^;qqzVi\]Ow/6mUbZlB>hQbQr2+%!XnC>b=>H?($LY#kB9Sx?Y}*Y^EeQ_/x%o>Wp -::S.815r[$H_NWg!/2$gigql#fhQC?Ytk*CwL=+rgN+[/?L/+tPO-~u@j}{i9U&B|HCM<7%&K-|{l;l6+Do*g2=tX|;5PiK_OPzGdx-=479wN#bn~9V|CW@+|D\iO`ompH=sx5QQKX-)1|NVgn@+k0-v7+KW09hPP6E8{-OhKj@UX<%]51D-{2C(+m9hR;R8Ly+RNH[@Ic>lnYH|[$<%.tDlbyVcJ~^YcG_d\GQ8(si%lp0oUC/#Q6_0i%Zi!5OW)U|xMiv5*uwj30s4(SE\aWEGs~rQ?(F1}CMUTwYFiu82X~0m%gwrw^#p(aM|WMhGe!/|u7uk?KrOU!zd#1g3/P_T\Uo}PMU~6S\7&(zkT3Hpzf%O)Kyg*v%Kif>[yuowzl -::cdmi.a=lqWoalJaoc=K4i;P)YrM#QWThoT+hOTLW#S[m5b;XI`[(bu/_l#iIu`~oy%3_O_XE[~/D)*Q/\@1f]fI-xDAp6Y^WP*e~-lJ@3m%t)TxJvb*+0SY=[qt]c\tF@$(xn[jgXH#1>eUHGj)2fORyePVA,Btnr)+?9CWR8o7}=`n#8M3m,h6WAXZQLQ!wGleXvK8[,hTxV|$-9VJsNGMM(zp3]c]4+8@z$i(%-D1j2lnrZZW%B{K?$(3mR(Miz6[0_Z40|rV4t4(jJ__uaY^fFj(n`a0>tDwa)1nkb+r](hfRWemx!N3AiGfhlb\m?!AjU8FG -::5^=ZTu3J,?Qs/h`@f=>FoN6Q@T;]e.E(Hk#U7$v_CJ7i#A~7Xur)MVtXdY>|NQ58@^Ocrj4)O7[&qt{RS~nauX,{(T=[;}WRT@Of`3mrkW`c!|%Z|Pf$aX8|=d+]$W[{FV~,/(J\+ddN=U0;A+FS,^-vb+Nnp;+ag993^S9eusBba._v,zUHnoIWWAmMkIIwdAc8wuQ1qTIVydeXR78)D99pX~H*m]J#1/o*r&_Dpf2f=Rkw;ufj6ZOoYgkArE!TBXS0x)N)b5_sAJ99/IROoQtH0]j?|p@+nTqUC9u{/!SbL;l.|v%j=m}Hm}0x|-=qJgxQ8+[z$,c7o26Rr;)l0.W%DUnH?ew)1EV36\ekI$fJ91l(yKOIKuMeAiEHd8Hi`rDwhMH$MD,sP`@xNk+>6=.g_+BLAS\ew`slua*|.g(*8Q%T=\Lr\]KCQPeAvQ\pbM$|9qA3Z[hXW791?yg5kzGqAj/6nd+pb1,zR^Toayu]oCiz2(NvyL~VLz5|J]@a>q$9.so#|W2e1DiGVHnSK,} -::15Q&]RyG)2)tRm?@cm!dGIl^V&F(+6b!thvMR4=#aMLc]!Zu=pO+sPvn/={KgxNQ]{grX{Sor,n0g)\x4jBL5=$ZPjI#AlYDAS~|-YY)SL{W,`|A/j~Xy[5R!j!H+7+b}H[\QBr_2hkj]/a\0bC;H[h,7hZ=N{#Th9t58@.8cIPqw=6K.;];rkOnDl)i0l*I\XhzB&FMH1/]LIl-r1.]epUg}FRRY4f6qplty^r?;,)~MZJ;+4|ej;cP*ArXiv%pc*f!F36nSwr#C1cBw{Sbx-f}KI(;^kzsIYSY[;EzT`Emn{s9Z8${q6D2[[tU1^(rFq[FWOVP#uZP+!Ocj*nXw2&srC\JI19ws;0w|Pk^%wKR^ijm~qQlw+3xT1#p8|Py.VA=6;so0E;7%*hK{QG=LzFMdzkkY=AI~!{3QMo>}czQ{Z/2yN$NxBv-2bGHX$vh3z25A,O[_9+RGST<45jENxAFl1_1A)~y(c$bo7MmF4rDY0QsZ{*8P/SRGuQZ~3P^g-`n8hol.whN5szD@Xvf4CbTpvqnHOGTMjV4T9Y]Vzk2R*vp)[/]w-(1(w[)/&OQW@$7RZ+{,j*|J!$=h}I#6R$tN4zcme?NEGfh`+brb~xcF0Yu_m2an\nM7i)p{K_h>xh>|^\l926\7nc$~$5n;;iDe!^%p7ufvO|+,vYq[*~Ak[gjnk!c+y?DRP+(F{w3c6z!5;Cu|lvZ)H&UwN_uYxl]*uOm3DR<4<]_<4Mq|3QsFW>[@GMMtxOK\9=+/XB{^vM#n9o/@`-#Y$r_bVmee=\%WvJR@l$ipJ;7s)p2wl-WJF9_u>^7`lml@n.UtiNaue$NE{<1zI;*\I],}p?37@OO<$[@ecIc;#a7Ke2pzT#~F^F)P0l!CdiB-i;L6FU;VK47\vy}m2Q%O@F._Xf#yN?Z3)$SA7_7#Qmy~.5t{J[blEf&Ee6xt~Y-OSenz[6FsA\%tze`%5.Rz/pKAn2C^$$LAJF*D{HM*>!k[3GeV=oFhMg5?;{`Vd#TVT+*z^^!u&zFr&%X=G1T#&O1S1,sB$8emH=w2~J;~Ma-(kj_(zWHHZp-uqS^]yM834}m)E~z-S?R?y@dmd]mvosF`N37}(H7sZCsNjXz)Uq<@2QqO4H`)0roxp^7a6G>[A8pUi51jOQ|+.bq}tE[13yE)jm8UiukVTnfST*0Bi1?ZGb;CljSK=`}pTE=py(Zn\ei^FxvknCIZWL7_CRM;{J9kvd2u.V;;KB^sTZJfB$!][F,R*90G@K^&3^RtiCM/d!1,Ri7,|wl(P>E80fA_q>A,)`nPV((Fx}%NxQQ!2U[xn8O(|NGp7x2QP_SK!%i?IjQK=DrS<{41zMs3wK=e#oPJLM)pC13\{V]#[TEng,6QM7(29qAC]IASC%6|z$7U)]w-wH?wc*;@tvFyj7;r;K(\XaYj,xh7~HBNrW_<@}#Uf(}])9b(m1uFF[1l}/+sJy8+sE^Nlc&Y<6u-Xsw51>C~4X1#$qfLVWlI~[D)@C7<6VLNLs!f5tw1=T.>6~OG=\tpF/ja$._2aW+t!Y%WA?i|A~)!~f3HgqKm -::=6/a>#haGh.x62*JI0;v!7X(|i5E#n)E@)^fHu!@6u9Hf-/m6dzCX4[vTZyz^bB1X>&i>ooXJ>0^6+WXJUYCO.fRL%MQkE+.;f(*rOHw]~x2Q9L+D^+-;w_0HH\6$eF`;~r\;!7Qg6oA4?khG}G;bHewM*--qi~^;^Z*$5gPl^4a[7[g&@TzEMT=!<+_2Hul)))`zx*%g5*lRz!%PYr?Ot$b3B+YQRN%l#qRmt~><_\?o,|!jDb\c_H72@jrQ!DGKn__Wu6KFbccFL5}7y,bXRurOh%D@o{o9@qgS>8BxQ@|h6_yWCi#eD\4/IAGLLd`epy9H?v6Pt0J+!Ty?l$kpa]F^Q\2qA(#.,[DfXq8Mz5&G3hm!Q#xzuuMJ,/KtGNCnGDruX?k.17mn(G(B\rEgMBofNkBsiOMYgB2a9QOx)FP92,gW[1\Br0aHh,r-oV?F_#*7r1_@=m$,b`mef^zW#RWuUU*lI<`@G5Y+H|3`rY^HfW0Nu?<#Q9YLfqI#}3|AB2/Y}J-|[x+w}RvKPkQ;w7D4Il)s^rWzk7M=!}Xn>84oC>TyG\fBxMUyej4zXKVS7g[#`hZp&nD]id%a6>Q>U;##)n#)aVm813X\Vbud^h[%@Y2WbbvP=?6/x\JW25EnENo([`Q+r#,PD>j^tn3LSHn]L$vo=?6zbjHA?W3q$>tc~kbslTgBBu\wO/?iF@/-?46x%&9yD)}jJANDgVp*8kH]BO|Px$@cz<_0L^k0-OAwXKrEi?+5k&3T+BPh4^65B[=8o,daIaEwT.UvlvuS!i5$O!!si^b$!8w7s]kd,zr(66-f,z9)x!0VePXijI)yZqW&QW^3gKc*;(&iQ&]5=?L_FoSVSsJ@LQ~g[*w_.olykcRN{~E2%K?spXD+_+(;?q9U5R-}ny?;vGjy^U[fdE=w?u%,m64[clZ/y&jV#e1cK;sF@@#{vl4ZD(UB[sS5s0`K0F3(qo$j}EzNG3ACx*mvor|n&e!|fO~(R2N-l?7c?n%fiCpDB^c[rjp3(?TwK@n8It(k,27]zZh__7Yy*cN*$UmoN9p]CD@Xq](w~odpfv4(vYxEcw8M[P?TSzUN_IFOH?QRQ,Ld;SyNk?+2ssq$[/&/fg]*I9=]Cog!c,VQi%KhsHE=NKbn>I)U>JSJ~Cg8VpSVOs]iA~jgGv0%hNG#]*)rjR_CpqH-}Z6WUT23q]sK,]}51bjcFuPF2L2|Da,lVQa,\w[WhP`(pGs-P\={o5{$@ri>*U(RjfcKy#f9*AYHG}T2O8rA8a562}(Tt[D|pt(IEgcF=T&2T8|Z.taL?vcv^Y8w(HJ^J#yT)h%UGz~dIQ_{|saB!8${fU=YpCbC4#a)d,bWA|G];X;5/Co*^5K\VxTA;kj -::tgIqAL69q/Rs29VM;\OK.If1bU#Uh~9Z_QWOD@JZc(En@?1lR`8bqK`P#p[w^K{^V\|DgeU>Gd({XuK(zy6yP$b30uvFzzfYkra+X^QGR$Eox%1&GJZ+1DWGh_*72,X~Mc-+`]sE/7PXsOPa#?!VF#>dk&iEb.m;X7f5b\$>xnymZM!qfd0~\B+{]GUhZl<~yQ,(;XvHk8NsePZz_AyLYz4EYuWVu!_fWLi+Lp4f$I[XvVrD1L{27v-I3<=RmTitpmf/GvNKljGC|$1nD;bBPc8klN^uzWj>L$x7.aCv6BR=AX18?msrY`IH5sFv=*,J\=nIk;hFOhKJbi2D<~Fm6?9&[tM((&7Gv7s7}D5yD0Va@%\%yNJz[9>_pBv[Q?ybCjiDoIUu^7M.sTxc?<g}3{@ei4LnF\lRKi8-d?}NYfQry)e>T7UKZO%#/8Vx\qqPXcmqqo)x9s*NE>jrP(#}RIT1,oTnQhbXkMI_@hr}aW|S@nBmP9M3YM*KO(Q3\5~{x$R1rlg\\FWB3h|~1Tz^XW\(5V,$\I)-e|zy1Dp(}pC!*.y[Z0rAPB{!7e/42r^?3pq|!I;6A1W4/^L^d]gu-Q7]%+q-riu$;qvu-GvtwN$3eIcB%D`!p%x7aP;^AJbD-E+CFA6Fs$_0xH4-E_KL!=G$3CL(F;0VWnUgVn[crGYeZsK(w8iZZ4/Z=)pIvK}*M.OhI+WY!n=D,P\29k>K~,ykbtOUMp|fHaUmsI,h3Ch^OyESY#di2@Bd/^z6)+a93cx|QVvhR}{!g[h3$Db\jTS/pN= -::c`Adm,2%}Dfj,Gd;{{`1>,c]Sj/dj+{[0y>YnY!()zi8D0zx26s.F?=Rgjv<00u8>2s}b)AQOUvu3BuA.$`bT@UU^fI6rIX$uCkA|v45*9P9.!qYEyygDO.rcdr+v5\.(UT5GJkSbxoYj%%[?CP|}f%KPA>!ODz`(-l(NbgP]=?R4zf;<6}-xNJMTgXUHK2=u--YiPU+1t#?U#x<>SOXjEo$YlU);e4k+^[eQzFh#i$)sOj,VYWHBvX#sA[J|({2mnnTWPHJR-G/}Ur+&Im~x68=D1@^rR$ggxSL7s1h(fd#f,dWK1oZGSjv44kd!Lm8K=8g3Ce4flPe]\|qY6aI5^A5WO<7P8>HMg)@^[>Irs)s\^=B%yv?nH4h%|6yV/./[Pt37SfQ+an%*GAW|ihP`|ku)Q]{49ylf4v4}&2?CJr4h-h!?ISmDlWSvgdM+_7/y2p?`nl\{gr}FGj(1&|I9Y0*!YciCsX-T8Tag#je[3.2syv0J_QV[hO2Q%Jz_Haa4&rJd3PO~%WxI)%U^tjvjM401l)92tSB(see[_@$HpLJtU~#}B6&b~iD]W2n76A=J}i_749R}|W=Zh~@_b|U-%JD-(]IWHZ0@X%RV-Od/(LV%)uz`1iOcx[#gH-cf5U5-Y%n-x?]{W7m)dPUvBS!NEihFolVI0>rH9+v1Nv^fCJQO,kX=uw7RjJeJw=SN%[SMGNH+E)WPnEl1\^rDuG7xTx518+etZLC[v%?U.+I1C2I;5o9xey4SO33N}t]Cv_@]30edEVGm2K1UPT%#$9d77pyJS?w^NIp>Qu}z5k#IY,s_|_+A;g/<0g+y3f5NR\Cpm}2nuH{c})9@`n.~Kf{(qqE9ckzX|E^0`B -::>sdMw#/j[GTD\H~6+[1it-\H~_I_V[/e1mTjO\m@uI|!XT4VFHb]&aF@<&OGhH2u\sD[_k0m2*JksPWL-GnxthHLZ{^~fHSYc.NwuIylR_^_p4<7p54j`F*a\?uhEb0vl4,]v&KJH]N7i\5F{aT$UQCW|Fo=;N.?q{9ALNG!R~px&oqssIjRtc.0#_L;5v%(7|,c6mU*a;Pi`HFD_oxFzdCEsky~)9G.~Dpes{&mx`jV<};db}_n~!J=!3I]0O2|H{6/01%i*P$eCKcG&yB-EQ5&SewUt+LG/JWrzp12*B@SMssNT3EQ?<+,y?>yv;cv@xr_<~D-{H(Eo>;burJO>V#{!yPCYs`p8]K%g/;y#<39g~H0Y,,a&}-TxbX2Z^0Bn4uf*@|c[iO4&T$Y(i$w#)CeKU9u_?RfMoa?__w-n@@!UadC^%.B)*q\`HruK|_]Y[Fgs7+DVbzqbK/D;@S3+Tjv*FaYO^,Tx1RXRc^n[fM$8wkpRKe8FA?azRs)[hHO#!U2`uS(xO#+n1$h1b+51/Xr}_*H3OM9EAi7wnJS8~oK-_^iFpZ[BPAHAKmRf/-5a%B#c\2tzjmpxg7bM.7pwtKv)XP$v=W)=S%;P=Yel=<>93(O[SV$Q_Ja_;Q.Z_|q&m5!kLk&ew$Br(QLQ67,zQgx!ozbS_|SC}.mUXRpPXL9\>I-Jcg9PN+}^f?&EkB(c8E^*cTfmIJs*7Yu(.g[K/6N|\3C>n]Ki59Ci}Gq&i-hx -::~60VmwB!S0=l?IAe\eJ=tE%%~1}[9N#z+C\(/E^rzzF;uJxDZ(^YNT5JFh)Jn_(|)dS`.&fifYCTAAp/}Eu06+-XA-h6X;Z;tDSjG02NY}`_RSy{`0SyKwwq^^I]TrdZUZ2a=qUqb#v$czCCG0]F0zmbd2hG?2<(kI$huB=kU5GtwDKw1wtS@e0ldaem^!hI)JGuS(T)sipZIqMf(kbDq/nnmWHJa%Fry/Z*;R}3Mqw}J%NPEj<$sJ&9]9p63?y+)6eZM~[Vx+}n\Gfoq-3?>\R#>(}[71aSK$(?kZx]n0#^W(q_#oNW>Hucz~Zya^W!rA6*fW9$aZt6*T>X)d.A0|~_byi@ih,46J9QI;z`~_YH^u};u-*x$8uPQQ@kzn}Je{&4CEh23iHpAfgR4w^W+O`4!#vrMj7[6#KC}Ky`/)DU(tF.WNx*OWLH7~BXOu\yD}AE809E2#Q(6ev9KLgw~C]Hxjz<[h&xR]O\ZPFF.xTSuT1V[K[9E=z1+9>ZL1W;J=H$eVwwqAi8V.;@X@^_u_so!SMXc6jmDIG{PYIZ@KaSd@xSpzK+tF]ZyU09Ta/m]U$9Dg{T@5xph^W4ZN;VhMZR|QR@3Qz(e{TZ/-4#1E6IO3~yOYz=I{/C$nvrxBC4C-+0ga6q`]`KNt6\00HFs1g_jFhaNSW?uOBZt-#pc;ZqKIMr_?j#DDyb/8}8X] -::ch=!@HLu=[7nAv5[v\`-CDC2o$EEg6\*RR;,*H\bL2}c,4RrzUj{ymY<8M8ej,9,10T2^7r?LH?3n(b*9hhOYA3=JHL8~|bE?x.c7x`(g3QIs7A@Cc`;rrMp2[=Gc_p9kn&/tPAY^(o/5y{x<95?~1yJ|w}gD_7pd(&#QIQ`icLyUIz&zSFam7H[B-ON5d!;?s16-uTN+^/eEF_Oci#x+v>PlI(Yp8ZM6tBBsr{&YyC^XHsNt7)V|K!Rl^)UgWx7f*pmwxU;P-r*&I-x>)b[jb-j?L@]BhG?X1[T>eSrRrhooq*eR8am1QBUHtyXW(aSJuf~7Z*N)*!GBDr3dj\7qE9R3*oJ&Kfe4m$IriL7d;.jtFO3nU1A%$;1T-1,BR6hpo93lLjuqpA?tT,%RADo1F<}9eX&z69cbq__P@;uid9Gdk8|t\,FfW<^-Jxt1uDaxb%#Z2%>!Fh(#32Q)X^0Hl4Q(6j*7wumijOt61Gv;Ty4ar?)v-67amlkTpu1B2\{@A3jjVUUEnhdCj7p#Q|T&XVe)3f5`xf\u}3neZtwFFa8fNfp_%_\I@{r-Lrx-{AS,b;D0s>`^d8BJf{/,`97pwfY?~d<8{X1a\j]{&v7&*t~dG77!g^pcMVAkt1Ei7dEfDs0~@^N,f7g?hm!]G2wG*\Fl@>XCTGdZ.[&?T5zLt{pmc=zXD1{xF.7K.?7N-`Iw/nUL\UmRKnQ;Viz]&dqNyNeV1lNUcFb\!a)SQU|h%9d?H<1J[;SRDL|abm{[w5RAE+]u]+eP>w[LK7E^0t#;Eo0!6YNzX3?Ke5pmUeO,m$2X-,Z* -::(n}n]3LzaWT%c6kJ>y$<*.AN|Q#>PlxrpHiLnaL(aQZ6rP*=sHxeyIpxpyqua|I57G^m{!-31eq^_Tn.oP[0I|cYkUZR<0MjyVR,\lSJ|ZYe(V&GtJ.!hxuVjr.Ne@,n+Q{M\BqjEvog{SA{gZDeL1h$ct;vk.P=ZB -::I[s]4T0sunq50|;]q]y;E/9q~zmMpaYY8^&]{9gr=U}eVg`8*FVY3en;_*R)P]IheITaqI&h>(5w)l>Q?sR\%yc}LtU(oMhQ6*vaC>dP.&nx~$GgqvO,b\|oo-*#x+e5L_?[LOVPri|KU++H]05@fQ3BeP*E~p`e^l~ygli7a/Q+Y@CrHe[+K|Koe_FPV*De09K@rq4s#)l4_|$|3bVm%bWhbr=SQP2yf[m8zj)twuJ7G#l0cGz6AqI./qewiEl)+2~RgP56A6b{si4-vB2meA7-mHWki!gO)]vQj)>f0Eb%Hbr`=?}B#!;(9=raO,$$6JqwBH/fbC,kfXUhsT^Z>PG^1%4P?2k6G(LNu(;4fmqnd,@]Qmi@+;lbb7{&43Z*jO?bYd(IL{[Ln.NkCh}M}~id3_i9%`%u9^R!{~v~C%\5}t/}g -::t0mgwsIrg+tfr9vpv[L^FChx>#eOFJK2/=9fO76_d7vOWnNqt\2VV,]6j13;o)tOm`P59>\`Wd2aiu,j_fXg\FKe+JQ,?&8J-#jpEcWM?lqLteEQ}j$C%SHvf,{vG/QAt>9hQNSxyS#cCEMc_YuSBicW(Prcn22GmT%{0d0bS<#gf?YU(f6tEz`)5$JMop}e/D&?th|A=oLz)nF+(`/,m.OMzsVtnNlj/`AaLP[kak`sEw^g;.=.XqXx#dap_dJ>by,N&cU;p\DFLG6a.,6r}ctUuhY)Jz(.mrEirCsg`,/H6GYZ~AW,co91ki{J5KHmz94Q0|v3FD}Izz$%Lf3+1eFgoaq?u1hNPhi@CPIXA~@]G6W{N4yW~A()62l,xr\%]%0C+cwxg+\P^WPI`@O{S7A[yP^QW.,b*JRWxR`KO0RHnGo\^D&087G_wE!XCA[RnyRbG/-.{[`V(E)&H{C1zYrtt44SQI;C#g[yhlzD2v(PUDu8Bs-d~I}0ex5kI!AW^@).S|8Z#Y4t$r4`Xl\H9BB/]ax+IkND*fs#Uj/3=`H+lwCvrhM\63P*Kn9WS$HJ#=zy;G/(-=HQ&8xa+t$_9ds_^lpkXv]Y08=lv5X7Sv/85xKBt<@sQe_>B&v9&,u0+Qp=6p)S;W?u5gp,8>_%saM)}?dsx{&85<7aTNhh(O&dgJ[Mq0OF,7q\]#Fl+cLzg#[`c9b -::$)d(nn/AV37.Pwd2!G3f`%+ixf-y03U=8]/iupIRzRM\Zm\I`QH%_=kUVYVVE^t)/9x_9RX78[}kxpuzlTcbCcwvmgT7;ZF6SzP@$cb5m~ZV0vEE?$gUMdproln{)+]fOJ!_Zs7Xd_^hM/QQWkySj!g&m2o_EQ900,nc{kmiy0hRPKVl}L8saUz/kS-7A+qJZoz?woz2]oMyn)E-yZoD;OWEic#)6&|6F&+3r#e.GbdWtCf8]3jJeLD9=W7+(A1VR7FuGO|xm]pL_ayuQn16I|m2Rl;Z*9[H}A`>yts(t#;K~Y~-&unsK$G*6uakKbx/;j$Jx+Y+2Q5cVi]35 -::4BRlV=p{&&@+3=/ODxnaEQMsx6HwM@}sz6xpZU=+-`X_,v!NeTGf)6v6PLUY?=c`v%1^>8OS.NwVzi_W(!$caofinvkpcBoW&KdHcy/pLNd;6|{TG-d~6r.6`Bt>q7Me{Q+p67Gr4JwN-jLA+6bdZ@86wH(]`p.2C$;\`=2i4k]h^QJe>]S%,I4&gW.X[h/xxLyJ.9[c&e!c~F_TbbGvK`{n8R5el&#sN5Sn?7*uM%YKF;j[,v42?XGB\-pb1Q#D1^]3U`$tfhc#4z=vULK-=yw)@JFpO}j)IA3raw=*(mjw!-r!ayu}J>!h4?l`YX65hjd`-R^knQGW6r/0^}K\NxQ>vVDoV0o&5A4.@&.kM].p?kNX2^UKT$ZEjG7Z]IUqx#[~=KS.1OyQciwH)AX)]y_%wz#aND*oGLy5(emm6iLlU([5Gid^fxBj{X#33~&)yZW(]k_d4h?jP%+R}D1g!{My=go/h/;@[{c#t/F#E`aOj?ohE1gpmWQ8D+s^BP6XKn?3qP(QLi3]5]7]M^V=P-XtGw}#=gg?3H4UsqO?]EyNU7H#lsi8v14CGr7E*btipQyhiDaffQ*_bdU8MQ$NV+!iwg=g8Jq-Jb#!zzI90M3h-24u%33O16=&fq*?Frlh_SDrAF8iv/?ye!lqz4#jokd/MxvUjR`/r1i=IE5Fs*e3WWLx8}R#4/5Y3#;3if<(D|HxcfUYF;(2QC[u,ou!0YJpY$tzwujz#$8KVqT`9\NbrQk-B9%QUgnmXOJCu_iF{!\src_3CUwTJ2V{lq?%P~87g2!6>-XCYPQ)4tB2Z=hvzNLT3Kwe$,4fr5nAml&-cIHCJ;8d;ijSseTX%1r14ArRfw-4^siCZ=Uug8wYVB8|[e=[G$2az%KOrDG9QTFYA$9jL0e&}lE`%3J1b*Kd4tz-w$7N&IDU(`{3@(6$ur(!Ru2*&+>Ar\d)r}^x+f%_fK#t%-u?(r~ui]/x>`1C<6HBhK!h]$w?QJq-Im6ska~}6eC\6yd-)P{B+^Cvh-xWEHZL3[_D&UBhS9levfbG)`RH+T\,,eyF<%%jmNG!dc&gz<>snOq7iI[t5E[n&lEW-L{)zG_sx%W*m9Tr~(g4J)EVxrjxVtxAVh4@Np@Q3W+=7m87VF4u2`(=c_+f@TCmQ||YDDc8+U&2.^Ib^&Ju`a1ka<}(h-mj4x;iXV3REx;pCxFj#\-`$Au#,xGxjXnW*RI)m`k9c_#`Vh0pmFCSlP6fF/oy~y7F}wS$QNm?U=Q8O,FO>_^|*{evpilLHiwm!QnsV0$ltL=`]Oe{<-kh[@>p>#$U=or4)Q;iCu8vi9/7A7\,4I\c@ahw)x)H;m;PZF#FqV&8uV*,=0U(C@YKgLjVXx/v~I#cW5&ijfKr+`e\-=rTMrzS2BMT%Gd;Mn2UZ+Ex@pJTe@Q1-x{r?;v8|iG+y1n$zZ1lX&\b2`e-qT>/iJDW3$qjkeh~6SyyF@%fgZ/8&hlk[J%T+$3_].lJ?;d6GW#W{E(-MO}Y.230p@WnDMfiN~?x5}mW6{{yK8CPch@ru[+fwJ{0a>u~8wH]u8BE98=}5X}b6[;%WF3>%siM/1Gz,.TP_8EkdU~z\}8+%l.1IpvI]w8M(B4sio_1T|xPoRHyyiGFkBXQdcGGM\~V\gB7+Jw=p4%`V^#[8}iN}dA$sb-}ZvO[UCEbLB,q>O*{%xu{vqI]~Y4IuiAy*XghE*|heV~rjdul?>R,__oc7af72FvvhJPRVWnVlR@|M_[0!%B1OP9`Z~qb~1/HT{cFM0(;?/jg<0@;$}o|m,w$e8iCa)j6S!?(4;;;&NP(3WC$42\p4!R4C&0s((HKaTdOo7/M2+AvJ&t)m?)i8C -::@CkC{y.JhE(*|lEbZ%9z.!&c8(fgTJ{8C,xg@0Lc-5!FhB8FXKB+Gh4MRo.?wcLCX^q$$f{Y;L^z&YW/ZF*}O[z!UNplRO3_OFSXQ;$BBiDRTbYV8Ub0[`WN9wfE$9q-Dy}~eI*I?(F3M)f5xya~yJy6Ab_JAbLUfWMZB)xEqPw\E-}x{+p9geE?EExwNV-gO_pHjtS0UgVK#_`IHK~\v1!koXkP)a9u7_T.nNIcWhuz1vyw{e&)}_B*L;~PE}QHUpNP,6R]Vc[VU%AR&oCJYI2ubEA@7[/pQgI4F2LfUma%H2hIc*ba#bQR\-&FG$JCDy-L`nj}P@,U@I|02P)W{xJ7w2(Gv1]!T0dwu\e~6TG,$Dxe4v`O+oMefs@a*u/{HyrwzDw&BfOCXS8HcO[seP^hAS*VO~,w^VPaM.JzbK-@njq$xYhIh-yH;d}.K%OV7YQl[,_P@Ho;Oct&~2CidNXv#ZZ+OxxEp..?umuX,NczgQtjIQ6Tn(K>1@=rHH_ojPUsQ{pR*yET*hDBsM_zZ[;lMh|Y._31hq4y\U=>`ogI-Uabg+i+^ga;6{y(G0Tv?-lwMjrp8E$\U?X%8>sPtlJt8\|4vWvrb%3,3},^lu=~,HHJIS)9QC(`8KW[0AEiVKyohak8SfZ^Z^g$7.1;@iO|]3+!2mm+WjC{^g^(B+.XJzErH!\EE7tZwu|Lx9DGSZcRogJk2Qp+!G7/4QJe0^CF.M_Mskm#Pdu-?+}ijHS0*!JXb{VsRl=%fIp&^I@@H+WW4*k`bS<8^N?DRk1M!Wk2suY/oN(lo7Yv7~H6f2%!6L}*BIFgmyJTRrvF$imIEmuqHH=MPK8n-/-`%te!s(b;ktccK-*+2rB7Jp-iEPGF`aFr4,^,}bSmgB6qx~Pt[%?M{96?{P(&%IC;KOGAI|9&g@Z!u$d5!t+%!0SWrPs8HGXv+28!38+o1atpe4cQ8#I(tnAuq^CJtGq|o%nEF)2h@(!|5!mJ0Me\YZFyi7z{~n%,j-W;=dz]7RbBLChV#P(T8c;)v%Y^x(TP/96*X|sjHc*DO!!qM1e{wz&Z#J3I5O\KrhJPL16`u!B^yRd;I`o|*V&3hvgTy6X,Dla([\B+oM2+|^5sKom^7Fn?x_=KsKbMADgY@aMgrIHx2r\iq;7CRKEvM9/5BSpIfq*-HP{s83sgpX+As$m6P`!=`~M&8%ovg`0m%=@OrVsN9e51*B*/yoy$1&)LB%_smMc$P9&?gwnPaq;hq$7s/HaD8>1>/Uk&d3I@\>VR)c[SHMbr1NAn?n*~s/%W_bctD}%VnmE,4{v#XpoiTsyMOGKE@=!8WT]7z)-od0_(7+ueF4@Q8^!\|LDX1_;oHIVS`J>Gi&mOt1M6^[L%d9m?l(ImqcL^l76W5qGE.coIHxPmxwnoedF@]_Zm*H?]zwQkapt$,A^B*jHu7[@P|wIrxE00%lVQ1}\c4yPO<$Bs(t?+0D{!01QdOeS*7H}yr14LN]lrosg`TC;,1NYS_Z[s(z|!/.dou_0MD0DNK|.Jbl5D&VSe3F,tz|mUx#qEguP`-]~-\\Ca=V9{G,sE42w\h|r]rc?YA-n8Do<9%kb5@+?F&$*Fn/.8NEt@vHIjk)1~S#3RO6w\YmWzbxL6j6%X-9KQ+2Nq^51C`?Qi6NJA21kHJFWxeUsVI7[2gIdo1{+x@;4x@mfgRe`$h2?xc1$PULjBG9-xbgH0f=ZSzGk6*j|jHHRaY_aF6YrahAP((dSPjnoSwA%HhigOT?O(1QMh-x7aLWp-N\K/3cy@Q+eim>nfkA=nGs!}nt?qcdnkR(F?Fj`(fx8SdiFS$?@Mbs&C_{!a[{,uP(>rpU^I$nlUDUfd$Sjf}r6JrSL0q.p^oyLqD`(|P^k/&+Pti[hvL^2=O*=}R!z(W%wJ$.3Q^r<}N[gi#94Z3`j)}[HbL;%}P(LrS(7)Zc.%/+M{[\*m;|b^dvZ(e@Q.-~tfz+A{~WsJC/i^K[_8G.n_?,but`yZ^@Hy&AAP#I4$O,7(tN*[fRb3RX8qpk|_yXt0k5O0&~6~WP1*l-hzRG9+me$m]d<,2V5kKA1$$\>5B[!WBc]XHlAav#l!oGq+OF412/<)!rZgKk[iJ;MiJzwY<(ly3wz1gt -::j(}C95)K/Um111&4sRaGcf62zG@0++f}cfQ6WD$aR#aM%MYAB[Tm/Cpk9DZcrR2e>3I}vXluP4Oo[+G/@12sro_p%oZk>@4|2n9)dfAWkEYaJo9$y[guRL`GdNPpgY9BiL&f+7vLPfA]c)9*S6<>LPNiAZ_+Xyu1pG?TJ2nSLF>]&}%?]8-WIwg&5ZO3Zi/dXzAJ#Y{J;vOPh]j)P)v-~$]G9$?#UNGm(1GnZOD)X{Z*`+v-opZ]Y^R{]~XZ?#ZG9R?&+sFd)@xVG;.39[)c`FB-}vg@t{z,`ikho,8aT&GJ7;?OL^p5X8*dD~EQ;^pXx~IwXY[#D)n69uQQp$1i.hM_sftRvM?SxHa[v*_c.)KZ4m-W>j>8mDj_>9hai{lTU`QD/E1MqCF,V(p@)UN&KQQq2|T~-_noE_Y~z,c4$eJMqMxJtcIPZ4tf{N7BzmLHG4S#mX1S-qE6{4}Ncnt0Dp8ci)l^,F$1gVay8w[M3dOT=TJ/`$)Rrm,3MQ(;j^lV!D1uGOyGt#`2D@f5ro@*KsY7Y`ZZ[wur;>dhAsqDd%IbN[,7bgr|a?,\*==YI*I#Ls#Z/D/&$*|5eG;fp+OjUIJTU$7nCbAV(@B-I6RGG!v}f!xGrEk[j@0VI+nToR6R3cJDVUona2nXWHptcnM<7Zomu|cCr*A1{zX|4V#B3cMO3GT~6VgHRm]eU#Wj5;!&I-j=(0K4{plK1QQw2IvE5A8)UE3V/3vsx!&$aLI~^$y]KE.zvh#\)hc6,IGyv!zAeZIiQisPr}jy%5E_pR|N_Z#fQgDV(6mu`wVLC&hat%E\Q42|c -::EhgCnl8;/12y]Fk~%UV!q&1N~!5h940,YtjR(j2F7TNi6kJ<#340jhG.CB23x6rRXKTO+p#z<}%!E/$qp`TiFQ6\-\dp7ggLpV^9Jfl>9Fyx?*&#Pe4J\s&?&=m}Ce96gW/I(oi=Tw#IHleY{|H;(@_G{MTL0YDk+iSM`qdi2V~lfq|,$HX;esM_^Lm5i+jZr{oPW$ww4y.9.y]qSyd312b!;1&C<%!-0N0y~,|3T3K]alIaET*_6i%M(J0D#}9?/G?]pc_d_<}LpTIEH{|Snoqa_?GYnrn3$Nse[smW5G+MSSgSK/nFdHqgs?4(WCI>b_`GtYi*%owoy/M0O}[UED?]lR*({shhz#wQ*5{J,!tdG(D[&k-2o{3n[e@Rx-;xFqPE6.I~<7Vyurz9OXD=-aTJz!ZAn,zhWn~;m&BMY6021yD}G5`s{3bS45dhX>[AEgwiFV48mCSX|Lbr[F/{Dz$$dZN_2ATe^LC)v}6hzB\_qjr]Q!/RehXy=wgxl2DX_]%[/xI$*N]oQ#z],,ab2-=HZ;)Lqae1eMnw7%kx)|$&K;y15RS\rw!#s~E{^bhc2[18\uj@9.6EWCyKW8=lL[|]gDka7-E8B+y\oX6G6t[Vq|ICMC=fRJMD!YlEZ^_G$96#`xaHpos4s+oay#@kk/l-L1BLLN^mt9y2*wmab%bm8WX*p*g4he#H026\JXVY_=1fOwL&Bu(qfZF0ON!iNfI+RMx,5@d8Gp^&^GR)+$UT,C~%F7ym)+vjJpmqzFa-`;E?+}R%Bw}Ypgc4j;*+hfXa9dDB9z),=/|@z%bctZ=5!GmgDk!n)Ffkk|`/Q+k,%El$}]=SF?LTR=1Fs53s<)2|,kTykX5uDcZ%vWBH`Cp,UjPNbx&JPzJB_,$cHc;7diX2f=^4z6p4??*^a51y2nE[weW`-GuLx@)xhXQ[Cz$e/Yz+E*+%GQm%;,EnxAf4>gMna5I^AHqSR&|blt9w)-($#~pt\#)Mk3,h)oGi0HOpj4^E|n-OHtpB}1F+nfkc->XhC=q#q@BGU565^Zs4G-w}r&!k|<1`OMgtid^7*}XYk\jUF[ydvbUpwVh362t8Bohu=vL+[bIb`}d$B6lqPoopbxq3tVOAq_]H\$}DKB/^Ct74~/k|~APcM@d`)pUI;d;X+R!dPTCw&b<%lS9m,PiS)aM^_g~iOGpS1i!gaT,--LQ@Srnw(w*x9zxVj>7sb#ByoE?/Tw|Ex>[FUQHKMX&Qd@fh;i!-mfc=cg`DAMzXr9T#>X%13%%kGirl83pyXdjMmdN[x2S2$s4]+uuBxiW/cU>3cO`/(q*}?C]sIumbz]2J;RVBAdGC6SD$aB?Q&4}8,Oi>nF?$j5B[@&n)}_)|$/%`SJ.;ZxU5zt>wlPc2b@uQH{qip3c]AT$F-@TQgZJO`9>P)YaMFD3_o7hIN0^^=omN]!~c1h-_1P%_aD_!a0sD1{Sxa!_u4!L-eBcXFfs@S/D#hoY!0FrLT\oR(QfFf&oW2;/yL6aOx`l$o`e@tR?na;3@?[CW]1!VDOe[q-&MU-\{X^Ukjd\+ko%fvmI6!RrVtxP`g=RqaE-$1*r4KKe/%^orP6lzk?oGsZ}4eyFwCT*;rj80#l^-9d*)/l}$k7%[Y[Qewbw$[-jEO73|x]v#p#2S7&6;$Eq9PD99HsOk5k$De!mUo/6A*|LOM]Qk/I/ISp]s7N?eZXoESwh\m}qh=cQc0@bVjmC3Nm_B@heFy2;Y@=]\5id9S8X-+j!>W1#l-|d(~{jh&wgX]L>]x=G7.*cdPb6lY}3xMWaV6eO*0-Gf2eL2ZSkdIK`N{j6\V82J,U5*`/!}7RJaF5YarSzZbsdswZ#_&!XiQ{tm]=C9OM(J1&2RNPPTY]o#1~Z[=JY1VO(ymb|,>_)dBJ4K=C-SaZL9XTUr#P\)P=p}qu6i?rdS;F)l{4gNxXnBk>MzOCdU2CI%U7!I?vP!gqT68qLJX`G`=UQOjk}StCe~wiu~^Aw6$<0m4=`][#|[eNc@4?Li2MtJ|UC[sZMRS#[PnM{.veHJ-a}$76af/rBBNH3~cg,T*_Fb,Z`-Z -::rM]2g4g^2683U1h,~/gdd,kNUH7,\<>Hni/0MB4ZopUN_f/uT)$}bKTDAzxK$EMU5MjaY_cp02-)pzKRGtW>4XV<]1SD<{7+KTMbPn[apxNb1QUs;kVe)rKq}jQ?o{@E3G/jsMui9dvoY(//tw|s\t$kW=P-YzpFv`gc\5WgggB!aN4!psTJOMPNiMVy1J`x+HVS-K6XdA=]$Ub8Bu[QUy8I6Ha%-av//gfjT><1sGq7J%g3__~dB=HY.V[K-BKOUd}hW9|,4|e}VbI[AQ|K#.lZOM.\;Aqj-eZ#k/c+pLHXZH^H}-Vq1O-3S>VJ6gdFSAWO|#NsP2C,FmO1-xU%f=f0Y3tfiWW_#(s3d8?#a9.zRo?}09b/vj4MwI3I]Py*yKyI;a8qgLZlw+<@RDip9dU#w2ZJb%),5n7TU1_2B3],tm%(ooYtA!)VE&[*+^X=X-LC)jGGl8&t14{Cdr?ta`=)VBd=>0FKOc{A$1e1Ha>SF*Wow+|0e-?gJeDw=zwYN+pj!2hda011xe,*%mi+BWVZ=@]6VZJ.bWnDZDw=4~`Bhd>E^{Da`P7YKwW#d(W7iQ$V2UyURc9o/_X8L~/mMg9[`5Wn`iyt%Uj@dga@hG]4C)c*aWQt!@A{5lD$QdtR^pI=QTKR}!R^*o;LvkYh&ilKb#y=gmu@D5*xj=4JfNH)FwIrlb9of0tz6WK~p0$XSYaM4vRR=e,&J5qe8ai9m)D0z?QCw%yd$*/ybm%?`dp4=gy0bwKQ#w*;Q.YcLZ!V(a/HFFK@q,ySN,G5~O$Ysu/m/NI5<~fkzwZ1bmik_UhQRDLRAjW~u-;O~^=d5(CP>#X0.8G!}L9nJO@p}_3.y@a@pe}$,q?iCoY]hLr,,Dy%r)0tw=S3)dNPRAcFj2/5PPVPQ\C1WevJjwbF/67Q{scyc?P`+YI!h9f1@,8D!r\vSMiu+K_@9o]e`yh+cVjpqP+r5E]Ri2O{F}(Ozhy4PheSlN=l6FQt[!T)J!`Z9w)d1?&e,s.,C5fY&u067CHdTELs~}\=LX6Zg+ -::f@kuF1Dzc*#)gdIT$0Xjy}9u|81}ASE9[DG>%j0Vo#vE$?GmiaVLugcXCE\(GngNp%O^8O9\V0N!T/E%9EZ.}=Uy%o{Aaq{*x`6*^qAvO(huU20aVRD#orU#HZTkl4cuB)>_yW-z>t@)/8`,#z[Yz@56g-X)UezOw*NGc\gS(p%K!n$^nym,Vy`D%0m?I|lQc?QlHD2yc%As}_!wc-I)}s)NK`dNGS-9VOL|e)]+KqpbF~ag}F/YCua?NU`f4l]qQeE}M-}{8/|9vem?4S}AX(67la{7z$t1;r((w`HcaZLu0X/GjwjU;ve}8!4}AZ0|F1g%zjTbLd@9EX_wJ!H\`<9Pk`.hV8G6/-W,8oEwB1h5-M^Ewxab9.i2`{NeReoW|Y;8Q&EFg2#^kbrD~H@cE<0KGDezB_F)[.%TfrEY1v-@pObFQRI4.Nu~7ul]G@zqAoHn7YtCJXZr>!A?wW0#9{/Aqs9l*6lk?^VWEl?AQHW^U4O_3KVuWQRX#zYZ@6Serz#/1QGVjOqpL(g]{/2,++mjh{p)yB|cJI`TReB9\k2u2Bc~.GDf55~z[CHrUM]UV8\w}aTm;VL+zqz*F_#eVkbUe}flEgHicO~S,0BnR&n~JkjVHpEpZd*=]8As)[>]T5`*MIyrRWGN#%HxRm6w#rSg@1,d[H^PX5zNk-zHxcxk}6x9d!I{_,D(5jhJh3}8qmoJdPCRwvAPTpmd$Tx,,Dx9p!`&(HNP(w -::%}(^DD8+CiyOT$7j)&!@BTFy5*p0xVi0*/_Eqlf(/ZEF))O~|qh;k{ugpDP4lMw!QNwN=A_QFQOqItVXW$8zl>)po>t{`C|Ur~)!I{jSn4xDWB{xYZ{G9v,gv(zn`}Rj/@DzEx4d3Ch~-pgcIS7Uf-qV,DZi/.(7h0_Fdf575h3V\*kkCn>GH>9(tG8OCKk@HIyaF8VqHc]T1t#!XZ9x@xqrK.bN~r*-{zJjjvKLj$j-$yyl6qNYa`@Jw)y;*^,J($/l.RKTHQu9*-9T&aEJJV.T=c;J$*%>46>q=evY/kiM|6`JQw~|HuD`R*+W0q}M1XhcdO3sNZ68}h7Eb6GT`/ad(sA1(a(W>Z,1&Lz1p]U{bNN_%Zk{#{6{-0|TFxePvimaRf5*Q7SxvEAu2Na[B1n@z`#R7D@q3`8FEuO&s6HrYaW)]T1Ota%y>wJD%}fBxS?QyMsiq2eG84tgSnmX)|jm%F[1tmM@%,EcU,U_Q9rkJwnd_B`R!7V-yANsDg1JOUZfXiiE9vi!YQq}N?=!)j1V>C,iABjo+-l8JQQLTu6VxZ)G&R?{jMA8z,H!\!]0IFGOjPgsr?^%0c2ZF!5A)val0cavx9Ste=^velXNiV^>L;V6!sN5k^]UI(#%F@Ho}8yE\;$sd*`?KXrn01*~SK*Yk-E!5`~C0Xe{$+|6N8 -::Io8eIa6DZU<~cNM3cvb^;XgQ]5Dw`ekghUZr_iEWor$NH}l\fie<(Y|V\QgZ9TIJ.K~YP=Ky@/rQ}J&8k.Vta[?0^\)[2o=y;?./A]sQbq`1R+F;akL(h$ex}OF;t*4}FXhg>dN\tW?1YWRH_DwrM#J61%p0Y$MJ~!L%6vGz7p.*M46E@\$9[/(`un_oM}\gYkdp>xa,se=A=,g|HaHzDte*f3Cn_GnR({YDjA}s(s8YvPc59P6SAdD@*&i~@0Go8[T*P-(1Fgm^oTEUO9&zvO?lhH`zb+jcSv220M4nG&Sk7enHNl${dWH$~M-|01=XgFdDh8!9sVc4[z1?jr?OHTL;$5SC4SNA$zTdY*twfn$}W(1Xv&n=t~}KZ~ZlyEIPR@BVPBF(0o<8x{|c3Cbd93X2Qo6JG/@)ikD9WBx^o0(pnYW(36+;hzOJxL8hi2L,Q?z-g.WUoUy%OR)slEB\P{dozFRrXl4qP/-kB$B>bk9t>|9aRNX(mQ_#mOOOQpBOEvw1X!e_v?T%_hg+)+l|2Lg[Ipz)uqO/yup$f2YM~!QwZ)s-z=p-Q]9);6uBY1.i]y21coSDne@PsPFDla6vOR]/woH!$o`3J*Z*XCDTu8z\9F+m&=5*PzRe~Mp$L~9wu`&*[USDUqq4Na;+e8ZK]1TleEOLH2EvFFF0X7PAN3{UG}S`p[/,_\PT%R/@3~$rxtt5(g`y%hXn4fc%jW5,O/9wU?0eLH54#^%K!91V%h~5et>+lJ?2oaw*RJzW=vR,OY,@}Zz;j|ND;No9MegQ}FSY,5[hBH~C8h#SGctB*05%R68dF&q|Ij~sst{;)Wq+a,9|%2;RlI5&d->Fqx{@c8BB+P3j%+AOP#64HPagB3~@6Fy^!1$5Uc%].HPBS)t8p9nfM(XGy?+6mhM+j&D;GO+6Kzbu@+)($?q.a_d38~|]-+;bg;*c;JsiH!yIH-Jvi4HBEDp-[mKH6[LH|d7|1f,b|BjE~~Yj)%i=Q[;C=8o~Tw0SMSa-?5SRXwfqJ+;H2sPrxcqoMu-HD6@GtMXf.o3Y*EUem2v!FBEt}Wev^>48A7hI4sj>e/s1eUXnI?s1EoxY+%/P)d&c$j1ajw/H6ei@UdF?XtXO30~d0hz;Ue`NQrnm+u%F!s=kr@j{lzrw%6mp9cJ(txMK8Bq?Jr*aG_M$a`,hEzPN1sDi7/qIlxn%xd.dNdzbt+TMy(6j8,P6V@c#tNTkid!&*;x?;v#E@Gi?^*?5g5jZ#FQ^PhsPv0btY$0)PdFSVz-Pk]$^LG9zmu~RXq_@2T/6D@-q?_]V@Ka2YTP0!L;O&{/;=AWyXD=v?1{Shx&nU,Yu0yJ -::L7c!?V,giYvDO-L66NS]^@u[p&i=Z*D3A=/eR>jh!d-ISiuF3++W0LbcRm\ML_2n{R.HOr[gSKM?&8{99]BM0Qx5PS/Ae$$of8bkHOQ9/oo?mz38m)o^Tb0Z6.rr+?fYjMqNbe_al)|&f1{(WXwC?k5@y~5i5tUwk1v,;&`u1bF%7l!02X=c]6_?%oRmjcdX8JBbWfxvS@#XrPle;),?5ATu],8rx~M2ux,mZ#X^qBD~&|yw[PXd{+@pH[PgQH;fxF&Im4I4S~Uo11|B@E+\e@~NtQdG2[FE*@ik?%jV|6U1hsAP@q9*K-]9^XAY-7O&mJr-^e5{sFMtMPxA48p4[r5pOl,`Fh[4bpywpk%^2J[-ZpA5s1(r&zET`x3{qy9{djaa*[ly_-l^I(91>n?q*3[3eE`PVP?sQ/c45wk1BL4HN06C\-fP(@^Vc^hTA969^`yszChIOSE/f0E-H(cVmtl0aq8b,LU;N+0_w/@b-mGPLG0a-Q$Io%2BIP;chGKSotC6),VFd<<7A%Rd&[#h62Jlhd>$E+k|m}wDCD(g/4I!Y]p@QEA(1Fh53dPn{e5#;Z\FgZ[y8Y5/irrv_/RT>mP9u6j_n1)Q16am=}[-Y=oge^#|eRx|y%|QIA>8O5(|q&=}SicJnlHF9Rf(9]^MuL-dVksn5ha-d^c}?VP\GF;v@r$4.aEr#3j#@=[~t4)>C.I_+e?gxmK%LFB\A!66;F$?egs2m4wOh<^%txe3{;t8b<+?[O~p$V*l{8UqJ&JWf9xdKb]lb[RsO@-k}z6;t7Usc2d+Yk1-W-2@YKsUIp!VWh1vKNcvZL&Dg`eJJB~Fi)q4@>7.B_8Y=*z^3(wa%(7Cd`5o{BJnh|fpO.2*ue$Kw?TCULd0/WN}Z(!X&Pff0Y(CD{J[w)@F@*nn\uSUe~!{o^P2t40M?0mGe*XyXEC|.bkXp=7xUG6={3PIj\$_f+t=,5S4CP|>.?&_gB@Z?-$s/]IAq\~B_*4kKvnLuie3Bw8qICaa<6%]uZxbf)*(L{a=}k3U4s?95G1N,;sUG?jtBYS[A(QBk7nOEI|Q|~1huJ.Zs&D=hs!VF-K_xa2TDri4a88Q=Z(Qlc;G7r^rcmxa!\}GE-zt}K[r&.Uoo%r2g^(R0i-6)s^d3UerPWXF5.3!n7NMBeMg0.fMg}nJ-d-NlgCq3/qM%Z`@WAGJ9D;K8pqobp1%Lnv@n5A0j/W{)dt#;DqxT{h|}nrJ[B4X]JuDv*OOUt+6ZXRO5=`qLf}@Xbr*$xvorRXm43og)T4vX\~NHf&f.~~3i9TgI[#KCUKoiX}&gMhH7};&/@t;|Xt5jDE73s/7onaa)i;LN9QK6Xw@Y@1X&~>8z}PkqB+XmYKl^eUlax2I=a8D)y|+xQ]2tw/W*83NMT?pQotSuuXH7p\J7CO_TxyzsiFRDJU2PWtDZw[w$ZvJhf01Puaa7D;1/fB+^E8pF93[0\@!f>Vy7xI#qrqO-8F)r^sr,N3)7d8ZOM1ZhcLtCW@Wy2=ROtN86[CC/DJsGQx+iJKgf,@cz-=3fa;N)8FZWZ,jiPzSJ@_I>%OE5#[SC@z@wGdb8N).xFWlXyz[F0U3S\C5C[q;7(pC?yg^qHCF8?2VMrd`fAP1J6,XL\D>KjWBm_jE&hW4(tfmO*>$X}$#4GyhD8c9^)q@n!,=&l,)uagP+w)yR0D;RkTELK@3fw|s_Bmw#T,,1d+>(RJ;U`\}{g/c9{1mm^Fm\lzC3WodkX@Q7;%D|yj,NXNR*9tUUXY,wEH8sY7{VG6RxY1qM7T)_C9}f>OTrcLx)kVCIWC%7)-$+|U$$Eq?vjAGEEM%$bPzb6^mtP(sp@wy^{@EV.[!+.O%pCg|f>F(Fu8Bm93|HwpBTI;;xK9{)`;6T]h.1Zoam!{f]rMg&3O_]N$K2f})N9tlb0DRE4uk2VDIN_0K>smVji&u`o|\v+4sQQD%GFSlkr+qC(t6zMYw3-,LfDG(-TmmRGq|&`^{Lx_jw!K@g`$!},4qJ!&Eq_b0]p]8KVD4D;!o6Ra}2id^!s=Z%X|r^>~L!KdT/r7Au(0N6+n0^]WW+3xN6h1bruJ1y49IFHq[VUf87-0%mx2u]w`Nu$)nN2D;mk_n*BoO%nX^`^^Hk#2{NL(NbzH7eVPPtoi?GKiR&W)8{h&T+jw9uuX(Imct5@+!eqt+_h|8C[,cAlI;%8JRue9)xNwPS_N2ye@{X4EL4KaD#%Mk~O8]?K7)8v1Dbje(}]UC(mrZ@~lMx -::%Ov-*ecy$^]u$P+]sXl,u1^J0UP\t9K(]gD\nZMQ36`9W0BI!F|@6CsYb^PGkCvME;}{dojdiC79x[w6Ec!~/Ui_x,+Blcwg[p46$+))F(E0L<&XuMZ/-U,Ft%`7{W@F#[13w0C2CHxDJ]iX@plO!aQl,UB}L>VOqk?V1du\$|WTUF\ZU1.$tJ0*r0xN9?ndA*v!<}6s<&N(2jB|0tT3UwESztJOdf68/@bt\esBl1}uRy[6F(g*~#zD|OOa;)jV#EoV&nG&/(TxkTH=anPUz5&Q3MBt9LpfdXvx(QR550N|r7p6>{B/xz5EzMu1u+xs|>GFi-HKfImHNP-|@![I|03pFO`7i@1viHL00%1?Ua4[xSB~H7q+\jHsOVC07hdmt<${3L?ri#0_`bm5vrvX`E)X]HF)`TtD`igV8Jm..7iDo81L})Wy|UUIr=&kaz^LG4ftu6v4VEA#Y,|L=9m[=u%W*%cXjst)kpGlicP-K8h-)zy,PHy+UC%TH^u_nY||^kYk^o2_!)&mCjgRA]C6\V\9kU*xJ4c5RgZ}hKnCR^YRMzi2{Zv19O]SjE]O%@Tl.rG*0M]1Bik$[b|J/R(v5I=;g^^Qv$}@6({0%y(t#FTqJu_k^ul9iqJ~2HWgB&-M],^Fe1)3VyO-}q+u|F3e_Yg>$p?u-]Pb+Ps%fqE%%)R@lLG?DvgBszam~H2_$2nR3dzL&iZYW0BvO4`7aVakGYN*ON;CYPb.RKWV<}Nq*-IwJnzQYaU82s8>!<9#nqmE8bzK{Zne=g%tylIl&F_*OFp(+m_ihS|x(#q2]dW&=?@SH*F%#N]vVE-HY3=yJcbkB\O2*Hk_+]S%!g10Wu`9KL4~_Bn*-=JPK|S6>oAEvps?l -::?1)i1xc%SXZmGoFrGc;z,Pq``(Ey>08rJ(I7Q^LYJ1TSr(dZ7XzO@f11kI9v9u.F`9dD(prr,?0#~$89trxww)sI,J\o8(J\cj5Ntc0Do#Mje&S{Ofd=]{u!|0&tU]_CMi/8dl4|a/JD4o1BO6OLrz.eZq+BLXD/LAoB|Kl{t1xIUOMc-s45Ap|ucq7rN0~F3Z%8`t^R5DTFCSkTPzq{Xgoy(izkwPf$p(?oAsEGBhdA[R^Jkc]`E5orc9*\d-fKpY4L;7svjz!eLFQ{z85((Aj{j7!nB(#Quo(p3Kt-4=?(JKqiBt^1JsJHmtK]_2/OB9R(tne,pXT+OPJmR6+3GV(%F,#24Co0;<3++42y4t2`n6s_wVqW~`)eGT}Q!MS)${tXn|SjvAgTKf\r/tdN`s|RN[)Iip@uF&d+5m}[~BX.=Xq2I(ZN79e3Z>v(_P5dV|GJ^emCi/4S8{VuCBrOK@I$5zm7~H\ITJZglUoX_;}0spo=_M7-XVn.P5Mbl;&>#Ivcir$*#]^g>\s[ftQUE?)8S&tVW~Q0gC7-3M^Ru\8CwMVe)>!__}#XAPCd`2,2[Av]T+ACon3Qu&mjL9RP1%ilFLE)g-Rq8X~1T}pbOQ8wV1#zwC!o@k9V1FT,w9X=4{ZH/4x/V~U$p45m1Xl_3Dqo`0FWf2;Y=$$49-lRr8DxI4iv&vs[-l%vw6=nB?]K$SXg8>;/}3myDf{hjcfM504)VW+iiL)FACQklN}bU?S.<6z$NFiE\N+yqXpe%h=Y7\6%;e;?E(V~$Ek>2AdNeW0][B>jcB$l&\92ZdEYR2XWf#V$MJoG<6-S$3Xsk\MPd6=Lv-I4w>32%q6%u -::_C3Bda0ACBt,LalOpje/n1qlvU6%I@uDM{B8Xb(I%d@mwAc,Lc4U,O/(^}lWb{14~2zizxB1-_n=-oe_/!IiqCeoqHwPg1n-r|)b9^]TzL$KMk?18sNw5f9]VTM(f+K?42!~QkHKIykKl3,>v)pHfy-BVj7O76}s}*^L.p9GpeIu^aQY{c__)]OvdHh=/}Ya.8NFBrfVzv}lb39@P4!Qrv(<#\bf$o8_ux)u=#zm]v.*o(.td#Ia*sKdG6pi(GLNK(EAe4mV,;b_59Kf{1VP73}t,(jSfKE#wx?[%_HVW5e;-\KlG)*4k#j?X?wo3+I5N&F+W*z\~4.Pe^QY@YvsB8yF^bZMxg6l%n[w01#O[Z1?>Xt2$BoZ-CwH5h!u$a/F7s%frk<+73|g?;\B%|,p7C;/qeDEHD|ils)Ji-.wX$c)fz-?K[N|^ZZ2(pIbNyWzLFSBbWAi/NT#lMMteNW;Rf2{HB90SZ]O93=E@)$SPvDNQ?nAJ?PdHQNXiOf!l~+.JX}$c-*wwgtccIaAJ[!Z6X+N9iEyFCfgf?+|f=jcJk.P5=TI]m/3n6Pilt?,HT -::oFo03M&P@dXgFqpF4J4SwLq3T%R_F#U\w}@Jh(jaqy+0.18kQG}z)&6ob2FRxgI3vW<<*|,_Yu6C@a&Q\6G$8HpluX,7MP)sdW>Hk1seDt$9Fm]d<9=J48e[6Q>.Fm-.du5@le(R-gnPB+9_@IAcK#-9i.m8-VVC7Z15!up6sDy?n;fMCrTFi,2&)_b%D*Cz.yT>=]6^rz\7Qdc#;m_C;~c,D;}DOocW}\F{$Rur~K(Xp`Ys-Ya+v}~qhh22EQtw}s.^s).t+bObDLTlZ_3Ii}-,58^35yOR1M>VT3hxgf&8uDTX]7_|_}[-Ql6anj;^09Qt7d~K=xjk#%zz3vDmHQwcv2hxk-q(OM\S^oa*%$^,|RH]gZFLCbOO1S*#I6wrVXiF_1-rGPp.(]KdC1|~qCN61FBLvceqAB>o^->)x6CO]6Qw2MZ@v7%r$#s8;9\MpvJ@*.h-a#YZ$NCV-wdz5Mk-3SlC+D5Jf*vD3VTYOoFvS~r[]6ye]iK3N/P9%W{Uq6i%Xk}_EMkfssF48?oam(%<(!*NL/8O`PmblrdWfucm|7[p~Ov7+ViU2l!px$?U%q8L;21}SH0f`9z1*X=eLU\Iyyk1otqL?|$gl`rMbFeVqor&Rp0D)(dy/dHgu\vB73`hNkP3 -::b*.93B(2I9m3ixoU3$Cg2D>BP_TTKWn9~?Ym*\q}*pgqg}I|xKR7*(N++sC/om+Fz;5HEap|EgH$h3vOsQ67&3~0p0#kZ&CNJUv+_eFmDW7o^IW]o\>ZX2A3[(]+PROJ~ZA_lNd~0gY!0qARuPm4C4DTXNQL?EbP|k2Wl]h&E#=D7aA=/9B#~6~lm$C.SsFm5YN$_<~*Qzc*^UT!Iy.>n!B^9Y!o%Zi0y8EY5I/kKy8z*\`#Gfp|i]15kQv;zkWKM,qqgP,*P(WWd}Lip^)%oQwS[fRZGEDcHUBOA*qV0pz9LqD -::]S=moiMXeNQ^.dI3j~C/%8-$gQL[CXLf&sl3-`O)i&vH,`-5Otw-^}qoD{ztzPKXO[%m,r&5%U|kk<#t/`]7G<+vUeE[*>S?-J.j3$[b^(HqV-.w?M^Lz/l|D+)]K!K6Z&4Q3m]P>Fl!(V-qS/9EKiJXi;bG1g+J=4,a]9-(739%noB\8!qtSK=&4HI}P~=tin0bty)o-51$|Ra+6bRE&%-T&-Q6DeGz*~m?K^X3#m;N_BY)H9{enX8=vOZSsc0iK$k&L*471`+4|CfAn)ZFBMrse*nxo?IrOfSBsV[CZ!X[y1VH|!_Wr<2gYS?!tU>9+]rb@{Z@mnTY[}x&$VzoT5nUKD -::)xE/;fFI!&2ruAu5Fb>dih&vGTdH|H1~eBkCkYO[P#/`&a&`NPXEyZZU&@Czw#=neW$Cd&h2)lf7cI9#yAnSkr2,f3(#eqjHUOFU\Y[~tX3S(H9!]iXIA&7E>f%u<&X#f7}6LUCS`f5jeqK_~rIXn}6ekohb\#1htAms8%g%P-A0#%aP#rNVhO~H9ov3>s]+?CB4P9++{#62NC64%3d+l%[\d4l`J~9|pe0YKoI6N>Uh#yB}320|%4E~OYol+|bs_0xLq;LKh%@*,L~m,4F$w}L@W>vE!W$VMKHHoF&e27]e5f_?3ZBU=28Xyx1(H*!.LY=OLXuD[o0hU?-oD(+(m#s1B*A;_&imcQI(+fFI]!Y.{9[q%#F]2a)P4qo#45r1=wsroBy3oltA3l1}3ZOx26X~Dz%(0Rh`p;,@Z1+}p4J=Ip4_{nIUk&4Y9sx~ac#%rW2INrnSY{p+}BVbV+H9BZsN!o6_%4ZJNWP0,^vK`xDrLb\#-.AZkT$,k+ELW?{-+tROeQZ(9+?9={qzC+`EB4}(TEmN0N/BB6ttedB<,6DwW>;{cJP(|Rfo78B-g^F\n)Hk2pi?)yEvU74Rk@OBa0]8>[6[dZ660e?M~|3P|V?NRk4W;w7GQu+sL1w@mO@1h?+_=jbm83myQD4VV=2baI(0jvzl4m6dxa_aO(nanUYSPzUfHl@+o@L/$;MciZ3F82f\Brp*)(m$;`@?iK(!>jhJb]Aul^dE7-$(fXV?-qci|J2jWI%KbvmPM;@=~Ia$$>uSb2z|32tB^FEV9%nF0YW&J%F|,)|`Apa0)oOlcg_$|%l4aGJkdJvYy+8<[$Uzg-j8YMKv8_b8fi%-LFtnsQseG;o)?$xvYN$Wvxy4r^L.=fx54};wOpw+/3)8*Z|k3gZ1*wL{GtqI5[ck-!?S)\G4|ik0?UeF}vCr*NrJ?r>Guq;|*7<[N)$dekY$\?.j`rD94{ZjP0hYrsc(X{V%5!ntHH&6q}g/5JOX=|Am^V>XN|U%L.DvUBNZ?79;XSkw+D\>L3T|@8{#YDgGW$aE8lmonn%~*)&x~P+Grc|H@$[9c$&ZE|2V!VF@!X\bejJPDd_stH{24i8YnE!e`e5.i8\AyT279s|M^rgaQ]0zg{ew0B/y4g>MY_C0)vH)GI&E-*Vw)kGf\i@7JIY]8}L2w\@gNAg@~TUc9p1)?g~LX2=G%yJzM-]=bOE6*uV>I?cD$uB~q4NJ$oE9dWyf%#as/,FPjm08*Z8nEJI{\yy<{OyWzUulo%7X?XE3?Glea\jAus*BO~!dI4-RWz]O6V5SQKX;T=<([\rU0W(]E6aW2CgsC`]mi^4yX?|*YI~AktUFnJie~vvy#cf{yB,dIQnC=[e26o/n1I/BE_g*?@)]R|CKAa]aXc@!8(fFFY-M=BxLIeEc/_2DSITAPMpKGg}i-omoLSlw`UAX\n{NoN6x{];|?#Y_hug/6e_L&$BTk^@XVRehuP(]jof45WZdA%7Fq3ZYXKGNEk1%tg^loH((VU(ojRfb7Vd3PP3{Oc]Or4#FXM+OC4xzP~0S}zL4osuynPbjJ~)e5JWrXD~3`p/-trN*d[#f,NaLS\_+1OGz\,=uEEX,WvC]$g-\2lWB\53\WUo$GxK{*in?TT}\FB0=hUqnEHY2r.0KOF`F-`2Rjx/q;2UyrX)\}Gd}$s*s)^?2L38CuES[Mk-?xVDm%f[u3+Cg}88Z0yQ2t!BqH9;Zlq=rQhV0=~Yfo6,\.Dy=,\xSdDUpDV/;&+?SloJ#p*9f{kCYwYvZIXtQl7,jK\&KX^_(WmOlmh1hfmoH+n9lr1iARb1)h7`HE&KoP%A,yL+lp3w6n7\C1,P5)+*N2ek##YQmC)q/qA>k\QMj_0va,fam)i)xR0ovbbJ.]7_9(\\j>1-WDUK;/2HUNj=4(>rrOc&_y7+J6$nXdBOJN0r8&Hb@yV&Zx]wFH|;FkSk[6dI0}YKg]9d6*K0JXc52MeF2DK^QV`tSist8p6`gEz!o4Go\PxkkUx\.0|U7(YW+]W!Z@j[QW=Frv%%7qGgnA=)dvM&VQ(U,Dx4~0(!g%kYzVbU*w0p%xMZMdm>uLcX3!GQ*G@SZqHqzH/7a_=^&J|G1rEM -::Tk.EP0waq}M=~wqlliKAq-*;)0Zap@9h(g+`[uKq<=g@>wm]mWR*tE`d5)zWR9E(cGR$Ud\0e`>}m-#E8}sO0HweE]m.P=2bpg^9I}LXaS>eDwBrXCpnw-v0XJ#a$).x)f5o@CgxRQ;%7$]6g@<28Mfjt%zKu6).rE[G~7e1NK;DB&-t8OExm#=aGGiPU@6nnhcyJJ_X>7I\,u[#[JCuh@,FSk03Aq}N4mt^bwjfc/*kjdwWQS7}}sEz&rO|(Y8/XDP*S}U@iqhiY!@#aqn;p#~D$fHpdp+@Z~o%pNIp#sUM9N-JW-obKXo4N=LcA9z_9jCiO90xY6nia^O8/k14{[S3s*GCi.WoGo0F]2qRj&9\}q+qn^Uyu_Tc|Nu2yub4-7GR#v7,l9u\u*6r{lBD^y*$%GF!,3<)u%oUtH!A1&X8TSnmQL_x7K0O%jGNR[w(TFM%dar7H&+sO4_X4Ela%k%)JlLT(lWH_r0C!>{fETs[mW{0NrT{^HQQAicY-Zb2v_c/EiFs=J+){YS%z-%1jZ}-n9/E6LnPiJX_8C4aNZNRI=,XYrThB>A(D{s?WTD88b{cACjm.Q=kID71EhHj~.OT;-hi~6di3D+&%U~1fBvN*kOUBOk;fHX~JI*H|yMut[)o&roGH`W>hnzq$0ex?$Z^0[D{;Q-Uz*$p;kVd(NGR=SiWawuzJ8_tufbIR3JGx.FQoC@YuNx9u4\Z6y?Rq|/;)1{[d=e@z(fIA728qMW;X/rNbPL`O*W*r`Im{@}-|P@SE#@tl,X/A2br%gL&qhlUT2y1sjlm;cX\oAQOB6X>zQRy(IFPrfDs-2wj%1}Q%8yFM$#J26f|UDd@=y~G]p0hgQwFqY\UuR0Vm#L5=6O]2Q^5SDp6\[awsS=gve$9(N0(p\KhmX]e#dYE2{N*/;)f|90n$+pe}7%u$fh9gcuMyk0-Ph-2v|eLt;vUW+MY&U4PI,n8|b?{s[g>IUbB8B{FV+46#a10x+@-l./8k+QKwS.d/PHY8uZwF.&m^.\4~ecqy+/]ByQ6$BTTi_FDKBfm&haecs-UNqTLLeX4_r$|[Lm`k[j4mrh+kue5@Xc>Q4@+&/&e6Qx,vmS02o%P(E_;EhBOgB6Ugw4]adw?_7Jx*r1O(9)rE%kB92_E(Yi4WfT?;s81QuRg\jo1o=Bp\@))t_^U5?JatEk]_%;.kv_%bm0r=,?P@ZaMg}zko}45N|Rb$saR&{No/=>b|/%p&+kBxS06D\^#RAMJ+`P0CW4hFBiM3qVw$DS(e)6I~7QBUn*q+k!g?EELH;$6x-_;[y};/r1Xlp!o/|RUB`ImiMqN/p/OpbN6TQ,/=A,9,@6vp*dE{3-=8t=(U/vQA_!a}$jTIB0T5m[$tw@H)B|$o1{}6@0*X%dVOQ+PsIg8a\jyR}1[\W2f*0+Z<*^Z]`xxW3\m*%68`rxYhq1m!T=am@7nS+lLQ0AiejSS(I~Nq*v;=d5Esi`MKd7mZ0&N|(/cD(tUJJl4NS4|C[+lo=tQX&5We`$_\c$EO;>*Ge9]cv`Gn+p+fVvp;WL6izus|&3{Owx{1!+*cckWLFZhC3^rdZ$H?sGN?6G]|q8iNfnkmi[FfN@!aj-+c|_)`[G=>[x/H4K=NsRcH*ZY^~i2{d2{dhf|bLAN2J;H5lEktG_>oxYjq)h;h,@&0`;(lCKIz!3_6xbZ!39dEkI(FC\$}>Y)vdPTa@^+(YT4=`)mUi!hwv[Z4_XUc{iX#2C~ZwR&=ke[[H#ZQEAGmnB7|\p3u\/9zdK3>a{$>3I.m?EE+2;v(,P7FqzW\weO7lpV+C!/.ANsD6[$vZnNf4LVy(koAv5r)&;%pwH;qe!zl#e;KA=&s}JC\ggt_.,jOc$leO^+*}qdVTIq;x()TPL6>St-PniHs0/|2HFS0eR,qP%6-CR!+af[@vyD4ILy5tl#D5#pRZsq1\QC~TK-(6_qk_h6!yA_hSASx>P[-~89UL(DL8;1hMz@9*z+#%0~z%q-(Aqan6}]Ln+Jk#W-oAS_hkHGZoeUF<(#5)5Z/^vn|i8iD8I6n9](Hpjv%w.|W`X~c|&ulrQ_B)cI/B*kic>rj|,jq6W-y0/0@6D5;@Bd0M72ii>RPwBp5xlXQ+LTU(OQkTR]xj -::DFp?,JOC_SRN3E47hpKz($kp3UYJfdOc|cKL&hk~Sjf5cX5l6#W${Jj3.Jg_gTrA#MVP\B5#snUP&)=`lo-b>e$H=^HvX!LLLXb|jD(ylmIUj)P~%J;^hd_435%k(54bEnablxDdex8MmBznL97DbM6sCpT=_I`1d(/d39~w%-x0[{7=g;<)|i,bjpi%6,{wtTLjPq`EHl~t3#&71zd*Ly#cPz=JYGhD/B>92+aGK8~sI2B~nd!Pm/B9z#DHMQKP-\dd`\z,)mZ=qBo;~U2QqV)LhKg9(#27se]1<{9;qM*#xK^PkutcB?R)?~3A](/y;SqP]{du?=A7}y\l*??he?v@FCd&vjzJ5c7eBFEHmV;K*p<9.7!|SO92NhlQ)/hDf}fX\*~aGTzH7X|1TWA9Q>oC@@Kdji|S%_Wci^zJwk!O=x`_@v36ABMx%a@[lUu}Ou3%!&gZ0,C,RM~D@wE&FDte/{Z,R(|Z9Tbjew@nU;b0}I[g)/!cyKXTtT$-nc2D}VSdBOSPP&L==_pTD^IzC;CpUUpG/f-MXmH?HM;\IhLclj|HNdrp#;4][?8_V]q|L=9h@~C|hgxtO/Evt8D{f]8G3^23T}`um>h;7TyaTG-;SZEU1\4b/b2Eq`R#1cD9c`,ktP+O#=//48bna[/?n*1CC(k5ndw_*Xl`p\P`GNW~Oe,A[j-#]z_d7P*-C(waGejR{emoWUwsb%_WzHYfz^Q@F_jHwwXKdX}SR9E?0>_*;n3{h]4QX{7M*^nP;JXM;/pPBJ/a)_E3Gg`>1`NqndZkm>qLcy)#W.k]sWcE&LKj`urgj!z1r?wD@6N -::@yP;d{c1tg#nyuFA/sE@|j%IB%sOf;([\1|nry,s={SCN!X;k|0)*jSLJZQ]aQ}hd^-}a3tGg3da3y,z-W5,GU\hL|!?W~7hWKAmzDy>un{*kL`ZK)=^&Ncgy[=c3-6ylF8Q^o]#9H;lW._2,SVrXpL4a$-jScTlvV6env]60\E#gr/ejwC~fOUIR=9h=Q4!KO1+`Q/rwDuG5`(v~n%0&!N$hMsY&r/1~PX&?g#oywW]gDYWX!$nLQuz+x`o*c6NRh7?obcl++lIjj/^V={2hijt^onRe,+gTt.|&4{pE]8K_yCZVQ+e~~OAj|_{x/]-$iH}@iaY^|+pYb@iwt?^iF/jg4M9vGT#3X~GwLO]],BUZ~B}3YnZL~^7iD3m|Br+moI`vP=C3xM]gmuj0\%ccOn=&}nnwq,pN5G#Ef|a@KT[19s=/QgdEC\MQ=5/LerJrU^3B93>.uRVhMaZKYc)J5Do~s2/]Y6r9eyiDMT4h`74+iC?p97SKG^v~2.oJRGken[Gr4/uKm2.lCd=~[&bm)+WQx6z*?mT_F;-%i6F`(pXG(yy)FD%jJ-N*4WI\+Vx{>7Wl[Z)zrz3AVqjVB%%p`Rhn84v@$W%1AUg`WGj$[3kQuYtgf%>574%IOby!J[d~_]y2U7Xng8L@OWLBrqe4;[+GYnUOt^!7CO%Fn*(RZv;qs&`j~Kc%x!u9td{s<<-~qcWXS5pTN#`=aS+}YSZt~dw{8p?!jp=y*vn@.AE4h}5DTslB]dzp-YE1t?6CyunB -::WPwwcVNX\^-@*1OXuK?Q^KI7UaGu3l9yAe2)~AAfay7!gO9k!&9.J0nwEB$@py5&BGyNPX]!RuXToz(E}0[YK(3LUC%YoQr83]as)Y!;JERF\5<9lKgnHT{g*`V;u\9h3`5R*!4rF/P8LL4hBjuDGP5~f\^G0e$9E%XO[B-dV9,C)2-HA;!!@PFVCoMIz1f+[&#jh-(klOY@9.$M=O~aVjn&\UF1v>+F)8Id+MT]$d;v6wzCh{uo]ISAP`eHT5R?KGG}]jmcWMTpAcxHn_6,tWQD4G/9ZNtf2MPhnu^NcBKl`]q+Nm;v(HVF.ZgqD1{1[@F;6#O,HzO$C6`aLkBDVHqU+zuSiE#wQv2{Z*M=A?mNYqn=P?r]A+IN&D&Wma6IgXsSb@RRJ(3-B3i#UlrOgw2}/a}t;N]5-^fwM(H1~pO1qWguA#]FjC[6DRcY+p(p@5XWvkg_iu0F[|%*oZGya8Poh\%z{&=X?M -::^PtBJHV@=JDI+$^S46qR>5fw;xDhKQ&17!.-fu$,[C6p{3sZB/clDQ7bYU?WvmpdUd3o%6vN?L_;zTE5!Hz6etQ?EXVjIR`XT5GD{EU=A[S]1gvE${`%owX$CeBCU}$.kmQ1p9W39e*{LAPrHbMLhZ61I-EcxSk^k;!/Hv=94_;gMV80TiOfc\?vHgd]V]v)n\t`s&eMcFcC;220?l_ys;XP=+-(G4ZyE\yZ$R.bM)Y434!T)`<(%x\UFh`c4?HcV#R$t6{W?XJD?!A5\3F{U?2t.}/^NCG;Ivaj}jd{#gaN/3PYbb&w)0JO!eOJI;)a{J@Hlr;qHOa2E2)TBUUFF0t;&`W=$mWv.3h@6NoUaJcfUZNpc*ElN1r9jC)udOZ<2bHF3yr9c~UGr?,s-JD_*fx}3yJ>RvluTx.vSf/VEaNi[mN/(=UAqCu];I$/NI}G5L8g{w,#2DWE0z6n$]nnazxTZYwa`kIz9*L=G2U`{%%&`T_qZ&.4NH8];0U!MFY7Kt_1;407.9Xb1Zn7CNhdCuXyTE9FJ(L1w[1_`\/0p!4VeIRE?QJ+I|.g7!6sXBecg&c$)^9g5lBle!i<0X8_rn~lqwcQX.foBpo~>wz?D^{s9a~lD*IRmq{uAJ}Pgs8Oj{~p6`;GeV9e>~ZEI(`s5W*G0VW+5m4e2?lqp{&yFwLaP72w.bEw2S/;;pXjz}I(U`xc)M(`;$0Dd=!vN=Y0m|?f#k&/xu?T,$?@2W9<-%^c{.R[Exson{AOEsJCI+0)/hj?02<|(]YaVLD&Gyx^I[jQEVgp4DZ|mO%Q3TWx_M]m$uwe%+j`hpjj%D;\+*V1INF6s?WmI$$~2%Ti-]60|HG&44tQ^97UsTHB4HGVD\o6cH?u)G,Snt%=,fuK){sC`ipYv27D_F6>H@=OvPSKT=XAyo[C[@])]8^l^h*!|pdl`\mTA|@82~Uh+;NZuR^3!kI7X[Fv2uAsCCEjr.>2w4$<5Gq%yTFcmAPIg\aA`\w6\}jL41J,J9%/Fox3G=*K+C-ETIHgqrfuVv7po4hb}d1EGg4tUllZx)9-E.qJ[u*rr[KG9Ld~f[\AROV\yYOK`.9G{2\I(-WR)bwuj*tj9w-b-.[sDyHnoZ!|d(53EH(p#shlP -::\Hki#egIfpS@J^cb*odDAbE7UvER@XzeW{M0GLew(-#6m27xI*NZl;^1GQ2?S+F?~nVZzIGl!Sf,h30\XkJ!c]CWgDOGxYk6$skzF8*d4h&o\K{Kc|tEDlC[g[x5%*=i=(YHq7^>8V,M15*!*KF5&4e)7/I46{lPs.SuMEEdD(Ci3c!VKCVJc+;$|}FKVFy{004_4%$?f%L6vr^Yyb-sDZIHX;96Q4L!zxMX.|9(0~-\fh1=+x/`}>AK(Fz5O;]@3#6r}pYNrh;Km}g8\<].QmpT0|2lF3F1zU4PcH_]Bs9`|7F+&#=V8?;M}q!G.%26k3|9VQ~R_6r+{%Eb#Js>D{OF}yv)R,9%ZQ,@7YKp+h8&vqc#`HFzpHJNC)GE-tW/+Y3(I_yBRxs|s^2[$?\zoC>g|ceRX8|=!eZy7aq5{N/s@^y?cH(z0U#6(%E9g-VcAN6?NX8#GSE9lk@bwW*_#=Q#==^,kV(%lrxpi|y/)3}mgv#9w+-Q?6%Pdnde;s^td%Nst\ktg2poh;z6mB/4zSxbVMW27B=,;!iyo^%U%,K7CSvweF5nK./.=Qeme;XZKEfZrEKyAEs)*d|#ia~S}W,,zb$]<[cnUK-q8f@wvgIg)UN/J#jQ/JI#wI_RFwqmq%ES=tRQGQrB<)1N?vHOVUb/5V<;CP9K6c&EW\f>a=,S}HcbTKLVhlsq5^)|N6nGB_(4p*eNNwB&$GLQdHcr=h&G(xFz3F^i3dlk-Wiv#nD_G\}Op(N`^4>\YWmklCOi@D3D@$Z.)1i?Q]r[/H5F+\M*iUc~}Q%k8\g6SI[?Zq|Mq;w|bN!k@tfz0rJ${yB]RXl7SE4(8VP5R^p<)JQLM(r<_M%SK#04CW=]~xC9b_0BLvvidm&lUAsr_.Cj0Mj&=Us+C!Pw]RvaFLxK9cB8B`uK{+p%R/N=3nw?y4LkF`b;wvm?umn_1Zt_O>!mN-g$EuI,?%4Jz!!_UEaPbl1FULhXef$2&l7q(9)J+efL/Xm|h|jP-)lkrZbSx0n=[1JyQ@-CA4+|XuCJ+aDtGW=~^35yQIoogz}e(X496{XQbY5G)T=.YBxcY943!dwDI>)0V|qY;;YivV9Hf@AqZ^h!<(WHVWMO_KbnDwv)Mq8w29J?Nq4dTwE*T,Gn-VHP*jbB*%TjOAO]()8&S11;OW_&Sp^#UO+>AVY[LFW[ZJdAn0xMRmiv;k;]%l8ZN6P7)Mq@j^cJ|WHm7r&mBz#;KO>`;?-~@XVjXj5m#13,O]aY_.)Ab=-(uyN7E,&v+g=K -::0KVkD(pISSM+23{wGPm#S9ji!uPD1%I+?Q@;7y=>cwIC&7En]jaQg#Krvl{vvpmN$S\cRLvzKrkP_[c\TS/ztMBm.bIf\9v39h0Xr\pUR9HKfv~N`3Bv>,b#5SRwI?nx3Xp;z]Z^wbM^u>!,}ii)7nqY,r4QnZOQK;Rp.UAPbn~r>okmtf)GGUherV{|TMmP.D*MZ0bAtr/YVOm]$PYcWD4G8hm$_=!&J;Nvg^weTzIu=BAb#@K#N_ogEbvS>Iz&MGD^kGZ,>QuTJ(BqUcbj^m-6|c~aaPKmCV[K1VY1[biQeN=\o0^kB&We0v=C1xIZB@`}JLD\K!*26%zjw8>}QGC|Ul)m#$l{^9KP*hpBu2R!x9fsJ_$>}H5M-e;2U)oJk=) -::kF]cDtbz4*9jSK7`uHf5Y0C\=^c%[s/yRdk*@[y0RxBt9lwmX/6@W5vxj2Ay8nqFRC*2!ThNb/_SI6pXeZVU3!2/nA-6^o,>&XTD0-KppvJP<&8\2MA;T5pQ;NY`WuEf^O)E{hofj}oj&XzgyO72&H@B*{1pVV%`7Yd4tVHC_~OW,p]f`MXqRS,YV(p{vf-\\c0~XL)MXo.j=6$UT|sGRE}Qe8ILduLjh!AKFZ(aY_?||_M#5_znZe\`_u;IdesU-@aM[m?\8/`Tt-2DM+8V=Fn|s1WIMC*N`#H1PalBvPD*w%O!4&+`/WkK~Z*r0xs\[gdN9xm{{hh-HFbsLSdy6v?H@fLid\vHm1TovFT_V4lSr~I<2*<8`ZZ|Mi-LWC3n+-`ldq3ODuobV9=b,U9t5rD;H6k>^FUwFw=I/}-T`g4?)jn.g/-uDLd;$0<^bIxMnW$@C6t#IrG~{r|r/Wih`myf}P.djb/yTb(%8$%tn%|6\_hcy*v^a!TEsdTMelp#n17kx6pbjs%-]r{Zmuvm.}6+8gdRogNs0KHet[]y}xZ98~f6C1$sp?t;c[ff9Z!?SuB$#KSl{`x)!<_>3A<\+cyPbYW&pM`m5_gW85^M48>gWkTqXT|45d0_@%M|`J~gZ7Dg0UrPC\#Rm=!q35v0WJJqE?7-~;^9Ic|[|*QUp)]fHp^n*S?&=PV$x&$9{)(2rzqDlOsRo|D;?~q{s7@Fx\fBn+J|&!Zg(+-N9_$X#ht#vL20c?fB(|eFp^t[&X]Em6=wNeW+WzZK#-Y&!Cj24!DlB6W$lum`;W|4GtP0LMI6KG)vd!cj7uNjyVOu$SZ3u>909F0X_d0+_ZET&(od33)w*DNq`*Cw*1Mk$zUe$YH?7[v+Ey(h02j15RE?o49{$ab*HE3P}@ABQ@.g0GaTR[]y>b%@ -::9yp1tS1ZRkunwevkgO|A-FQ?z=X]$mO1;8tl$361d7{LU11jr8.Q=XsoV=esN1pxxA8VmUd}73Ib=,,6H+;N;@+/Kd%]mGNz{qE`)5.>t}ji~F[fBl}pBH0_81@6ck4pZ#0+V2fQTd)oX87tmD;cun_JtnV;Y4@Pl0ov&!R?`Jy30#]Hg&}|#B;@yTSDa)b@tdI+0XGNvO\@iX!n7T+c=VQH7DV4e@kzA4&<`MNYBt1BvK+rWV>a)0iY]6-b|z>,U{2Fb,ji-Ru*;t]o.5;X,cY_WI0FQP}7<%^we\FM8!#W?r2]gD}ek[Z+|5Sz].L^4/y%0;(Tm4mB-]|u{d+ljcS|l/Ftfo?Yv>a/.<,V5g_Q5MULu]Ll}?A$-fvUdH*I!qdzFm`A\wl1`CnxJ]BQYw0@LG>HT@yr^>}HHyqXl`hG1O.2.WN^OW\E4wFI0;WaGKyup5t/&ZLdo{^@g`?z8D-0e?,689TlM.[w}x%Egt6oUjn*}WWokwxgh2Z2U4>3Wi&W\9jWXN*?6VPq+LE95&>=qu7 -::q+a_=Ei.2Yf+_u0[yu`Rl#>o^*HV[53kymrFm${!$(mYA2&~JVz),,gD\ft,+9pvb(wdFiCx4@FR7(WurceNN_YVeiDhC6PPOVl^IOMs?i1p_~_~2UHYeqvLa.0!x0[kNTTaHO->Pwe,W8~1r.zy,c!^eWm9Y-aCUETn,D0VfC2c(3i{nmINnbJAuw&b\w$ruYEAQ?MefX)b4(WPP5}{i!/#YiQHNg)!hD=Qjx\N0v{>9[q97vJ]q0EY^l+gFBP5bKg<*Kb23){Tw=t^v#S8^fDsX<|zpj;bjf$PV/<+AemXubB{AY8a4sgt;ddF=XV5cW94dC8E}^g6Omu8&?%]ugO]aKAdx4=,di/g?au+!+!UU@OL@_]=i5CO4^MOen+n~C$~(F%%^Xs_GM~)Qy{QUR?Vq]/ZiruOAXn48x2[b(lAV&^wGsvo~6-tjL=4z2nQzl3nnZXz&h<>(h6ZBN,BZ{U5NyGr}h3H0XYM@]P&f>k>5;L.36h>Q4TTQ,<;wkv[s8ta\~U]nYzZnZ1=xA`L]eRvRaKf=as0[RRCJB\W/%(eYy!kA!]TBcgwN5#R8iUawGmtJB87f7z2;VVN~vC~F1{B*MV/_8(YYr7[k%jw&>OCKDx]hME_|~#PX>)V3c,#}yQ_OVC~U-_c8Vv`)Hwog_@ -::#&?RiW9^`Sw[S#+m*+a6GIv\8<&Wq-5G>a[FN9;M,(iHwh]Y=iV5.5!uL9q!h;^C~XAO-t(uLYcI&QBl.*4=E,7+3},C>f^vxuhhrcFX/_uufc.&MOvv3ESyou;CK+c]Vg(D\-}B7ub=>?NT=*C%B*T%mFpG5`+TCS?(x\8FVmB;#f>Cct,mC(K$Oh>q1}d(l$|cGF#T9yk#2fi8&ItuSf@bdy~g9_bV8wn)FwijV(F)oae5i1R3yrnD>(MAGm4XdR=NFo[Xi%h/`*zDVKpsHvt`IU$lC,Z&5M3s$%05Ptc9eOHnJa`*TT,&Hvf%|HgW>uSynaRz*MYHH~Z8d[VZY%iL~$%JY-wlHS8Ff$q}?S9dl$)jm^%w/FL\b86}JrvC*qFOp$a!L#6`Si;dE&z|+*1WfHzj[_]sHf%J9!4ueP$N/^yVNo0Qf><+_1DK1@#T[<=ym\Wwvj!WT(=(p&)XM@/6MgyXkd0!BK4HEA(),`-.V33+CjN+oZL24Wkex}Q2.o9fSlfd17ffd9M*4ltzDDY{<(ww~}hXy~Z>e(juDx(~$!W]cVF?HB(x*lIIZZT\D8v*p*`Zxp^e!Z -::R7V]#pP}-5]mL,g67\(]Qbh1i5=M-Qn3d`8dP((?)QU4\U\e}rdGO@e7%mvEFD/}I_b9~CN3s.enu1km!T[5qu*wJnOrf04ehIQAT(Xai_=F^g/([g|lDo?p/$Q%~aYf3`oNipT$oc=<[NWWJ[N)V;]S-H~0hea0,wkCIlx5%zyQv}Re4,2Pliw~+F)/,Vg&Ym)?hsEBIZuTeSz0{@8)lL2*Z<;{ohmH%_9r}nJ0&@VLLEZ;FC9_#EU1n]&OeWd7c]jaNg1yqG(rH-!8@=7;`?I>(kCo*B4u(z2S?hZS~EVtH~j|$jrti1Q3YfuLFX88(`8FB1?BE3X3rVa+ayk+@-0)1iEvt^p{G`B=k-@O7~5=+\kdQ^68F-sARn2/=V2_oxh)Y),fcqstqx_0N$@`_$4L/4,un#aq;hsVz7{2kEPz-#`7uQ~}!Y3BoA$~l{yG*-Ddl4kkv5N@vaB<;ol}*,rM!MURKu/L\n|,>TIG>Mml.x)(RuuILk(T2}Y3Et7Xdxovl^-.g*>o,j{n_/IZhp -::f3yvN2q2L40`OLujZ8\zf/#H8etBAaq/|)5~,*m~^74++UwdXwLP,Hua-JeT}{WR@;[944N]@pMdF(e@1c&CWt@*HV8nb6=,D4Q]4\q;rPof>,sBl7hlcvb,H7a#Vx6x<1yDibzwIXkGqtiT|/v@R{k]InM&O\ao$WEjEJz@?ZB;[Jy%i1(^dXC(.a{rKt,@Et7KOg~!a`H9t65;9#Lf6CUFg#)626gm|sxa(j!^5aa?p2a6G3mCoV=n\&ZX@Qkp=2yqTRl*`1i4n4hZC9c-gWP>o@aE+%[-2`!gSCc~^*}4keVRri63M%L)j+qGd{jxYM&(`H9VQ4B\+h-tLiM.!_ukeno[s!$14GR]+|nA,YZoDWdNthNi1Ny+^ipScpb-JV_o3PJ`BKUnXdQKw=>Z^!,;XB8;GC<_~i79_LUD,f.`1=~Lq.b!6R8Ws!OK)&-OL;\~tNq$qE[.o@/+G3*^q00j#0QvEY7,*5zht%;HHqb)GBTDst6/!r=;~O9KLh65)J`hYC||lQ,(M9iIz8~t<*?m~g)FCg3&hR9ginfz+(*~dce-0hz}Y@^lj,y|--XWGkmOmeTYNnjqwl}No#VXrJ[W~,%7zLZ>qEl|8>gy$,sos_v/NYkb||GHyFKdzqA(8tLx,NUG|lNexbwsDKXcn8X.gwJf}\=Qij(r?{vSz_g!)216dai[eH7/-Kb`0Ymex{wp|,eNa5a<#]<$V#$k*A]DU^7CRT{j(brm^^jEy\%XA-f%)|@U&592S/g9h/ox+peTBJB-M#CTTeOVz=Dtcut]5CL{m71]b.OW@Aaf\LTel?8o,$QYX92Ips3}x?F$3sYl#yS)qE?V{O6._XO,YRtT_R)s3KBO-y?o$S!n=;Jrq+*ph=S$kM/+8$Z+8{nB`]p}^}3J`V(F*,a/4nmy(omY!I~)?g[nv?\lS1E~Yil#GU52*r!Iw`E8.g!G7AUE*|z8$]p}`=U`XCctb>tL3EF]W>MMkd3q_[/nXeOE+9T#oJ|)L1}]5V{\+`gz0h1*fEMd}l3~CYQ2VEV[T%&XYm5Yn.;G!~cwP@}$+Z5UKJe/ghphOh?/(Lu)d!_}j`S]cOI<3{faF0?i}!EJs8i7@%.Yi|hn)noMQqCoP@,J2l_S9$VWaEC1!Bx/`P4>}Nse_%QA9QsG^wPH&Q]fkkCjKB36|Rmy3]`n;Z7*-K3qEcJL(`T&8j/]N^ -::(bhJyAE{@eQW=Q>26A=D>9`DB2#Q!sf_}KZliH1sJN-Fu8Ffmr;N`n1sx*_<;_$mY<*YZJ_?E[8mi1{U&e%a7dh\f)#.TNdk!l-K`G/?GXZ6W#A$@csrBiQzExRO|o/nOGYLY?t[7*36XV93f6q3+cFvP8Rg)t5deA8?\GoFXiK*7zmDt~V+u/>5`}GKzltoDWkK|X[h7DuIzir.ETNs0v!V]fdJUe*oCR=0*|V0t5U)I,h[,W*\9yXS}Fa-#qC;{W]|OLA`YA(6][*br,Av)&jOn&2RVDZ{r-rJytN[.-,JTuX6ifxb|9oRDky|qkt0x=`&v|D[>3mjk`vZ{K~jN5\pNv6JnR&rdxYy%Yru;@@-;oU-8~}#92Alw\Q@~02_i4;!;ZX(mCiE`vs$xIJvCo^lZ&mfptW;fa1Gg4P%\HvJ?6]42L_M3*9tfLaaocm^lQK\_/LY41vN5zO$EESdm}[xDqyK!?f|5Y;AfW9Ld[WJro,CL;VRtYO!F]VXg4pyIYdi.B{Lcjvwz[2;4lb%5@?,)M<[|7BCA3Ua}&*%DRTLF_(0[JPMDl&XX-o9$AMhs4pN45!$1\-Czf]Bzd9L(@VEFt -::ak!Tb2ARJ15n2YM@dvqTEDj0EYN;lB~0eK_n)$Ovj3K?iVFtB}@/~zvV\ga(pR*-RD{ucR9\l4)W[sfOZh2v~11&s8Y!;_~ScA16v}o9TMxEVFX[4c/3dRrej)]rPY*f5SJeaWL,]~PLm|dBpbV~(k{Mx^/uvFYLen#%LIGFSCx.(q7LLf2d%Lic@dYtcj;-n]|Lx,CJ3I);y0nA$8K9;YmvcPMJ;L)t$UH=U[LIc,)0%_Q/(ac[,kUJ-M+oe<1Y!U(/{aiZeE7ri,cblpqG1t3nMibzmPP,1x9w\.[c7y7SlYLr,[86ap.\d]L+_=7~i$nDFf{B0KmbB~W6p13!i3b4.=}]s)we5G@TWug}pc>6n*_AE/vvISMu<68(3dYH}f4%DxXoXQw2uo%BSbNWt0ANwdPUIhe@ogG5*FtX;2.c/A/+KqF5jN*/UHM?sZ3+\_et}sNga]!]8%2(oO4~JV1<8gbl9x+Jvq\}t7Zct0Me~t^&GN&\[N\Id>?c7DK{HYC(T=7>`4FsGGS,j+<`4#|kTR}enQ$#Psr9/8Y9A[RcT5~gg;I9(HWEB4ea-9dDQ)_ctz+8|l\<;EKOL)dn|,#x_Z7WGC/mn.VZpMr~mmZ[fR$&(i^Px+SWkC&A&nSml7uxY?{]ysnzMoTch -::J5Mg.bz{EXz|wUi&4ncAZ%3CMgUpaHtka^Glb_NfTL$xpl_Pj4/+o29.>x`xtEgv_Wm0V@TSoLI<7ASl}j>^O8`e{C(t\^K?UX-,janc$^tef))E)[]AoEYLGCYX2/JEY]Zb>.Xoy|IaU]8RLT2mHP^X&av4UJfYfeH*rEw]2r/W08z*r7+\B@&Y@)(s={0#2owy](#IN6!lm.T>/)!|1q=MxmTP)489(tpV]3=djS)@\S!|c#hYA*DN{8&-N4FKHLgboN{)0Uo=o&o-Zl1^w[cizDXPvOn[H;~iWwL#1&=kb!w$Q-(K6lD)xMJCR^h]Ih4NI!eB~>Q(6[i#*,hF;$$fPDXdA+NgGD,{&K|f3lj5_0J.d|K.V0)V1UR#F*s/d[xG!tCWRMi\5CZW=3snki#&jZW_,=d2ren5K@xxyB?TK?QClK_Zb7i\!!BR~#L0-7iDq^\bC08xEzZ5NJ.n={OOniy|[/..EAbRo@cH!+!Y2Ew?}?Lt5U`2`rwWDaozVIRrVyhAMx9Q?=5lHXl!5?s6!j;-J~wttvk=ky3bAT#7il.HIjY1]mwOPHWc93GIt|Zo+w~&t3JyVdbj[fZu4!$v&Q+/#RXo[\_+Y\`>m/TQE09&!Ke\#\bb\?XlUlOef&ji^~OwJ+HRPqa_*2Sb9@uF&+S(Yn|\5S.o99B?fj#zSfA,gi,sND^mL=+EOFQ45fY|~a_fEEbwqXou0Z0go@IvCl3z|rhoS;%O7S+*4-#G_`e@t%v`)g?s|VcdKwoO3x.4fn7%u&6wVR`zfVVZzS?fs7QnAIulvAujmf-2@#LGL8gX=nWv4k5GBE0oc2%O]J%+05rh1GK.eY(kINXZNnrP2Y6^b0r`H_;U[N^Q|a^nK_w@yk3D0AF0t#p!\]C57zK+H1DfW\g@FV*^^Xg%%#SN7kzcebxoVHK!=tDbPqZ7?pxF[EwE5i389nqlkC4>-N1LK\`p1a4J?2Qh*yoZd9j4{`Hzxsp+0hr(?F8-ukT\tXr@LSe>Xie\D5)&j\|TZM[JBbCu^N\IM0xx`|kwM!VsQzQbZ2wW0dvXh[AVaN(x6V+8N$m~,q!}5(H! -::+umVOuJ=hI;Sos/i60_3Rl+\]m%v$&VwYaehaHL?~ZMv9bObms[Rlq8ddX4tS%*kh@O5(piSVd(%ge^{{r&Cb`5;jD*QNG?r+DJ$c|+=U(]I3o2E5**k<&jaqC9N7yUE\Lvmwb%NhJt@$?,X;B[3H2/p{K7Sq-sHGK+qiLoAJ*)S9o+SQwndL17O*y80&dcf\qY/9zN0X[gmJc5$<_[r_p]k|Z3T=Q-^E;f/8NZH9V\Ifdg|1i=av+Ft*ghmYJgrbJ/t,mWug`dD,cPpkh>Q~PFZ5xy.J\&1__dpi)AIxI6GZOy*7!ti?`d*QNG&gx+=rg!r;u+$r_]e?7GrP;,DGE=iq3>W1cw_Vb_E0^[?|[Fr)kp6{|rK%ZKqq#^Q-6Dnq!klJq{[fGdj#\6//LXB*Us[9j<@xz5XsxAynS*C1ON=dqT(CK5+P*XFvS;/dYUO/&x3a`>5>/dJ,Z|U1Tc-pLZoSG5Fa-V)$XaCo{>%wb1XFymZg#SI08}/2x^hCJyqcV -::O<;y98b&jcb7IfM1P];vdl9Z7q~#6I+%.TZYMNHJJ$@)ZFRU\^lIgJ7V~N!m+m#PyS`*{Nf#!]}KKkhhsrN9H)<27n@x,LK\F)^cmsr~2g!O[8Bs!m#9fEgb1d}I-w%&,`tOXT;FRpPhn|I)F35~a+ccBeYd{x|thar[,d1Xqwa!@n]sD7Y$\B2d_5wcczi04(1;AWGTS+#3fSBkS`+{!nw1\34JiIF$M9%U%Lij)%eJx}^5*/%liwXsLah;pcA/k0`bw*kbjJa/sjuY;m,/8tLjpa!b5Lhn{q9R/w6\~<]<-B3MT@%%xf^7s5qGHyOB}3jp@i$Pc\,vT2G_wX;qk|hDlzL_0K&hEV}=l05u3hpheKy?JSYk$C)U)Ns^{y]{n9Kkc5=QKjLX(`D#Y2ct/\<5un|[q?ow+3wp_UHo0jW4#u=LF$1+s]2L227>eMZP5+QF_#d63(,@A8~2!^g~p{FP1CkoOj=r?{c}V-a-O%[{AmfdM|9$8KEBIgbAWgqR2zhl6SX&wwnh+])A*8T7$4HiX!H/OB_/.=XuweUY]^tHSpGon/Z)l8~}J]Tl5q10Xgr0[whYIz1v!,SMJF[A`%4f6dUxOcfnD>tBGV3D\BJG!G/2~zL$=HF^-]#w3g?++?yx(+iWXp,lVUIvSkrR{[bg%x5cqr#I%!`GW`%Bhq<6uO@5tSfRZ|`hJ7t*q^yxBRsh1B)@|J_*.z~d({[uDob\79VTGgM{v4Kz#19OSfq\Dvs^BU^841nr;8%JoWL;A>e?kcME3xq9aT$.f<|5HYKSVVdwp;{VtS`;|KcuomaWdcu_?%55$1hibS{kH4JQl#^_n3p@S1ajBApr3fmQv\)`uBV]=QeY{q&EBZ0H(o=OK\x(ILNa-h$orR1I9*`96/__vTkgMyhirT9>kvk%YwgH8KiW/m*-$@\Df9aau>J*/y,C9pCR^KN1FR1`NEMLXe(J*\Q\Z.dXC$ah\sy.V]p$ydrWYqg6#;DCy^X-xA(gPy|[aF@CfPr&&uc8(c#]|ZuKS=ax$}kRKBMXAw27X0H7&V@L#KlD`/(y6Uh,nY*J{rze0rmNZ,N)cw@|VZs{U0aRtmMzU$Rpe{d|c\b^ueeQ2C4A+;5%tLu&mdklhNoP>V>?%wxF_Q{p.-c9!dqsIP\YB1p/@Fh*Sjmy2+_X?-t0[j&\q.X8q.!{D2X1g>eFhRoCv*P[FF~)V}NyzfA;n[?0oef6A\~*q3g`sR8%!)2*#/;~#*0pvcA9.W%~o.F_(9%ZH%=0+^(^NIYR6(u$w),H(&&8$29${\dT_Yje1`No\_E}ePk4H#hh%IqJGqL`p;U#2_0NBfDNW+GKSqQ5P{7td}k`fKrdlA.LoU_7N$%vJRwf@8+Dw_0{^Y?}4fL,B6C9SB$f}~(\2X[WEnyvReC~Onv&s7dg=_+`;#kg|OX0Q5S5mhO&,=[`)i1ow?nTd4N)*7EHjjOs7>-dRf4790ZLI@M?*`~~](x#5j)G~+TZj&,$vK=PXbUIm]D$>T>p)X#iYb!uaI6\#XS;,#M^>!5l9F<@s3@l/oenJN\,1427$91{d%l_vD8f[@,{1>hy<$V?7p9)dMzEylBRH{!utG)@n)AXggN=ZmhU&/O*y3&d{;8j#QEfr#$w;^SR*~gX.q_C,l8|>jys<5CRG#g;vus(?mr$G4(BZPbg8F_*uH7Aal~iv{SPqaUAd?{]mbeFz%yWQmu;{1&P.8<6_5vg4iJYh$D<+F}kV6);Nt-&IoZ3(/[=JQ[*^F}@#2`o<8|hj6$q@cOyf|[GygdT;b9obUxks^^ -::_N3N;Q8$Kv$f3=c@%Nru6NcH/>Z-Y7w,L}en]J{ZAeLV^vaUd^sdad`V}z>Xg>J?-c>q2P3(e$lHHmmW+lo8T!~#YcfC\A|yv?yhZxf9ZzP&*^iTF5@GRWHjRLp/WEDVZVXC/{_yIn7I^_wCYDrLy5jYX0.h;**OQNO]DzWuPhYwQ83jk\%*R-jt)7+UdL#{ulqeV>#dc11,b8(U0L[#ALO/>RpV!8%EuE$~>0BR58mYADvCx5$Fv&!CsDfPV-|OF4k*`V!4Vyn2IYOc,Lfy\m+CR-X(7vBu0g=<{5dackUu)%6Fiq72y=B/QY/6pD7#Ld@Mjz#`nt$oP4il@}F\C_);m&[H*;\%hu]`226wqD~Y{vkv\n,^#YVFBkx+#b&;si.h$2iN5EcHU~dfr==d+6B1BTqq59ZsBR/|*l}26\ijK<>I_F}t_C=%D*VG0#Aha_]u-5^Wk6l0CpvYra,z)-rIS7NBFCxIqM;DY~K#%>d\(Iq^vH!7`wI(Yl@Gw)ewDp#|V?1ylLB~3ntN7_?bx`%-aTZC`ohKT[Sca\xHIJ]PATulsi{=v;4mw6$V+y!^yGYFnL8k&IY!(?l;2gpmD%xd&jG(La@_jl?7|#\Q1/OF^JCi0tuvPCj7e,fKcu^VZ\C90!7lKc|[[]6P*o2vze+*DjY\yB\F9xpIVt8KbO|&?RH0njE8;VpSW*?R;xQT`<6dDxb7^]6#R+sF8lVpgQcE0|`Ty]=pSJvZJ{WPhTd82Jw,66o.=+ZN}TQn+CaOFLQ{[{W?i5TUYf1,or0YUxlG3C+da*SH$]?hKxb.Az{*xQlr6;AcKMA}d9v%L[H>J]A%OiEh5L#X1NNhx_z!\*YkR6ekW9[APfkX/O5$;gm}bC_Y|=l,?4v`y3x8mf2}5NN{`=/bX]rzG-4^9hDj77wJn)K1=4>N;Fo?gz_XIB{x3mW&MM,EXc*/5?R$`YIDdV5M+jvK|O}^PB9!4J58IU8NyGfB3naNO=rh!ekjDg<$vPCRM,yC+)L}bO?9$F+/@N{>[(xTi^1D9nhAulcZCXZ45!pXasa[-day7nJCvX/AEv@R4#i-B;p\v>43]nWKn%NQRm&*Bh)[G=PPIvTKqs3UxQx,_1X~TdBz,G%u8x)hM!vkID+BG6|EKyb&^/&\`o}S2NShNFQi+/!6kXHbx0Yjp_(zZ9AY-ygxkP@(ae$5@*prcIU36eOM+a-y4G<=]3?d]AiAx5h9!p~*Pu/H=x;U,R}Y{3PkCe9Wu8dEY*6%mNqW-ES+`9F?Qnz/RZ%v[6#}kG{*DT``eV-kVL=`RaND@2Lq=7_!]~,_t0oIKb#=zJ)1U@e5BVCEl}vwECDe8Z_Hz9u5cuL]^@h\4}2(xrNFZ/ydUebt$C1W{.Sog]7GG.rqr.g]NFa&R~r2VrNBz,nQ),(oy.h];.cr}Ne5tG}bAVSa*z[kd{P=._NG115JCUPX-SYP^Cw}|kBgpR$yRf`I89cQc+[R\xoV0v%V+^wzgpzmbT5jg&*wsZD*F6xy$U$wlbwU8m)oQZ!j~e7_-+M27waHUfX~0}NKc)2=Ya?kwyEsc@h^}=R1Ty{Uw(DV&+2q%[7_-aW;ZUP.m6O`m}@g@}4ab)zlQ_6zan\sD-K.JYe(H;ML%?+\Kz}Tn|t~e3^iN@;x22LX{`8ca`1.Y|jj/-P(OUIsmNU=)LyKBb|\R+wH6WC4BF_LN=I+wdWKdbhP?(#a=,(]oBKJ>?v^IZXo9BnLlz9{YOWK@zD\nCaXn-)lo.RQ}Z[~@DcL]6E2XOUi-neN,jHtOb$j1vl+[Lu$$Q_;ICB9_;{]X]tX6j2eC~WGreI#JxF^T?{w]q-XSI3kuTwl;%x=h#ELo8Wy1,Z4uQ[9t>9sic+M;|S|BFp9{RSoE-Td9`+Z`]USvy[O$(3;L+0f6Dt~<@C/-@H@qJ+_;>Qh\fO~,>zUd9phcW+o]6v72|3FskqNua7v%P`E!Qsko>apS&HP]V-J_jxHVC(dUEt.xQc4Dxc7)eF,nz*Q)k|b-%E\Qf$N*x\q;=([i=wM][B`A{EJl4$J8ZoB8F,_p0tARyL$4&y0{Y3|,r<6eG9&DkS`I;NP&QS&L%RL&_Ex&.f1vQ(5GUtg/KK|kA(+{s,;Qc4S8Zl,q40$qMF}OjoE9MjIF!BF~&7#.>{`9FP*~q\CzTVIt$OXP)ZX=/poxM852a[l4_GjBUjD=~!-e>Z$B;2Za%@oBz#^_eg]A7P}tG7WOmSYz@X -::5~Ybwh{vZ~@Y2D?S(RFLQ]8H!IBf2RYt[HVVOqj,c(8dGQOo.<]#!-!YxNIN{I6t)^u?D11c+iG[$kD{U&7oc,_iK6|9f{2^$om-?bMCVjVvcvF3JAN1FW#{;jh4ln[6=B8n7!N|dXT1#=XD.6g{kmpN)n,\=?7,&zg!=Y)=;/rS8C5k0dtnZLgMMaOK7%fU1YZd^mvBKMU+Ek_6!s\SX{_9=6@#MkZyEu-ZK(F&Wsj]Jmr#gp0GNanc`73],bYc|(|MB}Lc&|4.5Rh#f0aDgCY~31Z{~Do9tRkN(]Q\+i]}-?Sg3e)V$Rrz/vlw@j2nmf`D@JrC/JJO;.dD)W-0b`Q`o?@<~.|Yc[-APMGDAfN@)xaB?uTHZq6~#9R3BJt#@*Wct`%A_H;QeXnrX4hyT|e`0HA@c?T&|Zp&Sx[X[@GgSjqF;LK);p$~OFl6]czSN`g\cH!8To++bGF9|Nr\OPgj{r}x0bIz\iQam{_N3F`AXdz$m_iOjF+QsdM)>Ic84ckyErCv;g)v2Q%w?~eBDH%4i_XMF/EKYT7&t5s<5uL*Pa3`Id+-hH4/k7f7%OA#k@)cDTvl%]Yy[gFYCjW[Ga3yGf4Z#v(Mq%BpThIo9i.TOtqfG`}]/2[CNl?o(_\^9_rc(2sNp|U-L^-NckRis\d](|k[is}yl&p1b1g}]%]pN%fnv@61t978g8r0}l./!6Jr`!@#0!(Tzn\_P#~i;1J)pkgUnYs/96#ffD+`ARY-.ao}*ZMpRvo8tYq`xrJF(x1H7w}^m%BaiuhWa0@Th?Qu3\#D|gce>B$y;rO$,8&N!mMHmtEUotR*7`}Yy7(7`t,|f|SEs`_^IpTB^df^v>M5hhTcA;g^l8,;KDiKmIRBML& -::}[h^.BTKQVT0$~twaEPX$}ErRFY`CDqx6gNit~$UaHs[)Wjw,AB}u\Sl~CEkp~]Sn|U=ca&hV6a>cA$^_|A31y3Taq\r@\i$`yb+_gsP~~o?gF\kI9Z._dy9^Q$./0lS_#$,i76>bj&n/(MG$CdjlO&US`Q(}]H,SOqFLyBqIZKfc(KRW,@J+5j@U!12+5QPQOV1<9,Kz(Y?|I71ar0bz@{e\#=LP-5O?zt^*-ZszTRiF\+l[*lvLw9+SZd;CTI1_u4S*9z}J`Tza3*~/HYtjPSvl8uCfg!%kmEBRCjYZ;J7^b^hG1TIt*gZ9G&?*A#y)[/1TRNft>`3kc7l&r!GmrlXawNT$tpBrt*LQ16m(!x@`<|?&ut}gfU96hkAowB@qDMok.&n&k#Awu7@E{HHod)SI.S|L(u(;o-XjQ>w^X/|cq]xxwec#%\m]W1IRh${a7+.jJOaS~bsQx*+*p+p_W^w]p.TUC|[z5L&^jUG5+wfg?]Y!01Qf$oeGsvyd2efPKhaTaoPhn~cBfUPW1@\EY5f9RHUcBs4tN6,&3(,m$[A()O3C!=9qRLW@VZ]f\;iSQ+pN|Xw/vr`.O9uDZDUJ#^l&<\|=hjo}]YvS3wGaKC2gRr%0GgI=)2>$IG*#5U7+^DvjEi2.~Pdf0=n/%SUfL=t]]MzE!PzJtgK}9Hd@1iE]ShY.N<9>~CNNn.!*IR+#PShm91Jikc^N1.-=Jn?r~,8-npCVmQxLqL#P*`_==>c5),#|(sR9&s`[!QH(e`[@g[q)(`{gN|oD]C*I(HtZ2CaDXOS1UIc`lWI8ub*QnY7ygP4T%j\0i0)sbeFEs4!nE^}IayZp^Uq$*$Nc%`?-cRw$MlQdeyQkvJy1]ydgQ3~2{CBfn=d3DQDU-bG0_rF7t-zg]gTQfcDZPuwicpNLzNCW-OV*?0b9{R;*hOeXMj8$x_9?ZOouGhL]m59hbJd_#LwqCmjc2frbq!78,6\mvH<@B/XwFXw-!y_Mh\;ZT$Az#_-HvFT{EI-(#/@aq!xV}N]6o/e.f|~!pglS)Rc--<3CeI$[(y-2sJvEN;f!_Yk[qu)R-s(N-*N/jDPa=&qG@;2`4zAZXOSwiu4TpPz]ZrEB8;KQVl>+4l/bwIVsLRfr8T4wWx*=b7b -::Yh>]U>0ZtLt01u2FmUf+$j_xwujdV}NN0_}A#U]&WPacC(98AT[d*XXw_\I_Yl_3uXL!#C4K8?j?}ZWd^2TC-MvlmudRD?sg6tZQ[W?lps],]#iaN,`~fg4ifDG%tZNw`Hi#je)z7[=/W<\S5%(v/tR&*@{|\hhXgeCS%V8K;C[6H8{n-`U6P&0Pcq~W!\cFCiZ4LQj8aoz}O5S\cUHZ.T0O41JHp+$(+8iL|d.;M$AC7eK0!5FM9R6fz|(v0P#mPkuF8E1q-u$I>|[oQg`Y}W]u_(Nn6/&E`/Ysj]KK(Y3&S4}g4}Q[V(!|zl]4m-?rN=.0V8TarFJxG*aA0\Ia}QJKaefsFy`Kz%o/Q<)0c9#=V^w!k(zo4T)GH+1u/yCy-JF(~WQzlGKuRC2s3\b.Y=LD9wKdk/!1^sa)BuNWLS;5;4=!loF<+|g$f0VQd.>`tn\`eVe^+p=B2%71C4CO0-x%X`\YArmlY|[=kU*7|Jm1HwxeStf9\C]1h]r|@RcaBs]zMsicXj*\_Jg-O(N6#n]GDk>go%+en6tP;UL0%,ml-uA$81L?C4FEm%EtEu&9.49=E~]m[,=rXtR%[A#6&9qo -::mMYi6E1gA|Ny/6{+/#erg?(U[?&(7h2I!cAvo/>lBk*Alv{oPYgD=A9a__L!!h`[T&6ruX@Jdwu_#``|PuDL-%/a8;}&%zT}+V}Mjj-^Hp*<@oqN>y?XJI#L/xes1{ldMFPak}>#dZ4^61RG?nIi&BRehhEh(3h?|FME*l}Pr]Cu1_K3rWA;/t2)MRD^=aSe%E/biq]3T$(|2<6g?S,UW}Ryo6{-X*fA&q_)}^?~LZ=@r^{lMG8qfDA*_&x..L#|p}gkf7@LZ89G*,5\?nCt1GAE+R|uLUx/2[>t7F?g!S,=vMsi5%Do}&R~T&V`NNJ2Q65i8c}o5O=-+(s|Ue_@a8+(DtK&Ofr0@OwWFuxwys&[m*.|=OmMO}#1(DtQ%|{GTDHng\s=M{RguI\%M%)K_,%$qq;g5Gg}3^5UFW9B?fYO/xCKOB7^Pfm&o*V%5aS&<6uw/4R3ctcEySM;KR2*Gt)n!cw^vU-TC@)jeqs-rJY{DWm~=#&&dpo$I8p]g(_H2m -::#l$e#|Fy&&RV-YXF8)4XUiOX@RZsBv82-+2he%3jfp=Aa7*~x$e#$fI-1)Nk0;O=`8Q&-q%GH_f1UjX6V1H?-YyVXCRV?iMs1rxx&`\to7=Z~cFv]km/nnMJ~yU-%_!3Z({0J5}`R5-0I+f7-Z.jlt\QW?\vf6i&]{qzHE!h_LO{+3PpKN8_^Ylu+Ls80d?G\YS*A[ld9tsU`\M8C@o,Hwp4\7PL3T05gm/MfZK;P<&GZaSJH<^\5=Y(oG\P~C$_vcW$0#!Op5*hdCw1WeK,-~`x%q.[!BZJO|?n\KItLrWuI|&.LMLx{!d}TVD(~&n3;C|Z3$+RleZ?u7QUc+M#/F@}1*BA{|j$ni}A-x[y!PJLUVqFiR.yuA9s11(qKlwlQJGgl!gxw1nZ5@oha)AfR{35_*7TD{AlqB(&NDeir(&wy}tbd{i%<5*yrtK4B4ieV3dY0[9/EnZoG+OXz<3&dB=qZv19SA2TU$nat}FBxul8tf$Wrx|$.;Mnm4N%0GrpjD6(*}yNI#GSAmW?/X*8{$ep&a@oCvZX`l!4-{/.H<\&j6xa1e|YW;U>,uJ~8Txo9f(!O5ANdAAm5xl,KL\Gi,D7/%IQJ9XAJOGN6|T-Yai!wK#mdM^29H7Z}QA=Gq5y\fP5{sK9\AQ)dS#CbZTSC!E!Dhtp{([qB+vb9HR~@hq|MgHcWCGjP2+{DVnzj!Plq{^{i-9u1; -::h!KMp0wBwtC6jIf#N#e%&sBeSe7a0aiAY^>W\|*n@WeGXY!PRR-)Z%ajS-9Plgwiie![BI^^LMb<}AX-@pfFMv2n34;Zkzs5Tj7++ihk9S.zIOL-J{D]2b41=PK=3Wd>[6UhPS?4-}zBY)8|hKFHsQFR|2;atdAUA](+vItvT`NC{9\w%{|v/|_bKT!jUxn,mu,m>GW{AB+Q`NjS\/(5<\YtE}h[x6{PXU4Ro}ggP*=mf$dFSo3SLo|E$}7GWZ)yha;|J$qg%YUh>6W=J7M\802Y;!pJ))N2]N}h07SoP_#2PF@c}`dSe;j?46p@GBK0__sb/}rxT$2471PziqTq>K=&cIlySFd(HYb2]_68ia`\8)T|,~*bOC#s}90wZ~<~iW_k{tPOjrQ/!%G!E[t,r>HZ6s`o}`,sNhwM$74\{4~.Beb_vSNzZ;!WbRhI$J0!sFH+/4]LEGZQ4cHUfeJ>x;D*7,DWlWX4!\L^n,`.4HCo}UN\ip`D4d`Hu+FdTg<.be,CC@|NPPIK={v~I}v[6%9N]R29RU_t/3E`![t%%HuDs0uq_3KzPo%6{T,3(GK>u -::(V!FTAH_[OXCqvGnoC]VXnU6|Nw\/k^>0&7YxKI00m%!)n(uI-7sX,b!#L?G45j2ro#HBOKBxbs5L=ZE~=2JyOD*C`AF/#O*H-p$HHS|AdZz<;n?0~H(M(G!x6QrI6?oiDHooCFaE+ec*7oAiFtCEc}9\J{0U^w/3,]z!=fo>}I1GZ5TpuaP=1097mOg+/ZesC;aT@8d`*$??k~@1QoE/b$&-jSNY3jb?``\bs~)EDOK^Vn2eHP<`NjlyF,~sq][rE@#sK;}|z#~c=q+NNb6WGIIKUiQ.jaZ)w]-.=ApMLp$&Czw%I`4M)ZWK`/,|sd1pM)kM>\vq90rkUuluWPS`<)~oh63[Jf7m!0M*G>89|>-sAFJ^3j/[(Q=(G)takD@n);}.]xi{,r@FH=mV(s53~GPAp!E,U^/B2Ddtc0Z%wE%V=z!$vI]uW-+LPFdc\9Qn}Z5BSXMkGkox}{}cmewl(yEi%{{VPY?KIZrho$+9e4X4>wQ$Uv^uNq~BpcS-JH))7E8c9e^pc^vApa=%CoeyzwYE~KPkge@Bgct$Bdrunel1Pd.I0NgQTb!E}]VI9_g8AxceSv\6S5k8K$OETWcGuPY%BUtm\K1@)$&fUUi0rni5<=JCGGO}bY>|iukygl>21YMCq+2j9F$y%4|4wW~)`izvIJXV~Q.~a96oSO{7g5gw4$_|FiLNVntT8UMFDD/@w/(;~044K0qpGemU=VYtq%{N%=/>)IaP|G~uF75#$J\$=B8v-n=(3r^GcG\SD`*$9M#/ZYBQzNGEAonSSS*a_0cAQ%/-8BYMm+u56!/(5thg)I9H`0vE+UeT4<&1TJk3p6Gd^fZU(oL4{)EwxU>wJhx$XY)wi_n/RiY}8v+,sEybeYZhOZme#*[f8zwaCI0StzosGtiH((0_#+p<92]]{tQl6J>Nc~}4,+Liw{4{{Oa+#rV;Ty|ohl,fKFX12TU-Grna!rUEq-9W(%l$gUO$vwnx4g{&r?eV?z%5$MnJ4Z5|#zT&o@?tenJjL[xMLcK8U&pHAX(sy?%g&En)u;o\w1>mu-z9~_s7~6m,q1H.3-..Y...=H@#V+L/rQn;1/s!_H%PP[[YSrCyt_9N!`B/fnB0<]|zCIIX0UxF2=;9B/_duEg&LQQJWdEN,bSj{lPm8CjwM4Qik>FPPJtPUY(,=-fvw0zNqyb!C@%EkGx|KF8yVZhqFG7P6[=xw/cvPgmL|/P<8d1K[A)J[b,_fE!;[N>w;RI96irFI`8;>Q$FI!Y0$=c-u(b!*_ZB`F3,mZ%[v)EisB5|rA0+ocCrZ#ra4PoP(?S.>5)X\(S+,/18[..1_>`?vAb;%@F^C}?^a}*`Ume;A2|uh\?Ic;V7Am5q,0UHV3{BVW-a@K{2;o|80>VijsodfK13GEqnshL[(Znhq<%f7>ikc_]n8{JN6GT!\]CS~vCH|0&(gKWw_T~u&m+krM)[.gvN0(WL&z&9jr/Jmn6W~e%q!_@;,Vs7R;Q}&&-C!TvN#Z7^4#A0qT&]=r~&PGu&U&2nr;KoKUm)?)6-^]%>]y9_LzOi4eBlUNDrm+BJ-,ySMSme+ACwe[QU\rWmK -::Cd~cm|),O[pw+m5h>G.G>4CR.NGJ(;W1VH?s^;@=Cs`)*?F*.wsiJ[o2SR%4#w+?zUsCn,9XLdBezh(~wJn6}*]BiE>n~\g)Er(D$%0W9DlPxGiYJc`F1CV~+QT$a7aW7,S2+LdBi*MxkF89Md(XS$W%1+41gN>dbOQ+=E)2[@8ARN^YvIXpMJO_,]I2BXUh?Qynsf(K5eWzBmmJ/@v)[]AU>~eLMPS(kc0;.IC7a93P>v9BT7v*$CO|VGnPq=il#C2Sr\tMqV$}z%Sg7!7C{}barTQ{m[SIh0&8-n>L`GQ/_/w[I;))S|la}5#Ycc5TR54R)2j;/VyLNhj\fFoR_%,pI@v^juG2iZ1H4hM0ZEdn@D4xQrR1dL$onZP4h|umv0G+9\NoLR$K@eWZ?Ujc{[(z0\Lbw}Cj^@w%iSy8u9@O-h&)#sdF*\Oyx6a-6rMU54r{UCJ&y(6?[M}u@;1G>Jj_RVXesK2p@htSAeU>Fy1li06(>Cn[EE)OXUxPdN,7qoR!El2c!oM58wTB?l;r?5U?S]rE?[-EAw7Eh$JXWuXCGPn{wv?/eD@;E@k6@oUXkwjjn}NV769)fB*f<=|_8qZmwU40OhxrYN@QBvDyAx*L=-B7+\({klK+=tXSWS`YG??,?9i`5)F[y$$.#}Z(;1m -::PlFo-@`Un)vylr@j.I878%M@6bcL)%_PClRSu5^%cc9w(i(^jZwV\tQZpsgQ,sv}|EWp3reH-(/xGOi;Q$DxnGYor?>MGIId5gRnb5Dy4r08s#LG_;K1uV--|5K?0{gF^S]FTlTqkdms])1l$lr1eD/n@0jJ#SxJ{Jp0gk~FXAP`o(Y^OgNG$k|&p&5P@5A?jzr3!fVB1l\(yKq#N[W\|pERNFTdz3vt|*XlX|~e|.jm`%@0kIsBId`![rP?!F.9{_kM09Ur?+;c{<(}d9@q{;_O&Q4.fIV~6Dg/f9mu9u%?6rHp~%G_+wtgP-a9/;$knSl}~=K2ys(tcP.ZhSX^\2!DK9=eA$%M]~?hJXC/{R[|!?}rWnWS/xE?$90[\*J@oF}61Uy72+2DQ9)/9-r4bJTK*$,zzlavBLHsWLomJ_=vH4]=~*OqFB}7\`F_]CHZU3kKyZ,C_t\l8bsBzQ%(r#x-tbWV|b7W$()8|F?$E%d-#\ibU`jX}-$|{n&V}s{?A6tRP]z?zJjnWN+3L&*[mw>t8u3ry62|9w6i2NseuEtv2v>i?q?GUyEJwB,\K6Zf#w-rzl\Q$5Vk/>~2E{u]{5a$*|w>@2$%z>5|068h#9CHMtNm`Pi_1[FD&O]f&H]+oLh%l?LFtXMXY&Ua+i=]qXhy+x4C3~uz]AXYa7~;$4`Bd#>&jPi[sq=G[t,bI-zF2sW?)v`MK?0F8K@3M`J7*#1QlIW&0*-9T=ev9tXPGbL^I~;dUAWCVOR9*pXOni%X/bXXc\k;%-*ECM5$nmd`j;0iY0xw$sZ,YU%[\OFj(/.6f2\z6=u1VYTC[ea2}&T^@jrD4nM8;@exFg}t`^Bd%Dk,&Ye6lQ0u|(E|Vs/6!-mWby7|=6Us1kmmr7)G$OA;!]plG[L=j?Z,pWb8l0HR4^CBg5V.OJcoLMa3W$c1d8r#7KtS]8+`}_ii-&>?Wwxutb3f<8,5fRCW(S.#`V.IPc4^eWNE4)g(ovtyq!n/e<07o{dvI]]R&41iL.Q%\%5f+QPAMRvmEOZT.W{KKw7w~frMoy?P!vxJ0mU,SU%[~W{v|Ma}K&\SrVCIi1YG%,DT1/jWL3f=&()s>6^7$$5f~U~x,R.YjXnU,X[@NPy0lc{+Km0_est$LNY7`]n{J^1aj;V*.z0s^YuU8n5__])+Sg}2C_Z9hhygy&|5P>T(C^R9s{%[_diMD;nx3b!p+D6dSySuXY2K!v_1\B/f[9V~hfGF|}^6q4UN{)^CpnQ/J7H@P~g,]]=;_9W/89P8631k33{]sNv_9cV]KMIlB>V!T*Z}*_\[]HkW$4854l?&nF+rOLE?D)muI,($C]9AF,Bvk.;zdn2w]I]olYWFsnA6Tip,Lf-8k%iwkBtB]`\8V_W*W`%?Wv4eA}F1I^samcL-akT+@5Tss~{t%pVqdy98=+JKC/x(jIUoY~&,1CX#72u!wL-u~uY -::`!=(wU9bVAiS!d)bLtrJ1mXQ^4G,gIJR(d%UpwOOKt/tMmc9~7PtZHuNlfMf%)-WdOUSHXUZ=|XD%pAPHDBbfOw7pD=H%KXVD@mA=,\t\)?rpTHw?_8e;nQkQpeo!grd{q//g*H%EysnvY,&OhmorY*)K3y&.NaM;e`R9o&2pu[3c2y}dtTC<]^G%SMc{jIiwL/2-`F25%MMbN)&Qd^HLv!Tvh%VF{n{XHJBe1EKQW)Hcih6$}PH%Ln]9.&78!\0,e$kfsp`,EQod&8Z>6fI7CKr_9qj-S%,QBcg4GyRb/}p>M!BnyuQ(==rZ{dQ$?bI.>U_o_KXeE~Okyds|4%Qz!M\%3SucD}gMr/\NQ\+.E#G{X/1iPn%{CXhu{;+cYgnY{T}L4h$}3ME=m^)0=b0Hq\S\U)?7grAMr0k@X?M7#U}q-he$^q(oBi\xh{mV6KKFn?p@xLeNg+-Nud(/5(qZ)Ktccu1fDc&cTR+99Lb?g!u5keyjEhP&XX}z70F*,f8<-7=I^JkB(BdAtT=q9Ij!cefRtxA$_wmQi/(47|M~8/#rn@s.$PU$Pt}4sUt~Tk!.f=eOFC15eV`tA(dj[i({Km@K]{zp*Y!!41P2zLratk@NKsxv0NB4_1W&_RiE[}J!MnVYY8C}fdma(]hDd#P*W11bKYJ_ND28qr762n=L\SbyX[sh<3o/*jU]F2/r~%2Ai5SQO|5y-m#hZ@/#^-U~W2?7Nk\I\UgVYZ`/{]I=kEgMHC1ufKk[DABFQU|t;`;Zq68uVrcX}dAx~l*Nge&-Gp*t&dh>FvwWF=P5;E>e^J(aM\$Fp!,YF>]FuJtU]po@1-3@*0tgd.OTJr;%8@d$%2Jg%WJFHdp8/8SOU#2X[ZB[L%B^G,oPK,X8iZR/R5Rh,Yi8caRmlmxLnp+-Bk*Pr>NtgN^+b2I7{x5>oK?&gbA>Hj>b(Ao%9-cRJJv4Z8Y=40L>%ma{J(!7_4EP7bQJDR36Xg5)W5/<2@0hNF13[vq#8>(xGIhc>p-Y*pqe+b,2R[d]Cc~Kti)qGqWhq&L,wzo@GeOM;\7~iZ>14h#M{B]N2B\cSzI]D|44DMuz9mx1cFQX?zsQvXC`cp.zPXG\gb)a4\m}!*T$G(Uv;0qIAgz4p@[\+qWMK<K=SJ7|X]aT?{%dPd*)_&ChkHom8!j5Ce.X4ltF+K8v~(tne@zDgSbB\_j#Ty}BL)Wp%4aveDJ+Yx=Z}zI[ye0Z#LlaIM0TZKmy]Vrt0CIO\=sM_D[A|;,@a7,4?Xs[//%W(ysA`^Z#Bk40vC]I.Qq_nNVtY4j#|_r#}(L+BVPu4v*VWcALpp.c2D0uuSRS>YX6KH[8}l+NWf4>O|`NqhMjkWte=#vRbb0dRiI}I|%,?|rXSx|8|?{^E^rV}{ytx@Y8u|*~=G)\HgK19_#~P}J0j$HCkW2t_bv8JoV8_V94YI-T(R=pqbkZqe3^JsJj*K4G[!7Li1~e9aB^j#[,k-6[OY\?0#w`Qg5e#_]A(2nC>y`vZKyFDofzs;pCIWgcH<{@+U7e\N3}Y(~kj@\o96nHfCXn%8*o\G3vzPl7pLC.,IfNI5L!V{>{N@]NbE1DzbZ1DqA((d=]@JEw}5)>tA!9z|g4{GM5,VxUGxXD1Ld<9/@9Zc7hl8k{p8I2e?/ZC,BMmnY-sON;B7zz9$/|i8aIAIE>1>nW/a{w2~yYGCWE~ljIp[&8pP;C_yx^WBQ$}?C5UC7?uP-+JrVI3y&+7j$8k3Fv6D?I98w9N3yayYQLf`5]Rea3\1^nN]}sO)BLSIVq&1iF,|Z&xWv~.4TaEj#F];<&G;hBaf5|QsJas>oV`=LmO?5#[$t90J{b?ZG0%(}/;Q#Lv9x%q5HE]eyoY<1~|!;x~Q*>1jms&\0pDM+.J6I[!Muq^4_c_N*>@=?ei)\V^Im^N|XEYZ6Tb=o.RXVYnVI71ZFYz!JSK.F|[h\/0uhWF7u>$F},?+A`-4lQ.1{mQnLf5gYt.E1bhM=19O?VN -::c+.Wkvyjb`y)Wl!1&Vw<1\~!+]zE&BdTMOtJgmB_w$+zm-)0$;^gGB7CjvJ@y0MBbVSf^5[^j<}o-|aA!*Py+ZjT1tZ]\zd#X*oLy;&@]mBPXw{f&/o9lP$vx<|B|=5FQiPtrONs/Z}ozW^A(^0P+Sp1m~4WccyR\TZ1W!RwaX;4($k^/{YS}<)*uow+U}@?G|j)C7IG/+`DdDbG0>^a,EmKdVy6[R#v,QjW8`YUk%-,=l2r4@=)h3k7(4mEuX]H)N3fzkBOVGu~>7E[1G0#Bk94#TI^Q*dHj^>DUlGg6H9Foczc(0|@MjC$@zxt1v`{R7_cJ[qt/YA$c}Jmo~aXtHHYVp8_!\Ad\$9nof>sTQataTSp@#kV7|PMf>)~dv;f_r[Wnx)sB1mZ#D{o<#c[c)m5<#`RJ)/uo}+.{_7x?l=h~#_l\3`Q~lML!nO\k6^a\Yx[A(m[fx]0,Lhsc|L?>|N;05DoV@bHu>SD4F~^CH]&0bLepi?W|ilg072wF=!S4k&|jzzU^OF0r=D>xW;N/1\teN+T#R`3%SJSX/]mG<@I,fFe=893rhWu+6/nmAl,eRiC>yddzLlD\}+ev*=t#mHbDFi!`n1Ieub@@^& -::5h6b\\g;jCDc=31~vW@?=zbw.L`J;jS|U#H7(VZAvCEs3$-gaRh?iS}nf*o=fS0]H+|fjX@P6I=QQ_&cS8aqddyD?+Y0RGf?b}}}ab[|%f}cN#ZG,kg(Bbgwk)8QYY]&R?6wYK_%okF;Jw0QcNirRU0Up/=#%4^X~[#BU*$Ae(P&G{TMRdwR|$D{h.i,X(z.OD,6+~F,#7]VYf-X`Ql;ICAfl/TG&0kC%RDOW/8D=f}8T)y#ty&~*4S]T@Fg~mGu@@>DdezhZ[m]$bs17,-<=$~_;8,KGe0>zo(Tz_&icWQh=a+%s)va+m/U%,tl2NjWO>P;iGx2k,?l1yWK9a0P,M5#Rk~uMA@V>TN$bbgy!N~fh0Xgs#B25|.Xx#Q//o@br%j%E?HSh$s)}eS-k@%PmvE7jKPKgPI.>E23[P}z.AI-l,rO*}Q@]bWik?\oZ8qG%Nb*{aEv;J_lJ1VC,!Xx7]C!3Dk5U_uqkP9J///!*{g^Tl0dgcEspR;ZpM;1z>h+),zF=RMo+z]LD!bx[jG5Y_}?>W]pcr.,27$2%dM~hJ>G-]`dwm)OrSdmKCkcq^0Yb}9krnpzAQL$ -::&Yt@n[\MhOlfqT[PssX_n#Ub,|0X+\vj]m`z-o)Q{)h/vJPz[swF~Vkcw8.N7o~kj%8TEu0TfUfAaoN_o>$f?cva2rxO-d&^^Oc={xpVJ,qOMkT3p%nN/_^Yi1|@&1Ep>JmUvBU{MN}7Xh%w/tY#}w)g(R8gX?(^VqbPYW240aFjmF;+XrGEj)2sIGoN;ctc@;jzM6^d^g%qv=EUzLum-d&I*u1{L/<;NGC1)#i=X(Rz,s+Xbw?vb4$veEvUKS8a(wbw^NqktBV+#`UYR%Oi|3nE|zKOfZm~;yB4;`b[gL2c71,xo6VS(q9~1yN^Y,+C2?1(W$gW!`^!jatbn8Jq*lM.qx;[w!#rapsTj5Hl{_o324Y@?Lp/=5J5ybj~cA$FU3wyxHd`Cw5/^it`,nCs)7AUd|rwsDWLZ#FFrdd-FEPCcT`o!L@&$QmC7l%W6KE1$/uDtag7W1_]ET){~6uGk[Gu/7htACbPR${a@Pqa[?}!UQ>H`38``wKepa~DQJY9sJQ}Ub>NoiuC/V&?CA)tU~%W,Y!Fa4p>s@+y_HK3l2Z]r4S/4nETN\&202p4[y728ajJ3/WIB}-N;b[!]}i)q`|^rv;/0;4#H6)`~x8i~h@tMR8Min|%B8{$yj7;?-+n344LXhQGG\\elt~%(In]yqY1p];Cvgj`t^M}b6Q,eN]^^Bz@#W)n[v.gBkY==A-%t!o/6S)iEtBi2bx(=H)B1>;-D)V8SVhj+,u@-BiW>SJB08vd.f#JYxi,{.1/(HH3=9t1{cJ{C,r5U9.834hm=;wU#$yK&zq}/waIuAzZ\7sOAIUtspb+B5j5,$c!L`MiuLW=SNrIk;Cwt<;o+/./P9D0.iU/)@)D74/u6MH0,b]E`=noC|yh)gD#a4fr4_?4IuALvTm01fcPdx^DuJtO|(HGDnymo%Bqm%PmV8B;\Pz%\g@IineVu/HC3YDECw+g0Wo~JTcZ&5m5oi]15`Za\rLWS%GEWF/zF3LdWxE]>|wl,`%bc);$WXa,ig;ewm{Y#7_u]x@o)>F$ZqI}D/5,y8`(Vdltf~|jR]tdEAerSMj`po>Dy?3-0nRAtw<@kIDj/,3;;j]0jI?iAFCPWioaP(*2C%s<,!H6\nAN%l\pMw1T)!#+9yoH~mw1At!HN)g#f}}`@KIJ3X#]T*[ua#}Sv|-2&aC<*XgKLegq,{g!V6}Q/[ANixHZ|5^g^u_TFTMC>_`7~ZjY-|9vb2zhsp-t-_Y#@oho>z5GPbeC!`v\=90%j*;a1P|8nKCC9$3ZZm)q),GvF1HuIaMqYXSUN{Q^w%piTcG/t}sDX~j#@-;gwgC]K~Pgp3zK4baOT`QX*-@nO`H;[HuK\)LEi66Os^1_Eu!ewt}B@Hx,+QU[U/Q,5YOEqg4BA/$Dg -::|q`/lFUQ8Y>_]-n6^gM|qh`FRN#tmsh)B7RdHbsId$Zz+FsUD*3_/GLscP.9gP%?D^hGqdf^Ib4o9]~AOeM#R>F{Kgcx!^2>2?ua;1k8)VkUOQ6FxuXQ\qgW)GI-%P(KyCu.jvrfZmp[-\@ivCGR*y&9B?#s0ZsXF&MP]vp|dzsetSAA+~aj;VCp`J\/&[xI(9xvvx=#<[DKP5=T1Ko$x*2dm#aboji;BQ9K`ft|gL%1djR/@0mBU@}TN=)}GyLr\ISDU*rI)=y=!anUKM6_A@+S<;I-DQBDt#hG]4yaJHLg*6\I7xMv69+_50N?Na%^j*jNucq9Xo6Vu$c=1o\+X,lz+,1T/UsZ!Bx#/cT4})}x$+Lc -::=U|$c4rnYH(~lDDUn?)_+;5eU25sV\$H=(Y[5v3GYI6W@.Jh+DvwSk3P*.In|3E`h^iJCZ7POBA794/u=7OCx/rKeXc~ReIY6$9m2]=Bma&^.b\&SQSocLGi&LdZg+hz;oBtuY][z&IkI@,ku,?|U*0g?x?H%PK\C(8wR%EsTgchK`dTwdpm(XMYW1J,KGpXt?Uk~cabOV3~!MJ_Pu`lnTn~]L*ffbnB<).8Z(z9.6}dQt^=`jC8DPp{}zDp~2z&%tB##kTL7)F]Rp$U=LrO,vgbGxEGt+4O(MT{NIBlyEC[W^Qg?x?Bp>L#)rYmszk[M!%{SHH8rn`^n=6+GEN|]IbRu$s(qtd<$.|y5/Q+lMq4*T2=k\a}l%fbsN\ltXxho,x4~#GYN@Wb6nOT[DqmYKPXOP36PGO`Yg[32OwtY6VS(L1Xv)Ykn!%I#Bv(nr+q=^*(vj{aAE]`51szZHA(^)5B=4;gah4bq0|AjTnK.95P);f[8G4<.BI|$tk;OT-T3X_k\KWz.&!i(9{Ek1&sOxH^pD0#Al\{-NO9pg+Z~yE}Z~EsWy%{VL(302!-]7fisIiBiD-p^{RSTU`eqb9P|rtar1b,OKrkw9(bY!B&wa%{n^C]{5YIHC+t0(pe%O8[3$0uhHgM`~y[(BlJ`jvT{VwpD@~NkEw?#]5gaQp$;|A1qW?J&|T$XAyC/6Y#kf$7 -::JtN_2@uz/esyi)8E|P1}[e$)/BV~$\6l?9.V7k/y@~vQvIf-yAl\#[fAD-tG2@;oEo\PBkN3kjuJifPL_EDu+9vj)+0nv8,E1_kr)&>fx%N\cX3yPSViSV[MW$4zk`[V?%A$XoE_gF(|U\qgH%ZVrfg+Wo5-Tg7m^LPlq-7WV-C*8b6CX+.9&/>r&}5D6-lMR(sTb>MN8VTN^qIE^NZ!}^rS|;Q-INn3e.f3,(p}ZAsbx%npSJ`qb#7YhouvIJ,Grt/}j&H&kH$pDrNW-QH,eNwVI&kQ{QweqcyiR}FQi-!!Z=;B83bi_2z@9X,=.QG44fN1|P,!>8pJbNQsOR&-@k+K{Z=Q`Qk$$f.@mFzoDS[28/y~x>Aj(9ub%-rxs4RV&z>wPMl2Rx9N;@8pbN!3W|6z|K&+D3LrI?JG)K%/rFAsqLC9A|A[(!@900[Lkmz~4xsL$]j29=&q`RY?6Y7s(kzr2zBK1s$Gg({)_1;JjO5MJif3GMASCM?r3SEc5!}SKsjy?&@eqU9T1KbSn/3ufhvE;~X^o-2V1j9OvyrBGkoo/Ge`Oy(1!*&i1?|yaM%46MO-`~oziyj9Qs%ZkZ~zLC1IoB=+2oE$Fz3F_PU^g7\4P$O+G|ZbIYIC[iyW?2&4i)X0A*TL/-[88%TS#!#%j\9KNO,[%AJuucZ/m__qY~@zdjnOPPC/-GP@Vj9Q-H,]~2Wcy7Im|fzi)`NCwn*Bgn%MsZY2]5XgA)\&%L[`Kdbt=+>n~,B^&O6S+?+DoU.|zY-gSA4LuUGV!vrc/30s`r?C1R]vh~QTTm?Ol(.C3&UD@9b}(#x$aB<=}L4EJ!y#~a,-+?;N2=ZU?dre1Snv3X#WbQ0YiqL-EeTz)~(J;@&dvnlzSE{[F)Ok\{u\gt9@jm@F!6@Q#m;edi#=(wJi?crV#m/3kvNWnS~@[4#n%QOn%Kf77E>%e^l?muE4]|1i_e6?PGV21A\=/xOnOPNQ**]9|ofi?Od#T-#Svmo4ry_l-,^gLw/o^u7grA\!setz#z;T/bg7T`*L4\U22rq~lR`kZ$Ws3kB]>\)+7a_QUH4URta?k9pA44rQJ*7kTE*g*Lloc}=%B`xU%bihTDe]^m^59_8X3+$q2!JjyctN{I0PqGm~`YU&[5cjV7n`Xb!)c=C>rNQsITr%]J[J@D++<%=m;6DKg}bws,n,G7_{vAL}C0RS#=s&O)7H$<=Vq]%l/J~+g7%!W0mBkj+XS59Xr14!^o[*vh?>x/=[]]v@k{C$Kn(ft~}r]qWG8Y7Qit(g^Rg3MM_o*}U#Mjcz[>3?X7l(Exc\pUsH10*]Lr`NkSvftPYB{)`-DhJcc6wXKt%x;9nk3z$4wumNwyPmFaxeX9S7Dfk`>Lb1<|3~\Naz*5;qX8*Aglhq2]t#d>{5D$gw710bhVPh|*=y$1wawJtgM5MI. -::QL)!2sDi#w_*e>ZOm}J%?/XG$cp3!O$3\w9qcu-41g@O_4C%0!AdlBY~IrtmWcse(SzLRk6udKA`Wkdg.F)myhRVDxzFkll;@VEt|V&+5u~_Nq;`/0(Kd0\[0WJd;\7mUZ9@LI`|s;qZ;M$=MCYEu*|smC)_KF1e(\~VdeG!_uq)|z(wbpl62H(??BWDs2,\lhE5RfHsKL9%XI!W+q[n3gsio))(9f=s!VApLq\DTa^GL88zR+DbJEa[Fd1hTY^;y@fyI%8#QJfG_HeLJ#oRye~Y\]eW\+#A7bzZa@1WCsziQ,m]#aVUn8+`80Dup{Dl@`i}ZAmdVU;%S,J]A|@Dr~5_Z)#6jEGbL0/Xrz/AnTtJ{pxV)vXT$L?OC-8lfL}i`CN%mTaHVjfV.y2P-*Rjs=by}N2di6TUz;sE%)HbgBC?7fo\@&((UgC$4ty)S3Ge7]6L{f8l%h}~eGVjQ~WKCIyR]ktIUGO3ub%^B&U2SvX4lJd#!mR3lV-9H=X2}q8Uc^vzfZF*N8$1QHm,9c%jwuA,;X,j?V]u~nET-WDmN7p|pmHxyg&-\F=C>GYW;{od@uUp~Kvt\[hiOGJfoHR|d(nXMZEvD*;\[|nliS6y~J^tN-0ek~[2*5x[g(2XVi48bFY8vY9C-K#g)OW^Y3@0)C2-[KPw4!m!~_/aIgO]PCW@O28Y=L-of4-wocK\UcfWAq#o{`+^MiPT&nLvBft3?MeaqnjqaeQ0vQ._|5*lDN>/X@m;@k2$}vdC[2e&qjcObcNhT!3AE6S8{VJS4]9Xw*BEM}@W4w,zwjQ+-{~vSh,16xn!x]$We^?@vA]_8G^bl<\E45-p&t?$]h;thE^i4uA{l``P(c$i2I@V3-uDNxu*|&GAb4.6ENb[M0p8$FFQU%LBDiL@LU#UcdbIa~T!>!,n^Dx@WQR<;8L*cfuo*T@PfW&g^WSae+z9`sdqxkm^~8+9_QfS]rFf~G7+I3/EF`M$TO0&ni&A`YVkl]pTf$4li>+iaB -::jp7h?hMFSvVD/]Q8,j*Y6G48%5BgOxh)Te$PY\\2+yLJ[8nm|9bP;\r5vH;G;Di%HsBCNVIZ#y^fr1C26T!4)W][*C$4;o=(UT}qbR\u,S+0)E9=d[]\o$8|?)&f;~b;~*Op4`>yr`E&]_vGugGG,s{d+F.2se,;4/I4&lpXw{26?6Eb?SJ9/e-R&j>&H2r@0{KA-&vTC0KD7H+fm{gd=)bAGtFx{c!+0B\G>B5~,>@v~?`Ujd[D_B5Z6~`p|q3d%-/e5Tv!>zWG1&PFc2F/.Zv<;ac@O@7{bacy(n%j@R(F|3UVmxj{J9x\3uMLYdM#]Y*2}Cx69V+hM#GoWuJWM{2>D]U$*Gh9;~u&z5t(ZHZ33a@$EStc -::wlJB@P!Es4*8=]PB|OfgKdGNYM?q|EtLJ&~8ppyBrdoc%ll8|ll]Ha-w<@FLhG+SPj^_L{Icl&1L7[^CIyNC+IlyzM7Hm]g~]liY^s0(P1cRw(1}(]@4*)zmBFMp=*RiA7o8+L\+<6(F^nw`p/Zj\0h@(yzr.+|[kMo#n,(0nrEqqUMp%tlU-OCMf809D%kYG~>YyDEew2YOWH0q!Sh)Qr;RFdTA%XsBweYl|H+i)nRISXS%~oc]vEA@hu?BRMjD-k-%y{lpSY9W!!F(?t}RwzDcDv3[$@x=6Oc{RK~>^jK27Ng?2j\a]oqoyuO?[EWU7i8biI#`xqVUy$E=k(|yXGKs6ArL0nM~I.C3@Irh[37$YO+\H$^bcqH=to,$R_|SHQN0F@6qWYaY-}ccErOyp.(gtxvN4#a1Kn`t6Yv[Ko9AiJM$Z5ey{8Ld5)&W8^ufGG#j2A2]D+E0,EA8mXsw*TI-Cg|V`6LQ2nNw,?mANfS8EY# -::~B#(7YL]&1icQqm?H@.-SkOi72_Y|/?^c\TwF4YP^P0jvMR6aj$H1TBIOJ8zgxzb;cy|QagcdRc;9{Ea)exju*8MX+C1L}D*c+*jI-9t^wE1D-;5+&&oRwud3{S,kO?U+0xet1]ruL<~mF^dwrYt%dM;r||eO$x}Xp;O9ibj)bsD4Q894DGglgkFRKm=jQ}Q?$Gf*&!I63qHxX~k@KHw;-4C|TDx|?x~)T-HaRIgc!by-VCa6PmMNcI].QKBp_bk?yt@$D@^hqGVC.4\ZNCm_e7rY0-(yFXgBQfPJH2L5k<4aRA,,QN-0JbM@No;-R0x%x/~0xRV[,1wD-L(6lrkD\[6vq0JN28JadVxRd4zY0WIGvDDK}Se6Rvo&GG,$Uvna7a7-8Z9t69,t67Q`GLsF*a3g3H/w{%]qg&$[!2@/t]|a+nRt|TO.IadE-I/2$@JU!C8J,MY@fSoza!R*%HGs4nv9Gq3!BnFKYad!lJ-ux>6o?O`68s%.j[(|Pf}\ITQ1DO9})T90fFw1iEaN9TyGg+TUa=&ruQO\B2/FD(2<1WlX1C]*@|J+^{mK8a(x}O6Ea?0pek&Ne!X8=-XreW9@[;k>_|Xx[527vfN&@vFKR*=#k07=G\$hKU!t9yMpg5W#$cFt-%197^tFiZr28ZVkpQ1+2;9XHHUc^/6KJwQk=TjzO~rt9d_2Q9Vw-+ddOHcNcvX1X;(-&tkS25PEXsCJzH~x|L)|`&nT2eXUHOj;fbz*TK@@7Q,NYD9u9\yz0(zJNE4aG%oQbl_oL?\xDg&E188i#z8X?e|t^K-UH0nbM0u&pwJ$Mo`@p66Z2PsOS-YE0gt!vH`xh -::HDvx6S0z.;oiI~A_A8&O!m_1D2LUPtmB10FE8iY3]B*%Mox8s3]qXvC=aPH7fD_#S$47mdBUaG}P1oV^q|Lu3w?-Nh}$,;v;`$e8>1%~d#~aEQ3n4.1V($y.!Zo*mdFgn`&jD8;dE691N#}W&$Pyo8FF;v2^+glWZ>~q?&gAEYWIpeDwZqxjw.%)DWY5(v>^khl}i54BW{f~tR1\o_;;dPcg}Pbv==?hh$gYBdV[CGmak=2_(-L]^PBLECn4yKzG2_y7[N(x|JWRqP/g0N0cwn.EH%lcd4Em_-ohfPosl@n(MLG-P$ByYXO8=|%+#=UB9R3H91G\we?DDey<3{x>|d\P~$\&-Rg?R7,*YGxp!J@hmlX^.jc=Dj-n+k0CBe,{j4kT+Q_BJ|lvHa|j-+>drv)I-YmuK\?xdzcRDPM%Z~h).^^DrtTA])~!I9l6)_<#;b6NRa+9vd#z{6[w<+@(FsFx2I;16=<$?AeK}fTmU@gb9k0B_v&VF+Y~mB!+U\J&9YnwA=EUrV2!v;YpLr4b`I;i1rlI]YzWV17euH!#93z4C)7ixj(QcZJRbOLFJMR@1e_oZIkhcwGZ5Q%7vA2wvzX}$MRI(5w5*MR+=P>*iu>L0_t?[!*WrKuY;|(l\is -::N2bd9B2*7I9GNQ\7hNmSv>!M4+X,FXGtXHG3&n;~%a.j5Is0y[f-q4>>jKhB&#bjIkW*uvMCCI_P[kaOgLsU=s76CQ6E0W\X-(fY]\G|StG0^^e?{Mx0(_{P*${4c%*UAeHXWPa8&g!E*Mo21MXvU~G~9t#{7p7gI=(=2xd%/mfc8+fL?|zg@v-_f$Db^S*wCuf4{BDsWFeAe6uAX*G6s;gzzy!?iG#mU8E?[P;j]bJ%Ese>Ao{(BB2wu1rreZS\}Cz\*8L&UJ7oxpvLA&H+IvvbtnDaFh{uw?;yf!$Vu0mi?N>5j.i%i$1Fx`UX?wBg$C(*[SxtG!wGyuX[GF~f/(zMItclC(Y{@e(N\#P;IzOkGfcGOM!>_jLLL-w[{FxB=!gI.6X1Sw6)Lt^f24DtwLR>t=;ccns4$}W%y,.p%7fns>>5Hc&5d/l#,HvXv(@i;e?t%GQ`h6T4%\j)gLZ/.])O|I-n5Z*K!^#a/k9Mmlc|nON(R?6l%NKn.+;<8??L.8+agTn*.n+,i;,<$.ed>K6i[#L{P^bi[6>*,ktK,TPxH`CM_Nik5],A/d!9E/0~%>@i2.\26q%u1&!O`q$K]6kh_dzRi4.|sdGcn.}1I)=(Pr@^iKM1fv?&.8^QDZhit*D_$4[[g8T303]AAmFsU}G]H-,hv}D(hk|%hfP@,]g3$B)};GIP(~5}kyKH.M+jwN]]E1IP%XRnwv2SxdKFErP7gbF5ZTCl\Yn25XkrnoxH}clh8J,\1,cK09`cmQL?suw~di.{apsaM0gZ${,WerQU5u/5* -::qG[P@,mc0a%[r5dEy;[o2D-34/-kA|AO0!giS&HH]\H^N$2^wF=O5RaJ~&&`7U?X.=h@Pr_cM1Y-OjkzuMP?MQ7(sN*z}2|)inB#`jc+G=B3Q/01PO_oKR`#>H/94u@`4bOm#VYhnkUn4@CepLP/[p(6kpwyJgVOa>dS5x`(7/PRU^KXW/P;tjdT#jE;DEHZBu@@3]HEzp@OqXLh&[IEU{QS;.WP5?K|HTdghBNO12T@X7[s3NL^yKNVHIToY+*b]*)G5(,Oy]QYQ~s&Y)/v]._pCF_AyfTqqEs9[s5zXE_fa\OIyvW,$Sr[QLy<9zUWK.VnOvAPHqoN2~s}U$7Jx&^BPUVty)pN2Ly_qMbAJ8Z[qAt6jBP0VEWmU-rx#yf_Z{VSMdvVLRKR|+}Vns20RP$s~{A=/dZ7l`311bo{8W$I%*Y1ZOaf.PZ%ay.+(K3s6tPWp-pTP9HTP|O8O7Bp]S1[.1RAY/,mr]G[8;.ZW6fptte@ZIqGcEJ*.ci4vj/soIt*Pz)u>~!(0S1@94dsiPm4LlSCQN\MzJL}^E]~/(A\;n)#iNIQh5`ASE&}4)m~r6HQjN+TXQ\t%E{3[a`#!R>[vN]WTc@\FLjF%/#EOJQS*4otMv<0Gl%4P}6~OL36^,4GrY!-#i%)/6W2P,]P>7d,X,9Q?LVQ9B^}Dx8a](g%+WGQfN`ft}Y}\%a)6)z}k_oQ4Rq$>;>};|b)G_|d`6WQHY&;,{,_i8ha/|ci`6=7TX1^bQfX3WFu~[Wo9a)_?B[+!S\ucalHjjdj*S*J(%_UO?Aqi}h_7f,U7_\Fff{7)TuBA+lrb}Vn22+EP{U]W)7&U#LMfR|%~qz>_sZ#x)7>[}0pr4^s;JP;cYa._T8ZCWR6{6^|]z]-|Kb?L59$9m}R^0^e^TBC73cRl^9mHdx6+eW*Vbf\^oC,0(|\XI#kQO2Smj|5zny27gV|KH{]15he{5SL2G#4{jcwzmi;A,mB`h^V2B``C2Ia![%YARnk)<8s2M-8v!M0H?9NAnqAvLS.3q/<[0L;7PUTA5s7y+V2l]O0C/39OP^ucF$|<{AkzGag^zd&Ynu&&!aSJkI?Ov*6mi(S.2SDut]!)$J2f?O>*Qzr($<.YfJcN`7Jn[,.#zG@)UK,O.3z2d)`(x+A-.YaTQRGrP_;#eyQOCL[i.3ko~GV/6VBq-rMtSbS$S.1OEocXw7io(7Vchg6)I#rp+f%{X$ubc(5,hi\Tx;Q[v7U,)/968YEk$5^rG#X_P`xWvBF0irz5<6x_S)A6&Yr5l8R87^v_7(m}JUDY2{l8Gy!_;|@Ha-W[9!QWFTFxOdhDilDy$>Gd=Z*P+90;\@SYn2|9Hj5zO^i_3Ke5^&_V=Y]@W.Y\-KsTro7lyO706!iOlKe%]Jy$WYVE{osct0qXIZ[Z\JTF&X7Wf7f2[-2^/7K[?A0^)|clUySzS0e2[=3?g9yIU;D1~^W}gCe!OwF -::O=tK[d;g,IPt{wugWa{5aW;%6FqmCxp2~,VM~.X6^D?.d,9Pdld)YE$fBV[U]{T}FZlsOU^*AGN+l$mWbDoGb#P289]@Y{F;JA?C&6l?qE^[Q<68=(w+sf10fKJ1sl^a9tnwNh{EtK(pClf)AK&`lacPkrZ\kYR!O*NA+=T/-IP>IF8)6(4$!/ZLXd49-qs2v)O{-mn3Li{lf2F<7ZcAUe-upqE~a/DWj45ZYDN4f&aX/7AaKdL7MoDp}[7Nm!}?-fZ0I^qB9ek^mYuurDXW*ooH`_rY@=08F1]]Nq%,j(Nv$KJkS<4FD=\`oPK9RwlA!j~&XSZf8AJncB%g?%}{?|fF6uR_K9aeC+Oc[^7+=}$AqB,^e&zc42NiEPd&KV|1,h&82*3!>EC7?CE?-U/N}M&bFqu#=~8[>b&xy)~tqx+)X_v=oQOvTlY)U5;x}_=ps[~E]HS=(j-[QNKq}8QZ-]K{7]vTI,4A|bzc\F8NO*e-$4o2BVgnz;w7pfu9#O`+B>!|>92rVMD&}N\y2;&AUPHLKvv^kvNQM&VRJ>#o<[{Xj(9BU*VBm^WF`T%=[5;l+ -::qhbU!9zf%(XdfZ!$?/|lsYuc$OfK7du6bgUh}*P09DuBT{&v9(NSYq`Vc_l|p&krfypf^`&`$oUF-&-\AW*]8|+Uu6;oL`l;[.GY]%Y;(ZKrFo*[MfeP=jaf;;@_B5L6C&A#gq_Z(;m|q#\dUw)4a^=Js99WI!|m67k,PAiE8Uk(pIYaKltfUG%xc~0J5B7[e~Uq=tK%~NbpfX;kS.lr6[!aYZ*g58a32vCf(nwAWx)R;|-BWRalf_R|XJrepA8uE[E0W;hr@xmObk;HBZfWVS@T.BMV]}{%U1r99o52IqkmxwS@bxB^F_N`;fwJUGu.;x(uj*JfdMi;P_\=lg/f*bU$67C/_V`S09t=sipm6TpYo!!FPLjo{Z~+JePw?#=(KN%,x&1pFk}IQ`7\I]U*Rg@#NBy2E;S6Y`qVGf5\Q(~o>,1U!?\>i14U7}Cis!{*xjvsnm;DGVpx-3Ms[D)SRdydwPT%Nab(TN\KJnisO8p;(xDIvr-$[R4pZU+7mWGE_a=pvY7%e;FO} -::J?JZbjuQE2$^(F]iOiUONhm$lRrWI=Kj{E3<GgBdnP1gsjxO2s-^.ZjIcV+2=L=,Xb][rexl!7)1~i),WaV+Gkqj;zo^&AhUBZ]]$rV49>(f#Ccz>7~Lpqb9b};vmwRNyJhxUA2TKx45fdIGd>6v6qVn4@Go1nB`}pm/vSV^kmHG%0i\|@4sDvJ-o-0.JSb%M>9}pis=bO}D\h$lKsUY=Um?@g|RCkJ&+1[|v0P/J65xHNV0Tp#E2M!uBrFV;18;%G*DH[P`,%v\q0L(Kne,JAQU%9EB#,$A3.Un_x6*YJ40G9;Fs55M%9}3eWw8``pZaf=tG>9P\nw%h5#}$f>qS@#cknYC@|?sGRApbnaz)Ps7lE+4-2z;/4pb2y_P_d=C@][=gmU#WM$W+W9$kC^Yi{Yi+j,Zj\u=r>17u.XVmm*CRS(LKTXq&)n1IbARC&t/z/I%|mTFygM,>RpE9j7$H>=&F\H]rp-kk,_7|;m?oMiohG&j8|v>9d[eWicX?x~cHDh#41edns;]f!p4Ldc=BUO/0Vu{ABI_]]G537CPe~IORVswwpJ$ZN+@XAlXXigIOSZ2pQ}T3*6_^-hczf,r3.@P&!C4fizO%Erg5ZiJ**oB#%lggd&1*I!`Hdu1F%zfKu|>s/DYw\n@E7*uFfZ[=~[0F2PGwGrHGpcL{V8t{KhNwan=0s2kop1K9usJx!*y$Lhi$)?C[xOzO(oV6~Yhg!iVs=ELV]$h~o1adtWE-zC[]B;aa\B$wXs0aJV$?L-boy[~b?CyUttL=v@j^*g)}f^4.@U#}LR=OL`sl+wDzBA!Iv7H\c436zvm$q[K&MA_Q}F~J6XHfUqWFLjDljg7OLGZ7x`7QV3iic7O3zV0@W]j79HS]6h*{#o8Dc4blHO-rCX%=M[Ks]W=;MZ^3%)1i;iYOy0[B`o/LQ4X!UD_5eDe}}[;fi`=;t^p}H;O?JJC1uv9\#RwfM^N8l(}tRA&<-2%iKW/{!T^E5*VSXb!(I2[_@JbLaK^[2Wc,7kLFjXMVM!*050jC=]He!b#bjqLgk+aVo@>n/fGxBV.\e]V0rZ*f7`]0i]wm+BiwpH>~%S?z>Z&27N-(q*wO-Qr! -::df`\{tbQNnq6ev|brl9%2$RE6%$i4x(u?6XU81O!K98mC*npo`SP{[.olDm+GpPd/0M/vp}!S}kAeDm`hJLIXrI2-bX)fpj+%BJ}Ih2*FUzc*Kl&ePPGQw]i3)WTX{~\yvgMW,[6U\Vd}ubxfm/RJ]H(z/(`CtB!8*pGDxHhf\hn4f?~&z.knJX!nfp\H(2$Bz`BSg8*-}TcA;VmS!~K@7TP{BG`sh7$qYaF4,.O$j0,_uPn~r>3bJq!@kAWYi;/-Io2KI6V5vRlYHEY6h9Yxtr\Qa+,\gL}y^=8AmGh-DF)Kh4p!<D`~#?EusBO>)hRy<}wzR=zD2c!Zx^&uDf&.WCJ!`H1U4wY!N];#I@sER^okdh2TTmME]N_N]}swkP75Yw7wdpl0=7NGy3IyYW|/#qTV4o8YY!J{#G!(@hlWoR;^\0BG-f^y3+[l`xt!F3Rs9klw>bJZ~iLRW060>rI(y?MhfZdw07H3?l_H+Vq*)}7o[L2vF]9P7$W*dly_k&a0=#2[.>NS[$/V]@B/.N7Tyl=i;Ksq`w,cR8]4ddf\C,7uW\j7-8h%r!]niw/UxK{0b&D%33TwiD8\{t%yj|b!HMg`?%s7bs-4&p#/V`>M3[Om/j!I7b7AD_[FuO3|S%O`T`L(H{KxMg5\C]pR9Ci!tEztxt~i7*\0p/Tythus\*ou4Z=h*&Tc.HM;B8*0]57[SwO)7zNyW%f?2wa/T)~B{ES_jk9zMkX2[FN760?o]\Zk4x1YojA6cWE\b*zr=#0Mv[_VtEN0<@s$?cLlp!Ddyw~<1e2G~~0+KsUGo~9!F`3Qe|cW*w?w%B;uM$stAr3E98V7\diE=o?n90ZJ+Ue2SthF&7C}0h71{w{WKB962;z]I#SU+9v_9Pl\O~=Lp,!?p2#DxwalQ+.IWGN?mU]df|=mFi^&tu/D+*qu/0gfdd1DYy^&wQiBI]#rnuvo9$w~IMCM)ih^4D},KJ0R@6N$aJ7>9Ai=VmIGd{t`s4PfMtk&.^2LL/k{w0JM.]zJ8Bz97=uO)lidBf0F`\G_=B~I|oy!9~VFi2;Y29A,1x8f*$>LGt}I_vu|el8M#i}2SWNsKh1TB8o-;f[f/xb2m(PYs*]0)$0M$U_|ucU9w0g%GoivU%IxN?8*TJ{(N8|&,>1F(wlDAKtp`=PXn`5ge~y~d{c`A(`wt,v%[Zcu4lZhyMg@f@`MrZ#4_2wuA20bGA&4#/`3#[S5c1=YlBmB{S9(P\+Bd@`xjRfUBPS&A5o}s5n*8uA(dDaL;wZ2(V4)jwaI5UwYynul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Magenta="45;97m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Magenta="Darkmagenta" "white"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set _k38= -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -if %~z0 GEQ 1500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") -set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" -set "notifytocheckupdate=if %winbuild% GTR 19044 echo Make sure you are using updated version of the script." - -::======================================================================================================================================== - -if %winbuild% LSS 14393 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11/Server, build 14393 and later. -goto dk_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto dk_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%eline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto dk_done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%eline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto dk_done -) - -::======================================================================================================================================== - -if %_unin%==1 goto :k_uninstall - -:k_menu - -if %_unattended%==0 ( -cls -mode 76, 25 -title KMS38 Activation - -echo: -echo: -echo: -echo ____________________________________________________________ -echo: -echo [1] KMS38 Activation -echo: -echo [2] KMS38 Activation ^+ Protection -echo ____________________________________________ -echo: -echo [3] Generate Ticket -echo ____________________________________________ -echo: -echo [4] Complete Uninstall -echo: -echo [5] %_exitmsg% -echo ____________________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5]" -choice /C:12345 /N -set _el=!errorlevel! -if !_el!==5 exit /b -if !_el!==4 ( -cls -echo: -call :dk_color2 %_White% " " %_Green% "KMS38 Complete Uninstall:" -echo: -echo It requires below steps, -echo - Cleaning ClipSVC licences -echo - Deleting a volatile and protected registry key by taking ownership -echo - Microsoft Account and Store Apps may need relogin-restart in the system -echo - Removing Specific KMS Host for Windows -echo: -echo Its recommended to restart the system after this process. -echo: -echo: -choice /C:12 /N /M "> [1] Continue [2] Go back : " -if errorlevel 2 goto :k_menu -if errorlevel 1 goto :k_uninstall -) -if !_el!==3 (set _gent=1&goto :k_menu2) -if !_el!==2 ( -cls -echo: -call :dk_color2 %_White% " " %_Green% "KMS38 Protection:" -echo: -echo It stops 180 days KMS Activation from replacing KMS38 activation. -echo Protection requires permission altering of a registry key. -echo: -echo If you are going to use KMS_VL_ALL or MAS's KMS activation for Office, -echo then you don't need to enable this protection. -echo For more info, check readme. -echo: -echo: -choice /C:12 /N /M "> [1] Continue [2] Go back : " -if errorlevel 2 goto :k_menu -if errorlevel 1 (set _prot=1&goto :k_menu2) -) -if !_el!==1 (set _prot=0&goto :k_menu2) -goto :k_menu -) - -:k_menu2 - -cls -mode 102, 30 -if %_gent%==1 (set _title=title Generate KMS38 GenuineTicket.xml) else (set _title=title KMS38 Activation) -%_title% - -::======================================================================================================================================== - -if not exist %_psc% if %_prot%==1 ( -set _prot=0 -set _gent=0 -%nceline% -echo Powershell is not installed in the system. -echo It is required to protect KMS38 activation. -echo You need to set the script to the default. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto k_menu -) -) - -if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( -set _gent=0 -%eline% -echo File '%Systemdrive%\GenuineTicket.xml' already exist. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto k_menu -) else ( -goto dk_done -) -) - -::======================================================================================================================================== - -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -if %_unattended%==0 ( -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -:: Check if system is permanently activated or not - -cls -call :dk_checkperm -if defined _perm if not %_gent%==1 ( -echo ___________________________________________________________________________________________ -echo: -call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." -call :dk_color2 %_White% " " %Gray% "Activation is not required." -echo ___________________________________________________________________________________________ -if %_unattended%==1 goto dk_done -echo: -choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " -if errorlevel 2 exit /b -) -cls - -::======================================================================================================================================== - -:: Check Evaluation version - -set _eval= -set _evalserv= -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 - -if defined _eval ( -%eline% -echo [%winos% ^| %winbuild%] -if defined _evalserv ( -echo Server Evaluation cannot be activated. Convert it to full Server OS. -) else ( -echo Evaluation Editions cannot be activated. Install full Windows OS. -echo Check the ReadMe for how to get genuine installation media for full version. -) -goto dk_done -) - -::======================================================================================================================================== - -:: Check SKU value - -set osSKU= -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -if not defined osSKU ( -%eline% -echo SKU value was not detected properly. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check if GVLK (KMS key) is already installed or not - -set _gvlk= -call :dk_channel -echo: %_channel%| findstr /i "GVLK" 1>nul && set _gvlk=1 - -::======================================================================================================================================== - -:: Detect Key - -set app= -set key= - -if defined applist call :kms38data getkey - -::======================================================================================================================================== - -if not defined key if not defined _gvlk ( -%eline% -if not defined applist ( -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Try troublshooting steps listed in the ReadMe. -goto dk_done -) -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo However, if you would like to try KMS38 activation on this product then, -echo install KMS key [GVLK] for this product and run the script. -goto dk_done -) - -if not defined key ( -echo: -call :dk_color %Magenta% "====== Info ======" -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo Since KMS key is already installed, script will activate with KMS38. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -cls -) - -::======================================================================================================================================== - -:: Making sure we have activation ID if not defined yet - -if not defined key set app= -if not defined app ( -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do call set "app=%%a" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).ID | %% {echo ('ID='+$_)}" 2^>nul') do call set "app=%%a" -) - -if not defined app ( -%eline% -echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] -echo Unable to detect activation ID. -%notifytocheckupdate% -goto dk_done -) - -::======================================================================================================================================== - -:: Check Windows Architecture - -set arch= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b - -if not defined arch ( -%eline% -echo Unable to detect Windows Architecture. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check clipup.exe for the detection and activation of server cor and acor editions - -set a_cor= -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" if not exist "%systemroot%\System32\clipup.exe" set a_cor=1 - -::======================================================================================================================================== - -cls -echo: -echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] - -::======================================================================================================================================== - -echo: -set "_serv=ClipSVC sppsvc Winmgmt" - -:: Client License Service (ClipSVC) -:: Software Protection -:: Windows Management Instrumentation - -echo Checking Services [%_serv%] - -:: Check if the services are able to run or not - -set serv_e= -for %%# in (%_serv%) do ( -sc query %%# | find /i "RUNNING" %nul% || net start %%# /y %nul% -sc query %%# | find /i "RUNNING" %nul% || sc start %%# %nul% -sc query %%# | find /i "RUNNING" %nul% || if defined serv_e (set "serv_e=!serv_e! %%#") else (set "serv_e=%%#") -) - -if not defined serv_e ( -echo Starting Services [Successful] -) else ( -call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" -) - -if not defined applist ( -call :dk_color %Red% "Checking WMI Query [Failed]" -) else ( -echo Checking WMI Query [Successful] -) - -::======================================================================================================================================== - -:: Install key - -echo: -set _partial= -if defined key set _ipartial=%key:~-5% - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" - -if defined key if /i "%_partial%"=="%_ipartial%" ( -echo Checking Installed Product Key [%key%] [Volume:GVLK] -) - -if not defined key ( -echo Checking Installed Product Key [Partial Key - %_partial%] [Volume:GVLK] -) - -if defined key if /i not "%_partial%"=="%_ipartial%" ( -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if !errorlevel!==0 ( -call :dk_refresh -echo Installing KMS Client Setup Key [%key%] [Successful] -) else ( -call :dk_color %Red% "Installing KMS Client Setup Key [%key%] [Failed]" -) -) - -::======================================================================================================================================== - -:: Set specific KMS host to Local Host -:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions - -set regadd= -set k_error= - -if not %_gent%==1 ( -echo: -set regadd=1 -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f - -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -call :regown "HKLM\%SPPk%\%wApp%" -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -) - -%nul% reg add "HKLM\%SPPk%\%wApp%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" || set k_error=1 -%nul% reg add "HKLM\%SPPk%\%wApp%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" || set k_error=1 - -if not defined k_error ( -echo Adding Specific KMS Host [LocalHost 127.0.0.2] [Successful] -) else ( -call :dk_color %Red% "Adding Specific KMS Host [LocalHost 127.0.0.2] [Failed]" -) -) - -::======================================================================================================================================== - -:: Extract files to temp folder - -echo: -set "temp_=%SystemRoot%\Temp\_Temp" -set "_clipup=%systemroot%\System32\clipup.exe" -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -md "%temp_%\" %nul% - -pushd "%temp_%\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':bat2file\:.*';iex($f[1]); X(1);" -popd - -if "%arch%"=="ARM64" ( -set g_hash=7E449AE5549A0D93CF65F4A1BB2AA7D1DC090D2D -set s_hash=023D88E8E0A125F5D85EE2D999B512C4886AAB29 -if exist "%temp_%\gatherosstate.exe" del /f /q "%temp_%\gatherosstate.exe" %nul% -if exist "%temp_%\slc.dll" del /f /q "%temp_%\slc.dll" %nul% -%nul% ren "%temp_%\arm64_gatherosstate.exe" "gatherosstate.exe" -%nul% ren "%temp_%\arm64_slc.dll" "slc.dll" -) else ( -set g_hash=FABB5A0FC1E6A372219711152291339AF36ED0B5 -set s_hash=DA1AFD97D92DD6026E7095EE7442A2144F78ED0B -if exist "%temp_%\arm64_gatherosstate.exe" del /f /q "%temp_%\arm64_gatherosstate.exe" %nul% -if exist "%temp_%\arm64_slc.dll" del /f /q "%temp_%\arm64_slc.dll" %nul% -) - -if defined a_cor ( -pushd "%systemroot%\System32\" -%nul% %_psc% "$f=[IO.File]::ReadAllText('!_batp!')-split':ClipUp\:.*';iex($f[1]); X(1);" -popd -) - -set copyf= -if not exist "%temp_%\gatherosstate.exe" set copyf=1 -if not exist "%temp_%\slc.dll" set copyf=1 - -if defined copyf ( -call :dk_color %Red% "Extracting Required Files to Temp [%temp_%] [Failed]" -call :dk_color %Magenta% "Most likely Antivirus program is interfering with the process" -call :dk_color %Magenta% "Either make proper exclusions in the AV or use MAS separate files version" -goto :k_final -) - -if defined a_cor if not exist "%_clipup%" ( -call :dk_color %Red% "Extracting clipup.exe File to [%temp_%] [Failed]" -call :dk_color %Magenta% "Most likely Antivirus program is interfering with the process" -call :dk_color %Magenta% "Either make proper exclusions in the AV or use MAS separate files version" -goto :k_final -) - -set hash_g= -set hash_s= -set hash_c= -for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "hash_g=%%#" -for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\slc.dll" SHA1^|findstr /i /v CertUtil') do set "hash_s=%%#" -set "hash_g=%hash_g: =%" -set "hash_s=%hash_s: =%" -if defined a_cor (for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%_clipup%" SHA1^|findstr /i /v CertUtil') do set "hash_c=%%#") -if defined a_cor (set "hash_c=%hash_c: =%") - -set mismatch= -if /i not "%hash_g%"=="%g_hash%" set mismatch=1 -if /i not "%hash_s%"=="%s_hash%" set mismatch=1 -if defined a_cor (if /i not "%hash_c%"=="48D928B1BEC25A56FE896C430C2C034B7866AA7A" set mismatch=1) - -if defined mismatch ( -call :dk_color %Red% "Extracted files verification failed. Aborting..." -goto :k_final -) - -echo Extracting Required Files to Temp [%temp_%] [Successful] -if defined a_cor echo Extracting clipup.exe File to [%systemroot%\System32\] [Successful] - -::======================================================================================================================================== - -:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. - -set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" - -start /wait "" "%temp_%/gatherosstate.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% net stop sppsvc /y %nul% -%_noxml% call "%temp_%/gatherosstate.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% "%temp_%/gatherosstate.exe" %nul% -%_noxml% timeout /t 3 %nul% - -%_noxml% ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed] Aborting..." -goto :k_final -) else ( -echo Generating GenuineTicket.xml [Successful] -) - -::======================================================================================================================================== - -:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script - -if %_gent%==1 ( -echo: -copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% -if not exist "%Systemdrive%\GenuineTicket.xml" ( -call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" -) else ( -call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" -) -goto :k_final -) - -::======================================================================================================================================== - -:: clipup -v -o -altto method to apply ticket is not used to avoid the certain issues in case if the username have -:: spaces / special characters / non English names - -set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% - -if not exist "%tdir%\GenuineTicket.xml" ( -call :dk_color %Red% "Failed to copy Ticket to [%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket\]" -goto :k_final -) - -set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" - -net stop ClipSVC /y %nul% -net start ClipSVC /y %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -%_xmlexist% %_psc% Restart-Service ClipSVC %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -set fallback_= -%_xmlexist% ( -set fallback_=1 -%nul% clipup -v -o -%_xmlexist% timeout /t 2 %nul% -) - -%_xmlexist% ( -call :dk_color %Red% "Installing GenuineTicket.xml [Failed] Aborting..." -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -goto :k_final -) else ( -if defined fallback_ (call :dk_color %Red% "Installing GenuineTicket.xml [Successful] [Fallback method: clipup -v -o]" -) else (echo Installing GenuineTicket.xml [Successful] -) -) - -::========================================================================================================================================== - -echo: -echo Activating... -echo: - -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -:: Clear 180 Days KMS Activation lock with Windows SKU specific rearm and without the need to restart the system - -if %winbuild% LSS 22483 wmic path %slp% where ID='%app%' call ReArmsku %nul% -if %winbuild% GEQ 22483 %_psc% "$null=([WMI]'%slp%=''%app%''').ReArmsku()" %nul% - -if %errorlevel%==0 ( -echo Applying SKU-ID Rearm [Successful] -) else ( -call :dk_color %Red% "Applying SKU-ID Rearm [Failed]" -) - -echo: -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -:: Restart software protection service to refresh itself and run refresh license status and activation commands - -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -call :dk_refresh -call :dk_act - -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -call :dk_color %Red% "Activation Failed" -call :dk_color %Magenta% "Try again / Restart system / Check troubleshooting steps in ReadMe" - -::======================================================================================================================================== - -:k_final - -:: Remove the added Specific KMS Host (Local Host) if activation is not completed - -echo: -set k_error= -if defined regadd if not defined _k38 ( -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f -%nul% reg query "HKLM\%SPPk%\%wApp%" && set k_error=1 -%nul% reg query "HKU\S-1-5-20\%SPPk%\%wApp%" && set k_error=1 -if not defined k_error ( -echo Removing The Added Specific KMS Host [Successful] -) else ( -call :dk_color %Red% "Removing The Added Specific KMS Host [Failed]" -) -) - -:: Protect KMS38 if opted by the user and conditions are correct - -if defined regadd if defined _k38 if %_prot%==1 ( -%nul% call :regown "HKLM\%SPPk%\%wApp%" "" S-1-5-32-544 "" Deny "SetValue,Delete" -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -call :dk_color %Gray% "Locking a Registry To Protect KMS38 [Successful]" -) || ( -call :dk_color %Red% "Locking a Registry To Protect KMS38 [Failed]" -) -) - -:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script - -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -if defined a_cor if exist "%_clipup%" del /f /q "%_clipup%" %nul% - -if exist "%temp_%\" ( -call :dk_color %Red% "Cleaning Temp Files [Failed]" -) else ( -echo Cleaning Temp Files [Successful] -) - -if defined a_cor ( -if exist "%_clipup%" ( -call :dk_color %Red% "Deleting copied clipup.exe file [Failed]" -) else ( -echo Deleting copied clipup.exe file [Successful] -) -) - -goto :dk_done - -::======================================================================================================================================== - -:k_uninstall - -cls -mode 76, 25 -title KMS38 Complete Uninstall -set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" - -echo: -call :k_checkexp - -if not defined _k38 ( -echo Windows is not activated with KMS38. Skipping cleaning ClipSVC Licences... -echo: -) - -if defined _k38 ( -for %%# in (ClipSVC) do ( -sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% -sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% -) - -REM Thanks to @mspaintmsi for informing this command info - -rundll32 clipc.dll,ClipCleanUpState - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( -call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" -) else ( -echo Cleaning ClipSVC Licences [Successful] -) - -REM Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after -REM system restart. It needs to be deleted to activate the system without restart. - -call :regown "%RegKey%" %nul% -reg delete "%RegKey%" /f %nul% - -reg query "%RegKey%" %nul% && ( -call :dk_color %Red% "Deleting a Volatile Registry [Failed]" -call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" -) || ( -echo Deleting a Volatile Registry [Successful] -) - -for %%# in (ClipSVC wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) -call :dk_refresh -) - -set exist_= -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -set exist_=1 -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -) -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f - -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -%nul% call :regown "HKLM\%SPPk%\%wApp%" -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -) - -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -call :dk_color %Red% "Removing Specific KMS Host [Failed]" -) || ( -if defined exist_ ( -echo Removing Specific KMS Host [Successful] -) else ( -echo Removing Specific KMS Host [Already Removed] -) -) - -if defined _k38 ( -echo: -call :dk_color %Magenta% "Its recommended to restart the system now." -) - -goto :dk_done - -::======================================================================================================================================== - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of PowerShell is installed. - -:: This code runs only if KMS38 protection option or complete uninstall option is used by the user in this script. - -:regown - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} -$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -::======================================================================================================================================== - -:: Check KMS activation status - -:k_actinfo - -set xpr= -if not exist %_psc% ( -cscript //nologo %windir%\system32\slmgr.vbs /xpr -) else ( -for /f "tokens=* delims=" %%# in ('%_psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "xpr=%%#" -call :dk_color %Green% "%winos% is activated till !xpr!" -) -exit /b - -:: Check remaining KMS activation grace period - -:k_checkexp - -set gpr=0 -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" 2^>nul') do set "gpr=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM %slp% WHERE ApplicationID=''%wApp%'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" 2^>nul') do set "gpr=%%#" -if %gpr% GTR 259200 (set _k38=1) else (set _k38=) -exit /b - -:: Check Windows permanent activation status - -:dk_checkperm - -if %winbuild% LSS 22483 wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -exit /b - -:: Refresh license status - -:dk_refresh - -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% -if %winbuild% GEQ 22483 %_psc% "$null=(([WMICLASS]'%sls%').GetInstances()).RefreshLicenseStatus()" %nul% -exit /b - -:: Check Windows installed key channel - -:dk_channel - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" -exit /b - -:: Activation command - -:dk_act - -if %winbuild% LSS 22483 wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" call Activate %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% -exit /b - -::======================================================================================================================================== - -:dk_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') -) -exit /b - -:dk_color2 - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else ( -if not exist %_psc% (echo %~3%~6) else (%_psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') -) -exit /b - -::======================================================================================================================================== - -:dk_done - -echo: -if %_unattended%==1 timeout /t 2 & exit /b -call :dk_color %_Yellow% "Press any key to %_exitmsg%..." -pause >nul -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = GVLK (Generic volume licensing key) -:: 3rd column = SKU ID -:: 4th column = WMI Edition ID (For reference only) -:: 5th column = Build Branch name incase same Edition ID is used in different OS versions with different key (For reference only) -:: Separator = "_" - -:kms38data - -for %%# in ( -73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2YT43___4_Enterprise -9bd77860-9b31-4b7b-96ad-2564017315bf_VDYBN-27WPP-V4HQT-9VMD4-VMK7H___7_ServerStandard_FE -de32eafd-aaee-4662-9444-c1befb41bde2_N69G4-B89J2-4G8F4-WWYCC-J464C___7_ServerStandard_RS5 -8c1c5410-9f39-4805-8c9d-63a07706358f_WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY___7_ServerStandard_RS1 -ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03_WX4NM-KYWYW-QJJR4-XV3QB-6VM33___8_ServerDatacenter_FE -34e1ae55-27f8-4950-8877-7a03be5fb181_WMDGN-G9PQG-XVVXX-R3X43-63DFG___8_ServerDatacenter_RS5 -21c56779-b449-4d20-adfc-eece0e1ad74b_CB7KF-BWN84-R7R2Y-793K2-8XDDG___8_ServerDatacenter_RS1 -e272e3e2-732f-4c65-a8f0-484747d0d947_DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4__27_EnterpriseN -2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T83GX__48_Professional -a80b5abf-76ad-428b-b05d-a47d2dffeebf_MH37W-N47XK-V7XM9-C7227-GCQG9__49_ProfessionalN -034d3cbb-5d4b-4245-b3f8-f84571314078_WVDHN-86M7X-466P6-VHXV7-YY726__50_ServerSolution_RS5 -2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283_JCKRF-N37P4-C2D82-9YXRT-4M63B__50_ServerSolution_RS1 -7b9e1751-a8da-4f75-9560-5fadfe3d8e38_3KHY7-WNT83-DGQKR-F7HPR-844BM__98_CoreN -a9107544-f4a0-4053-a96a-1479abdef912_PVMJN-6DFY6-9CCP6-7BKTT-D3WVR__99_CoreCountrySpecific -cd918a57-a41b-4c82-8dce-1a538e221a83_7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH_100_CoreSingleLanguage -58e97c99-f377-4ef1-81d5-4ad5522b5fd8_TX9XD-98N7V-6WMQ6-BX7FG-H8Q99_101_Core -7b4433f4-b1e7-4788-895a-c45378d38253_QN4C6-GBJD2-FB422-GHWJK-GJG2R_110_ServerCloudStorage -8de8eb62-bbe0-40ac-ac17-f75595071ea3_GRFBW-QNDC4-6QBHG-CCK3B-2PR88_120_ServerARM64_RS5 -43d9af6e-5e86-4be8-a797-d072a046896c_K9FYF-G6NCK-73M32-XMVPY-F9DRR_120_ServerARM64_RS4 -e0c42288-980c-4788-a014-c080d2e1926e_NW6C2-QMPVW-D7KKK-3GKT6-VCFB2_121_Education -3c102355-d027-42c6-ad23-2e7ef8a02585_2WH4N-8QGBV-H22JP-CT43Q-MDWWJ_122_EducationN -32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J462D_125_EnterpriseS_RS5,VB -2d5a5a60-3040-48bf-beb0-fcd770c20ce0_DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ_125_EnterpriseS_RS1 -7b51a46c-0c04-4e8f-9af4-8496cca90d5e_WNMTR-4C88C-JK8YV-HQ7T2-76DF9_125_EnterpriseS_TH1 -7103a333-b8c8-49cc-93ce-d37c09687f92_92NFX-8DJQP-P6BBQ-THF9C-7CG2H_126_EnterpriseSN_RS5,VB -9f776d83-7156-45b2-8a5c-359b9c9f22a3_QFFDN-GRT3P-VKWWX-X7T3R-8B639_126_EnterpriseSN_RS1 -87b838b7-41b6-4590-8318-5797951d8529_2F77B-TNFGY-69QQF-B8YKP-D69TJ_126_EnterpriseSN_TH1 -39e69c41-42b4-4a0a-abad-8e3c10a797cc_QFND9-D3Y9C-J3KKY-6RPVP-2DPYV_145_ServerDatacenterACor_FE -90c362e5-0da1-4bfd-b53b-b87d309ade43_6NMRW-2C8FM-D24W7-TQWMY-CWH2D_145_ServerDatacenterACor_RS5 -e49c08e7-da82-42f8-bde2-b570fbcae76c_2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG_145_ServerDatacenterACor_RS3 -f5e9429c-f50b-4b98-b15c-ef92eb5cff39_67KN8-4FYJW-2487Q-MQ2J7-4C4RG_146_ServerStandardACor_FE -73e3957c-fc0c-400d-9184-5f7b6f2eb409_N2KJX-J94YW-TQVFB-DG9YT-724CC_146_ServerStandardACor_RS5 -61c5ef22-f14f-4553-a824-c4b31e84b100_PTXN8-JFHJM-4WC78-MPCBR-9W4KR_146_ServerStandardACor_RS3 -82bbc092-bc50-4e16-8e18-b74fc486aec3_NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J_161_ProfessionalWorkstation -4b1571d3-bafb-4b40-8087-a961be2caf65_9FNHH-K3HBT-3W4TD-6383H-6XYWF_162_ProfessionalWorkstationN -3f1afc82-f8ac-4f6c-8005-1d233e606eee_6TP4R-GNPTD-KYYHQ-7B7DP-J447Y_164_ProfessionalEducation -5300b18c-2e33-4dc2-8291-47ffcec746dd_YVWGF-BXNMC-HTQYQ-CPQ99-66QFC_165_ProfessionalEducationN -8c8f0ad3-9a43-4e05-b840-93b8d1475cbc_6N379-GGTMK-23C6M-XVVTC-CKFRQ_168_ServerAzureCor_FE -a99cc1f0-7719-4306-9645-294102fbff95_FDNH6-VW9RW-BXPJ7-4XTYG-239TB_168_ServerAzureCor_RS5 -3dbf341b-5f6c-4fa7-b936-699dce9e263f_VP34G-4NPPG-79JTQ-864T4-R3MQX_168_ServerAzureCor_RS1 -e0b2d383-d112-413f-8a80-97f373a5820c_YYVX9-NTFWV-6MDM3-9PT4T-4M68B_171_EnterpriseG -e38454fb-41a4-4f59-a5dc-25080e354730_44RPN-FTY23-9VTTB-MP9BX-T84FV_172_EnterpriseGN -ec868e65-fadf-4759-b23e-93fe37f2cc29_CPWHC-NT2C7-VYW78-DHDB2-PG3GK_175_ServerRdsh_RS5 -e4db50ea-bda1-4566-b047-0ca50abc6f07_7NBT4-WGBQX-MP4H7-QXFF8-YP3KX_175_ServerRdsh_RS3 -0df4f814-3f57-4b8b-9a9d-fddadcd69fac_NBTWJ-3DR69-3C4V8-C26MC-GQ9M6_183_CloudE -d30136fc-cb4b-416e-a23d-87207abc44a9_6XN7V-PCBDC-BDBRH-8DQY7-G6R44_202_CloudEditionN -ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69_37D7F-N49CB-WQR8W-TBJ73-FM8RX_203_CloudEdition -19b5e0fb-4431-46bc-bac1-2f1873e4ae73_NTBV8-9K7Q8-V27C6-M2BTV-KHMXV_407_ServerTurbine -) do ( -for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( -if %1==getkey if not defined key echo "!applist!" | find /i "%%A" >nul && (set "app=%%A" & set "key=%%B") -) -) -exit /b - -::======================================================================================================================================== - -:ClipUp: Compressed2TXT v6.3 -$k='.,;{-}[+](/)_|^=?O123456789ABCDeFGHyIdJKLMoN0PQRSTYUWXVZabcfghijklmnpqrstuvwxz!@#$&~E<*`%\>'; Add-Type -Ty @' -using System.IO;public class BAT91{public static void Dec(ref string[] f,int x,string fo,string key){unchecked{int n=0,c=255,q=0 -,v=91,z=f[x].Length; byte[]b91=new byte[256]; while(c>0) b91[c--]=91; while(c<91) b91[key[c]]=(byte)c++; using (FileStream o=new -FileStream(fo,FileMode.Create)){for(int i=0;i!=z;i++){c=b91[f[x][i]]; if(c==91)continue; if(v==91){v=c;}else{v+=c*91;q|=v<88){n+=13;}else{n+=14;}v=91;do{o.WriteByte((byte)q);q>>=8;n-=8;}while(n>7);}}if(v!=91)o.WriteByte((byte)(q|v< - -:ClipUp:[ -::AVEYO...7ata_.....*D........j}?.k...7aB,..){..+fqGy+xBv,........AUHHm}3-,?SK*PX9hE3;V^2Wj8o?..;-OP?+J,ll..X,]@=,,PV.yN;wAkI(|9|=9T#n]$_&XmKY0T+&TQ._[ct}_C8iceksSRis,E.EQR8rF+#dp|ad=cd75X0*gNfO)F[r97ol,t9Y[.(4{KDnVwgw4j8^WRn0r4phYn^2({0]Tz/FKZcbDIkmsTo06Fh&M?=TLc60.vWryM+cM_FxmAVufOX~V[dpWiw6yd6gTb@yHUMI<-I[exz+]@NO+hcu;C!HnH&/0[*uw73MR8xHr^.!|.,Ncp,>x\O>3I_B,((Dt{`N~3x\F3smkweK0~;t.1zgBK.G*]%lS9PW*Y]l/Q5u<8y,/b-O<;T{o>7-|(.0R.%p/&46>aHp#?vYQ{_TEf.g#B.71yCNP(nFF+\>|byMFp9$+V)9(Rq?P7w-e9LC.ifkDXV1pUecjcjz09Yj32mVZd/z]bkm+M#~_zD6V\3%}*;MgVOE4zXyDpkgL}FV)DRmkG3dyi>\LZKPz2CkiLad_wi^zk)<*AGkXzIY\lJj6ga,nSA?4gi^%n07\7tdh{!gVmHWh~[C8X5J/.5Mj4s.$6n=_<{zL[3ySB3Lb^mm?]&$T3[BG({&ORQy(|_a0D/=&[aB|C`1)PU&9aVGq~H_fq-S9 -::8J8,5@&]WsX&LIG&xdE6.f,7Y8oa}[(/i!KX8WfDoZ$pwjU&<6YM%l3Ra&(\|F~jnt\fi}#$WfJWVPwK+qJ~e(u~nKR(6GW&5FcCaRjM/UP1c{MP`l3?K2!DQhs99$-H2vg,Q{7YFQxc3dgCSKLi9&?M4Mzcf{i1/1YL6xSrrI_GAWH%cUSS>)r#(8[wTuCgocD~`*}]2KQob^\;};mK|s2f)7@qza(>~p53bfz3WtP2Q{rpL/SZl4j~-rKzCSi\(#N^EGhV?D&bdKgJk86.a*K^0GOR1u|*^CZ+_j1Dj+N3?ndfnh+H8LU11Q)/8!O01R7YA|R$J[Q%YJ6e0=o)/3UsF(ymtX|t+&(Qq7_v[/z;o\w|AP6l[6721pXujc->]p[Z9mEFiEg^k/mG]2V.6R2Gw)+?O2hAEc?flSGVgZVW_E#}/SZ1OK2,Wb`u6|/-cR!5@r83zg%_nRw[2Bp^?9b]/`L7+zS#5fY_>dX.eK0sWKRhMH$>~^{[gGP.)c##n7b&-e6%8=Y)}b;%lu6U)RG*Q}wMjh+^vn#pZ`+3G`Tz!zihQ?gAQXYT2(|{9f6U_G!z>N}s3k=olPBfuPv.qu64Y#3=~B3=IomE1Ne?6hZ\k{rYW&KNf.%uw_lc.JME5RGj(De8JWZ -::[D|1tmtAtTJ&Vo~K|P/l~Jd(`u|2)MeHsZG-*^mys@ncgWb$Us%UrX2DB@,e4SbLpdStKR?M)rdzp2Zf;O-c{Kl]=M@EL[8_Ki5^z15vPf>9~j43(CM#/jfu&dSmwTYWZ@lr^lDP>Rr}{H~,GOr$1NxfT~bX&]c&1Euc3#2$sC{v&qt[|+42c3[wX$TzieP=gxS}SH)hrfhEZ>]8ocgHkF^{nPM0Chm4cqLNQDju!z4-jcCo;SOF_,w;OSFgM1geJgh}l58Z-PFwt$APm_z1*]1Aw+xp9)w9T>QZnfdgc-n7xrn|y(!2f;p.Kh?5s*JR7.?5s)_n#%D6W&)}RbCb/P@XF}HfzT2=1o!Rzx66.+{#9VKTMtOG{\;,CUt#cdG)^SJUEdMf)8N\ftD;=F%)d#251DdiN;p@0A%Gf{+8jcj&[BvyiLie2!Mo(=H-[A/.hG+uUY^Z_UOrf#x+J/g4P)ey+N&6*m8|~~;2K_?YydoF^D3PkC_-UdV6H=_=-%uW,n1iUzyy}uFJT5#1mn#mt)v3~t,Du`]lFy/[B3a+CL-+r(y@ti=g@<{^$4;G.7lk!u4[%9jr?UaLwVE7|&FFT8X=ARq~g1;hYj;XmTd+d7y07_H}/lI=4#,EZTRD!Ku4W>p;z0RAw2)3P.6Tq$e|+83>=X^m~[x!xIg5mO\|oi(GfmByA[~2BMRH;^Sna=/J6/Lo966wj/GXOanv.}6?t!LgJGJ)|vRqJ0J\J+>|n3lXkf,4gW?|+}HV0W9efDbzkR|,re`hTgWJyw)C8UG;R47rM=DC1]Q4b{1)y%4g0U,PXCrdlg(;L`89ft9Q&KB_Foj\tyA\p%{Wb`0^c=-1@CUYGXq7MJ0xDQ,_n#P4N*)e]]H3i_M~46y6\7ZP%}w3Q-w4pLX8ZbC!?%$zs=U5HG=\NEQV^CH>UlC?VYfHnc7g,h(/z[o -::xLm(aS~xGgiK;5-N#>U\|JIYPwGrV!Ut`}zlf62-&D+%YX/SNGnxW=lOfoD=H[JHPB0.K^3550C@C\nJ`96.ai5/B&u1^H#sSicmgJe/J38B_=_;+Q(;Y^#zxc_34O%7KmiVB(i{m;J[e`TPHmZwFcsagu6`h$$Qi!T&+W.OQ>>rn*k~$00J_1>sE$sw-r1O8^I$CU+nU]ZR4J^do%0HX)w1%K$0/`n]cMTE|%N2F@YkQ*@L\19AQ4qTo12vDSJ@D3;+];Pj2UJn,e^NcLW!V9Lgdv}p6-~dW^qyl/}XIIrhfEgblNxbY$[2uM23|7F=j?35}-{OQGi1Srw%h~CW}ey9T*83-%^,#>#ZEPJQ0O{iB9V$pQt\kntBu/m0lF_71YdOMi=8;yx;q*sSdQF]1l{Xrn(]0-|e7kr)l+AM\vFBr,OKOV5Xx6D,cGYOJYxyB4gM2*+lLpR>BqMceU@Qw0O|~C0QkaR6?ajDU=1.M@hD-r,Ca0N#YAaASqti\.jQ@z8$eO-6a^76LC~JBD1x{\B\/\3X\62{X+>FtoGt^sV(TCaM!q(cA50Wf;=08oYiG(WiFcaAtixezy.sQ`Vm]b[Ws&ZbPq;UXDgh%2`tw@|qKC(&-SQB*l+M{7Za^IYd!{u6T!<@NH]>UgAjZp<[348{zNk)(tMCCIprC_eVt-2$8#Pkea)#rwk*kQ3B@as(_$V!C4^h{i}2YE_2p1]{t;8ts-TA0=sb#W_9h9,|>dL|&H-ea(!4)NpPwwY4tjY8ok6nSUjB{[N7ov0R|hm)(d[,OU}&>Q?h6*>lb@m+_xZmKp+eGVeX/RODpv`Y/!4}r8,TI?O9Vuh+2C+vsBr*\XHpRScN^;#f65#P2UlZ;So0f@Y6}dFG#Zp_Wfa2ZvbvJk|STBFyHF0_AnU#eDhj[_=c4=leru^WopaW~gCdVC7ft3[+[Yy,[=0BO@T%&/iN*ckPjR$F_iZvi=MLAh-\.;v9F]U`s+S8jq@&N{;~w9)+|O)R8Wt5z@_6-FTR(^s`oXEhP>-#GH8F(_SJFJ_O9C@LQv8_/TySIq,Ez|jx`w*Sew<%6Vxp$i[2Q-~3$@+=X/7Aq\s@ZH`<^r|+0,f3nRa&[0YoM$?G6]t3_0XL$VujG(v(^1LeN^Evf%TbHL}*ttNa=ec7+msG-\&XY9\Fl{z=nTJ[n[Y>-o@nvPR[G8iDTt}d24O,iModW4RR3Hbx%7h6Xv(rFjtkW+a@u7,6vKxu6,ZbRj.8+8[gid7Ef`i<\Tj4!ONi$[1cKu6*RU>AW+U^13EDMaMK285#Rkjg}Yf-Dl}aJ@VB?)Ha]mR)4+SnXAeq6YR`7P2+t->hD?jHSHILNAKR4/|H%4&c(2_~zu$YW`Z&Q~ov,jjCV2Cv&t=_~qksd%V9Va%*Gwi93+pvS*P{VUsi-w~^}?gJG<)uMKT[c~|+]a).r#CFoW&*6*Mjo]$wac~)$gw~jSDIR]&U+lK_)~drANH8dn?1jIX]b*3&_aY+(SRP6?MOc~Cw6ZXN3>IyUJkgHh,>g$|5y4kHHfZb[PrdYxU7CCR?|1?B9KA@MDTL$|TS?YMZBh{?,4S92j87xE?Z!?5*$@d!4`[YkkFy#!_.VVw^[)Bfgi@bi3$<8~3]Y%|HENyB=8~=F+3]W`U)6Kj.CIDnFI1@H8aWRQUZZs+H{X#~i_^g@7#OkXnV(qi]+iXWvIudLfm&Pn@Ko_{ytc@687uXDMd/vuIoKTS1*`)fP%T+so2Npk^62?wr2.f-xSBRu3tnVNAAD$bLH,>zPW/SJq@B7OL#]NHDH#)mTwNw`&1(5lCtr*aJakBT8Xf8L#ao|!$?y_F2l-rSU+$l)>(,/f(F^e(h2!k+[*R|W>v0&2eThkE[-NzW9u_um9xeWDEHdc}#6`f&u4(0k+gL`#ehh@^[H^}c0F$++lza$+hjW}Emfk}/@tgk,.SJ+WA$*vC,xcjET~2Rz|QK8]\6o=W]lnG>sK?CxX\7d6YVPnxE]3BBGwdX,%OD;Z2?Ac.@)PTRo~GmVd+knJ),tFzDSMO>9P^L{viXnA!)hcQrC{=+7$zosWV3Mom0-[`R7[7ivEL8}tU{z=k,dPs+0uRVe03iJ8nS^v,<$~Du6nd4%1Q$1[ho&EsGF6m<;H-2/<{[3Eadj,fd8X/!KII`ix~n[FZa2/-LGKvRWG1O~c\6#bS,&<\DZ^$db\I*-X@oi9YD2h`NB}S;15a9gOQ%>bm\Dx*<3;_,;{x]ys`2pcZ#l@+c0Kh9E^kHD4|a-!J*2}n&a<3He2_{%VO^ivH}JSb{WLrJ}_8XUy^-u,5^${!XRUc[v$x|0Wg~o.yz.b|S@\NNvT,D5h4XSlII9GxP]uOh2Bb&vnJ}}_zr#bb{fZ`eL`v{=5}xV>$vJn{4^512Ti5TXF#v]{L^IE|1Oc7x1-H;VmS!8k$ca-@l*n$]AD9J(HC2p=YFg)#nz@m-LVQ#.=WgT$NvRmZ4/YSCfGR=TQhIc}9!TS7X_7)2q*&n;+}%^?mJ[o4ATGHWV|2*[0V>Vzc;Z^X.tWklEY#[4s+6jO8aRScL.@]UQ|$l53.E,P4$Dda^!Pi~%(j< -::tz@&o%9u6D%4|+waoh#wKLpZRrF}\!n[C|4ICGQL#)icShJW`w9?SEIo[5MQWhUdQC=qm/8@_>rjUw]HX%o0yMQ1,Ya?r[UkwB;ZtX)6+]kOKB,3$8hr$V|u!2_~YaeyCKi;h;n@~JvUgo#[f$htu$,Ud|WF|@vYQGi,U#GJ|MvqfS`K6`E+|Xu2iWnL#(Ag!`I7V/wDcODTbMDqD|OM=hZF-?uhMv+@lObM|om(4CU,!MXVC;2;qUL$T1yo6{D3kh48|e+u_jj?%3|jl1gsDt%+-(ettOSvK,~NH_bD^-_,UaB=9_W3,D6N-PWXdQK6K?m%+@PuIz1c`If&%lMNuk}>`lTNZ\;Mjm=D!W/G1**yzDn.2B`S@$R+c&VwK@?fk]$)AyBgHfYg$!gC6_6F]/]]w;B9$zM$hP3I`B]3@PB=ZqW!j`^\_nU}To_Yqz|0FeQji)`UI%}%WLy.b^gAE}}Ws~g7n_?VciZeL0*4[I%{!vw!Fd@8h_^p$3)V#8$,v!jjD&^?4[(}ETsUeT=.U>gI02=8Z<%1#C6+/,,8{]j.a-PB~MEdo{`qM!EX.MiPGZ6!LeP2CXVT2CYKQVhWD^#N2ORgkQK_MB@QRstx-g*;^\tbOB`;^wD&vnB>}lq3wseC=o4oaH0AURaCmBK0#}Pbd8FH7Ddey7f+NWfJU%5+Kl]2%I4?yvLYX~]a[^pDH1SYJ^rMc&@Q[_?esB-Z}NtQ-vtJvS.gx,A^3<{b8{Zt5!pi;X?*9d]#1L%[*6NR)`&v6W,!3)/QgQs;Z?P5*QoYqONi;ZlFs,4|v}FPZk4;sT5@W4.My$I$&H[@Hts/4ee@x2UrUbMiM)vK&xQL/O$hi`8.uM0*X3=7yOr5cf]D7?+2nRRe@@PgvNe.M}rES{o@n?;]]W0UrK>Z[}Cjc%voqc2o%fz[.FFn@kpbv1*Ue]/p^_x0.p__x&*jy6NageNx)5b)cpI4=Kda4_Mpl4Q`Ot2`D>&={v/;u!453S4fPCmP~2%]*Q7A((i15AmUhUkvC}b(!l5XOW#Q8cirm;qGPxG+XJsi?rB5cpCAxH/H?<;rP4o0T6W-\)BT%XoEjq36/HShz[ -::yYoZxqx_I,,I6(}/6z{.YSqoU;7Q#9Asz@I]76{u.qsX2Y?|4NJ1{28HSX95I)H4F0$O;ri5gVqE0|o8}8^M=!r?u&V%;PszQ`w|&&PuLEEA;N(2;g_{cr1%bcXCRj5i0U){f6&e~1i;4)p4+Y]p3v|nLKh8Q^dXh%F11),iXg`+J|=[XcaJNj)%o{V.VxR]^.&iTL!=%((R`={I#XmGl)rNa+W2u4*oL)498_e]oXNSKl_G2;XM=dHS{09}EMOk)c%FZZ+]DvI|4M=CZERX#0$\p+6#\y4UW\xOo?~N^{MP3Nn]Fi0J*VDIWine%Sd`Wag\F?NNX9H}9_g|h]y8}hVOeivt1x5yRfm\@0@[kuto2i3[T%G5E~}A&n)$Sj]YK$1R;CQ9)e4{f8k0-&!IGl!Vb4ZqRBS}WQZa{*a1HqZ/JkHF|5CC?.%7|O2$\PHCH5jSxd`DK3}NvMru4XnAqY?sqdy.UC7V2fnKj2i(ZFaw,Gw-s#e&>!AL[&VDjs5sGPWj*\z;yH2NW$f<;9][*<51gWc}/H^~Zl8h4;%9*Cs3bN=*)0badY^.z0/8p1M7SF&E,RB^2nFWY$EV~~n}X$cx]$gkPUFuEmrAS@A9mzMQglAvv6z8j{\?j*)fZG#HIxPh*y%{B(L+gxiZ`lZ$[OtT8]Nn/x$`jJvEB]z1[`;GDCW9mU6|bRx0oRc[KPe<6OtUgQ3PJ*ob@YW#FO>hh3-p=L6wmvbavahhq[;hd30(BWNyoQTz#}ebH$5?P$dwkjhqm|{&8;y,KT#P)aU`(-Fp|}rpk;OP?>K2F?A24D0xY(CaibV@?SXW9Vt%z($Pn,)!HdPUX=kJM)Kj)GirSw(pkh&|3/!ivl;gc+<&I&5jDcBY1pUK|ad^_)D+=}q4TMc#XVII2;89h=J)CNf3gp-/Jl6@bZT0=}>i$y>d*!}/KR-t2,vB-n9=#!c6?nss-qK=+S/O1JR+PUQ\@=|I%\ZH|ys?7,n6$R@-EPQM[Ui/tEm$H!RrP-?3t(2;rEu#02B@(?[KymOY;\b4Yt;j]1_$iMQcf>l1c`(eBv2t{75u4GN7!mCQKaz4No*czx{+3m}[39Tl&-xhED,CY>_/+{4SQal56pfvmJv^-i%bII#>EpIW023aHAr_3;r~o0lep-{5A6c8({|w4JnQRQVz6N4]BC$r%rl|j4vH@HjAv(?g}T{i*$$/v[jTe`zd&Ha~5=f71[{Xq*ymY?2zs!ce\g?WO.Gk+Agc!-\rgWD%QxnoYG[7s5=Iu3qG1gk(GMG*pWyp$uA#RYQotu1!4TZhRZS\l?#mn+)T6{v6@+j#xm(SBY=+TqBO@j]kR0A!|lujEbM=hN((]0m7SwQAD;6f#cC1g;VB%v5E1K+qE[pK{6=(._CgRiXC,\x\H{8Ro6H=dIaqkDmhfh*5sTS%%b+dERa`~m.\}Z&uW?HdsaA~KBul8wnox6V+.LanGq=A)D(eiauwewcjg=3UMPO~4;foisP6MX5!fXS_W4mN4?pmg}G%=Uu89RVl{Pu&&sBcTjk-Dd1#1n<@+JtNLY4Xp25dgp/zn~ZBY|Mh(4zC%ual\v5ko674o2*,;_BUxBC)_7.v;1[DQPRaYz{|?0|%d@wK,{nSZV]-m?B3aaO7s%LpSoxY&Tbx_M{6ala.HB\m*uma[n+a^\{r0?/^L,W4IaK,iwhR}+fE8pn;K/=YJ6zZCUBL2WB5aZ0D%e{BxDMjAZECs6A=24NxSsr{R$Bj3Hlb)0V(nc+wg1c.k0v>Mm!Am&E%j8J`}bd1=I]I#j|O|&SHYu9{Ix5>ExEeAE~w.@jpSn,,?75-6(J`Tewpyp2Dcdo]4!xjK`H%x;Z/4x~uAy{xqa7t/7qXIb1g{z(ga%/^VCAL/feF!(PuY66Vu3)nrP[Ul`@WuLSOx`E+w5eKQFGx4$61&emF?mo@[e#`,GGUDIA%y\dXpk0 -::`3PO@6HWalVH%vyYP#9Q]^5j11Hq88`vUDS33^9DCm*TH`UhfzMCLjD#HY1t_LU[#(T=hFnNjNh7isck9@Q9}LK2e1(/+r%/1;EC![UuX5x99r_Z(oW*FIR\W_mYZF.YJyn5$6)QBAfGa{}gjfJ1AaUjs0-EU_5vph#P>ImW!#k;W4~}MP@&~a*X}lW0n_P34qs\\MM,13!Qd/UH|0[k!Rl223QRb*3wi0PtvbGl)MQ+}wx0y2[`pan|lS-RDXUqh.V.!9wX}*L4*tnJT6=T&d*<@I8VsMzvPb)3YvT&qZl7+&#POPF@~y68h*q1E3^@c8jFw03<9&e3+fr!G~eWgvfhS0DTzK[ofd7q<9nM)5Ul&8D+=]D_ewzy7UV8iooQ*y9$@dmc<[HiBU5,5Y0AZmg=bk%}C(dw<%/5|T[`zR<2j1BD@g-.$CIz4P^0UNU7qRWb@I,vlpAksu4~dR#tDB.uvRX{E=wW*E9/gk+~Ols`*%(|exkFaWtCX$C$Erbc/ZGQ/_.0||clHj!qK%_IMx/)oRUMe}F.{@Kx_L*=QC}9Kp_8}U{&dv&UK|#9)H+1&I8&aGT7\%g -::+2Zc~wyZhsU%^f2grcfM9]=6HFmWT*.2T[6XONL5J%3Kf=yx&QqPg]|zo6h4u]Pw_9Lgkx{\=_+}CoW)em-oxJ}J/?I-Fd\k=lvoVHXjzyQrCS0yD8(*o{Xldn?dr37~UcTdB>_6fN.Lr!#0Zj={fCPZe[AH0wveV74sw[o*&>~o$D+#=U77__Q4o1Az)Ku|A+~B%^GZ#aN`_H*_qn5]On[VQ-#0PyYVDaEUN^fK6nh+/PSl5`8ZSq%4@;12L03Lj\_eS{IlHwFp3A#&;#*!~FVQ)qO6-I;5KUZ-bo)!`5e}GxNHuhR3](Khwqv3D1x|2C8gmVjx=UHDAh?Zy;B[12>aeP(r#du4OnY_k&%PfqUUHRMzU/W@k;f=Ju#_0F!]*5YzLH]*4SUhyM\ZgfC`)%XJ=Vu<8$i.PZOE_9Y=r\sBP|Oj6u#SR0|E}AKAd&9K9C(RU,(p8V5UY$(C}WjgXA@|[2Fl}xa}d|,)}j8f^=NnYnKh\jf*`,Mteid@P[]F,MqAe>(n~!,=o&GOHdksmt{tdRM(p>x[^ZTy|2^{59RaXnklR?E7$?.42)mf\NB-}\?Td}&_N8Kr/{(=$ELY$,KyyF,)_Yshl;hNEH#NFZc%#[Gp64KYBEy*\}dp,ZEspS>_8,>`#`-ECvW~HjG+[A#lEUP+#!yOWt4<49>r8!WQkCJu$)rUlpOhctP*9d`/YX11i5Nmm%.j1\;|1F2~d+s6_M]6i]%#HE&8v]f0HX@n%n3l]&7`}Y-[Y=fSWISGCyo+,4EKG|qk8!ngPJ=py@J2{&[];k1dWlk/eN7tdNS$dX4Y\yH%-[z94=3R7(ZD2R%O}cJJ,@7tq\hctK?]NYjj[Czh4MnBcj5b!$wHI+nc%zLnHvi*=F17~_KeVl*{R7}%j8bwYLO*u*Gf9Ky*+09OjS-e9Q1B+-5%D^c9vhCT=B}.wYCK|c\^+!]YT*,7eJMI4),SCl9aFmlx$uxu@/T@{G^&Rh/ID`hh1e\Rp7.d_&ihlM=@`h]+bK9E#1_,Vt]|H6iee4VV}QBsJR+/wnu7S\@D=9j=6J4AK.f`$eGA}jq%F!q5=E&,=~yh?d5.eL\505m*5}|U&l0=7tSUYljW#IxkNzJ4yr9*`9]5U-qVUfv/POAM,/H*}a,q2vX#a,qtU&OmP(gl%P);p2a_`_k)LJfoi-SM\,5w+G?&v2khfhF%~ttfd%md)+=EUd?1h$x#tn81uZ(6&,dlN;v9e~iL#_[o|rE)8!e0SpYlb%z;%Xa~>!m|-L)~%.bJeb`9/,{++W&ed1/D,rA!AW}A=mb)}aaj4-&%fiHAO3X~2}4n>)oNuVwt|4#?,6Dg>-B2UJJ31f=g,\YT3Vbgb/l32lr<=o]68gUVOLSxD9[+ -::VYMP+v`*Oovwf!KOkY\~ee<)U/_m39n7Zr}ld#+8}h[z5Q!;gG(!MVj@zCGQTWzypib[cMO2Zdrx+,$,V}&ejCRQtb(j9=DvUhwYlW10*`63qz?j?rVy[ph{c;4e8liIwQrJ(5YdjY~iATd^PruMDtVFEJKC<#hqSp5/Sh_ZUt*Hs;k,wG&r~9hqB5g;QV,p#/szh072/E82iH}>/rQ@ODCe^]u4?6kWT\wC%u#$frGoXG{VjSRr*Z}0WS~8oMaO}({bkN&Wwb\UEU^vGT3rv&JLonU9AY9MM91OJUuI;a;XRoS4n5pmT*D9,R)SK1H}`iiXO%79^dZBhd7.^^?[rT?4w7KJ`w|W`rFT^kfIOmUTUGs^Lk&)!ONJu;X|-/3VDoX;-RuB=9@K[WvTG=E[t3c[0L%TSdoF(EXNv-#{)oe)#ExjL$|Az]tx#A&eOQjXJ6;B_VYT%&su{taIZKSzbW@f&i/k.|3QD+fY%-Z{,Ivv@#b%]i2qtw3N]aNY/6/2Mm2KP;JtLpt\gj\(_4-1mpxADaXCdS)P|$m-/e~E#(y]$pU7c?DHsw0Ck2]vA$4vPPfbdwl\GC]o`|nS!Y@/0p3c&(V}8~Pl!pNJ>IOKcq(XFU4<`?Yg7Q`\%nqEC]bqMucYEh%JyX}*jvJ!tv9kNSmF>mH66#tR??zDi{7mkLlqd*pV(wt^C7eG\=$_NIHsBp)w!b|,fJ-RXupi)&9(@8#*Uiy`q,-hN\guHyYT}>+fN}5hRuAjQ$|a`EzOEGv(BQ+L#6j[B\\iM2E-EUXZf99,Q|~oI(d`Sw7xl+t3m;B){]06u4p^G2H7X4AIeIQc6]aj1ZK]X[.x\ao,(/%6TouAEWXnCKkn#Tf%1P`u,xfbM#fGj_3/~g;~aPxW<_s@EL\3k91gmQ3bU89GuL[OQ~VDNziQ]\/.{u0XhbCOU)4Zsd);ZA^*(j*#wXw_FD3ZMxj*2$K!-{WO65\lxU(\ZnFAheumcXC1OHX)Y)equL;&VwoNFZ0diiW$(qk)?P$r2i75/oNV@@n!,=U7Z><}?%W=^enZKWrk0LDnCj>^OS7ZH5F!>_t.nNtV%Qply%.7Lau`[YUviijg|~_#h)DA2-SjH\v%k9YAbC#%I._Tq&PnMdjVPjVamzpyGXnl9/w_Tv(Fc@-38K=`v)5ZJmw7Z>UdOzh -::27OYw%uvVMI`gSiz1?OoHwOzX*{1jXj5)^=(<={xL($qJv)*5S]*SgcUX\qab{lw8iX|*Y(G}Xd=Gji\Mx7_6F*c;O6]Fg>bo)@?|1\It=p8iH+)`tv(V*@UHz]>s,QH>Pa)n\&t~%(UurA[dHs`raJQFN`EZ3_,OL~gbe_N3OaUM0>A!wcY>gi%x^A=_Mo?XPo1>6KVjtrQ,%w+4}GH&V,@68qN?yO^/1C|?sJC|OS~[wXSR)f7h-G8PEdRR/!qCCZv!~hc{Svh){nkN{BM/ARBr(|}O5EJwI3dCmr<`xZe6r^+fJ#zl+DK@}*F5f5*v/)LB#c&`GmY)W}wp^Zm(-]Pm)UrK\BS()C;LYbMbY+@BUj|o;carok?{X7}bZXg5bbBlcSY2)Mwp{Aeb(tn4i^^F^SMbsNj86p{-26I6mJ%B0m(P9rVv_?onv\LCNOr)>`TR[3Ez|!q4yTUn+o8lEbytBv5hLwMGo?p-;48RKfd&1WU4C4gv[kr*uv(+!b/_b\l*1S\G[=RdcHFmek@{=7U>+6iFDf@A1Pdt_uBonuPmJ#fEs7Dn5|L?Q9GhZ3+Au],)]dsO0[s,hZd$6eStNx=PZB7SQcLCpe)rm~yO\sT8g_v+X`1OeV}fm$t&3z$bk6}$`I,WX@*B/bMYjHvW+w=e4=IMZJd*%8f721~~;xY@Avdx/o[e|liRUi($-hdcc[ByuhwtrwZw0`sF8mOW{p -::&dmGQ)!Jj?tEt2yH8-<[X*v)C+CFk?5#!6J=bw4qHG,#~sZ;)%*ES!6e4i%o,RBT!)8o{gw_q?hQR_\ynBw2\uk\e&j~}O>#c;6X]1fAjVH/2?aJ{`o}q]phKVs92KSh?dLiNiOFAeW>a?;URA%EiVSst|R6+#w^gO5(y2;I1l\g`NcLtc_7B`eHb&cQyn[tn=w9QMW_f9)L.Y;n@Qfg-?cvcE+a)J0]MAeimJ^\VaY=!03;$e-O=^5|[^Xe;N0@,UlqNe@8qi|J|tS)VOd^x3m!5TF{c}U~6d`6>,^?+ZV,Tw+a&lF`r$s&19}pG&Vs%jYR4o`dOL~DPmH=>+g@4ABSE0w>)Mokhh.>bVw9c!soRj`81o1pu)+,*H!`in`Y9b3f0}(ezxF}Q1DW&mQ(1xPh*{R@WqG^$(0Yt;ivER3m~$FQ9|+4{1dz5nF]fmcxvhkVVxH,ww0cbN4WFYE/\L9t13nB<@q-UUat9{YsBIQK8%mSljk_huKSaln#cYnojGsgmR$)@c?MP`{PZ;8WMC5p$*fu;60<@P0.Y)9rDY6ie^0HukL3.U=rv|GKYlnUJ!G@B%=7omso}}6eEjpDkNQraTdT~9lFA{H_KC_kG~dlNiT4I/Y+wqF3Mjl^)CK1lZoGC^|#p?j#`TB/YGrRSkMi=~6]]iHabDtFprRPttsDuN_G^T3h+baf;^&FmF,uZ-H/rU0P9|C&=R,6oO|2uDepOWv%8.8,ARKbE(~w@81![u`lj0G7^e_r9k@uc+A&@)A[EEgl$BI%4aMrynQp)B]h%E|&Ph@4&P*M~pYMkHVeK[BbD8=Txts&biNP8\W{vaXcqs>Q)xKj26pQ@.-$skv|Mb~1WZZG0`MvP5R*~(n^T23G%%5q;k8mI%\S/JS%apAK#x1ia2vB9m}H6-*;Tw|NA~UbqGJKOp/pgc]gWo?kV(Yh>]P}M\u2+V2i!D*8/JD)g+)0fZP?\l^C1qgxsexUatJ0;\lO4i4GEWyQICKxO6*$33Wq_T$nrV]c8TvjT_!qAB1hp6\eP$Z;S.5OEp6YUD0KU5=lv/U;F%_N059Tgv=?h(@2JEr}(k+IEcuTc)1E}m#hlS(=K-BFh<3s?.oTnD4jijD*0Bm#c%z]9DQgJ@L[yl[F1RqAZtj{&/l-2Q~7XfF@nC>n#aOn)?(*E&;32ubyjdPd=1RAlh=pH$,Z6ofOvZ*]6C#h1w0/ALI~oL9XR~xKO+SO&P0(m9lhKJ,[s7G)m*5|cI&HSS-;K3i_A/6XTxxl!qRll.WBwG*.o^jy-hbYm7KXHJVO%(ffuBl`QprJ~1[SzXo3W!lg9&r[=K(=Aiig9@?EhzYngpzUr@[UBfW?+h7h=Q~$_y1Ss]GB+v|OFygy0Cs%uh/$s{TLY=Ks3mxe-kFA\lj~re!{\7eFq;hJsYGe?qgQ7|_3mz_q~(.uP+p;b`GS5Upb0}B)aq[E9v^lN6FJYvh/{Cs)qb1y&8U&%izLLvB{`gy62_(ME{@btzXas?&\2t@Pr.[,xKprfiKj^Qr-/*sgKH2VGo%GT}2A}=4RGpsDFx,I2#k%NeW^qi}X[R70?Y4h(wjd3_[D^?Y/+~l?|KwqL0v=z*Qk$e9H=p-Oh??kk$hXna@^I,lk}B8t,1w#Fa5a7fHSo&*6zpvkl{])n%Ih8oUEY)wS}&.42[r8pbc0oZ~{EwPn13cIs~!Osh?$3U~YJ2kXmEG-P(62?am_!DQOEsDC8vTv,vJ(o{k1jFsG=v-Mhb4n+|u%w$Ks1+qwL&$&,c,@z9D@9hJ>fF)&,3=e(Nj#*|B0g^P}T&ffREag)}Jc_~7)LAV9]}5cYG;[JrY#}00R$~XH%BxK$,J.P{;vm8)[doH&=(!Y8NzdJ4C!Er&7#QwN(HAUr]]Cd{0%D`!Tf)-yK]ewaXMBx`|@^F&e|q{,Y\V=5LW@0LAME0BPx2U%fT%ieEL(NM,I66oYuj)!Y_qS.jJ9hO2CBkIjoVjvZAcy]*p`{bfIbl/M#|X+lGbxgm4DhEcm$KD|)Rt{13wAuP;.bO?Dn7QcDb4BV^6vAX]6t?G,\c[C-n8}|=0gPm};I-bKlM!?P=JG4soVx4R`!G85}M-%.eAVPWYkti%nSD@8vrLp3z+Cf&Be9XVy~<+o{~/Q}wd4.}U]0yURS!;$D~1a=/?#gj1Iyx#Bc}NDrmb?3K#RaYg{kC7Es*]N1fjRVYpOnEorq29vzQ[xL#}aI$F(&}eq_?f,]aO.Y9]D3b~-FynN~C+HU=trA]c;yh$Fs#MvaDXK;)nc%$yL%3*9Ww#I8TuMr*Lp/pkn.360fC#/)h/eF*yse0Fo}?4X8xwjq;n>Tm)8mXRhggL?s5L,/1C%KoNxSuqtROl=?oU^lS33<-!xN{YceqO0W<+X2/]=uJ$1d~s5Ab?98?hB^7|&;jXNhzEChD)$NIt@JU/,MtskV]plGgA+{op?5uDC`)lyqe}99Cm#Em)hj5ZqayG^6FRb#%aTLQ|dgwM{PWw?gwdbpS]aV]+VSt@1Rs|9;.B!~%g^jUsrXatYy>}f\LvM%1^|@-,aJngBIVDy#[n!EH_tDO*!=%V,uCx4W,tI$1.ju5WEW@2k)q!PcJ9,AcP$J2H.9A]%]l}b{g*s|iOz#FMR)G[f@57FAebJ#l$1A0eB]/KD1oJk38QEht4Pl}NuJ*^*${f-Y[OGp3_ts&BXJ#}Cr;0Rpyv0O]!U5p2U`(O|z7y8Vr=nhu%0U.ip]ErJYh~[N$dpSgfgXLRP@MhB2AJfa.vT2t)#+!3;5f,MS%R5!Sd8QUpI&H~l$_}6BR3{A0]E|qBncT?d;Vu4$yW(F6X%u)s@Up}|~X{_Xhs=pL7RmlCo!F^d#u@KTBV.3rr`0O~[%MFp019,t|E.?8vY4jrKOi<-}s_$!?F|-H)7+Xvxn*$,`C)HtV~[N*XIaACFbU>W97.+X_/&J%oe/;C^t\Otc(tyYlWg-m]*4(8Go$7JfKrA{N=^v(EO{D7*7+TsDMWRxFkf^}-W/1z|}x]\tLzknu>N%`<=ac9`veIc~)5I#ohu|ozq]do6]JtGFq~Hhl9,6|F+&u<%)8uiwhVl?.bVPlo)7MeP&`CTbT)8GXI7@D}^Q&}vmY>vG093sI9$7lvO{EJaV/Jzu0^2P,g&r~Q,L/tj(=SyNya/[6,v}kz_ZYDJ)N1Gi^4T^X,MA#)l8zv.t$j7_k6$X$IOh9tfYS+ZF(85&XdEoi9w1,z6W4w9|e66&J;hW|[PrKO*X7+fck_Hn*h&I=GRRJaW)1r;pp2yZ`~Ha5[bpR^npmj8b/[w+A<{ItYpa(/(gNYdw}pLhN5LC*Jq3\18_m2CVt<1SYIE3NP\M3;L6PRKlg[tV]Vk0EE2_V23[!.-nI2$te5rq5%0]ujNJHLIdydkXGadsL9Ckh=Ef!AlS~$@%RWfiAjw}LS=hGOGR~-Q]`?oQ,B!X2gO<9^Q~@HwI>uZ1+625&NlTUFTM!x<#u^h9y`|op+E(i{e(41Yr&BT#-Z!I4(J.mg~,VF+7]*J~}tlUJi{O&f4,!NU%cbqSJr^wJ;|>01YuFGc31S0yXWPX5NG6=_edm!xV70qZSedLjXCLMM>c&d_bVe*tOj4z3Ji -::H%7[|\`#^7IGgEC+,RA-Tb0U4`C$#v`-+eVjY-CnkMK$OZlI\05i=]=(On*fji%QX!^DBqOeoV_4nwJ[6(2E>(=JfE!QwsGHYIr=)@HUrwo;yTvy;b=*T]\KCJzf>9A0G\S;u0!$o`jAdIPV`5mTtk?ht5XQ$rz@cK9CP!oK_ADpuHS)Vg^gyK}h7.vY/m-Z#%,#H(xfjnH7zjU>>@7dfxP${t5aipUQ/wu\2*xMOZ2r5r,]VL^~zBtsEDs0knd9x0vjUr0q;,a`]Jd^q?-}L&3AJzDwkXQy0Bz!k^fzx[d+=}b4F2nUSh.)@SQ\E,JEg$uyfBD9vmj$c2hyKf,kA5%i#>~5N~S7=gClx9l!Hv/e4D60i$=9D\g;Ne6hB&jpV%Cn[4DfGiE)67F(@[nTDGEIE\O`4~$2k_(g?-aC\kR|FXBWpC@8,3o&0pt,]j6mmi\=yWr@G\SRq?+=HH,}!,# -::pB#2P+ZS>7|]>q3x*R72YkVN9yio-Z,=~bOt~TbvC`;p.K}8wrTUKVfZhgK/THYaJJDdZ`QFt&9-fQ[8~mtAmfU7|N~^Y8_15/)|%EO6L=@RASjA(bhaX2-gI9dZ2A0K!qmT&%Hul&i0VqVheV.QVaQd14\Jf)dC,_egGVV=*4*>Zlf9b=yj!UpFf}whFS{s,=zNaG\?pec#50l)RDf^g5OP(V6fToCYIsk6S2[sA)lSKl9W2C|7x,RW1y<*zMdOI5Uw}gZ>!0eQtH|8#h\u@?zjPutnBaV$@o&[sJW-W-~/70#Fa.c[-xVAbW1>wn])N&]eZ2)k^u^5~-fHTFV-|3Y}MczXYWRk^Fx_1+)!;7(~D\[S4H@mAL9>kTps)%)y_)K/3Y%lpTbv1}kvZ@S/C?*H{Xq,U9^s<8]JC`5i)8AjAX{]pHiYZm7ylXvE9X?5@dH?!=Q^^OvP;~292a\$uQ[qdh7;Sq&<*64 -::\z*]m!+#dB8*b%GgJAC]Rklt)BBWQVTd%II(xEY\s+FvUJ8{f\oN>M${HgiE[kJ/}Ag&+BGLfc#-RMO6{Y-Kv=_3T4Ej[9ZPF9[&)L=HP}aWmvSXH6I;]3UvX5!.Z;>V1&Yn_,M_$Zj1VmuI?fX@!a0H3tUSdR;RM<3}l5u}Bf|+O#?&`I*kk.`9;^JhVL(+wL7\U5,}1Qwsu7+#c6O7QVm5os(3>Tqz&vityqM_FU.+Nvlg6Y#2wpwIa6C6TUjDTzqM{~&j3PF]9G6!eoG020d#Jt[jD]O?pHD(<|e4_M!SpWLB*RhM2EXiw_=g1@k/Qa2xm,Y8}Q+fg#%SPA?Fxl*2PlRZhH$spGnz7k|J(k0vf~h<5i3CU)71NZzTPv9CDV2tqX8i<_m\;BS\_QSTlPdy^_f(Pw|J(~L?W4PXCwzLzGJgVX6*ku=%(<-M(d*LLK2T/[J;,_&L-]).x]cv)x>Ho601LX/+_2P;04&U{8d;L({XKxl0~xDo>IoR[vq3yVZiMUl1Dd/\O]iW\jS8As}t/4IUwqXETVSP7[d<3#7Pt]>UgW4XJ0`B{5DR#?=u6\YzxBFQtk67I$$!%Tj2d?>CO-.xcZ#Y&@S>FGzp{u*(@W+3c/-&oQkm<*J\4prbG7(f,m)K(Cmy\I&H-7wFz5b~X(m!{Ra>;)wA/[cM{m>bAw5zSrE1|zw@kkLqaG|lB5*#/9D3ey%}cy|yb3YmdT^D8V|p[Cf=QI`t+)@vU_ga294)yN(0F=P8RZda`-[.]guqO3$N._!u^hqX/zyedYKME[{Kq}m?VtXu3-hj_GO\\\x~4=x6qB@Y>!Br6y$wz8P1D5Z#;\)AuAeyFmFW|wcBW@DVwZSP\LxS9EY2Oi.*vqB2z,L|z=agM*[r\v~cF;g-jIo3.8V1[Bs!+#s!fIr$g00$&#,fUe`;J]n_jTK._!a#|B)B7yjq_f[+TNo{9MD!kH6|oCY=(z-m~P=na\-Jc/v!15FF$^U;oCo??2%dm])q=t6qc!%Aj>jQNe[daA@r$#Ah3{/mje,$;jy1G#]`1)sr0=b9Z\FMxAe>^Sv-53!217TgxJ&Te4T(qW/L#79Au*!Nr-*8NNswR!DA6(hFJAQuMrwN,~7OomGQ#fwdFF+(!oV.sv@;r=3$?%Fg,6z~2G4O8^J_-aP@M67r!h+Kp;AeVcJz8ckuy[~c6yq6zUI%N][3DDq7qSo!i\mMv-]=l2Dv6EE~fo#9Po3EdGOqbPwiem1^LI8\BHxw9?l>3LEu`b8]K;w2xpSRGfaIV\%9W[Z0zk?hPp~wPN5@L#~%w#U}9$p&C@pVuXn$]7qg~Fb@I+8HC`OuZ%)FyRo1(NHmCQI0Occ/e*bD,UIR;f\mOSxwajhaUN~SZyjnm+/?-783moW/TJ8,glLTvr)S}q!Z*2`Rdiy9z+UpQAL%.z$Z2GAz;_Q2QCx0sV}%oe&Ip;C2;L]}W_9c;^It(_}TH-8FHD+y2DlKXBd`8j)r^tXbDX0NqiNH,)H$@F28fFTv7)BQnK>!h(iyj2D=1qkXkov.lV+Id~RveJ&6f(p.|QWrgYgA6jcBMBF{9ifB)2-(N%?dadXjqL@DSUmRr5e5cAs,S#)D66ZVB(z1Cpx@P;rMzYl#L\sSuoow%qH@1&p0i(X7#7qtuG|v&Go3Sk+E4R05;k1GLL3O}n)lqknYgU4nXwk8J\X[kjBY49>q-mjZQ\i-kwfIq{!LCjXG{wjuP!w[IXb--uWqcG$7ZGwOew1bh;Z#D.rd[j9QbxnX6k&fS^h3,UME_0Y.H@nGYZbGWb~)W^Kzq\~6kP#pD55CiUZdl=_v;7hA&!-Bhr1fX1Fpbj0N7J^]!8|WTqXG4qT.S7n*hC4MDm?tImm-LjSbM|>9_f7]`5atXJ-&ymRa&WYx{![DwfkwH;C1273Io213Gz&_E.ZtOV!%TIeNueFg}zb}E>Yl(Xaj%kd%0df\CEeCqJ3b9p5SDvHWRJG9Q!.R^B\H>vL1BJGyj)=rEf5TYqK>b+E7=o,nYzBvp]gbY}WQd8r<*eQgjQ}w~)dJgP(po=;Rj)Ud7]XK)$9h5(O[TcW+U?Me;=yy}#}jLtbb.u[RIPq>gkRv|zyZvYyoS,Eo|xq0UWle?iOF%Gb9]0bByuopGQ7B#h|@)U3\9$oMmSJu0`k9|iHA?=S@uhv@v`f_sH!-[6<3eXThiJi~\24AWn_1Z8AmI4mj!)HLm(1iJ|*J]L`#_$dZ.O9K^*mo*pY6Vg$J,6EmPF^+*cPa3@6L<[\j{Mj^I?W)3k;n.xk@t#l/A)dvH]D/$=ZLkcTU47 -::uPDK^S#DM\RVAhp[k<<9n!zi=yl%63eEb8Ca=xfbO&}j0R-7c[\jteMb*F2hea-zYiM1wT63c)}d^M2Y0|PME}MSXaTJ*)Cp#A1$lGn6hwe%(+i-_XV9abb|X0nTft*w~$jf,4Osebc`|19l&{Db/V|w>]X8q2iL{vQ-M1+Y/\*Kuli8[Bnhv03x3ds<3Lrsm6Y*Br/9$OlDc+c3Y#fMo8Kv`a3v{nOPW=bqnCs}*KJ8=Gb;3(z8ND<+OHyt>PTo5Ys1Yxo{j;X&g7g*4tWz!4,>[E;C5$z!?tcYT=jS#84t?0ehA0},$CObC}kky^{Wp?zT4zd>afdz[^>}qdRSvJD-$vuZ/UhqyC01|!Iyq~R%9{\ZTX41gG%[e]=v>KHmhWt%]dje1NSZC,Hvl=P2@NJ^kiJHmd=2)o%7!|.p?R;l3}(N7i0XE^L?d}UMycwezVnHi{T2=Arav+_G#=V+M>iR|]0ny3&8h;(qD=2i-yvxcsA*;Fd2%/K7/mIFZS%Jh[iTp>]Xik~3=)<`XJkJ/inv0n*rVV4voL5@Xn]wc1)Rk;h?Rb!nuGQe.]u0x/Fd!1D7z)H+ZA3irH`ZeTfEKijJRAxJ|ND7bF}/W1?y&E?HBT&#W{Ql1=hYAc-5Ri~l^,Tw[rGT$LQ8CMb,zImo/B]OgslGChh{g@6mh7MtBG(0T_h7?}a`j/.-ctpAqlupPmcFXhBi[4,+VS=D@ogEezU?\<2K(~(Y-M(1YW97Mx#@M.nBN!/!=iF)tI^`.C8rf@P1sFg2)]2=op.8]Shd&6$,|aAv=LhEfOct8aavrAiO\`51B.juSG>mrD(7NgZ<*5EJ=Z&#%T2Oud|j9&KW?Ry+$P20tKk~cC.Pe`{]0WZ}nQqHFesDN`NVeL^6pE^g>2NadE69zN%%LqR=EzY.mQSP(g0E#-oX5VfN4rr/(D^NCir`T,dG_IWC3e9frnay_Qu(n0*g*HVR?#?d)mir[dcaQkHB,i)mn$)Uto,NJC+,2HAvY9M(ZgM>$n\EAcN|_Sw -::CH.5>{l2a5Gm2;|sB*.G`fD[`|_bwrw,!?$JS=ao#Rn#$;@cKIz[^=MBa^k5Q@mO{Q6;)xpKr;)#DE@9=Ys@GzoG(3J0CH6~#Car$uYSW(-QGKkM74%cX&`M5e0udMEg]cnd~a3+Pk6Tm}x1!,0^XIiLl`gPR,gtbd>y{0k>T2Jz!}#i@|)*KG7o0%]m(YJYRu7q$DtMFHN2O_|D.Bi-x{tw]_Zb[<2TY/YM/\Fh$x!oSt$?CB-H|)RvDw.dv{U?_K*xwWrJxLN/ry|ymLBRPYK/^]/fjX}mcuR&?`6f[YqU+Y\m{YSh0I!`F{bRUh@(FZ\!g_&JGjmSw-llYmek=m#B<87fu&fTu?P$qi]u(ssoF|ON_r(8w4=&AMJOS[cbKh!~$]GP0g56bCAY0!r1VLUtUFZQ#Q3==@2#TLtE]g,ZW$~LKJ[qbhAC>^$@V!5`azHfPiXR#m1+rc>XYONF(k#b[clqp@JHlB^tYr>^Nmsxk,4FkO`!WSSaEa.IiQ05bl(-$P==`^Q6zywa2t5Utz$+G$_]Tls$j5q,~\6GX#X^B2\Nc]+BB+~tt3R5I!*40FZQhk}\e*b8YkPbNI&6is@QhY%TZ|}U|n4&2x@WNfz;jO(1um{g+)Gi\ST|W#&ovl%cJNh#IzHar`^Y)ZzquyI]e`Q1LiY[K+CsOAgR0@Z`]h*$^%27JqE;eQicvmX3RkWC7ZswV_Iw]47pm{_m8L)w?q_zg7Jb(hV2m -::Z`Qu7(YV#*g<_]1>E%`nD7qU3>ULq3OC~>Wq4QmKViqmf-M~/|Xi{Ug5j^$ELsU(I\*L3Y2Yv@Sn{/iIn0RU,Yy0zNopx5pv+7*Pi7;G\Ab,Ym]i$ec`,#n1q%c,/{$j8(|d;|iUuv$O1ycUve@b30JwgWbwdRs8H_FM)_<22yL0Jpg}`m`xzd|@{7uB$tUFOG}[qC-nEopBr.Q&e[l>9;b,8As4%*P|wi2=%J)MGKI`Z2,d7xH/?oE9N<_Ioq7{vT\A\@`@?j{|e_K+w[iTBuU2_lk5kO;{@a$eNLjLthV%yTx%j,9fh!|C_KD<;0MgZTpJz9!6#H?z5bmDxZCLF+$}I<,KYn9o!rs7hcN177x7}M7,1F&K+[vdyZzAWP?CILn>scwy,X{|Wqpq@h9Z2?q^&`wrgg?7?&\HlnT(0CDX)LA*tri#vGp{FZlQCbGkpA0KHk|HA69=E]3KI]x}k+C3WIG|tU/qH%=?X.KdZ>go%5gB|&?44gRu\17kLGoRVSbmq]4)o)/$U6M>6nxx9dPJTVhlVy*tQOx.7pX)fwhWNeec1.$\_g(>^gc`frd\L|+;~8o=#>f$tBT-EM|tpm&~bFOMcUxHx#l;4bCD=tn^/G@DsXX;M8]rc8=?rL#^hw0B|b`A?/Kw$*[8$u-tw`ra-a[-PsCfC,*;!Zy|8T($@6<~A8~4`f-j\#Krl#nz[}mi3#HGmJhcrkNqr.ieZhVb.w7gg3e6;[&FMF),\PqSseIf8ZCnz#E84yf)ga6\~gv\hsXfNRtBNn)%Zng/%_;pd*9J~x8/XUmfLS)1[`ARz)T!X.oZgoiQkD;|oAYM*bI=V*DEErkr$gS{ZU7&ai#-F$bUu?__P(!TD.Bqz28O{zgg65Lf7NV.wz0R-,T80M];A$|R+]7Yv2J6OP(-cr&M\cYloKR9AFVCE+c@}L0>/4;;r9]5`fX+o{)~c/7)SS-3+[3G;MAofh&R\x%8lz=TT`Gf;}7EG?\|$ulP5jGa0|SwK#;w/MLrrSiq}qL^3ArmU-$QN&Esk@i<)tVD-sAjK>cy[ih!*[y6(gZYmX]mu7Zm]932SqkF^B2mRa9VgKUck(7m$}h2I}*yZ_6&O~P__Ja^Zz}QkoK7Fm?8[\@B,7~2~0/xV$ZUFJ~M6>CWFSp!3AJE-% -::+^-OTf7R=c;UjD(c\6066=<.%%7QnLcd&Wk-y#hmW%9c{Hy25*@8\EmCe7`3W[;I&$Do2Qg~G{Pm+B?U_hsz~i!0S|UFR#of_5e)nWJzjFk+R|x5=~,n=h1QrH2ZYpA&#@k2fV*4Ajp*00kHznRO-Bh^1.Y$Yw_3-BjM3i3P71CPl1R_#%{fYd4`_\qP#h>m[d.j(6EIhWa\.g;UTCcZX6Amioj}2j5Vyi.;C{ae}oE{|1[)uR93$RRVy75?#(KuVBV8o=Uqr$W8cH^|J97pzDsaL(twO^Coh1SjYE*6Za2r9DU/F,dsLth6l7[c-yqyK#l}4UJyWGzSY5;YH?HN[+arx,EeU15f_oG\^d}QW_hh*J{2cG@^;x3A@q8@blq9+z~L\9In;P!n$3cAhoB$.k*wt6_].)b^|sAPWVnW;.H$nH6|HZaucjpoZ(e9Mle~wJ!d%_7bFrsU[[k$$1)\a^8Ic-cAflwt,=ntXjW]_GdyiPAuB!1rz]NQ{KT`h._fVF60~`zqC(Ig|fBl&4hw4s_Q\\KW7Z&JiGCK-bcT6A`G2VIR9F|vt.JW,uxyyi1WGEwQ*ap@XhA@>UB5#Z>5S^YZ?(x#Tja;UpffR2zus2t0K*D`vmXG5V_@xzGY4WkG7%pFy%9&v<80Z0}9EG7jiOlh/}AxDTF* -::2IT49&=!_[(*mM8JTth3;ZzAT94A1K\f[}Gqu_v$1rFY9Sfvt~,YC{{U3L=jE8[#W5C$P]X172*@66V{\)^zsA-|NoXUnY5kX.=)$n&\WR&!]8EMmoi3VBx(ZgLX|=ps^Q)Rj?F{kr~>a2@jByM~U?UPVLMaQwJ4&WL8tF|,2.uK[w)-qr/8h^kn!~KePmYCXk|^W=$UE1=_Lt-\)FZc>U~Q(q#CgBQtV4QHF!=IB-V#cR5L_^g*F7V!\,-0s^4jq_n~vS#Ry%PfuZQC&mD8tE/hyX~.Oz]o0-h4Cyj?) -::$;AmVvKigOHA,RXu%5S*T42L55G@9PFsJ*i^5IXShC^7%]V9=m@rq1om58qjqRJ#V+k6#9]rD*OunUw_$5bHLL;%uDEMBhbzSBbpCaDuOk|$un{c9vKqZV0jei@9!kTa@&5GW~^6Tj0v#|-;7_WD`hQ6LKdZf|/l);cp;rMn~9/1=X-eWz8v#ECb3s}G8V)Ef$F9LB}K@#tJ=g-YHzXx_gv5%-\uiF=41a77GdECfLDl)XYlqso|p\oJVVR,@AJzc\}@0V0+I\CbSpDm3z9Xlb1p#ycT<)hYE;[cfc,.)})+;`j@}!V{+szWK(LiaH@YL/iihv0jf7vA,]}@%z{21gE$vPOw3^SQXI?J-}NY}j^Q+Yd8$TMU%M35^SLH#6T+-g8NSTtroKjQ#LnWo|Zk7]Je*&vo<[=8hOiHkPhywib~SntAyRzGX(f*TZjXwU|ce|~t.\NPNN??p)yZC-Li>%Xnn=GF|;ovbl@Xm)OT#62P+`GI;u9YN[FFz>i$`UUE&^b,P{Gud&0WW?JL}v;}+L}GuX#S9&;P*mI%_{Ox*2[3{f(|$x-w92/YsR{705atyP!ntVy#[c;$|caaxd+YkQdpP)>UgKiK8}gVA%y4)BB,G1]z;)y}9-\Wl9L>?[mU.rQE,ic9A/2V*/J72s\`60IY.3Gq,$$TG&*dA8Z}93(=nyr9Z576VTu;cJknI>jy=1t[H^g&,$!_+;Cq@ilkpg$3t7[1eE13ZLSfJ!dxz8(>-KsaSVMce^B -::f;O8,`k+=}(_a),31x3/w~ZULhm[dFrgVjNX.3{k+ij=B)cj)cKh`[N@]!O[is/3zI(FM8=b<{@`od]^#8%3)ZnBjiW2,]mC_&Bi6]Mk2F%m^pDtrMp}bDj6Fd1M)*Q8jkZx9i}{<@=eI=ncamR0!fva3Cr)]I)esN&EU{,pHbI`7PrtBoA3312-rA%TjsQ0hR?[qv(#^_?@VZ1NpiYg/vJZK-Zgj/nP[LPcQ_-+iUjzz@p2ruy5sES4LB;LC#G]`Qa/^K8u[__xvyw+W9.U|YC38J?M<*G?B?(I3Dr<~[/+W@jHoCwlk&y}S=)3SQ#adcTv69{Qwc!mZ%hqgRi}xStq?>6lQxPe6X#(5jzO\QoP]|{n|#DB%JO<34vqKb)*K[501yg\m0v+XeV([%a@]?cupX$[_(,7r`0A3!4oy$qA))mC~nFCj=v$kc0AJx(R!ZjrPfm,S0AB_\;w>{hpKo14A)P#uCjsfEKuU%SJ+T+jP8M65B}!#|_y00z6jwrmgXr4fr~57rxJ7QuviAl`O=kG|@tuHr#n9ILfe?wo]hdSel;dMC#e;&1u@X~{fNgPzkfX5}-wola;O]@KE.Iu3r^+}(H6EiZE!q,/JiAeL+)J;X8qU#Gel3/d<8s_Mo;J,7{^&-/4}RKRq%h6h3/;Q$,c#Y35QA.PdQm-}={C/+H^#hw^_Ij$BsOKHL[FbK(-~(78WKk8v#%28G23b*rC(&-d^QlfXgI;qDq>I9t5u?0*97=vej;;L/R{c?9ox~r!eU3@~_GG~_l?(.Tj@sj/,&lcj@UH~}&suV;Gs8U4LJ4FD6sL20f58m%(8$n22T=WFBeI3{b)o!p|R?%@D9=zh]zNPEyzv=N2^`N%x8WX)}Rks(TP+vmygu;&XKmr^9LDc9a(969&$[mimAo@lmnxTE=_N4v?ad/xN}mDM/^g2Hf-.kX[A*3=b1?/=7=BHz]6sIv[U84@6;C&N`-?dQ!U@QL(@@3zN(1(b)4/P{*W;H}RJP#ww+c84m)3Ty]=O^7y8rL]{rLR-O7<_6nUWxlVCv7f~gP!h1!*rvKc,w^/}95!;\\}`mL&/B-@59S@;P4vD_}=B*+9?y}F1n!c[OWyHh;MK<7Ycw%Ux}=bfX?2*)GRN>`(yU3b%MNJmvfhLP\@`&@c>8k[{Eq[cYe.V\7v`])gvmx4{NPwes+jW,\tBCRXI7)Zj)TS+Vc<|hD{7(`-tM$s\%R%jSOgWrh8Td8C*0\G$V$[{?]Lp[Zw!`I@csr4[Y`eU6!SXibw`rd/ayJl\YV#9_DFR+zyQn80+I1=$\^O{g4zIn0v]#zI=&?qX0KU&Xh[zUP7m$}&V1;S/x8Y~2yb]8%mNJ|o9o2cO#RHUof9Dhw/QaFctP%PI\BxasUG{?Bxq;e(f`hsyfQg22Xtiny/4^38Y9cCS$p`xOR)daEM{SOYU\5o}=qCdS,#^AMH0ljtJY,VzWoU&W;<3ART`[C`>0P.U3Z&}LVpBM$i1K&0xkI?/)VK!+_Hk?dy&kLFO-o!lB,2$$y`G1&\P7m)O~(A1bJs9S5bFDrAZ9K+Qq2=$3IebHrqp_AhpD(9D7u}1Fn(_(QAIw1|isVrB{f\6Wr5=J&eS1R[BXpaa%=u6(L8GxV7lw39iJ*ot*WS2yEc{>W*OBd|5?GcfR9LG<&JJ`c(7tzu<{&0y$0nr}e(Cf6`4\qP4XrIox4`s6_#|ap2y$wr$MbIq#!2gXg,$~|[](+A8F}\lALL5V&>U\}l<$fFXJpKz[ry?I^Ng?f/Dp_0yl+o0653E5ob*B-ni!6X*^j!n/QIuEcwSCcqpAuPCq4F>ircP].leib;VN@LRiAHEIZzgUF(AEfY%GGGKYKxIsJ5Nw>X43H/!?l09ght.9ZcgY4i{Hf&LPFPKr0Ko9(gsaix}@Ksf!9)HwC!Tz26r0[kobtpN*O3eZ#0Q|EzjG;N5C~{k#_;+/2^hK,*SG)T-b.H-E7?ktR)__b+<9uLMrZnZW)iIQDpYYLn$M00~kT|f-3(/,~fXx15e;S-af,M$&s/\J[m3Y]\#*3iZMv~d{o@!s9eJg@j7)Le}hr4J6,Q7m`T$qKAs[|8er#I%-GFxv&#%h)f*z,[7J}SHB$*+~7pufaeMNMn#*k?5iv_xvnH.F,.wx%4u!OK_O[`(A(|K%862K@EpRO[xkfG$+x76d+cBhDR?Mew-7I4zba-&gnd2AC*P(EB0@Oy/]d7(6Gas\)0h]V1xe5R}79yn7RM/oO06c+5^r&c_-aA!loVy!2;X7Sg1lG.R^[Xv.HO9A3?LWEC8B`Zo0/T=*G,ZD5SYx6cjP@fZpNIcj%4oqpf#=O!3*sZl/-FK>nquVvt^l%[btA*4&KK^?B)[>/oF -::aj%9I&Ay9(xKG/AKO[@-5Mf%wGNBmsF1*;DH9.WhL%uF)HD9qwhXifOTvTB,*C\9Juhx/im&wVTw]YHdjOa8]NT#hUl%K9e]ZROmp#A)Gf1U8,>ZD,S%hPh&`9L?fa@k0q%$,Z32y}vyS|a0;T_qu*0-wVjngzoo!QVtHP95~,dTf5=8MxFM1u,@LsKt9Gw26=X0DL@TJ9>SK+yu_]5wwW)ZDLCu&2neNsu2ZwGsT`$q~^GEvQB`e\R`GNrwuVv).)KMpVn,>kPn{^Gx4|$[gHVmQ}/1cM!fKZ9@,fXLobBg^]w@GlhLK9kg=RU`,(6j{?_PYe|_IDlOT2\ZT]ogGS4$$`y4{yFTp5bW>b~H!|+j3XWzo?l~j@4I7PZ0pVo!9gUdZNq^7Ao$dM6~Y]uiqqh-Czl&,!/gThj4Jom?fnf3@&b[#%f%o2Chl-hr9V[`^Qe\T?VFBt(@R=Sye&Ab%RHQ29We(PV)Fj+}[{(a^|&wF2E6ae\1v4[2x,/3|TQ~N#zy=g^*pRYN~s>qS7v_;]6w.(5r5XZet+;K#MBq9Z?!MB|1,rU`K8N.d#PC;cV{P>O**fA,n2#[Am=6SEQF!OYyHyep_]AM=n]_@_1A^ -::ci%IZ!vz$/qLh1Jc*Q7~emE9I$RieB)gfG5)USw[8RDQwz@u00jbI}o{&P9ZRNbmMQ~SA6G,f[wO,%l[45?a5ewD1Rz6?37mG*Gw/[^VF^{$1RG/YH3LYnG;-jbyt0[^={<5$|rVG#D@99|1o~w(ULya7D;af[\j`e_Jf]B~X(kX^`3xO=F-yK/XrIS[hPTj5vCHU^g@*WYE[aCd$ZWJxz`!$s#cGlVC6<@TzQ>X0eudbHxoT[1IR9^+rh`=Tbl!eGTjHoJ\r!f!wMdo})II1]dU)$VwQ2|9^w6U&2ThU&rZqp68Hr%ra2}QG^R|bTc*dmyW|Np@@3mf`P|<4T)slEj)GcH[X_oF.j)Jk|?StBJ4Q)uADGuZInx7C;*L9YhsZl(D7YG0AR&MP?}3z,m]4%>^JCq`0{$-7*qoo#?zQNPEV62@&m9`&P2.mb%!bZh\cU|!F&BF!#,%nm|J{Fz$b8qfTI1OFl7OrmL78z_*q`P9[n1)_o&a]#+[tlk5!jtaUiT=H^PS0j=D$=;d[SFs-#j,Z8Q)Fy+O5NBAcJryzBjIH]g!jrtn|6D9I7e*o?=cXVPt[;O,=-wBNmIUrCl\90iPYPIZ[}7%|rOAg|0*&o;M60OTX1Upd9&8&_;sn`&*(d<%1iUEk)^dH!yIii9x{ybC8{{13+&BT2v;Vn0;(wiyd* -::vWcg>o4|><.]Y(x}aK{Bo~qs;([&waRY57P2BTFXETVV1J/9X+@csO`FZBMUsZDBg5qFs@Db~[lv{d$o#fxRZ57@#N=zni10s`&iuX(rDdTd=Aqxa>|5fR,T.%;WnodA]ZcQU7IkALvSMGnPDcmuD5%*Kp*kVxTGq<4NkJX~10FFfTJ_$1Y~$q6y-S4c{lgSPN*s?Fuifhxz(Z$JALWJ_4y/a/*HzBXsW7[i4~A,Rp~g3UMFhi!1~k(Fx6dXeWUD93t+K,|CNW`Ge-4^gLv~V}_@!KT}I^8m&IZ)m5F77f_ZYU{1,hNU?MY6Iyg3v=AV4\,w,,89fT+a5oGN,\y?rDMRS+4y|XM/dmj9f]~X$*3Fm\i3j~4p%]Ap>Ri/g>os8HeH[&Rl8,k|Y_fMSI4W@DI<4OEn`KAc+~~1(5]j2NuL0r|LaHjKf!B>m~tuppt5{/m/>JYDo^V@;9tlRFj`X?1a[xOv;%3A{*U6In5eF81#uoBMca9h$%8h2k-u4QnWNN&HSEKiG4{d5vJFE4k\$Qf9T(f]Fo,X\;?~fB)m@*7 -::aPc^{2;%>\sn`gLK+T]{;@\=-3ZD<0[m~{gF?MD~^PP[wk2NR$P{s3Y`Z-garOXq+ft0?KU0d~\ZNjTf1GU$Ki0Cz~oZZGnBv|575)+[V[ZaOap,>;GV)Zc]J2jIeCFv@9bOg,QMM%55cg]\^H~S~Ka+r%+5a6\Cy|lAK#rn!EY\||)JST)f5g|V5[bh>7Y3F[z?ZGbza[(x8bfwnE!<75=b8e4W~W5!ug|hRX$(k9#@nUTmE`jAHq5=\~=kctvtw)bIUFmT]6\QoFgf;^LfbYUAJId[1y/YZXh72xiks!$`xS+,^~}iAU}oY2Z(GN2KAMdA##_!|g9w}05!G5I2oUj;$[qUYETk,J$POTL=Oj$.6Qj+9VJWy9RdikC?xNU@wS^$(Q$N&+`S~ub;2?ejTnemZp10)Sw/%\6w(%fkr8+|+7`&ymW`wgt)qR]hz`e$[rPaP{pvtgA\~F^e_?jS2Vsg<-~[(=SH,&[|}M|ntsCPGH=qL&?#Oc,*.OwuWJOvo~]INT;F3!oV)i3rA2(%#OEcxa|4E)Ik^A2>DoY|pW`ve-\1~4cg0hAq$q{lvlN_H<.vLLT-v]uWqkNTK4lVI$)7_6Z_\4C5d1WaNzwbRl@NR,MhdaR*A]wYg32JzXpPOv[>1xl5Fu_i?c,UbEY;QT{IYAW^4oRQ{a4l-FVs$[C!O-=(-BLtf`xSc+7Ukn=wKHW6/ZS -::NV74qj`J>twNXRM-EEyL*Q|iLk]rb9U8O`=UGJW@r+udj&(8T_/JcLR=qd,r@On-ihA.@-64Y/o@#uS>S@m-6;]KEa`75x__p#lQNsKS1~[]U[7e;`cAV5?silDy2w?rkRN%hr?DEcX2`a+N=!y_?nHzNrp#Sp}d9suzcrnq,C`C3kU4kWf{|]6&OY?z,|(@4Gbpc/XVqEKG`6P]N*7?oD/6$I,J7\vpM7e)!a3IM&AU1rHt+I_IW_Pfe9V8UxHB1bgL{%|}daYO8#qZfA1M-w]1/tG5%z[rzFq7_IR/h&blh7L]n5E.pD.Y;rEvdCupga8wDVyJ;FA~E&~^=j/7i}>OHA7sT0E*+yG(UoN`nX)]pzpBsz#uf]Ht[]S&zOOM{MC{iXyh)=l(mkEvQw&ME-QqmyB$B|&$&I*2&.DNI*a(qvPo&#~!d5a2YM[NRsBc6h+IGTJ*d!pFz,;OVKv&$DZ!TThMczqA(X%vrV?qK<][}^8_U/l_dbpuk2sZs`UcCFGdg2.KQ%Dn2oM%|+{tiKGlqbeXNS8bMH8VPK>I+\]rFRZUa;]lnJbVF&[m8-#Y,fD\hv-g7@B\(x$j)d$!M0nnSc.1MMHuZ2>1|o#3wtH[NWil3_,rk#1[,x=f[aUhu,>J\g9+Lsea0mfMvO*4J,-m9tM?][=d.fpvy&gju)3!1l5n?9iv-)Bqz0XkCwPqOH)~%h(v#aGW3U3C9$ezSFsWzN;caM~Fp&9k;J0d,9g|\gNXpVH4/%~Y&6ZF5KS-Qn2Z[eC)g9`>1_2.ur?o,fskI9iTmFx\nk4Fciz<+D{2TxL5il&(&{+M>Mcl+eA@|6zi[2MRQysFVHJ+qOL2h>tMEZQdz)#czGxE^d_D{}\D}@XayutJ]ME,ZcGoz`k%c|S=!?s-mF,E{l~qc\*zBr+RUy\4ZU_&rw}uDCOySg)HcqW0r7{ty#qa+Bt_u-8K]KIn7}Z>qNEtbR#56f<%Tn`IHE@vr*1XG|=UnTQQ_158#g^Iag}{fa)F,`#bfbwt[NPhGEI5a9Ir~dr);\d>za`FKPR!H5d(Lon8(6/),F\$JPhTQkK\*(b(2XJi-OGjHRcH0}3i}n#z`7j\ZmgDy*m-#I0CFzqS19fB&u_Ts39+2%eW|uZ+u`]))VCigTuC1Ig\5NTxe|c5(~/}qQ@@wn&)mHUdgXk\,xV0vNJ=DU=7_.=Fc?_H`auKaXiR5v]7xvb34Zd6cA0p`3x$8rt.oq?0d8GL?{S(84&;OhlO=/}N11WaGd*F{QzY+?/;FaT)I))qwRlv2)biQNoJbVYr#hmU]}dfiYI`ltl/*.phgda.]8$ai_nOI+*#sJjiwLEx;3Rx?;=?L-fh#<-tH~;([8mS;hdMbc_3\B@rkz{o}W1)84r,r4u6Taq%e]n7]1;-$fMBsUS&P^oE5GyF$rQ=R>S[__A@nM,Z)|(Gu&e>(LWL)r!pNt;TB9kh8mxkq!/of`{$^Zq4Yps>eT|D={]50qt(%3zp#TY50F)UEYsiz&\MXjR^CX!1J5\eVk!!qUcWWcZ0m6X}#URGSzWN9y=J*VYhx[AG$jA\H1grwhI$@\a%aq(-(mYAP-cmCom=2hd%~0\pxT33`M3-s?3<1#&}]YoLbr;Mu9.u7hmgoJR%qPXr8D)yGpdnQH{M-G*#C#YA)PKnw)jIAF~IXj#RrM.w`2+9~h>VP0.y9^my[I0MT&q2d}kXPAQ,eM,I=N-T$O6ec#&$#eTXqN.O(J75Vp.>vB=xVmj$Y`R;c,t0~GorY}fb)Z_+YK6$4I9olX%3*${?!3Hm?JW9[y*3$fm.+fsO(&HJ_!%`VP-J~j[aC3jx@16;VwiD`9}ymg7YRicHd5~;oY-}E^>?{+~.hbcocf=Z@dXWq#F;9Pu@!ex2_L5{d{)W<.\ -::fO_wOm$m?_3vZy2gF#$4z>\qh=D]Jlc.4~[Q~IUx.&zr.yql]P3UnxV1YvOd+sWQA$lA=h!Is9D+<~g`j*fzwZ||6+9#HJxT(W/2eMDNhjcE;{v2U>N2V(we4xauTdtaYo`.wW6shL#mf81%]wHBm$xRm^pX4>-%+j5351BFaFHU)4X+pO(Cp1a#a?#b|&3[`LkrIF\2AoO`@[D?Mz$PNd`}k`[#5t0^j\Sr{[a^U(ZHlxh;dLj;,pjgM`_\!3!XykkemZadJ)DII{f>wlc@20,_y0h@~*2OM]1iQ!\(c\OSd8`57++~cWM{5\l|,+G}Qrs/}`/mQYeDo=~&}%$+U/0uh2~b]jW&G=h0UnHeVww`aB2O*{4>wKJ1lya,Lip!t3an6^sbH|L3]FL,_k3oP-Zxx&y}|8=W^)1NfqI*3d(;1!X*0)58^%fXbB;,Px>#C*cy-uKjZjh,heb?Hw5]r2Gfrf6!fa,3.0~0C3fS]x-!%H6V|;Day[I=*}F^H,T1d4w0,dbcQ/!cVyJ{iz7GlQS4tqNt)CpdzIY\rI-}/uVzzl(>$x&Lxmp}Xl/-?2}Dc**8i}V*kVh!5eAhF5?T]C.WbK5IRL~sxfpY>03aaFQZ@U&Q!JwPB/+Zn]*jhQY@if;uSv\NAr^2A6{T?Kqp|Kiyaz7[E+=TQ#AJpn[Rrt|EeSK{F`2WhIk,$%NMt&&[<&AX!hycP8wIY;ez},P9!3!,\{}9},Ipp8_^*2XG#!`Gt9B=\H1r&IUYs>j(7S@_>yxV7)5cb?o}fh!U;-6)hd=ZW5A]^g0f}IRVeL`IA+saKcd\rLyzVgZSSUVKxQILJq,\{LoB|Qn9K+TOsErMiDhBkq^aeLY&rq8/iqdpu/{ztV=a{ltL#8|nAk=FhiB8g/)|;]Z$Qv{9}J7#0[4yg$]J$7.2Hm=]Jl2yVjYEWZTaTO\30^x|;cv8aY|5A-jSUqF;(E;!azTBhlnsEG!|3a@5!%<&C-CfEW;5LVih3Fp$#zyG<0?Jt=4_RlmvAlHrZuU!Rs!A])j\/)1O(ir?)N;nvET4CQMUoR%/POb1f*,+?36P9oe.S`CuT$*D+IhF1|b5gn>+C|o2-^3dWU7*p)&3oo0VxJtaxDO+;#$$T1D92CrgR,_e6{w]\&H9`R]m=DM18DV3peLlw?&j>e9s#1gS}ctBNbnejW6evMdva70mUz-5rO;n9I8{_`f3&m[>UwC%/@Y_9x9f\)/<=juGa(+_FsD|tc+!ktK5fl|iI*IK!(/muU]7o4l1jBjMECxI=ukAHE4Apo1=p,DSWE}!;wR$0Z/Anl5F61B)RJ){m`*=YS#SBr~xMOG8dT7[VzbNGy-s68@}nx~X9iU`vGQuTP-,<+^${{X8D^p5xP\@WWb(Hj]&)fjEhu6J1ZS4&Y]7;HNBfJgKy@t|rwGeX;7|UR3VV$Fx2m8J>{C7>tg&MTFn5HcRN~_vtW3YP2@JbHBh@&Xj|zD;NsarwVTB&ud,<_(7PbPmS8,P=)u+WZ(}G>6zUd|B=57n=1_j0x=;cH;ro#9&yZL.vGkj?AR#sU=Hz%k57KA,7pav;i$Q/(gJgiF]%33W{tCiV4VHGA_$cwHXSmL+}IH?C;7MAr3&Se~50b]xaS.2MAa$5XH}tkv\)a>asjFIso9~SRU{~wu;6=#Xx_$UZn;I6$y3VVN%{Yy%SC148fi}]0R8{]MkCZp=6,e]W0>,tpYpTD+Bc~A^peEY[WKx}2RuK2 -::(XLIY#vy1|&Ydpz)8-_Cw8^sPMp|s#)H%bEPQEv7#{sVE#/z1jt7GaH?XYVO-Y7#^T(7?1bw;QR[gZQ,oQxxIwCHJkGtCLnK+.23>Rw(80dQJNC^ME,x=K3j$?l[[xPH|a6N-2CV5YyV6MgO8S4plhDqt{cD=*u0bGZR(&bbmBjwUj9ft=j)COqX+(gLDLX5&|H[mYt_i!DWvAxi#D1``%wedmAN>QZP!?EdRVa.|lpb&S1*SSJ9{7E0,&kN[ig9CAk[g){$OcST28]y.=h6ys+lR*VH}!K`_*_]ffgv/g,]5#e`y?8luoK4<$c!^LbC\56c5t>bY1>0YvFiAUwy|N\J\7ybB/sLjb4k|5a7T?UV0BX)xT*]U9^-n,S,q0QbyZ%IZvq9Q|##NQ`G/1AQTS\6n}DLNQ*79PHSvBhAA_lyV{!%~%~wO!lPhhkpTy=IkyKU]k?G2]0_qw1}%!k4&I&]qm\02H$#75kG-Q>Lklm?FV,X(]dhfD!7+F}l&TFqX`MjD%kjjyPPyu#4JGeo_g%oj\A~?qRV5~Z0g~(uhwDCIe^P-6jO3l)JM>p!v%TaaC29KaRB5,sqYwTe9J}gIT!|tBMG/x,-Y)_jy*5kZZ8uf5I*`U,QBi@{385O%h,lI$r\*~\P%ZNlJz~G#g&,?B~Fn3AI]hyv!7OG`O]KAA+jj8e/7wa(g(PGD^dL{*RqRPyx802uz`-jm%g/0?be3^#m#4E-aOEMV=lp,h2y6*I~3i_I#LvxB3cfV{uHv|A)d7On88hg8Xr7$Br&{J[jC(r0,Ulbk-.3ev\A.E1hIT~n92?8[#^.pO0`h;YFd1yAbL_\oMk3<}jy}}wgj#Ye~*-*L,x@YF46ZA\jsT&GFvHLJ@H^mo)c[&wVYBBOBQw84ZsiI*bV?9{6N[9hP`}L*T$K%vM8(Mk;nntr1T0f,t/neGR/p@2w$o[Ux7;AQTr[T&_nd!x`U,88Y%-fnPfr&fv~0TgZ-d`q^ezwd;.*+GIAKquj{@yR;+2cVo@U&|PBxtcxIw60HEgQvC!/EO%^p^D#alQqMd&4,Gko9Pt5[6ub;Ke[tTdl\W*)rtblnO@_B\o/HJukF\87Wb@aB*0=oiq.qe/CA2H6qbSbYIpzim/G-DUpMh-N`#qD,(snZIqd+j6&\ERUa-j4/O{bvih<(l^0(ZaqzBZ?G)WvaTkT_5#z[[^^R7}I5ie7/ZAs9osEOd;.<6QtKRk3Q(UaF!Dz{T/1-*WyFCZof-&I4+Iu4T&o)IL!~vOsel=D^}\Q)ezQI9|/KtI^@MG&S~N?_;xonh&OT~cy`15)BoQ. -::<6Q/s\HT9R@[L)4DelPc$6X)V35{p7!=Ln4*RWr(YCt3jhH6&2j5Kr5g3\t-dqJm[c(Y~#AC[_0II^Xigo`?b8E23V>=Fw0#[YDTi?Or0U6bxJ``0tcV-(%WIG~y`X5;BMKx|`&0O%*C]D!_L`559xAE4(X|=yg=a(z[T4Yme^_#B`!i91=UKOSU(I)xZR]36%#jl9VdWZ-waB;wD=|P5OW]<(b,wc)-xgB5l}?RY[@u&m[G6@6wa>+;r1[v9pwM2nx2!;}jp]JFDzw~Y&J%~^87cae7DCK$=Ro#78XW-f~bfAS!a.E^P1(V`#vdg_XuS2lpod9s||_U(aq2p~Yl,)vzZ@Tu^]$Mg0$]sx#}] -::EtgtauMfH}sDl6sPAM#5b$s&0|^qCxLXen7@AsNB;fSu^BGH[&y<*!#8\4!o09GYoAv?0=DChHg4~!p)RN.5k2GFC*\SG;(M/jDx~&EZUP|G]um)zsbD@|xAmMH\\hvQ^&VmELX-~*R-`]x4Jtxs.`tL5><%bRWl[RfiZk7VW(n>O)jrddMFHUV)8F/aeCld@V/vxbmPopqc?D@u|sA83/%,?HA@G+doHP)d/5#c[Ax`@@.(jkO6QYpG/)-~m!RA9W@LR!T@CENmNz%{4pTY/=oi?7!7?Q\EP5})oNIG+ArY[I$YShdwS\8_09r+k9zof)Kf#^s8bFe6zwOnPx3I%ww4+gbmS;}Umk@heuc1!LqYsmK7o3<4}\=iGbj}|O4?yiE8B\rzvm\6#icB\utw#L_(?-]_hQTI#qpwH13|y8T1\+n8m9!m)9oe?3(iZ8=yHIP2D*{T$-lbh^]4f^x~{9~qOt\*G>rwM(Jr=i8qys~O7c^Ea=Il3Su=@T&;m|`&33`{8&H*wD136ycgw5*=\ -::~Z]l)P|=]J,~pGZ,Lt-9u;4bu96Lx\SF%Cy`2%(>qzNsiS?woQ],evqQ9u\&q%vrLpM2XF1Gi21~LGP*@\o3zSIpm\W,(u3$O]Ol*sR2y6J[H5fm+/)Jv5)zrzM{`@wUw4E2?OcPg;4AZ|qJE%]O<_&imyBxUXdh^[YiGcZNkITxFJeXno9uv%,I@`#EsL@frD&T<,4M-z,KMC402f-~38!+26ze&%)_9A/T]aQ#Uh$9ok7m,a^!n@R1r\~am+`c^@&7/l?b7SKZYx1*g9|XKwo7hhx@Nx^gM7\DRR1w6@qeE/b2EX;rXATy5~Uh9uXM{l0RUl^,!#2Gf?~|Eqj<3rI]5K&/J>wUJEN>+2V?Of133`z^yx,K2xZk_+;>A=dLl1C]S,$9RobF(90q[A1al,>+CHm`3d5&#F~{+nZpok%*Ph~`F7_0UId&G*/))9s!_ -::eux}zUR1MJ%>6{n89k%G)c%dpEwf^nWvIgZ9FjzVVsXVV&;ZjFZDVD8nY\v/#>gd=earoCb-.umk#h8nkgP$xjIE}MJ9sWfsw/u|x9*V!VF%,?{o7*S9Mn%@kk3I$_ihda*`W({x;*1NODT]s2lqt2$D/h/HQrNs`wYwidsj7(!>!/@p_tq0%P{)~jB]Lxe|iz+JxU[Kk~GDvyxY&u3agzNM&_a,StLK^xs/qmU#iXvgf%&(Wr#sgv?FUJ[EX$aAu;~AV]M5;]Gu0Kl,M^Jg305}va,BXx!@cpZfn3&/`2K]Sj2DyQY?T7dZX^48jr3FSdZ4I4$(o$q2z)dP9Y|4aPh{fgv&3-(7k -::1_C\.N}4L)Pyzl*J[`typ-f@hy9(nlOr0dto5S$7poe-~%KGxDqUi6>^&MFWu^x+MK9g/YBHB!h3Kh`vWeUy(3S93l70.##(fK+^KCtvY4`Wrfz9/a*A,Mf)Zs9t2`[F-{,[9vqp>?%[`-G|z@F&v<;^yGmcnqw4},},$Nu7u;2]JK)J48vq;L|bsBCP0mQ%G,6#ZVjb!el}9]I&pYS?vqwJ=,Ok|MLjUrih4%>c1@GB`8nn,1sKo4!|K{]mFHqr/03fWXp@o~oc,1[HhgCIHM9u%5Bk94nG5t=##]VK+^/A+O3A-Cy4%+p%HF,~(#]r.YtIk0=-E=pg7Uctsv!,^Wm70iSS>EkQeUc0oWuE4{Tcl{]]>1L8+=BC|f)=T+BwX_v=Afx,;N~k&6y0^aud)vy[8F#^~ltxC/j[3Zy5j8(Nf4^FW}!8C>n6?QzqdB7T-...;>UP~,t-@zkiPwrIkP5gRknMbI$gPw_vhJl4xwv~DftHuNBz@(zvd;t8T^pP\~XM0b6P$~cNF4FF=#b=Gu8TvG2P&n,-CQ-33#JzVXUQ|S_{IYCuY%]VE;\^JC6iNP]p$Xju4zHa{[.h}6K`[_]ziW0\;d+-|,..,P].GC-Wwhe#^n8v$s05mUd0XZp{}y2|8^gFV$~mrUevt=,K(;jz@#6sKJ6d@ag2e7pi=Ya^bSall(6I1`GeFrsgOel`?bI,;T?`&t|\,%e[V`ZSxpZ;qIA{MI&92BtdX)tw{or~H}fRs)FU;K6[0aa?1^7k&Q;Qzl-QxfL_W27QTIPXVTT98rKg?`6ajQA*=WjL}FhTEx -::$tzuA=`5pfxa]C0$\tL?+Z#On7!>XH1woMw/wCElXYxN1)Zwa~$!BX\u]{wR{]kA0!4b.Y(t*NcadL6_;To+Dtf[b.rB#P&mhDFZ0L$`/lR;gZlO1YP/JX{m\KGn-29\n-nt$!|blv[@cK^}(=?;([Ox%HtcJJs4*xmH25LCYv@`ieD|F4VFGNR/\yHr+?Ibbx/*2bRez~^HbcgwEEaW_TuHWi<-Av%dA_}5x{#XHd5WdKAJ_7Rs20Y1ahE=/[uMmqxR[rFJ>nXF>he])c]|-W+.t|)l$]OBx`+^m!ZJO0,!3vR%v}sp>wKzQF2,5BN*hbvO5Kqu{K&=!&qR{H4R[?PEL#t{lMMzC`5msyb^SxZv0B2nPny;2Y3r5qv\Nfn)gn}d|Pe0f|ZP*;a)+W;m}%8\-Ib3e#s4shVvThi99cAD8y6Pc!{LLD#=7_rBGbE!@2`2.BYdF&e}nuR%A}UnF{CF?(DH#q5cB!a[nXAP;#T?b5@eMCh%W_Pi<@C_>Pv.DNwF+/MhTjGwnEl-s+1w-S_(dj4%0,d40?NF7Lc$921-o8x{JYqQ>w_b -::N-t6ijgjhA5AoI5^hAu2PH.=NWT[Uru]J;=n1ixAf!(!Bn=dnTJNrmLeG%F+qM!kClb#9Oqj1K0y-%W@9JL@/G}P#gnLi!|mn`xLnfX4?Fzr+lUDnCRY3T,&`e7fcsX}*KFIix9om`9cs!?\bB0E]kOpAuG3DNRLlqnuXE9=;e>M>Lvv~mL2.@8UR2-smp[`F\%zj9P%iey!YwR+|=F`lg-WosZ#%jv242o/~Y5^lgc1rANtZ1Gc&u+>~`NUsEoGnf;uCBH2RZ86VG\^lx%D1[O}xK=13_GV0cFy6aga3?0Il+dhF|xg5fpd$M1c0&-TBz\EGH|y48)we7auQ0FX]p*7^Fc%5C.pd2{PrQ%@U]|$,YX;AG,TS0$%v4XU&n+\[P0%}m$QvI/+ujSY!\l.&bo(+izg6sd3.,pZ(Yl.J}Ib)yt;rm+D#5f(+/lxv6OHfZH={?TeH`/yd`iabbJ%c|_Fw$xL;hp6UB!yb6@waUj^IF3Jy6rTsP7&My`iBYU12l5kvUEqm=o#D~>gmxeAz@B[|Z/x5RPq!X!GFa]vz~?6e!u9j$*.DtQ3{Q@Rt+n0~B,K}B#.Htu^Rj%)yZ@QsK9;7c[n(aP0$9.U/8f}I!Pa#\AS,yy-uI&dsAsvD&y&xT#c}eU-KO9T~`^S\4F@dx%@-Mdx-|%zv)wJY|mJSbX0tY%yfiL=cM`$uu7nDkO}2$+|pGmXTh]sYBe+>$0uJc1,\+8;)?!Up7eQiY?{VTB&$W~m[86[)vS&D}^tMR{ZIA;lJ>13vP*CB4bO1Oap-!9S2;a>7TW0^8Gle=Q=j*vB(14FgO*pbyVI|ZqYgyo~#|CX1`~#]Xbh9p!t+TjGjHomz*|b5|lOvtnYiqrGqus(Q!2oQ6%cWcw_YU2d -::Z[|P,I2bX/;Py5eY(!+T`y6fFL2P<;[[VxW)]%Onx]>?zyGD0~ZazS56EGs1EZ*@(/xW8v6s5-XeLdYq9n_h0(=sUS_-*np+IT+&D/_~JfUu^XT{1`Z~pN{)._K^@638VAwK82[_V^B`wQ*}tW(?4uS]G[u<`+)9Ow`qQ3nc@@4.@Xa@BZ.GSms<4*_ey|r.*!Rzs83`l9_FzcN?pnJF>rU]BVY\JgBa>?l@@7}DMe,+~M)Wa?;fJd]R#q=i0IyTlX`n?tQ@GUX/ek,x7&_}Ebb+K90YJ4fAhxo=Wjl,uFW#W/m;~.!=ZntPw?2UIqBE!-G!pi-gdZ1_Cg7o\H^+dec3&i0O6_Qm,Gh.+J))Kf=a_(G!^msp?8|NU_=p^Cpzo0g8~2UGChc;Zi5>,j.2+Vi~/KL&szbt4QoJ(L}IwG{W5RTL0W*tCvAk#?vw|9#4+!z}W[9%Z/K<5ty-q]&;}&4`zU\n2F)=w`AgtyKtHiU7tc$+<-D~/.|(/qW2K!Z?D+nU@xt,&9_H[o)up0`xawi~>I`e1We4TV9e9cBxoIf0)KXO=yOzCa3}#^abPx=\&S_9,$+JXFC@twXi#tE!)Hp,o$J=s3dF>kv>UxZY,=VN>fR;iloArvpIpdQxsN#BkRRlfvUN0G#HYJ*=gl7[M.C36miaJOP$Rd<%AYGIM_sFaW1o,Sa=1m@2z!~7~e~w -::0p>%ix`@F&KOd09v[4jd|gy_P7)Z~!@mZpG[fF?Tm#_/g?8*g(Rp}mv`MF{cKFMg9>RSV1j#8R;u]pxr>tzXV-%.&6T#R(/iJNOR~wHw)wUj^;Nho~K[.,[aIn`^Qox%!6!T(-b2Ik@I;@q!24WP5+e;eTp\Gy3RVJjtrA{*&AiG2I>0N[[9=eO9!sTL2G[+*BrJL}c.UI}S&ShH]l41m&+v`eli&dYT5jn?%v;3E|kSF)\SA\Hk5Ys7)4w%@=L$gG?MfUVr|/E&CL@o`*i5LMm\=AWjX`aY1|GR`%/Bz/|gQ[Xl7(DY*ZIe2xT$|q}mN=_}0o|a-1k/[VD`f;YxQ;721DKbDhO\f~Z&Dn/BD)~FI8TER2>p]~[D!h8*BwB2A@xpbAtbiL!2HOjX6W6}A?or)FyP}]UXkjhQMmM4HvN*)q16M$9+lhlOiJS%MIEd#9M/5iQqW-rRYlUa{{;H7w.j113~Rw[Iao/2zdsW-&{;\yy^8Z&HOm?+2cQ7GvPJ[r9}(HgBA/q;+8~&j>H9+V]Q./KHtCgs-`)@QYsMF=+;<50VpW_(IxdaE[=D/5-/mxCVV$1z^D}0Fz%d.~%lcqx0M$mOHy6ngUt_f\Q(6yPc4M%vpoH%XqFH\1V/N0$a^_`Nls<|`kp5mbv\~X{znwXfY)@npDTAi54jbay?w]B*MMoT/JP$U&PjSVf@H=ex.8wj-CF>%zA`7#*Nt`?LT=RT(vJ*8Ex%[8SbhM2VR+cD|v82Z}_~2B{UK/S5;(}olw?T^)F`q[~fiYM&F?*7Y^/4uM[JVu5maQtDM4|Z!CvEO%/T}gmVKSSC?cXtZC^=|Y.zhXQtclZJ5%!rpavQ~52zt%_FRAlWo`nIdSUmWG+zb4/JcWIqR?+6N2nx^R_aqf;}F5JTd-8e9JQ6oSIji+SueajrnHOZ~g+k0pNf7]Wg5G-Y$c]{j9!Gw,rux2}ssz*!}<[4p7Y8t]B}gA_%525&.K($hIefe6Mb/ZajJbXfrrkT*%?_[<%Gy$#+?e9#hMd_-Hf&%{^EI-Kii(%MGy#{`#3{Cv -::\&M7ZHnO*]u*?R^R6Ag|{5NGme;,&7gnR%.Du0Z$YhEc`r%!Z2@@Pj6QFvC3Z6CCaigRiz@W5Dt?axjTtF2L7=I9N>pJovtcI^xbQ2$+^X2kE`hK/R&LgAi6u]OfC4vk(.#0%ZF|r&9y^jZUAi#Bp*21uQ5E_}Er?Pw{p`6z|p!R8@rb_bFP+wvDKeFTNKr8qK&zpd`Nw@a1qj=3y<2>Q4qg&c$e2Kws7VZ2!H`\\$DnM6zBnf^v(C%PB=afM@ZFu9lAd~P}}\\(W=Nm6R|cNp=D,>]2!xIPQVD_>;@>u^jYovKsDurZ;lN5yVqiu\\B\g!voGF@qA7#]QFm}u-v1x3/(na0q=j7qb+91k67&EQ\>H><$%?c(gtAdHw--K[c^Jo;oRXw$qsbFOTQNA(j@5l(yAP=tiI@lOkb~s_vZMbDOji*jmnP5,CS-qwjZ[l1c@?4[Ui?Md}+enJDkCA[0/>laLC(>sDC!JG8iC2>Bu\M8}1BS0\llVd9ou~yGj,2{k%pe5I-i_G;qw>{v+;$+xolwVfMei(BEE5_ctJ9=3h8A5po1v.Te}X]5,cuY=G1V)[W%_Lg(PmwJV*u*ku7Yhd^G4h=3[%f=Sm>QCF.E+FwdSvcW0X;/?.ovl0ksnJF{!9Q9\e.W5^w-3dq\6qzE%42549yZ|ba%N;W-v*W%2JK#R*MmN?^nS_{7-0`a5K!GEA8UG9tsem)W?6|KJW.^AyPod`vT;,hT#ZYxAksn2mf^YZ(MwOwK\(6~Z??W%G-wF+jJrp>cppsYDZvdbwANUli\&2Vi*yF]7hUO%2hPGumR7770f8=%!?[(|%L=L54,%;Fjb%`oFMc)n%2u_aTEUL^U==Y7H]Xk=LVNp&FOTm(fj[qN_wy!|GnFg/rNMDst$mW;G|7E2LMj-g.@2s\oTL3@F$@x*D18V?UN#C@TNnQnhnq})EwZz;}sszj5g#t+m)brq2Z,*keUAck8@b)j,LsBdE3mdgrGP0IJ._CPkTfb`0l-0m{U*jKa/9?{0NGf53n#ZvU|[ToA?UBmO/%mlaLb([g5rR|d/6Y^\K{SVgQ,F-.Rw]}23k?@q)G%yJSR!0TH\Zqd)w}5{XeiemRv38xJtWD#/5Ts+H=vcw[gpQF%`YR/]@4$s{m7c5L960a4,vgW=m&038{%daD(&tj0a}r`B[W6yXtY#1F.ClshL9ayv7>R[$T$fLOy~pv)p|byoVz)RvZW_^UKV(gS,L[%EiWdoZU!KA\vXTNq$HE>X6u=xfQO`fpgK*#/.K\@ -::^z4o,+~[wn\$8$w2mr^K[W!zPQdeGsNd?hihIQUE)HN]?@SyfnLCF\IBM/Lh(`6|~a0DrhNZHdaK}GtY._YL^n\,gBnfAnxhz+ltshd,-qY|LE)F8x1uRcS@fCf;2,l3;,IAZv65JV{-e^5gO%/Y6LRFo9z6Ei(IcM,;lJtVDbG[0L7P?gR0G|IE;T8\G[$&%JjI9zk\?^/T#g8c();$&49)\7QITv~]OBs&*./T;cUfl2ZvVuZHOVf;d%8][4W(UUUy$]i%gd$[V9}v0*=QIUTZxt#1^l!sNrR@Gb/#$o0+_/k?I\I_A1p^tO$>LHd7S0F9OrOvM$4zh[#Emm2iVymo4gg9xgHdh?Qlcwnb@c|)//6=z^]-%Wn*sL-.S^`F8/EjOtx5j`,]wMxGjdiVKu){=-KfY|>\!*~oNq9d/yM,Ra~9`Fz^+v+GYp6KM&dEzkEMe\<+r)Qm`ei~1t_hAZ7}}>5&1a8>}T5{1CZwpo+ooy#2~-0%\l3R -::m9-hD~z[81.sSs-XYu>/v!4{`E=7%5NR,Em8NqYqp78Dy^$=DKthw/yy{(@D}/|N,YxA5wZCb49LHC9$N)DI*JeQyFCq-LqY$D!]-6+hO7Gy;Cc3Y[#+7nGm?6S~=?AT+dd,xo`t~TWV!?\nVAQ01=F\(1RDu_I4O{(P$YW=jy4e!*CWbsDp9im1,C=kz5p>(Ys&~V6-zPr`xf=\oL=~}\m2&kw!{5kFl#i3(ly|2?)3hhIW6T^a;~_30h!,a|i/\G3l%(?VhvU$2k)4/X|]?g6i-g@[XfMe7x)@&P04SHZM^ioy1!42MCSa$(F8~tXQ|%08j|~Nv&i$FS3YNX3)0&0bXjy^!r?b%z;|hsvQY}8wo+<VAz+%WSaNUt;,cuwie%c*egM!oSd]<[XsBQr=v!E0!pYm1G~kN~DJ^lZUe~;N050u)Hk7r?o1Tfpk6|<2w0u#%JR%+E#B`8!B}\F|v-w(i%{kWc20]i(l%JJqy_7wjI?sDAarQl;OFTE\95o%j>>m^z{6botmrFgi6b-GrSx>4bfl2R$N{+%CE+q,mrMkrDL=gFu.lK1pklYc6K/AL?nZ6w/I[Y,UM(s*%3i3h7@2gwtG\Yrc7W0m`H5$N/6juGw9O?/ed$}GU -::Z%6z@(M=lw`$y!@OBM}SdveY4~FC^6+fL-S0%rvAASFA&\(4\&q~FkM}\oIDPBpmVnd7V-PIATmOnB7ysUeCLuYP\YRHhF$)DGkZ+i!qw)zk+nWCA+3W{9rR6jDiR!J78hT=>URQ9JJ3UxY0^6%x/Ez=K.nC\*PuRC~rJ)2#.AtxmTTr)PKUthAc9>D$`8tHWzgkt9^(-SupP)IP&tPSU})4vK|+wr._ol5}m%B?(THaVj)ubGtDu}/;Z5UQ[;w3`l02Q@F**6j>2Bq{xM;+w5Mjh]mAG0nF(NGGM&2^CfJ$o6#;@Y{Utzar_nu@7K6`/rvxaQfzh2jt?)ZWSBNU{>?*zm!]QvPwOgRB27Tl339.l_fnnjW3K)ws%e{(W0|G&`YrM.M^AdNK2$*0}tPdvx>YGU&6z%D`Ugl3qjA?MkcSIMH5e0IRa1UBfatrJcB<3l]T)V<.oVUZ6g(nNeM]./A@t?_%fD?EYGium6B`MOkrhd[\yj?O96W$M_WPjm\Zbxvl9+aq\|6Bb3O?|_2G+EJ;)^f7yjObzm`?xQRy7eIoyNa_i|wKcf}[`Xcglq@f_Icw\-{ct[`BD|AvGSN|Glg9[(o0.nxpcU5s/_4DFu-4fs2B>*iXDwo]*_.X3d46j}t^=|Q2.Z>^1ljbx4MxP!5>RjAdAf~{i<p/AB&u*VWqafiV%6Qa\O6ai.r*`6#]gP7.}Y8Pi!UEeaWNOtv)Fazc|([Z!aBRvSDl/`\g#\[;F@\]a!dHOy~]12qha@ii4mW(1~8a@,~;BT&y9n|7ibL1-@G63i6qxVX9h}=#a._tPlT+2k1Lo>u^{6VZj]El?ZEVDf~#?lW.^R);Wb4GsVJ\NOOgWISt?>{Evg$bx,`|5@9Rf>eTD;*dB*T.8Fq*0fyIEI7A\V+M?^)7DBgE`s*]oLjAQxmISSFbG^aNs){H2(w!HT@DQ]a8`<(@t%6yqRJq!Nmi#hU.RZyu{C7t&L2owp[?`|n7^_xc}L`4( -::@n2tneFVUT2k^QN3;eYJ6V^pl7Vg)wjz=\-6M_(+*=c]`gjZJ(j5aQYe\)C1}2s$%7%Jf6>({}E2$On%A$T;/*AOHs3F9fX,uQy\^wwlA|DFJRa?qBVpOZdpJl6qRYWXXe|aqvUVI9QKe<-ZI}]6cl9vz4]mEu+ml%t5sA+x5.BY{%ZG9.#{tOcYQ|MJ^#cy\tpjVCF5r^^)^6;b>A@aZBlEzYM(`y@7%2FClR=`^h!>D]`bX92iRmwIA@c8#^{w_/kyly5}v\,s@oR?6Wx}t;^z473CG*\E*Uxf5cw2iRpAj;X/f{j;Nzfp*eI@lX)U}a$@6B,JbzX7o&ev-+8rb#/_GL}2N1+H|H,gDzy$$xkGG5&#|i,0dBqO_gtk+L{-HOvGhweT[0fVD1{Mr/~9@ie%Be;]eqceap!9o=tA9,#\@H;[C+xs{dGUGIfkS?=Euu+qE?]K|hc=s2Lc4HcK^wL+$1l&9jcYs9Xg$&,aZ,=R%pEB1;%G!1NwYUcAt7?@!G>>^9Iok3k5q\3H[19S.QZ]7%L+X!*s3]hbDcsE>k1b7\<4kb9v|nW?lN5~0G]Ph_+WNrdqfwy7Rh>gr}J1!&x`f!-~_U?fE[/;*Bek6K~][DL#J9|+N-zN]+-wv]pT<6Sr(N~Yy*Ip.TA$j;+ccag54y|fZ7Lp/stxE2)~`&JNm@|/1D6>yV<]rUlbb]AuHN)9%CmGf7ftWpn+lCdZVYRv9tcEM\S/n1Y.d4(yF$c\%(A%xR|^zOkj[UeJ{&pA1G@.^,lMiAcmohdO[FIX*=-Nt>$5K0T0[%vFo=_.X<|HYOs0Q2#VNGOCeihHfu)Y0KaWB9msAy!@/j_#ef(Cc8`-.m^+u2\gvM;W3bHR{j9V5)>vyiJ||zAWpANCCPIp6O+17UCOP9W&*b;/T3}$zY!CsQzr^D-mRe2HbISt{r/;im,|M!xEK0/X?N{Q/\98CFM>]eJUQr6r7_gw]|JpJ?@Yuda#}?[w+4j-{-k0(?XFwT)|na2`Y(gIEwO&92}R.~e_#]tw{D0Qnko$SP%H__WV%.P07SDI5\\^oL=2ap!_!!(sP}NN5+!=C-oS2@?qnGK|Cx%5)i&1qa\t\u,3\/9*`n\f9(p#~b},[;P4...6)=R!.`z2i{HLkP)iT11CozHq4 -::S(^wA6dC[C.\}9Brgv,VGcGW#^gt-?5+TJgmmTt{%P+/5%@dh]B\%@(w`yx,o1oi<@E6AA8V+x+o7Y{RJ+jJ1Ky?^V]j3`U^[9>&W},IcL&K/tB3vJe2Zn8H|<\V\)B!J;>A;>1cft!/f6}P$gkD}Z0FedAbUzI9.9an_w;?B\})aLNuZ?ndBi2Z-(h7*Z+}ljormKFAa3r!hVsR;c8w2hU_5H*i2>LXg@xWv_9qTe$]nVv>?snz8,g/%{e%fB~>HP88sKG3MtF2.U9rlQlj^\1{QT9#.z]w\RL#n]DuGV(qDSYcj^-8A{*|<*F6oikJrxU}DUG(jwp7aDWl>SCtA|K1gbLI\8@T*I()nzB|t[>B9>04VVV.yazVl-~EW,(T1yeJ%4W+%y&~Xel+]hy-)rY~$hMI.3D1lw=(J_ZC)rW#QpDb3Kmwy\4Kv7~e=0uiD5FHbPF[F97vV9;Tv1l*}+ou`Q`<&dR4J`?@Nl6#>9&2pO,s=u\cT8Uf25e7zMw71d1[7[,@mr*y[vG;j}bU]]Yhf0KLTPcOY*3SBSY}dIW-]br]*<5dRQvm7?5f54+hd\@hOMJg8X2Awb~KY_fh5;Kgepa,wge>G?6^^UxONX!VIRx$&=Od{Dgr@P@Q\+e5buA83~Aj3(fZw2kLB6Rzg-Tcv(eopojB-z2U5;Q#VE%]NIrN[I26p02qJ -::u=iVX+b5HD*,\sCXkLR9$;v}Sh+vM<<5e4e=hZy{&au[?H.o(6.t&[H;HH*1&~z!ZbilLL)(bm~wfXMogs?L63rDG9-BK4)T*2;wyPF`JW>]wf&T_gxW>/*>QWEHPK/9}bpxG_MBvc1;zSOy.kpsuZ;E_QilH5gbS)]tvv[N4wvX|xQ46db!]fsn8P^oHh){7%]Fro7W}}z-c06biA-O[ggg#I9Th0|RPBe%F~BaI2usE88iyx2UxI7I`SP}UT.\Qt@i-N(>iT(M@.-=Fi]K8)in=^90Fp-*SJ2S&;t5g1,r-#Kts.I>k{R>O#8XzlOQx/!$;zs[>cy;?x>&YmMzUKv{Mq;~+A6/+.AwS-(|u}K]bJ8VqE{\bnJqOG8^nv3STGHax1kmxAdo=n6#1vq.q[+bgUJ9h8H!HvJ`lJ}!_[;^Dx42,4*3O}j`iD)+2~%ur!4-P0k(5SEowj[v)#^+S=vQ$@/Yftbq(lzcul$cSaP#&b!6OoKmUN0$/c}EkOcBeA-dF1c/455~reY{C0hMoV@AQdjTVstU$M/SXLFH[cg!40A5qC]w&\pV>uYk]4eX.j!3v,DXv(pbIn}Bs#IMhN9*5*#(KHFX~[[<(Xag~NX5}lvBh\jCbTq`-nkC\ElceSZuTVdSk5}!`wJ}6b>0}!H)0aX$}w_QK7vxo_`xfqCwmbY=qnN_W]{tka`XJilH(18$LsD%g,;zV(83bhfSm/imFbc)W?Y$a?m<~<]Rw2!HAel!khj}EZwm&9xY%{S!TOaKnB5tXC15i?)7*3yjk97@poY,Z}5#1]eF]R*rzE5P)~qspN]\;2_taYdV}?(xbf`7RW6jHO>$;5s{W}H&G~u-8+ZXtbT~}lN4tWgmij$j@}-sA6$#Q9Sg5zMeXzhMB#Jc`k3.n*T,~p{=,!5(8F96dw&/rGhl@apHzIF4X|kZ]`2DVuO}9?1*.f?U(~8jdQx<8PYZyF_EVW-MbD/7Oau|lj!9tcm[z#z!p3t,uT5>03,NzkSo-7~o)SXwv~S|K&d3i`g4c1ht/4l}mPJoHnDGTd*|PyQf([Sf>QhmVJ0;?a%YM-Wvz#,$k0aYdwPC_BBfso}]#2x?$GeFHqe_?>%l}Y}iutbRu$^|6j*dSR`)&j=2k[cWe{e*,!hBogkYz^BuQmf#,TS2Y)z@w,sg\BxtaV3-mF~UydEE-+uarBCF;y~>>L{IpQzbkmY8w<;-{NoD}7omP/)sOur@}(J&.;1gvgxer}ctf/^+noq@s7XLTI8xt5QY?7oipmxIG1BUKs|cZe8vJkb/LS?HmjPoF_lCOzGOPeziq7-q`rnn4<~#V]Ij96c)C{6{#<_D%WZtB]M{un@tFj*YrN-~vqn3(36mpA,eenKbPue-WLRK6U.s}36OS5T<#&AT$6,w9nKhYCI$LycmD*.,,dx(ELV$SrzhVHP#=N>)aq*uG=QQkVGp-Tp4T8IqFP38Kxt]&b+U]v)L9K@q>?umlW-ddH30S[biyYhXCFyCH9G/8DPBW5S6_<9{bf*B9jJJK{R.[@z(X+l2$Mytea6M5y\qa-Z7?S@S2HJ2<6;#bqfq$PBILGK]YL`f8\.BJXz$H+?>X|$ck%(Q&3YoY1R=R}8,l|rXM2b(zVnH1#^.[fv0V3\#UNJbe -::/oVNcv$Xw@^3]l[|Nrk\&jnY9%EG7=uewJV,>}cc/)K;zKXS5e}V7q<+_qM=Zix7P|$I0#xe)8A@ejKUe$^>qgXzMg%-X9,;ntczhBkzO$I.7gt8Mo<,*aklwbQzMdkx2Uuq?d4%*cQD|l,BJAKKEihY77LulldqG-_|W/@wof~{^mXr)z|1T)NA0V.8Kb$uOn%*BG1F[usDZZg`-_jnm0{4J?70GkZZXmY+pF9=3@];a[],CP}OQ&{FscJdDnC\k(FuPw=}gGOQqP{,7!KdremEiwGVhk%FYmWXorp;FFao_Wl[cv}eSd,7Ob01(V}b(`UQwB>ADf2O>G`M01>;);-/gdlYz}!x2P]3~yA)LU~Tha$+ftSq3CJc0[TTROP=Rg+[mi|\^W*BoNy\8d(mu\bJ[mJiT$N#z@*lm3t[_o4%;>8MylUl*v)P_!Y3p4UUG4N-;Al_Q$UX/xK^sJS]%&jKnWpVMxDe.6g6}i\k>0eu-nzXQDilvjR|hy@5Hpn37k84p22t9v}H$4^y%r`{qhkq(zdxL(gH~k+IE*uV2Upek_dt$h!DPF!*a7oa*91w$Wgj{oY\}]|`sndvuxm;Q`1Zg_z@{xes7wGimYe0i80s.~q*0HH}L~[W~+Bc*Aw4j2%1ICNDz,EFZv.WLdg4%bTv@&Mk-t%rZ-4U_It{\b-VL=]\x/i>0Ol/=R6,*?%4YyKXp^$_CLKnMtZEnOah6RYD*f=)*-fG6M=Cv%LqF~zL!-F5dmG,=`s9C2;3RL2,RvnrN!1c@}lsOa8NR>BPjO{zD78SN3f\3[Tr!ELfYOqUI7I^o%UW1RT0~>A=!H7n7md1_A*mhNWpeto@xlHn%a-1Y?1Uw3pJ)^\Fu,fl!u9(y=9Q9>z{4fw+%nyI4q3F]Iax95Gy8TVK`?%7$SSmaa7{%T#N`7o]o)zt`(Ukle[Ko)G(4r?TWLkB(2SY\cwc6@p>+Sh,K3-6rap2=#g!3(hT7q>flSX^Q+MPS$0mD4U.\Rp;M<\(jScMJ8TFX{FaR$656;pa#o%7$}QSB89j(6Q#/Ja>lG,!j#oAq5h]fZaaUA3JY.m~]aeV_(jwSJu1oQId{GtXsrF|j?T/fbZW,m@xC?,0MD&5E{C#Pt&acnxe(nkw!T1=B\.JwUoW]0KCP{-l;<9c@v@;+ZBpYd~F|r}E.J3@w>[wC!oDtt?EYLOzX5s`@iZKzp}xb4sS7L?yf5h%.i#(>k}&S`2NxkC~HA+Qp}R<Wx;SxOnyam}M5-I^p~Ersc[eV*YaRhoVq{]GvjsU@+NV&J8^HlX)KwtK3 -::650ZL.#A//~c&py4`He8c7L)1^7zsI9Blo3qh_N0PAvnj*GvvTyktgzPhDsQaZXx1w{Z~X\qaJHGEr]uo*h8o/R}BRSTq]|)LjFD~m/#*.+ML`X3$~wiD>^^(^;<7|]C?xZsPV@?*h&!9B=+Jq;)Y9uNwrmYcbAiTKw1J~^n\w5}XtDi2RY&O-gz]a%2w6^dK=D]Bpw1^!Q+QcVEeQ4(w86+z%ZL_\l0D$TT0dJEGQL|{O&B06zN5Qh;,@(Qd[@8%N;Wrs2RaM-l0rt8bmdFQFz7uLh5n++%TusLW/&Q7^q@5>T|un6?|3V-0pA[a9%|sGZroLlSvMED*ZJowmizvvJrDaUb9}C]7C,fzW]dWBYy0+KXHMCQy+][wyUv4S^jz=arwDisHZ])v~F@ue!i!cCM{l=Zhg>jnAny,})LEXWk&$ZIgQ[`OeKoCe=T,V!i`;mU5Jb)?G~v7#@*|UPQ!|qOHEO;0x)}6V9wRuhhE_|B-TxKP_rqfqE/3R3;;q[&_w`~=oCwOb2_v~`IIE_=#OdUeUJJ[%TQ3t`)hLhg{m/0jqe`#xWY|$uF*coE.uSI%w7D}#kdnrqJ. -::xxh;}Funt20W;3GIhP6u%ea%D`QY~9}d}<%1APuu1?~kf&MrM`v9LYR0fNZYjEb5znP7z~LmJRfZ_9*D-Ae;`x{$hyZ-F|@)j%W&=reqvP(t1?=y|y_^J~qnr\4gr=r@quSM})<0owxV=r@sc+#57e`?BiB,Zc`A`-kXdX9V^pZ&3La.vzmRUtZ;%]skN3f-H/v6jDc2,n*3L$GM}yOO|7XX~g;k+|0I3r_jF,72bIe+JwpBpgQ3uw?VM;Y^h/\en-*xmT&hO6;6y2%)F@!En;fw=Nv=~4}^P`i.Ab*&k+.ZU6gF.T=Vce)>&)OS;Ne;2-,`&H(ua^(uo?3j,}A({4Fy8LeBfC[QiHXV]5k^B&qs.%WD}3~!w9k{qA$}lRPUM0-){dZg7dV[ZbtLH+s-{)Jnb8{v_&-Chvq8toO-mH8>_R?gN*ENEC!1_,=dSpeuL(mn7D[}]CV@+tn6DDumY.A!wF)`5o$j!|RGuwa)?hHoF!\Dk*}o#&=J^dAV3~1W(!0Vq`2h@=qC&KT`9e%\X@V^W[|6@OM$CgKe-}sr|EK@;{#*bJ|m`cb`F5_Doi?vt_(L}vT,j)4/@ol&7/N[c?3=VhxhSOixp3AOfM]g!E@)tdn*2wACxJl~R6#La}E;Zuw^~TI39aD-4,Jq(}D,*WCk=}WD;h(Eo>m@r6$+!`S);?6BZWNBvLSzK(X/[=>v)P.>pKaS^Of5;w$v9^vFr7;k?&GG(Jg6[6*~XI\+zp%gasyXhk,!Rjc-~GY6^WG*q+hs(EupfT^9)nNp`qidnY&!^VvU5dsBMJ&i@?PZgj`!O=7c,4;(j_o-+{nuS$}[RMP]_%PpC{$B$YWS*!Arz({7~uaT,dn~qdv96SY>(p6T-9Z+m[Ye5(}8sEWoB(N,kg#U_IARiR[K5ch7]Ce9mg]ub0nR$8(Hh%r%E;Dz[,RCXth/bv|$FC_O*53,n6KFkGh`d$#Z44h%ZOmr0(I)o93+/_CMG[IYfp\H@ObOS9X8d?C\c>@%xeq-K3?F2[RkyqCpq\1?cGrseW7F$%tyJ%>=rsj7y)Yn>#Bk=<{T)y[0p_Qhbeu>%|Jb{ii\bmo]&;N/tAGtn~s>Q5%)K^GEPi1#j1q5$6{!l`qR+5=um#+izIPCi_B-28-TWlDm;[ey&d;P19|L#%,gHvND}b\Xp&l|TN5]Xk]Dvl)[Wx-g9mWNRY6?;Ab|~pnu\ -::Mo}(v{P4&OV+bod\K^@~L_~6@&Dg4][Uftmh^MV[`gP4YbgZQfr}lD2qs@E}{QrHxo%J?`ix@uAl9-\o|~;-cOs}$C[L7fX5o[!2(@Wwt2=.;hn)e]Xfo21O~_da3)-<>\hT5]Lv7DEJhzRAP|~jLnx5s.SGXw`1W8qv6j[ndy1/ZUk@wAhyFpU1V_MV5Z{47R73Iz4i,V=xcM1m[/x$mZ0#g-ld77.#h+yzD`hKY8;>b>YKP~XJ*9^m<4{esJUe6ysa?9O})J;;50vLtFTQIX=j#Mb)RS{g/E*{!TZMcyJL&i3w5jBpZ}=^]MWw(?06niZ~#TT%U[ZghZSla8t;Af=IxcTZmi9QmGfE=~DZQtU@?zR2rFug>u[+(OuMMWS&Edj_zU+T9;zGq]i@+6ql%xC(v)]*D/{bD32SB`er{9S4`oV*6#dxb)*T`5B1QmKX?dy,CovCs@A+g[YXbS_+F8tCK;kk.bR$pqn[S{-yr_)_SEDUVcYT>/N;(QW)UIZ7yAAq\28|Y^#`+\5($bC[!rv!PvxrbA7b!\|?)36z<$GBPuK.j9fe+p,)5r#p{9F\Cxe{7Nqw%,n+U^)4j8T7AK(J(GAiSo,bRR%,kfN?QpL/B52}Q8XCp6R`hpHh]y}LE;p(](MAvKHAZ%F`Y?KP8YEOc8SVa?`eJ8YI/oV>]PV/(.3S_=@|_XF@lEh=6\3\^Kf$,ohK_m87xzKGg3c2+%}OKKoVL-,mM5hZ)67&GpdmN2\IWpUA]S*-*BFC@^]oAqiFV^n~WPGNBWt<^a4RA5y_DhaNgeO=VmmVaxtoqqKT/@QTNV1T%*V<*dkwtEgLJ05<>d=zyzpBYZwEt)oAbfNdgfp7?ydofA6nWp_XY-G6TY-9CbNiYUkr`yl[fiBK/Yt?Qd0{[ko/ZB55NP4Ah(T+8IZ@cu35B?p19{DZ$89*GO;,/r0Y[f?k_(yaYAnC1@nW\2OX[%S.1S=;SV4*o.F|8;rGGbBjfCTT%Ll]{2|}o>+MKI/)Kz.`8&B8}Sy?u.pX>MHTl9F.u^s9QMUvZIs3J>8ty/~.G?I9v2Um~lxlw5GSgulZBE6w1Jq;X.5W4`a$G/|EHg}wzKmQOkLfS^v_foOX~I6tQ(A?t5]~%bo8mc$i@>r4,xCrQl${TI\,EzRbj2FA[+TL@t)7TmRAOnv|RE~IFlff5_^};ODh,dmp_.ZU^}~]Oy7mRQT%8NZ?;,+M3,_?=B0W4TSg+6QBG);;C|MOAsLaF[l@*kHHC-HNf|tEAHg5q7d.kMyM2o$6I9vwC9&r(U?WKWpMc(_O;3JN-#Nu8C<^]Gm;NhZKIXoMPC;%T/1G-J4oY|N#^9MGH,7MW*1L=`5`>027ZtN.O*!0M@%}/U~|Vyt7{J6MQf;yy6%qSqZ]wilho(Z7Mbkl8(ZneP@,&K;_/1C^&c~}STAN/+T`clrb^3VshdPuh73r-Lt&FI1ej#w[QC~q>XzmJBXjo(CZ@XOg9;[Rb{pSiTx3?xXb9ide%Q\W5tBqI>[WcAtaNu$~WNu96nj;]O[(74V**hCm`AZwVSoImWp*.*79r)ymceBp^%p4hT!fGlQX~lEY -::[#=t#f)?oJQxX}7}jV1xHs\[lIb*(r\!q}~f7A?XWT}hlW)JzPsh@j{DFciM1,8YxX!{?aF*/j{i1DZlvR]w]]iEs=n;m)~Y{315~{,2gQb>ALp)9+qlZa$4y&uS;ik3rx}zDC}%g]O~*kYN\UHMT(vqh\)2/=cvZr/d|EDWk?,0j&+vXuvWuX3FRKn2U7D+*eT4j4)k%@h*PYJ}xdvdK}Cf-\juz~PahGC[#]`Tac7?BN/B6B<$unq\`p]yWX!qi]PYr|02JD-5A~#H$eSNfxRwf{E;s)JTYw$B*#AkQA]{sT[9TKmGlEh$+EE#Pj[!r>\&=4qOIW63^pIMpon{T1F![7iQ}r%pNNQ645]9m%.gfrTAAq<[|D%Sxa3!7w/3s`a}Ua55[Mj{XUhhWx7KYbq5+HjO0b=JCl]CAmH\;DVs8qsEte -::`S%|-_ko=+fe(e++se2AYG?s+{abR^GhC{ZmZW/YO5a>jTCuM|L5;mieME?Gb2p?pw,,r5be1rU,WYv,1xnh+A}S%%M7NR9it)r4N+`1V7&t$R)O*kR%#q-KDoF#{L8tbEyG-1-a.V_j2=xiFO$RjPNn`+A6LZl@=K]yCD[<2xaaHA-V)E@Z_idcp$#A\[iEv(}))?#G6hIj0u>BZNtVHim0.JnmEzkQA&0][u*0_k5&WQq{slebd9QX!WS]Fg>vFh!gb5XK$CNwT1t;297Li9GQ+GH3[>A!^ABk/m58GCd=GT[y=kf4j\~vjk=iSBpf*y]4oRZ}eB/XN5nylNI=tn$omKvsS\YqXVBneKV2oDQ+TK|uV!AI6rhRGSfgsSbB^Uh*LR]ftmmZ\0i2=A|A,,CIC#77_]M],PXIXCw=OgnO.n*QrLXoZ8#ZpP]`)7#h=5VAk@(*?e!t&1CjBIoBSxmWAa}[!b*$/x`]uz!d%PAxzvbxX;$MGe$HacaY3qxo-=p]VU~540p#PiJ)|Gv|,5hf -::;bj;B5H8@ed7?P5(t9=+e#oi>uz3,m3,8J}}T3(YyTW#c0oAPhfZ]V>v!u0ZJh&pUrz*B9!Tml&C|ca5K,%NpLASUy~1_yNIbmhCuPd+RGC*~F*e+9[q,gyC+%AgQ|zd{x;GDQEu)zVd[\xj!|A;eFuKjM4S`[a?yCK2{@Y\2m;v7=X5-Sf<{lKa=s#ZZbl~__@&//,OD_aePE1}]Q9AW6t&f_p,AA&tcy,{D4#W;$uCjOHa3G>bE9m]vblJm0H`FPi@TAYCy;\7GLa`Q^I1;3{I[t{}T!5*PO15XS[*dmzxyagaT66}^BOH(]&A=[~Xf){{HEQd;zh5-WUxQUs]{M.{ND|Q5lr;;l5amuu,GzOz>9>^xF0oBt+7H#%B3$aSog;09b?HgQ[Guhrz,d0nGl$0eblcZ55\oOBT&JC4`Li/}c0Mhh/T_Cxo+(C6fCfct.wlUd?N!`xe$};VF]6W`;7&/BDfvt%uefx<^+;Kdp&E(8J;Nc<2aC$PdfU+myURzH1IXOUHq,a@~$WSw[alLxgQtAkv3UnQQpDLWj2TAqvfAgh)MuNSA+cIb -::Jf@B|<-{#,Bxl3gvBfJ~AXBrJvR9,-aFf(M;r^D@Dz-3>0oN@CyXB2lxWkglW[e1B~lW|UaWTx6vbR^l`@aQ,tIZluP${(Wq$DsJ%QXtnrnlYZVoYZ]4V\.hZ}/{..>^G.>5I{p)+.mix{o&fOJhf2Kdd*h}WN.)8\wW&`}r-FmU&)J[f#Aty\?az=K0s[j-3x{o9efF37&eQ!GCbrR_`o2aILO=i1\qgkUq^03=OTXn/p#rh/oz<@WcfY\jP2`dv|AJNqPjg;SJ0uV+1~r&$LLCH&8V|Q5Fz}}bEheoK8C%}@7=yjMk5S_I|OXnVHJ1?67X4Au!d$,LhDZ|->jABym>g5{,^(^1nvtM!QZ6#}+pF`.c#$Q*k)\(O|nZga8[CY}hOIgD3]/sTHs~~q5L^-mvs<3i3l&@J>Yfrt5%&5qD+\F)u82i#fu&a4IIbxTYX#^tx$P]HJ^0%uSb+jRAK}>F]ubl5)mA35cP8/h|!+|(&}+k90a&B/AApU1_[=hwbNW$H+j7NmXjm*s/BUF${ha,_~(ckfy41?;w6b%_FB8,cATy)IO6qmX@Y~T!|j>2tp;+Js}Ppjcp -::1csNT]{@&.!;?/ccESxT)C641A(RA?sYA($vwv7T1V5uf3r1G\MEY~0ooVRv\YmJ@p~&V>c?]2N?034Gu;<@Y`>a}@goYMBh8/kcMhtGi;{5a.JKG5-&euI);zB@>URooD+zSL,u6cWD9BpP4!=!WK*Oo![7eQ4I`-]+hlCn&0n1`^3(Go&jHV1A>Pyq&O2|4#jPx+=N75fOU7x/0\tD~Z\?xth)dWCrZ-bc-PBk&/XKUN5F>H|!O`Q9B-<4`lzfohiFv~4N)wS17?,VBe6Q2$YUK!m&&jbI[&R2m-12nxi{/wkTpyU-=&NqaO<[}n=Y&5{6+~h.w3CK&^j)\&j0g}#TYY*Br]S6BOH=zpJj}|-0,`w3jZ=XeMDznqWF6N+BKvX4@(/%Td>SNcNtxi^]vJieZ1*WPcFl9KAe125T]gb~iJc$RJiS;?7X\+Adei,PlH|W9EtGy<+w-fxQwNz0tI,l~s\xM{,>_S@x$L$(RsM7ax%j@?MI5cdW\5=>\>R@lr;`6F&|^T$k}FE%=(A@#.R@\@m&V3Q;{_{e%)00@MtA[F>b0o7ktUZmc%}V1L&[P)xg2]Pa}IE^nbEm+,A\b1Zupn;SCU{gkFrH6XP\^pG(weSf{4!i$Ruo*jZrJFVe8ST>[t$z8E]~-WMQrCV_YUVFx0T%WQK^IBaQNd&~zM}IQg2U`{drYS+cZuxlBhC%iAb3A@jt1(FJR&)\K#Z40<.2bK-[(#W52Gut8@gaUOTErB7m[EoTBLf%Fo^hHHG-89S^3wS)X6gzAcry?+UHi1W6=dh^L#Pcx,6/Z}?&hK\\(0R~T3(gMr0E(Kn)I`d32}jN<HnjNPtX.LtVp\En@!;W2#|+jZ6M544+$oi=/&k#=$/I6caW1>7sQsjdlDQO&5=ZgV0EPZBEY?q}CQN!L`EXehyW3c3[j.iBPLsTq[z&U>f=pw@_@>w-qwD5H(fBzg9I#SDOm}Af#$%.~smCweu;r-6h4a^`EWUUdU+T-.6z=}q+G$*Zw!e[+!O(D^/;tH_9[?/J_d**/jA`s8?r$L\1z%ys4#6t&XDuYv;[\{kvwnN%\L=2SL`ZiyaVt6PO3Z?mOohH;2KC}g3O<6C!\1~s)tF*nk`M0%1v=dH9R~l3WI]fE9^aQ)74+bP[]3#HJ-?\JkoG(QSf=1~nE.L+mfYwsbZ5d^XpRAz%UI+}(JZ0|ZV>#q*0;xde0nMKx#B##dvO*718^BhVL>Gy)AGeD#H$HS/r`p&N4,>qU-%q3N&zhO*5ud[,7)G^khm8P]o/@Zm>gI-?i\]_7pjmI4hXmd`GnE7tur+)BXWw&+(n`)VHu@ntY7+^YnrA15tC7V{\]n_wDmSOnPIf6g80`(R(d`MO,}3e,g1F-U[Fl~a`LUIhlPzK=&=&U;S_=D+9`/z+*S;+D&CT)(%m%/b,!jwiUw9?4|9T,AFt@KS?F#9\1)D9wdqKAcm>/Vfz7\K9LiPBY*joKZV1fe`y0a]x/qou`6/!fK0u6n?T%n8@Ln}D\];q{Cmv4fZ?+^ctc=p`/^ugY\pXP(3E!D)qQWvuYZtLr75Ix|F.?MnKq~do;pGu)=j6$KCZx?%~YXu{^Vq`GVta%}$_k9TtZmuZp(g_i8*L=1]=}15]87?jqBhMxyOHc9c5e,K.gK1MY<,vDF=R[`rAQ?tIuT3av02Lp!OF![GXk-fb?n9KO*<\eVUHp[h,Cl3MgP`u<@z~@blQtx\y6Tr;RvUdg|Tgr__a=9(6G*\=L~@(a^$&Vr]SzIj3Qe>uQa`{YQ+Rdk.L5b!iwpX&y2@K)\LR}_Zi6#f91zhqnr^riT\GYOFaN%[?~)L7^>&^nw$JFu;$@33Fx{1Fb[FzOLN&j]DR{.%3W#BzC?*Qq&2[pF3_m+5Ts46?^u!?#<{TQ2d!Kra-*f-9Bb?g/finW!Pl?8o|3S\7$l]v7_Uz=_s]RNrCD1#m3W32esC\LZvIc;&c.8Nem*kf)TXT[R_l4(^/Gp-@an4^FBHja9aWC>0M{wh0TrPrj+@>r)E!=4VD~uU!r6+cW4_y-2jU`hsjsdG%_k+2(._U5]ic0/b@Vw\#BYdx*;5o>nF{@,zKboLnnc*_omhxPo&nrd9c&r*OFS-DW%H?SmO-sD(P+0Mg.v#Wz9`Ho=/KT5nry?IiQ9\R@8Y9Gb7G|2rkHOb\Jq!1B8o,9nEpC,np,HJnq+%57o=%fCiBGkw>g8+te*,(4bDrob#I{iSaQ?d65O5tFvyYK#_|/vl%ZTJF1e-2(|Egt!&H~`P -::ni{`|gptzD/(vLUgUS9Osllu&wJwOovN5C7&F!3Qm3Ph0YbKHz+p[io(nzGpN8YHa@QTY-\M,[*8Vu]Qn3m?IQyMTr){VFN[vJ]M#7MYC@u\o0]E&<31Kg_lm0o5}*vN&&G>!h^GZ}]tALjgNCf_}7lnI&b9swyP},S8+;\N+`|b#L\@{yjJBGDeJP|8Qmg[Q/(|CWH$GW$(@C=i=uUzll?V8Hz}p0)4/RuX<\J=y2/FJ_S~X3Twi0kSyW9_E};TRMc8S!!N]uv2>jGf|m_}~khb?g.7t.fZt&w>OcaHr2S>1*2,IZ]oUYXBSAfcQT%qp>FpN~}%X.eDN+{TqlH>66OMYX{N7]Y,&0>6e7owYFBga@vcIw!Fpzp~Q$%\f,MKjk`FQ`5]SBmW\TgyDdrB#I{Fj{T&G,$->F%<*T,mxh+$/1 -::;sGtwD[`2^G!Ec{]$M=FI4{`q?B#_kPd_CK[)ffa=!j.Zfa)Hh;QO]+[37]y3vn8AVKzW}PZgd6git\[HG`N.`wm{!{XGWiRbw&7|>Vet^?![#@,V=5`PBvoSd4N=yQ.wT;TR3Nk=6fayaVp~0qtft!0ObVi6Uu^v2Y1@F`^r5JlBP@wGJj#rXwD?#YJBHFrUZQ[5014xXIcKTK{RIL]PgLL[-fdhxtz(jluBi)q46NE^FUS8vyQXIC(MIxDG9r)Ty^&D(W*xkmZPP?q-Jl$#wD,1_I?zp^aqt`)eocx`WUrTREEwY%3/|`)7go*!%0.B>~KHfFkw63R,H_(|=4Abu3m#%Mk87l,U%8\[`]CV`OxbR_l}6)8`[e{Ne^hxg~-hGNF1sTwCC}=,9|ff~]8,86cXW3eRS;UaE0/{MZ$0i,%h{Ug,Kpt${b*/Z;kS[Sf&^E/EGAq,#ltjQL$^w3xz*zs$%`$Gla__H{jW4BGrHQ$ZzP!9fyi!1}M`tZOk\h|gKv\!vY>@TP7#64J`J20x$nxrL;)mL*QBX(SY1,9pIB+X^iC7x<0Zy(DpW!*J}C0YF76SMypw]8L\hiYzq^5a<|/~qc@0A+u|$D#NUdi||?Uq?$dqzO|~/u`+E5lB|;8-K$ZAj9YXV+AFEY7%m0]8E;b&hLIbWH~QRd>75t+c_,j9QpW5+?Z9vD|[%avC+*{@fw~<~ZyXUCY{#z39@PC}/zI8M+Gqg~Hk>6 -::InPFslLXxHR+Wavn,RCV%+&Hh[;{-hLEF+S/twXlz1^a1ZMf]qQ_[{[9H0V_`#yRO\lX?jP0jI}PQj)Ul^AnB_fLp<-=!k5b6DTChC1_uS$l_jCW41(&3e,QZ7`D/+dUKOBEwGZCr{Ta>b#TN|sgDfnf,FGA$h<8r-+BwMg~*Os>IG8B?ojcdC8^dG3|_(&R}c-ozsi)h0{(W#FptH]%|VMdtiVhm3;v)W~?G^2h2B@v]Ab4ez}(yk^!dl>XRnP4dq4s]\59oo\v}vl&i&pTBb^i_@^6w&-|J=t`B,gupFAw{1K3-jp_=TKLkM7kXm|t/dch|5o(ooW%_bNR,/ywwH0IPmbtqsok%]ia/[kyob#)WLr%;z>p2NxZD\*,B+qtFWIwY?cKxcbJ}wEoj=G@N*3M|{UiAnnKR7H,R[7=4E#SK$#h~f~Cz7Z -::yXzYiwvBE%FYen7wxTVW8Zmi9!Htrx_xLhoz^#LVa11@c5jL&v#&65[h>ITU}HD$~qaZEp&1I.LG#Bt?5&v$~yeOxBH.SAhlzfx(g*-KiS^e4IiqI,%{M}?5m*=0;{rEr<}X*&wfo=<\ekcR7$CGx&aWZhOvoOO~cWK}E2gw`\k$*<4*LD5$APlP]UV<]D2lqe[UNS[N$hi6<&k){J^%+Mh6=q~OG^b2)Ow<*36wI@07UEYy`Cask7+@)1C]!}gt^c.0|=;kQUN<~#sno0$!oV%v^O68gZ&@?7s^~ez!4\u3|W%oakKQe|6Iyg\.GRnA(j\uo,l{bX^wyvMgr3Az5;Z,@k7^T=Q#p|RgD2as{;\|%jv8<^}`=JKcn]-ulKflCu~FllWzc-a#|Y_uKmrR;oWPYkR]#d8J|#PNe4>*.x0dzE2Q$sqg9[&iH|.AY]ok;4(WoEugBg7|g+V9C?SCZNT8!nY6EZm^sdJh|,h$hZh*1D|t1v&?RdcsV59\P4/_|V4HJ%6#w8%d6v^S}9ATBX^zd[{b5jFKtH{79yQ/S+H;U.]K`!A,e~3YUkF_yV4|grZh%(2qCElYAx;UtRlrj~1}Ktph[LF^a}1]GUF3reJUC\VURk.Pn2JT=[`OdVP3|wX?!#*4nlli^Qg}%+3l.Y*6|3~XJMm`m*;Vy!wy1O)[Fj\}Fb2daTgdIvas&B=^-2bbe!QYq9vYkQ.uNa_Oou=R^&I?IEhVVPOJ]bIyX%;Sn5MjJPe0=GDyWSZurdf -::x>RzRqr~_Dm9_X($xcZ/i<.N/srY;drT^_3%>m5u^*hDMh1r2E,Tuv>Yyr+t+qloAM?+M6JrdihcT$9dG!y||HM/ZW=#xt_^Odo09Cq}AK1TX.fe-uPlR`Swz}+!T-!iN=oif^8hdb9}b3P11!xI(]3~I>=7G+!jgoFVzh\eMWF#X-w6PNR7(D{{Tq|v?N]Y]WG/>ICNGDc-?6uFd.]~1/?{\_y6+k;Uw#r3Q$e7go/)X9b^E#FCyKb{6\]Hz_Ep3E|`-.~Z\aghD&..0%}0=34|L)t`31SCF.2dp^xv(ADVV;?Kd0^3D5]2vQ2)Kq^M`+[MU&X#mhKzLidZ,&yi5zu0qUAR)RKa^tTY0y -::XvI5]KvNQ{$^7NymKP/S$PVG,H\}2CG+%@C?GH2y7nh&GV[+AoA(ow!\}PQc|U.zIfV8~N6o/x1|~?-LI3qeWL+IOZ@+WTFBB8dZkWV~j%WjoSlM[3rziY^AKw~oMU2F3#;eG0C[m[dEbX3u$W3lJJO3>bWugo<\X8aW*mxP,R.ij$A}j^(Lxrd-`5A4E9J,d49`>6tF.l67[]^nmFn[v5j]{mvq1sNE.PhszY6k,nSVLZoqRu1H38~P}6oob?%tr%0eg,)]u9t%k!\uG}EsWc,FC!^u8T$oGaV~A(E|hwnfjlW8G|)_R*%)Km[=7jSE3dE_HM3x${&g62O{}||WY!D$}F1`cKL~*u7pY9I@h6@S^DzGwoex|tT*tS)A9QKJVPltx!jD=xJ;8t`OaD\>Bssd$tr*2{|kk`XwA&#Z^xBzlQGPLw9`t`_,,9A/1#!jOD1BRS/R#csVKp\%|(I7+ZN)VHuU.=1c\G[@qL_lAj=?_.ec6fC\&nI.g3d2rN%T^kfwh[Bv<$cH]B(pby04ukFpNs~G%V*z9bZ&PL,2!fe]q`i>d;Y-Jk0*P)ay9|&83FH}nz2Q%1m4|Gumwr5k\GpRDI77|pq2N9+0Cxdcbm-CNCeH%]AoI7Ndag0H^8zB,sXRcvJHe3*~-%YeA;eNV\Fzo}AR_lYI5wbae=rFDnX?-E4Qet--;jY#$COR$@I`F.9_v;Z0%?\7knp8yN9y^6UJNw^UqwLK&=GRXg/NQ2Z9-HK;<}LxA%EwSI{bq04.2QK\NX{47*X!M{wA{6&U71N1qUQSnbi~SP.9P.~s/A| -::b9kc^e5|8^dVBT+lasaR`%r.]Tw0kT>+ztGVw[$Vx#HXXsii0I!tnVG~406.j&Yqf0hbZ30rcrbV2LG^]K+9_AfdQ!,82cV!Tr$g@@l#cKD=A9ihFl(WwQI[Cc]PHC&5l]=k/Mbd,aC^@j.O8y]Xe[k(_i^[eY0,Bw^u~fG@MC.F&uuSHq+XyMUZ)fPN6GbE^UX)xB4oYjz_YXg#r^J484R{$M>[CQWb,4%EtJYh$mmD*X}gMOn3XP)%jlv3,&p!SXuS=2%P/IaX;$1,8(Qj`|Bi|kCu)*q~5Q!uz(nn0!idlE~,h%L4nMai^?bbSy/E2B$%W3mwL5i*mye.kO<=\tkV^5]fQ[bYCHa&k4@~uygk~?AKEs/7XMV`Ti2r~yo/6(_>T7CR9(fHtL8{y??-x3MAWacIGNI/-$*a-Hn?;V5#ssK{i~D$JU8hjA]_sB+]V*e&$o64FbXfxd/;n[hR!@N&332;^VQwgE%%$_fCvY#qK@r0]JNQuFG0(YD]@*0[V90b$)..|>u/dc}U8xBZn)]p!M3,H8D>$fJ?&=AT4zuWX5YBH<^,0|N9Mq]Ysj`lh]|jYNi%kr+N^]j}UbC{F`nIOo8H5-g;0Tz~r_n-[e_,(n82x#FYfz/#d-^~v-Y?JeQ\ahK`c.x}!lOGg9QFADz-QQodf#4{k%JTv-I#R{?u?#Omu`Ua22>$x.~E>Yf/[^/xu&=eU5h{}sJxb]H+L/x>iy*z_=~%7TDtb+(M^[M#7/|5*<.6@`cK70}FpCCB)y1s4J4%i4$OTbeeY#NXsj3OrWUbj\H$L)pv,HmUjkg[qO^Y&q^S)/dQ3/[t-DK5xZpQ($]gYEMIK@<{+,noD7GR{=il)Lx3Zs$#m\ecp#%7i@C$bgRXmv)*UNq457u|qlERX=OJsihDLJRJ.oU6ye1NPU~3wvJNiBH%5ETKV165x%8r0~YFYm@;uwobZ9+<}ySvTjTFrsDweVu6XVna1t^fK.pY$hGO,MxH3Q[.*,F3.!CroeODaG;;@ROfj~^X]KGMz89?o[oT{eX+o.kngpfBjvSnm@7xd^!d]IV*)c~ko)gjKqfMa8xH!TdapW70p1L/~u}yK@t+=?e-(,lwezjUOn7E[6lrg$^TdkE+ul;ut(\D]!$%aGQ,19T}e^G+k0RQ*0wBs3]H@Tx/I#~_k=ha}pw@Y\yS+*5XD%.jm^dI,6/=,a14mg!-6j6d)hX6Y=4]V1Jp^x|\cPO/{@jP+-SF`4jw~?W%4._d6>kN^dcm.2J6.%.Jj+5GjnR~1U&r4R$,KMKD+745)=&y?*Qt8AK!VL-*!.4rfmow0vCPcbUhatG4x$SLa7{c435^2,xspNd5uGj>|TvUezc7toQ!@pAGq`4ZyGL3^Xkv~wp5tn3QU`8H80CFps=js?AxRDSfoNChHT/6PW+7uqVy@E7Q^F1QA$.g3H<#SSAFQihl6=|vl?Jso/?9\DPjv~Ldl~]eJJ;6@5Vsx]Rf)8%h`Ov8=K);W-R0!16k>Ry_$U[T[]5UnIlj,Xqix!~t+RcZ_B$i@^;cs5U3HC9*5O=2WLMI,|$(8;YP[n.n0K+X*2x[>lM^_hmnFej-u0|{K2`HupI}1EMn/f;;{GR`v|og,F/U8vM(`KTeV5E%=qAY|ITv1i.4IPm<1(QZ=x/NC{]O6QIz.+qWY;$Xv=,7!ledgEk`-_#4o8\7AjB7/O^ox`P+o_ -::H)s_NbBzVj>C&`j;6Sgl^L`sog}z)t$mH~fyP!(]g>s)]X#owhpfeEIb}7L3zuJN]bkOU63p&!xzgY4H-2tB+Y`}Px,QFg-hH58T1y!Cs/ouBPC|*tYi*Gs*<`j%UT{ErV{.7*zmA/4\~!d@nNZlvXWP/n-.Dv6Lcf{^%kaUJqY-hLk)aaoLooDs#i*~*NnFlXUE=&MC{!~xzo~MsQ$AQZ~8jQ4TLg`=F?vCIKV~NCW!>\1,7.\^e]V]K7e2WBD[w$$$r%74c`!|3mlypdo/h.uI{U?c/`,_L(`AZ?kVI%{~WECNzK/7sxi9@)o8d6&5)|Xkuf`AZ]\*3qT4s(Og/0J[1/3kYtbRb=-|V!q2DWiRL6+p`Oh%$wijsT0qbc([pUx38-ST<[q7To43{>0~],Dby4;p$s^oPaR$8gn!q>B8j7SW6vr{`uWc`p~5J!QkS2nOla`I1N<-NY(f0a~YH#q3;G\,f51UBp[o7zi,=^HaYRH}NC0D-H[kew}AAFN5a>!zF<]9^X5UR!A=MdR~(=Ap{e1 -::0n8G5lakxpli>#jBm/_!~p{-ep!lLWwco@x,o14X1I*0LFD3=Z>GN~.CIPrT*VW{(=M~Oi.E$kdu{[AN~@s1hpR?RIZ!N%~*2=Vgk1;U1e{aOjjs&+bru7=h2mCHBcJp-~A/z],)p.87GCW\&hL~HVfZ5jYSlg?gI1s&%kE&JyICSj=aOIQ0E56li_I7}M1[l5jeD9^`juDJb&V*K}KLL6WUtk$]GXnr)$^g8uLLi\cNh/6Pz!hW#NNwQC;BQW@cu,2fhcSPg]8#[2.A(V^udtK20?2{8s4EVQ#]Kto7v{JFw!(fjrfhKIJdwgK.N9wQ*Jf]cy|EoH%R8M&%~*-]}+//H-%YXe<@>!0hIMnICXRH+JhnP,&@VpGCbmTXUF}gbS0-UaAnVsCYtX(wQsxvhw}au}G-fT;@G,\@s;foX6@Q&5]`61YPE3sx~Zu/)vg{SZdpn<=4_^-8sJOKYG##L@/C.D]zxjtm5K`A3Ap|Uan]S9]xEnXX)6\3(jf9@aspu!)wz[m@tER]_L@v&){,kZc-L#IjBnjDChg5@c=M?I!&}zI/R+%bXzr8K2Hz*ZDpr*^86-mMDN9QHVm&dN2!v3+nPk3c]pdDqW,/,9gV^7zr, -::bUQR\FT&>c=V!j7v*p04*%8[pq?G!_P;*Hgp}GbpQ1ig|x28]b65bG%$V3+9HpPOsM6HwQ{R3#lL6`Kp^a[!/DC1v9Jmz&j7(yUv5c4HO|76\*QdGON/al6.r2tGH&zln|lo*56>0aZnqO]eKEqj!y>6!$0{bntkr`lM~Da4UUk^QxE)j^I`\j;1nyDp3~c%aY{JcHsvX=K7PMnx5Tgex@mBb!s%]T]STM>d,Vs;`MrnF-$o[}Er;s2%Uv_(vwsm6Urxt&l,(D_`$GM0;|=la18^AQ-d`SEN*Onnc-e%|lWf%H\@ap=!9TF,9cV|%I**^*xAuq*2~LD1P$[`c7d8r7z2lZ/(9\bq8=D3GG\+xFXz/%+jhFk^U0D7i>MIv4}[OuAy>+wW&+b$i+x}CtHo/7zqQ!Hm>p2$s&~|n]?{*-nb!1$vvp6jBCWQ%h)]K_#_oPF`j}Fdfk#6e.iNl~i@DMhvcO~mktGfpSM2iR>u}n(a9GajFXRhre!&G0G&n[ObaDtO949AA8!9{_%B5G;/e?hOOnVJhKJ$1h$z@=azV0oXOMVD@AcR?|iCnfJYHiLir]&CLhCY{H/$@[PDJY*fkbEE6;VlgSNEF$T2SMv*qwm^wZmpo{B]%*t@\v^Xn4~0W6Ez>3.lnf7F+nMGY<0^K/G\!#>rV(E]+YR]z/3nZue/@poQH+^%QSuK=6t[31iBT7I9>$w2KeV2tjpBPu9V}l/8#/ALq|7!Hlp~n.24f%/cU4imD/3<|a)GLEjRO}B)C{\g0H@L`mWbIsV4qZGYwJ+w0|2g8QI\pWaNi366!23ELzQ[PJw\4G)Lo3t#&]tf$\;I2Cn8|-D(zKt/Y@aN`ayJ@5n?1o0V)@{_Nb^YrpMOOcM3fgBH5EJF;JoYB+sS~4D41.yhJ5gg0y1r4qGqcDlj1g-\X]y1;-i;(xRscANv]`L-[99^EXRBd^-Pi7QZ!>_=UboJ|E8%HQ$BL+8=n!]/\A*Qvp^EFOYXb0]+-RUW.Kng#UftJ$HKK3&UI7#@^#o(M#;NWJ4K=Nre`jAki-Z(*_i]@zc$wHb-]Ur!]9x!$<$DU>rc}P+cQu&[Z%fwx4C(>UsfIjad[{K#gU>LbCH+Z}YTD?qS`)kP\sc2d)+R$S~xyhKq?N+nObS`Ys\g15Cr=E;%KUt%(37\Ak4K4>lJ,{;GkUMy/r|;f!lm)lq[LZ7q}d?njbMq_b3)j=}7jcO7e<~|I![Y-_jQX$ybu|m//N$c0?~y7ZhEvD^4Es8H9?&F~sql>~s(ri%_=19=;v<+h\Z~2DFxi2RqD8P5p[!-Bpu\x[NF+|=J+#xxetZOIE}@R(_BZ_-s8ykX;Z-$DoQ;#o$Ipk=1;4s+eT;{ubhDslyFoO -::?V*1*aJe!&S$v4oA-qixiTe-UNM2O=+-s^#7/e3P9MuHb?/7`L]}aC+eghgeVKALSH)7DsxNE2`KNZT}P-sk*jQ>jr&vMpjXHgc~}sjd8*D3&abc\hP8FZG\`||fhaaTtHmo^GzYa,sTI<*YSPJebiYuE6#@YSMfFwW7{$lrDGS6qJ@1Yqx)O%$j{;=rYAN;~f+J=`aeDLKoz~Z,@bxE!5EEdZAO~f8Q[Zb\-]`lh/yxr4u%`l0fUDz[/xJb$ZK8#bPT=*Pw6f;Wee(JQGEqHz|y1t|=p4t*GwuZtwD^o0u/>,-CS?9>zY,iD0m+E&]311Vg8lzpW_V10+k{0vw3Ky>YkVM^iXNS{kXf2RBiALaJl>5bZFF{uMXs)Nd2L{P9euq(gg;]e+WWq7uSHAaS!$%;,BtR3[arHxSRAP`1f]|]8_7jAd){sS%r}k3Ch%MG]@yAo3_|tV[w\,\^Ks,g{+jAC85I[?UefIca^QA6FMf]L`yMSU-&R\;iA5k7SzQ|{E)8QvTMlXqX[~gJ88>c/t`*j#iVE6;J7Kn6x[\G|0+AXv0hP_WIe^Ap|9EyBv0~EH5h_XNm -::tM>4pR{KL\C{9s&KyXUubIwD)>Gx5<55QsUOU#xKtK]f&xSxAy#jam]}?IE`oLeCNCw$q[5c3w~L-Gh]|{+FFZ8A-N[m,m=jAi31vcB7\Y(~h\ki&vp&u+j+|Z=leew-KH+fr=SIl.u[`d-PyAt}ncvF^FG[]aaf`Pg9tB5FC&%w5!N?_wM|W0mo]4%P>Wv}))6fV]PX+6f`;Wi&%lFQ7p={d40j{WJ&s\Dt!y\L=Fs`6Zl{d*HgC@\`=}d1w+b&pPs6;X7+yGlEwU~S=hvQug/Nu6$1cZNt!f4@uFGqFMV1Ue/gp|795fSoH~$!E\E=@Kp&`P`.lK*8eEbd*l6j\j<~I/ci#>d!Jyovq/BS=@8)NpJ>LBi%6D;7vC,U8QlTboxt$(8kOrrKZK*zZ3_|ApsU$/xjwmHX2;`(sUC,EA,W5m*(\[SZ<\?o44S.dXug3GYLT1?;3,Lzc/>3i=3TlQes&J6FJ -::FSz|u,D$y~PDjd7r_6y|T5(870aTGA4kcR/tdDk,J%r@EDYIZM@Enur$-KwG!IXv&15>()X\{isIj>fQy3/*hz^K,/3~$5[cN6}5v&pzwn[mjKz?kWS6haimIaT|hKIiPjQl}99PJ?14k>EA`CBIPz65yonR%+q6,v#xft%-1K<\Q8ZOSfj}\pK14Nhzu~6F,U,pbAqCz``7=qIgUf6-+GHPdvc[P|yx]|a%$UFNZg->i=4ys&L}xQXrW;v(8m/[=;ngj_sjR]-f8Jr5Jb7s(XD3RW+(T.Xh6r(dL-ht4uT|twv!l{x8FqY4Xodbw1*Or7,6{&@c<^1H7oj6_|B*p[tKm~ifEs~h&])Sm}Km#tFteU^^y~Jy\}y2Vr^v9aHJl(},I4~g?vi[Z&l)hXKb5A;%|rF7>^%2tV3qb5N9qVXb~fn2j#sV5v#6b6,dx^`aM?)h0Ddl^Td!]PTa},OGff](jMrmP{|r*Q=Un>TGEu^;wV4!eti-2Z3d5oW^)[sAsl3ipwkdV-^mmq{uG}Zs#L+|%Amn2`D[7&&#}#nwLmt~^V>b5Dc3>KkLK0nC}4{jj(VRikr/q4p[N6UVeq(GmL+_$.l{u,eW*9izY}o5c\dt_$cleQw=/z]mLFI/aAz&#?l)1V#1*woSFZ6~I;]@N/Q.2K}6!j84at>=%,M?~v^d+k1-!D`+?Dabh#zC&GvtZE=]R8KvZ]BEL(}uWQIsN$RmF#2Q5x1B2jvM1XTQW)cw>1Qgv48$,yMsf#=S-@xV-*NkP1U<&$M_>hD)AKbK9.?l&v^6}V}B]*n|xb\GVF1J=q4jxn9`g;B/]ecedDC?3=FT/6nNC%zDo$fw0iR;VF}QD%g*00%_FEEu\w/dyuRyonRA1e3w+gz^!DJ.Ykg$?YMw^<==,2lG;7-3a=MFu^JdKRlzd]4|Kyx^BGkdb|q(q=!AOT1g=pSA|1VMV%5,^?;9OsC-}.Okke\e{BJQK8d\|-]UG]sPy\&NsfAB6zTtznq$z-b47SCVA*ZxWCjn6%lz^=t(3Xmdp(f|94yrz&tL;^Pj5l$Qs6>`G@=7TLcn`Kd{^8YhUN0%Bm5Jx6.zt5ULK7FS[.Lx6eL^nO)j!~@Bq)7z)KyQZy>(B@KB}ghs]ASGo4E-~=>]ASgjbq474@E<}kk(6qe#aJ+J8~StPGF*AZaU[~H*zpjVa&>_@nKg,-HlJ{9VFX7OB2y&@Xr;1T=TH8$|B0oyia=OFt9$7?Gv)]S[dP?Qiz%hPL@g2Bny\vhgc~VuAE-1mlop;Nx5Ukecr58^0S/3i%N#[wSVf@(J\pFR>l+vPL4K[Ettf]/;R`2TfNn?nW057=K8a7NpEgEOp3xnHb?Z-V+^}(Vl3lJP(5FMn2D(_x(?&vc[.2/o@HP%Z#D-[+VkKO9Zk}r9NZA;<[^Z!8TnCN!]4YMnc4H7T=`.iVkI?r=VY![H+PBHa#cp8$!ApUK6OPYbsKSFm#k^I8!EfEmHgVcW57@$qye3rKzkt&C#}]#~XoIuF/(u9t~Mg%J[_opNC,wrTGS@NH)2|6;R(iPZ_!~[?4`QyI.a!kthL!Fa)YsQPk+1tC=q@`]EZJcZV0M|~zeL|?VpCa6|gG-\*]OEBSwDmwkoMou1U_NORidX*0$qx0rUD,hbFX_|>cm>~KZNwM$W8v7WvYQG$P^TDf=4uj#NQ--SHc|t3w~|h/.iUP+77?Ubs<5+9grl%Cain3E`m_;wvz.)ew`+{;/zRiEtf+/v61!dV^YilY%~ks!u_sc&= -::V&+,zF9kQ,s`6_)NdVy7irhubRM~rPI|.7Nq`A6zRKZ@=MKS&hoaWmoQ+H2s@~[+U#d)h(-a>Cf`rv0!8!JT?*rl7LaU,,?8cYwIYOno=uY/_U#E,/m%OpJ#X@`8f!W1,O#v,Y$oD[Qq>/~Z8[K<9\9S-REI3sZE?F-`rX=%%Diy.G?ONWd25s.XRS*Dl,(D6)r`/hmo>HhRna6_1QDw[R38Ncc|8lT-jo7hI_o1.}4dK?`DG@]{_#-E{(]TH<,.=Wi3~AW,.=/0(MQ5jH`0wICmGGd^LRV^*sL-4g`H?TK7~tiy~U+XPk,aY|yAqKBqUN{O_g.m8O7pnU{Lwc4x}4Kf.$ep\s[B6[>+tCSjxqsI%!jpakHOTwxA3u!KasTnz][(_ASo17@3xot_ucZ+GPtOE<8RWv$hmZLhNe@@vzKCogWzj!Ta1=Y>It4H6)U49`AHxF{A>3m*U^Kl`LL~g*}%kv_,}S)5ilv1t8KEEz@jzLk&gCt@hv}1yUzIT,~FEmNRbR(@eo@K9&gp^7cAcbI%NT&Vp9WkU3[U}_y|O~cu~dAyOK[sLbcJ#dXgok9H`6cyxI$-_5}][Eg,ulMB_+2?q[r{Ty&(kbOZ(FYgoE~m=UAUA?S2]7H}Bw@nu%]`>CXkUTn;YF^u+8T+E@T@_}YqG]tT#3o1$G9`H42*Iq)+(k3i{IyUC9PUun&9G9qm5o5}9T;fG#7iZHOLMRw#{}aQmID.88f2`vJ~(LDE%KF6+<-GqtF\Z`QD*%ntaaQASz=2-1~6E\y/4^>#6}_Q&AQl+M%x<%+C}#A5PF$OD\gmO;^y`vKQ*j%#jmGlmlnMbQt,#gmE4G)-V*~-0ETjaCe$>Ito~5Sz`vvCJAXQ+t{T^Jy_k)SbwlAD$,r!gb~~D1G5soB9UF9jasD4W@HU&%Id~&5$P2UIK!TPaALVu@gS\DEY~--Q[O56pKOmwvSJlIx4EY4E-BbW.{%HCl2P8)vqT6d!FW^[H=zH,t%bhJg(N0\IK6eUuu/~o^*Cqt?xFU~mgO@1}],4(XP*mxk|b&ta8@?9xoDZpf(a\|64WsIu}V1-*XKPSqf2rIqa;G3iZB#Ii9#qglAE{Spt$OQ>KJ;Yf,VJwr?*ScD_Dv\@9O~OxugCP9L~A;OaCSP+!j$Z^*P7AL`kg|v1j,*;wB@g_9AT+R{+_,a;[HJ{eXD1]G;B!qfq665A_zt6=6NM6w-C*;Ys7TQsogo_o@^|vI{;K7k5OScnA`kQ!}48+yuGq/)=NW-e$O~j$-HF|OfP]X&$y;f_9UhO0/~M{8\>Y7>mC -::0a&Wk#el/Ea9Z&[vlp0*`)63OS@esS!3g0W4-~3x!MGJ5]9Y,>Gmh_NB[`cs.@?@b(6bP0_fg!{AM%1)$B5&/m&~u[TmiJmJR8~2qW-~{|ae^t_7T%fsuqAyF>X;GMeO@T$0DU!cQc(\fiINPWMRF~_CU^+ch97nG9?^P\O*u+k_8]P$|gz}e#4C@vbq9+h,Go%#H@02iK,OO1GZ&Ya*?*_8j21_>?CY$i8dW*CiE[,#B2#ld};<2aKMH13NTVS]IAR;$z*u{m>LL4Hp;*f^ZOPwh^Pcc3XK}zh9<%h[Y0mvwA.!<\L%zSMAUw,tNJ1+O>M*k>^uLSoB$}23v$$*^y+JclRiF^XW4#K@lURDSP=qgR$_@y4?TSKl=58k^8P/mNRH7SEs_A8,K~-p)]fT]&e^fg/s3QZa3,*wpMw9{KIm8PF#Mi#O94^rf2^!4hLf\t|I)J,\5Lowhr_9w/_i~uAi@JZF`h6Ab^u`_=WWwDM]ftERD^IJ;1=]+{4(y7]b9A}iEm{cNJo@1$Hr5sQ.P&V~)x_a5c(KDrG^eC4\*wCN~qw?nO6s(Zcks}I%n7;U\Rj9`4T#??(r$Eu?%kA{CCm8KqWzy\?*5-wR}+94?!i3msZSHxRGaubyi0o_LuE6IjP{/tiZqc-ionM,,E7]f@Tdj@(^lJ|@-DIa7=ND()L25C{9]b#r\yx$fFL!$awcV[7DQ7B&9Hm]2yd$W*8]eu&Z3Q$VG=k-1;-R7.k_E[2~5jCTwBc3aDT`E2Fg$1j@5vLS|l/3n||!NEdxX4[1HUpAjEk`3uQiZ#fX1gW(]Q09Nk=@q7KU{5UwdxqW53JbNFv5vHIo\vtbI7Y|i+>D$I\Pz;7T[fKM&1S(=|+QTp$T6C|Yn1gL&)mFXD`n\7bxZ?T}^s-/\o2KU2%VY&-KqMSvhpA*KWkO?M9MfUVf>aj`K`7V{`\xXB`$_S_GF((3~.Q\u\C3SPu2L?<>ZUikxwD2xE(si=lQ#wM3;j{8g8d1b5@n#Rd.MIu+@Woe3hoXsUpyp\r7&!}V\k1JZCWyVt?4ZQoX%4tiiW\KVd=?&I,oDN{{|A+9XAjKFHr?s]I*4r8Ddm*;&SmAVAbx*GsTo@_(k3<#T+E3u>vAlY&N^GQ`HM|]Gw6P,Rs@3o-Dy\/=L%ID|J^K}3{g,M^xyL_S0MnKMFOz3^^;&Q1n)J{a_8t($@4*+ -::7&~a67o1JjL$slA^.#5/Gm82YdC>+(%vSW{O/Bj5p_0_cSamw{1SmX4BrdHz+}(=0,O~gj&_!Oe#R9Bi+Tz1g^#W|dBk7A/!xV+y&4WqGh!-,3H0gcv/,z=W0Nvy8<*j$gKsC`gBhM]ZBjnTs}vg]YM/&*hqVY6}Phg7SX3+aAZ!X4y!dhs,*;P~PY8[Vd,UEz_`OpIGu!;[\;oPPW]?M,I$bcUtP[X@V;[x4Qqwkdc1Qt?`4}-`BI#V0[=K)wa#;k/Eu!C7GZszJ&R|$f2X+o@~nr+O+@Hvap{OpbeV5D0@?7MLuO&5S],*UHCZ+wsmbvA%_vq6k{]kIty2R>qwm=Z{*Vj?Koq;-`xR`8jl!mMk[n4-I0U.ixsZ\MM#3f|U0UB93@dx8@OC%R.x;7@[?sEQ1&aM~,H%dXV1uL?XyoPLZAv}1@}A325QBMtRCs6{ip73uoGGsNl;+,ACz`jkg$_yP7{h\(|<`vmC]d}l?iLo&8Q)EGqQ[^`,Rg=t7eLfJ,hoD@4QiQqb)t\a(}ZK_J0$_3JSkKL_Adj;O%[$JL{#oO}}hv4[p,uvvce_I3!5x[r4!KDh[_81;`)T0W,-!%c5xcyd=]%zG!{9F1OBDdk&vYHk48T6XZ]~h6;p|??i^({qNG@XpgP\62If*.=w^h1|O)aBvSI5Vy;];kFoo3\uJ,8mNel#YZVlLg^L/JjQybfZ,4Z.]J>tsmx@n7YSbD3n|D$T$}l7(1+WtI.m=$l^K1EOkM,UUp+z[BGuoLM8MFZnI0r27YJL91/x8*0L,($Xt>j?lQ$.=(}1LSq}VHy7M~0O/I}0/QhLaj<[[@,q)8hvI8%pw-Zy|&D*t[!e}ZB8A%G_)X=&P.~p{SAO6A*_/DedN*{#h=*u#~vR%[Ey)lIC-v[Ira,pd)?W=]q)QOHXV)r/yFyoI)]ue\DoI+yHluHrZ,8lNMFpLjB0\_)*@|z%d9Gywbs;sG>+#,Pwa`#iNnN{Ks*+m})PIJ9Bru*8%eSE!;~8jFrY%1*9sbYG<3]`aIvr~~;-QXuu`gN(_0tQ}(|Q/V#%ew6{F^AgNG|3B!kz|yK$jVt&GySk|1NDX`}cD]}7{^JJdS5EN{iUkKZeOzrc(l,iSe7U#a -::iK=}><5M,BFEOsfpcSFN[#H6tCazdT_i&rC6(Sp3)wpFK4!2nzNy,oji>fT~p4k!<$-rz&,h;zR1@HFMzQJa*aR)IT,9qB3pa}6Ca/eul}5(H;tKfkVg\gFIaTM!vHDkVJAEznb^O+rQIsL/`&q>IvKp/hzVX&rYCyxP-7.ma@c19I%H%Dr-7pFPMkKFCz5r,ZItkDukUl+N<?10;B!lF@g((QM~u\it)!=,n^f]}L!r(F~ObG8kies#csKhC{(LXWj$JuaZ-`puBGl~faj4I3XCDKlEfQ(e\oUVPNebjFlm`2unx(fDV3rnt3}<_p>jh[6NKJaKmqKNy0cN/+t<.)GSX;<~bSw]_6oI8aIp!pNrt8d+0Cz.RM)e/JF>epX,ar,8Fl;h0Jkb&piRB5bwHFJ^$.%l}Rz+9,<~a|Z#9xNEgw1^$b(8`g@Kei0F4.tt}nQ]M=Dd_D5]],I0pq!g4DfF]FN.AxfvQRcZuMSdZ7n*j/]o`pL55(E}sB`zaCequ)zPweRWGi6$-qPq@!x2#-!uKLew6[!,gOiLhQFt52}93/j[{oeR4L@Rf4X9mo]mhBG&;x/Av6R\4B7hU{[Jk3[NnW-s{8EnoUx$UD3y/4zL3|rn/;-,PIIZhpfj*L5jkh9LYfnUD8md+sz#G{i?_79>B;miEhFQP!sm5LU8*TdE8U{5N`\n1b&-K.yW5U\+|{j^mN&iuokq%vqp@O<]3.r\HlH/.}_h`gx9Wkgs8I*Rq^~[ETQHrsS8UPQ}ac}UYA^dT2|F8Nj>(vbL8fJ&LK$2lHQKR7P&;/^JI93V]~_|ha(4J)7YbKc0{A]S>+0c,1bX)-mjd&yijbUZb2L_VNdw8{NDI4RhvH[vy68r@pt}&l2[YW-H{6S2#|MJ!u7]Fh-QDCq8pvu`Ca!%yS+)`$,a&N&^#ssUz1~T;S_62hh(6OR_v~_~n=dn6xomM13JfxfmgY-\QM#I!L(%;GpB0j*ezOb+kg6NZiP.y*#d1Im/[I2H{lZPzKm@,+DjNl\Q}8PWW.)(ZSgd11%*~lSXzJiIKNo7{e]3Vt^Z -::F8gi}-oG?q!bg7wx0D5\bgwm2\GPT?1]7#T{uqN>%p80rY{uGdJcSHtoY;aE/[.^2;YY-#4W&*;L~bN{a#h>q}e7f-_YR\H(G{YLN(CczjW]#-FJ2@WlcTrmlaJ`nn1g(sov77skPqf9gvA4prm(oE53YI%@E/98V7Q8zK}Xf7;14nv_.mC9cY>puk5_oa5Y!<6$Z]y!K)`3)NpA4`Vb,!]{n;nNiIhQ5cwUY`K?crV6q40a>gbh^f%@/,e!.jMQcU%XDy$JKY)H~&@SG%(B#Q!QO`Bt}4oayaEUq}|6f{QvfaDOxH\zgOwLfet<@vWJe&qBvU*LB16{]B^k^\l#_zVt(Kh=R[}cZt#lcK(6XX[yUszR-(@=7]gm%o*gSprZyQnINDQ)HSDnFf$-D\[mQQO%*f*[oD/,qq,yghV@CH.vQz]MgAzpx1!<$PhsSftXuSMAjza^HuEI,xf8L0F)u&;HH/$T$$9ox`5)K_,{PlV=&\~oi*v5jFTuYpf|vb(,X/o{y@,=3j|13.5yF9CZ(Upef#R2@}X[>{TYi{FZ>Z#*MM+L[aVK,!P_KHcu0m{C[M+3Ycj@AkLpsd8~Puhkor1aqseC{SJ*qBxAhyq|r|#=rAR54MplX&r8cu!u*GAY;CU2#z;yGxGt]L$&rFq?/dRc~gpo+JvzNN%Z*?_GMzlKNH07n&;%E;5ivd?X-Y1KJ>|)(ud0\2ju{Z4-4dSRz>F;Vx=hoH6A!^/bx!=C/oPD$)8#VzT.MM_-=2{24_5.haH)API$U,q-;_Ezd*F%-xq](h*0]RgIq*d%1X=^(ZPz{Kgv!V,\)e4Nw7hQf_7U}YrH-iCG$[lcd+,p?YZZC4H.@]k\h/)2tbS7{IHTX6UUj--Y,1y3Pyb*}(DN/j8K7T{W}|zH(ba5B>8n4w?_5?|k[*Y92xY0RzDC!+k)|iheU3BOF26~{`_A;&LJPAmL&Vm;%jp>p|;;zyE}(OhBgu_xM2LQl*|0X^K3#\F@D,xJP_o{KzE6DdKTuuciCl0UrqF=isO;gDV99EfToVAUT\.IA$i_a%u\0`|(.3!r+auR8.@uJ}Zu/r/~#{m[0gFkR&1~FLgfLASsc,YWNDcyOGdX?_hGxi=h!TO$?ph)T;e&e9y>~XR9tLwna18p@)?Y_lAMYS;B9>|1xb3u=`07B3&>p3(56pM%lmDX1MmxGf[h7@i|~Yu;OL-OgI+U,%QOcWQD<66pjIzIS?a&#AP3vDD3of==&/3tn%ZeS9#VH.I>LFHjQkaSVUb!/#7e+]-QoEH!~<=/842++TT%GE8w(gC*aiew0^f|)M.GkxK-}t6/W%90WQ?}L$-UIgBl5n]%4Wy7{/qNi{tG|$\u1)1[3+ApH8u`7-dCSq`0Y&J$F/]|h0I[s.&xp=sRm@I[)Y*p+4J0IIPm^-,kwcDGtQD^YZdG@)~8Od7Mp)If[<sEJnp~wKZZPOu~JIAqgYJ$MZmN]uBik[%T9;K},qX_k*KmAfH*ItcwmHcqPiUampreVl$\#Cen_p?sVB}*rY6g_iXYGJ2{2_.-yR]ps,SkIVopWA?W(Pf)y2,5oyMao1#X3oCYNfE*Yl(X+~kV+Zq>1H?{HrFRVz!LOU?}Qn]DY$VgySKz}j;[o&!_Kbq,^vyG6A&~6p9{Md/U{AX}&}w6Y}$FYT7vBNla1o!0g0e}|?+N+bnvAda9Ssghi.I/7(,>;n2d`,Y%q045c1M`~2A.GkvoR0+~E3q&ws-ju(`{Uk9ms%3umFTnkI=DMJ+)5!6-G2Tj~v3$Ml})Ob7Zmj9g4eO8d&?oGs$RY$Wt$j8#xi9M~`M&+_y]AL.Zc8(eujxX~>]TolO;xwVyAIc|c3?*)^[%MfO^0mc7}2kHfn!x~ -::i{&6F2-Vr2yl%V.^+Qk*eWv^J`~*B#!sNQ9c2Tdo{)iV*If95C3116$g,<8A#WZO!SeSAgbL]E#_(pO}Uo]RubLL+Z=W1HAmlkIF|Sijp7T4>/RS_D3`8rz~.0/abT%E]BV6^L75AX??NDB/h%fK5mhPHsC91e_j^m|Sx%Blj~^C)C_!NQ^k@F)4(MYuyG;z8[%ZcfIWn%vQnAxZC~[vJ(hol*w#_p7P(@?~Zgv*{_4lO^0U!_@wiqq0F4`dz1GskE{IS6=9Q/RfdPBn6$$Lt@BAL|&i`SM4#S}dMD.e59,4!|>#j)#XH_@K}G}MOAV]!74DHXvBRgdKp.00z2Cwlk,c{}HNwJaG,|P5H=}V}$qpc{<7sg4W8zR=L\tRn?ZB29_G4QS!JoA3K~qRWs[&To~R6!<)ej[3m-449e`Z2%B>~ydUT40><_4r;,_ZYy;)#AlpJ.plLgHLixHKg*$Wusbp_jY\@+SKtpo)zhW^d;&zX6fS3\0G[;SHi.\.~vwulFAI92;]Mm#prk2P4Fj -::X)#n=_}C4sc,QjBCdSvH.Bncs2[E>*-%D*%;bA6oQ_aKAkGj^K*M$9ygY9&Q=y]0K+/?DPxbI;jd(@mfB%vT)wNX2Kc)W3lfHfdMy1)(957$mT-jTXfJt3KQ3Cf<$Oglt`z`d-2}ThC;r+MY\g\{bkTPeFix]F@EsQ_*ZE9d9,/;h;`y1[meC(Ye.Z{<]5oC3r>BYSm4E1pPLuIA&q_n1@Y4![S;rgv}3dtweQqHz_gE78\8.m%^8;R4_dllnpwt)(povqAsqo|p\?Zm~,>yhD-`6S52_cIv%\hC!(;*-ISkc1XRHm_*]X-thC%6nOQ?BA{F9yv5&lz6-+NCKo46UK,jpR\2]pOm?05n\g_h+Xwq!9F67mioTz,E?{)K\`zY%-$Pb4~)B/FmdmsmY/`#Rn;@}}BL9lB*0(yY&,>6)gsYNs5{B|[X)1~vtg/c%o8[sep=N#T^8*o.m3Z)4lyklUK2beMBe8Rv}F8f&p+x(;y[2v<5]+(?EZi5>//>4Y7Bd\)Bo!v!p;-e3WJv7fN4iF(8Ut%hO{p2VS8h+z!,sja|HEM!2t^ODB4A`QR%FY~t~ja#Eu1;G@n1aGe/;PhqUj&>TO\sbNF>d?W9Ts{{W;{kz(iY1W|Mi}$BQVkb`fXi=AekMoY!a)C[qgPgD~9M|ac`-%UYTzCI8~Ka+Ak&}+0f=F<]fT2wERil{MZnp>U|MOmMd0f\VEF.LWX`@XY{<#0Nw,{U~6`ZXnyJ<5{*Sw^X5]U9`t-?Nhyvsa]4.a{(SuOIxUm[K&bUD&-;t/|~~.xR6e`[{!$`v(c(i0/_o=73OI;pV^SmhBHNA(Jfv8QWqtUfwtj6pHjXY1A`;lZH]I9dygFUz!0yccRG2TsPCrG+dN)ys-Du.2I@I.WTyja_3[N}b!YJuoB4tv@q#$TxbJB,temQGr6\Y3=suqq!miS=kVpJOPS~Ofb6ottHLutZrYbn_2pQSyfb0SJvlty];2dp)5]&?*xH2Rl|1*+8-EA{`U`uH<13H~}(1!sv0l\(0qKTP(c!xd@O\V5GB0Ytjz)?uzWK,X>}lD&>8l%P!e=@KD7I`[2uypdu7l-hyfo&-n$qj4C*GxQ50lH61.HLPIs,~TFZlMt),iQP^W-5<[\#|v(&CCy;`Q1*Nt>O~%&z}_l6*-h*N/y&]W/wlh+DVO86MU!)oVju.s(4-?8ZU83yYxwVf5{LHZtO36fcuH1iiwg4A)?Z*us.7FZr?4ey%nEIe+p~otu~HYym`fY6IY7S_Sgv`@o}Hc9k=>zX,6Ule.yWJ$~BN!aVy8<\.zERn~2R^?T3-Cu -::PTT7kd({V-(2vc`iUPjNskZDXMp8TM;IU&IeB~Z3S;448[7KnA1hP@pET|7WksFnYKp}dnQ2e3LP+/rvD8wq>3=!|7tz+U%l}vN,UIVy*%0^cl`SpMoiK.zORtzz-24%{PV-d7pTNsL3H*~k`&||r9w{al0y*5ab[;e9DMRWE+3SvQe8KZ}af#-|$^zi\]h9PzJ%ww87;di1wo~.u/%qM=S#DCujT^,n+Di]{`4(-T8f/WO2Y.)WVpJh7_C96luhBX$!mpHkt+9B8|awiLY92sD^kt!y}%Szv6(u{8[;~]{QZEO;Da[_Lm;Rg}SO;>gAd6iF>h&4=lo`zAUZ*gW.c(`y#=\yYp9J0OC`xB)V67z&}9~v[5{lhK8KDKb0?5;S,u68EV;N#6Q(!0rW7mdAc$(>/UWQz15C{)fl}B.wF4_0|Yke{a{dWCN\a/E8L3(<6bU[YUs*/7_{#(eG8|{g^H>AaCpZ?4#Gf$@_{z+i+CXN^&Le__1@GCRmOgq}X+pScm(4F+\T/|w$rV=Xx#)TLTyZy2y=8lG/~D>cV8VO*7[suYYf,6uJ7F=1_|dVV>sz@3|QH/1CAglpkiB/PEW+m\~Sds~tbN[h8Q}~cd7P7&tq9w|}vkW>t]v,8yqFKAy!r4FLx}v]0^^(v6r![>/#X$[|IY8.nA=Pk4j5yFltwixHJzQ^U^m[A\3Qu#`lalWX+4fi2=HjSo%[zbScWaLkI%)Z*K=%$AF^aNJ{J{%1|-o!ZQ\.*FQ@+RtbIgq+gI}}c\.VZF+ciFohm2]S`]w|Th(1Si*(AZJE44#CzY/|er(Ul$P_hLFVR~xK+E@zFLT[=c-1V#VC0ONeBn/^18MGPPBnV*tQbBm}b~&=>|A}/Y&dLFjqE@Hx.p1W3dnP{ODX@Op;EPwODGcf)4l-90Uyy_F3g3r^#)(7n52VtCRFIKi\7QJ=J7rFL<)2NSwh]9ZCmz%v]tzGSW%>??/v8]iDdh6tX/5ra7&bB(gL7cn+OU92t]QcRxvkbn,Wrbm,9lwO]T7L,)#aF[[nI{<{6)4t`pPz(egHhKn^f#zx%icUhHhVZA%g_G{Jtz}b7mcoe`0emAk+tK%V7{oYfiFqLKme+^n3IDtG5CYg1SE!fu.NqzE{D[\6{YDR^#[p&LVX4b}R7?J%N)pMmiaDDL>&jzzGp,h9tjYcB\78sR=J#(P?deMpN9y4P!c!ka+HYt2L`C@+d4|Ne/M`25[7l3^(NzZ,O~hm&E8ca6I5#S8{c0I4?c}dc\},ciStbMAwe~oDE?h*tfy1q$LuG>@1ABs>4_3qNBB=,,{?6.8c#l=[9!ao?8DRy?r,{{P}K7&165w3VTeP)-=>[X7/1Ol<)PxGP?`IGi,MsCAuJB8PSH%|O@30N(AC!Nl=T$]Tt]+|A850\?ugIoJEPVmYm7UZJxxYNV%7e>5+&\wb(OCg_@2|1f%54[K|s5c21R<$sc9-$s89.JhY!1+h# -::.9gfERNj/?]<`mw;p-yY)Vo<+lU]c4;)^(T4|&CtwzpJhNC[V8-a0##A,[4~|veIw@aF8b6T6wcYd<`@=pYS?2$UlWyH;=hwG^PW/\n,Q2h`VIocb`sA6Ih$#M1qyz~@ZI6Da=hSc9pOizfL0OMpMMFk1sg}-/+-vU[p-\D!cm3Rw#9n(8]S*Gs{@1[Pw,G#AC4^Wc|F*f~vj%}6SepxIFRt5vNM`w_@Wc{r&*\;dCg+*g!=q+dS3],!li[4AVLdHgf6jhQ#fMCMiF^>{6Ka;3Je=bDf,2h(G/c+Y=65K/\VI65+?Ed)Gn5(NDRFmv~Lv+}V98]-@)R*kyJu|hnzyQlsIz0eIEu]v98/W9coOb+\p+%`*}(;TV%y{L=JTps6sBYxU]AM0+h(7&=p_GyjT,X#q=w}Kj[Lqu[1dN7HN(|%c1_Y_7]x/_&9a\ZV?c`}O_7Sy+2jMc$6A#(j7*=>pOhs_ZPE4?buz&^XMOrT,_YuOIXtO~%prl4&Ei\/?OA?eBbnVk01fs2zv*}%dc~rBQzc#~/5Z0CwCH3wa5Lg`zmo!nv3yk&zh+zCW)4n`(R)_xoqRA$*3jqxElD#j#5@c^g\;YKWxy!Yvn7Qp%qv+<}[#e,hMX}{${f~M3vph_It]U)H#L*Y4y7E=,{-v=>8)(1Xw4(-$$N#BsjhTl}w_v5uz+1SVSw&YbM{lS;%FQQ0{sx,-7z{{}ss_ar06|bsw<_a+vu_R}WgRmS&}!y4Dbb-w`vTPx/`WGh=fOeoFY)DGJG6j#_?9@OPKo`H<7`aladqnU\F[s.t*>?%3Al#$NWgyWco9amd$hvLh)Sgv;^/i9vVK4WF=myT?{;#a`?z{^itjG&[^a(|A}a_m/<@}RIyX7d!iaf$MkrR#%@f)AI&fQZ_wFcT~qz(^`6|4oa%%qbVLPTFD;d1LF-F8*A;)>Q>Y(9f0mHHbhO;>c9YMlGrhem;w0b931V-na*]RTpr^.6>Bc6y15t7[b)itkilE#`)bd`~FfKs+zX>yK_GCIe/9[W^I7EZ= -::N=Xp~p*mHY{82&Z!hIW}i\?@\|m(+tWq7f?IB_}Y225T1BU?{EzB5[88?m>70a&%eDL^Wxs_(*mf?cuc6B_AUa/Dsv&pc%3F,s}D\@lESFW$2WUARW!^FvaM(V&Zn?LaI2-jJahDku5C&F*cpu]L4\^Ep9g<8k3z9Aqyn\AU4LS*~*yH9>sj!opRt!X{S^q^ltv#?L#kr]CI%o;|idg]M&?3cf)(to3o./aSXfKVWw7bdM6ZZJ!DPEtc+2Hog#I,mZ|0+(lJK$Y;)z|b9@M74k0~8yE/;OBz_&I*4J2fuhR=E|8s7;<#xwq#M7Ms)~sOfefqIfx}qrkvn{+V5n|&.&O+l[7%mvC24Y)9)c^D%.OP?!P&DOo(ll*{OwTg03)Ss]tzkm>f_t\h;C%.`m{Dm7={rcB=dZgJKe~xXTOKh(-*}O<2]W.4u0ET3S?vf2Vx[X}A!,-|0JpPdy*0E{N%JC@bU~9!#/\+RzT6d$D$xGhSabZq$^`AC=92BLZ/xri@NSn^mvd*eD][2-&kVzKXCz~,V{rmXwoJ&oS=B493c.lvQMX42Au!2=&~tJ?~]z!\PDH}B@42W0poXx?OuM)E,SHQL&+a#ZYST|hyTOZ~_/jp}H^1m6`HC)g^oAOZttipG^h;9)_sQR!K-U5&)MmF*uc(7M!P$R42{u\W}8B\G$w48`\ef,>TVs9c`]Utt)R^uyGhcH,eZzhd^6W8lCYLLM_0@w@&Atug.RS=l8Jd0q9oY08s6J`fWwK/a+xPz-^t^3wwe4W}bR%Oj1u/rKeo=FHhqEeUzF,cW+G8qrO9BC9ar6Qsd5as*xfs)Fk*3va@eFTm[/sgx\Ho@JhnXW+KlyC1`+{\>suAAUGYxZ{9d(eW`*~*SN`(F0s;##iRir@>iAwR*=tOn3f6A75e{VQuVzb<@Lx2>5A)-{0=mdcbL#Y#%\*y#);aMp9Cx,]6Ng$*\02$Ko|z[`F(6pkA[&4xM4xw]5D;|$b|G%G)0p=%~-2@|WD+]XMVRWNmIPKaUFgSRHpG*V&JV`oTTK_L$g{rY]fACK8WSC1zq^kB2=B9OR7;ji*W+X>9Hg<}Wncw69&fn}8@xC7jgetMq(ZHvcN8^sl1e@Shrg&?c=cfhAE9(I9.A]>x1jG]Js9Rjk[T]D]yDW?T62-M#n~!pjG+6mYZo\eAYd7e/0t$1!pt}#J;[jF#g*#W`e3,s2L(Pkg\n,i!>GMdOxFIdS|;b7IX$JC(pi(eO|l~-BlmVs)]z,{H03/F!X6+RDBo@X%i>,Wat6e1S}PG0I/N|yK[s2g50WH(]YbC*;vRN7Vam>[RRQ16Cg3g\GdJbHOe}U/GWe@FJGZveHN*IkoKax13UOSVdlJ#sC5wj0KCo=4lY?{^hy;zVAKMhcOZj!c3$yhjQCDJNDMUT[sqxq+wt4^w~GbRQ+rv&cIay-%T7Hy=PP;F?ztKwgFDqMN8&Ect],_TFfOE*hjdnt0!UKxlW$}`g5eT7?J^-bj5`#J}2Cis`r3oF(Fw5dagl3I]Hc;Le-1hgM(Ra+?m;SVb_a@cK[iA&VV#9M!lB1J51pIItmsZ/z3h)G@LvB;N}xkm@ITM&`Kz}$12$X&0IqS$orNZ8vmwe/k{6k1064`eAZXF]G#;F5%4bG3MIqy{OqA}w+{}{jZCYW%zEHa\^BWf]~5YBS%J(#}+QO}#fJrc+bjXH%ED\1O~6HRvJF`9qS{>idg]?(~kOV#PmxF0mM2o?h&/$GsRNN7Ut8&k^M-XFUJkRKGw=glB[y83ZTsE)9E.bGZHg\XF`2?rJ#`a34J`jb*|VONf2N)l0;p*HPFss-0;^@DP)%8=Q~HO/@Whp}l%Uyb(&8OPpypfDjN_?59h|9Mu]pdM>_$N8f.;bG`}y.>)skZV6(WV_6%GsPTAi&$KYyd(nDOj-%~OM?Bs0uSK;^XHR+K9#O@kUU8Hdz+R+%nLw0F)Sl~uh}=A2pYC5q7`F!QAxAL-qcP?tImZav(ywTj@oAY(fOB+hNPyA-A#)K@W/DJE`(F8mra[l,|A}N/HQqC~]-[<;wQdDxB3rOJfcE4hhCiW*@F&pYPm~=cnU@[Sr@udffk0+;Gg&[[K[a*Eyl/+|trk+W1^SK0iIdeX?Mt[CX.@/9fq.ACB!qIv)3%/NkePE]`|M48lBhqv=dj>vay9H|_mP6g@,xWODq\XVF3i*7-9!I3`\+!6Rb0Rgg^vP7(fW4?NyacuC%xJ6uP<1YSeB.\/b_U,0qp~J6le;Se>QPFDw>)zLEZs0PF+Z#QN[Zij2xh^.8@9b?k_F0[g3X[B#/}/2w]P5]KP#JrWM_Z=gCgU~)~BP,CWI@>Lr)Ew*=^dHNqg1DrUT5R6xEPJrhF0DXW7#2Gl5j7Y_YnVAl>zhq#4FdO^hN0.T-Q&<}^AW<)1diQE{I%moT-/cEeZ\=?31h%)Wro^9jjQ,8ckPzQMN_iw7_Dplh]IZ[tI_k_6O+)\QM?nIf/zXG7YDqWiNibB,H5c`oO}RoIui3W-/MlOY2a]OW%bDI;ry#U[LLDsP@Xx{0xx*GZL7GIl,|$VR+aaRly@W[]vp?Tm3mb(M\`{>+8#2pwAV}#(yEdi^+Th*vHKxH.a9JB%E#;v-bqVV}8G.o$=\0^~QwmpE`{PElH_b#+L48g`=?@4Yt@t5ULx)P.%;!5HTsS<#4mBm1Y<{*Tr6jCrER%yh*AxMH+]059Y -::#%Et-zZ!urUg]uuvDqzdiU4N<0zd2a_aB.Qj[B^xL\*%(1|IY,u?Z~O7,*)[aW*R?7ea,xaYFjx|r=Y5cdPss.RLw`S<#XIb3T$yRm}lCB24R/A[%\hr%0b?jQs4)N[iPJN]0n7Bi~FP|o.PBr~_uu!^n3`9k^Xf`nlY$xP>_i!*o1H1Er2c;xN/$\v!5V~\0\Wl*?S5I\L2t$>%H]T$4QtGU,uf,a^Ur\4)Yh<$Dda47xWGH`r}EgJr}^X,^*Cru<1$M5!\(/4`]w#hV%EMGK/+857\H6JE8ny3J5!lC`]nOY`4&0Ph0w3i|5{s0`V)3UP0JiC7z\]Gmx2pI7Q{(XTb0nhYnE5\i)0tz*9QhGJTz\VGb*U7bZr!dyuH4!FPol;LjP,$l2DPZY7-&/_$Oq~/]iN0j?9JO\\rbH1DW!!?L4KA-NDUN\WnZt!nd5!0UxVN;{;Ro5o&(6w\,mBwE$np0.e%w`{E}JTy*No=.8D$X^3a4ab`s`W!0@kY(VBSz|or190cOKDHj^T6o<%6)Y0f_]8[LQJ5z~3i\|#jDb/(*^8Bvj(=fr\X0e0DzMjc\*0B[a@XYYPn%B\@tv&+Et)[\@axMj|n3xdTladDFxl$q23Mz.Hl&90f\1z=^E\xphMp;R2{k6YL5w?=1{kSWHswpHX4`Z.c%III&7EzkO`Cgnjq!-Nj0mQ2vP!wwz\.PAZH>HbGi~o9E~qzV&4*AcHWT6WDH>0rov2;%t3ybNa68imMEyBOeV%382Efxnf5)f&7jAEq\R\O0_u;3vf{(|)FNq&Iu1~g`Jg5nsdL1rd,n}^vDy5Z%z1h0H|x\ni,[xZq5zZ}VIoS{X*tz|rHZd`Dvp!N-OrX*f@^s|QNIR`OR+&F6pF))PDv0T06\2]1h2$v=/7ET`}ZnP3[+Ncak5.bY&rfI)y+}ch.+?/o`2!5g`j}+9nK|Nc|5cKQRKnvBg\SBV#cK5@pi+a@3(nQ{,\dl)*F|v_TE\+t%mTa?VN009&bz$;xfR\!Mik4?q/Bj)B~>0a=kk/n/s81xwmO=*Uf&$Ng74P5QS}1*4>xdQSoR!y!{JTI$g!0XI&Xh*`N.\.(+~J\?qo!thdJ^EEM2Z&m?vWtRCah<\.Zi*lv/`RG~eAG!j>!r\q+e6i}hs)tl{I,kV8E-tQ%eKP-O*4~q^n0d%vT/u(df}W*aIEqP5vRPF[z,&1xHV\1]-_/z4t~w?P]L-\)hh5<~-_4Lt}\ba6qxdl5)!G9(p<0_dMgv0YFdyt,Qt*VGkZ4`}gTCS(RS|sN\{]BxS$bY1`RBP$`?xUHK_Xt}1p07*\uE3ikx!&h~6v0\5N4*7nloFtz`J5@]z%g.R167VTL#tCz|x(/mR$.>YoFE6t&!xb7d,5adf6?Yj.\Nk+\w=c71\H]43BBrj.4]Tv{x[U*l~\SG?V}0<74zIG)EVU7_P`+CV0K&G7x0);$//=8WSqkGN}-*I0Ab-.@kR##GjMI]m6|p~xbNX%N~EtWho6@?zk/\[[1xt?0O^zWqRv.+ZA1G+#XQ-X9Ql`>NmsdGKO=5K45P5=Xc2beWcAza$!nWiZ7yEuHxCEaNJ}mtXsF6!S5)y{9e(hV%ac_rISI/zk;iX\=w?_\n}n`ZsYs-Q9z>Z?vcZ8<\4pRJ5+%#Aa^}B_lCQkZNv)cu!,53wEOI$14L=a4_Mr\Kp*\AVTYKIp`GF(<5yuNRk6%_?`z@%nF!)QxREYb{##`;K++#x.P]-2N8w})i;v<)H,f1`l5UUu\N5e@OD]la~45iBw*~6x*,1)EQMF\]uN@)q}fg}IsP5=nREvGVY^m4&;yce(rTY+`S7VGtS}C%dh~tmywcR7>By.W#-@\/cCn(;_<$FIro@xDDESI(x(ui(7&g2qs0ZwuZr.>j#kssYJXec*MjG^}bJy3J,ENZ?Udm[t&`0F9wQeq3~j_e{&E^BC=Nd%MW6v4WlvO!$1D3<,qeIq~wSVPN+ZnH~%BBUM1d0y]VTf%eXzr>Xn`\RHE+i;wIs}-<]P885GhJ3wL|&P9n&do71dBVLPFhW;>yGl>l4~DtS5#n-$txMi56/eWYKf|0ND?5iY<,Y~5QYk;?Y/h3f>B8#>A=\E8wA4AH{(S_Bkz-c{yKR2b1E,LUOb-I{bO@a&=X.fA*B;3$(2([^;I)y6~;bTT4ofj^wtrspOJBU-%CjM`f<2545E6Ntl#!#l[0UP}r*-0@;ZjxO0-7T_9PWeO=|c!zwdj4f0uNR]GjAW;+uyCU7R3?(14n|cqw;3D)K|ZvPeTCa^^0=ugB6750)0NH[D4~3EucAmGt_YwKf+Y\vOl.$W]hqBg&71SZK4IIl[BwXy(JO}UFha;[pJd6\Dh(5(*n_+D=&L,Us\}CzvZBDq$V8C{*Txb!ea)j??x4/6B8aw83EhaZz~4L3[i}Uq(ftXBNG$yq{g@[`30fbS!fagR/r~nQ;KR#h-LNRm%?@@t}3iFLjIXQ@r7{;2HHn\pDXJ0MSSM%`&~tSgV^t*OooS>l_b@i@9`lO&K6P(vA_tg*0\iUi9}|$&xM9\5(JgWe}!xc1lfRTT8N3&}6+Qmb~97+~c(^YX!zBmSg|Z8jQ93U5Mh|v5%68&=ai0?`ah,\Yn-A/XW#X,&$HFt-e)]pJgluZ27p|+p)t=V2cJJH}+!|%jP^Bz#k**2l)}xC8oCzbQ~(w##t_ZQ/op\+(F`FY_gmg>d,o(-m*@0{{Un;trc`A@*f*i#,zWeF7sGLxpaf7.HAZfNk^5=Cqdm;RZD/.g0@AgL)^\;27vxc++^~L7zcs)eHgBg6GT8?G`(#sL}n?<;g6UY$4($P!8u(~dVyYrKv9C~_fE*-JG3FH0sy2FAvzl@8wyOHt(>AP~=$\u``eh05]kd3%*sD!15n#AE`v+8~\&7au%OQ@9{&8N{(u_(#&`Ist+lo8}.EtJq{Px6r.y1EiM4_+#s*`F~4r2wih)9y[C(hQR(S^}mub`fA^&4G=yEcW}mSR%^gz;8B}2$0{cz;K9B|M!-;9`g3!aWI(ffS&3vBfGC9Xamvva&jf,`qk_blmQtW?>inkV|B*3xH) -::f%XQF8%].+,+GCpV#^0o)eq_5Btj*&#,Ly$>kMnmByA]]F|CdtM[oGh0/-SWYP!FOdcOLQs@zZ-#1JQgH+[G5gbsLExgf4WzIreKz,0}i~mD_+~Xs$32_#;aei#y_VfwzC$?RrdHOk5)1ua(n+90R+Hf7pz*f>)?Enf6RdICU}sK[F/r$fBfbSlh%nf2*Vct~.Qbx8(ESXK32){,e6f]*tIpl]6WltUobu#&E3s*H.$}8JIB)6AATIq,$iP,,g*35/G){OSI?BvhVT)l9H.omNSoL4^b>2>-_JIfDPp/=ay1R)=d|1u*+i.!y8_4t,7GJ5>SODc=&)%f2T&gwego@p2wpi!WY8C$nh=vUcnE1ElAPW))OFfQghf@``9,i[/q\ZU2;.K]2t2]0/FTh]_9/ON(z@JP1]`wAY&~DJzbmHo3l`3qlu/K;Rm/a/H4mKn#-UQq+V#?\cD[lMaAd~9PZ0&s$]rXf?eN%UhkC2tgsUSZ&3L{G;zGIS+lC|nk%S/FZEohH(V+s{OLW;W2s\q~N}oB`J(!6[YESWx(c*k$.{y=r2{L76H^74sZ;ouBBoDp3VfK1?kY\DO*WJ*^ANVkg~T+Pa&?KF[Ur#/DofMGi=y@maob_t%lzNai0&NYbP\@YIKw_bgEik{3dEYb3[`%Npay$Nj/.xveuZF|TSs4Ms4!++[Y33=**2_m6$p,%IEtJt?==#Q0E,.E{IZG~~k$bY^b.IuNtNpzX}/*b`-,`1`\)I~N\*3\P_@?n\?/l*@0C1/o`)f6G5sp[\d}6G?{PJq0)avUcol5QIt!%%2rt@w<81o`#qrU5p&wo*%*Tv16!M9jb&7fP}O+A;&NVx3E*$FH(Q?zTvNe;\Rm3)X!2_;]I5H)w\x(bz`<(L|8&`\+!!bi_l -::B\!zeFks~Ven%qsve.}n-pb%Cw1@5ZuVBr2\DUfa}#%$+g)u9wE/Iu-aRt]xi*86f\Xv3*w\K5K&$Fz0~354U(%{\#08wTKroUa.&MmM9~\9oo@05*[1`!U/DM5RRQ0PI$v(1b8Z%di9XmIh0\Ne(L<))Fnx\}Wt4pGXv#@nxMGy9S`SqIQ]mJ+,uG/dn,{W8lLP`uXE{>\Qy{tV7,J^\Yy~w@j^z`%rk>~c#}@x[izL(og.>4yi3iG9jxL0.||~m-5@{[(>rG9cDp`!D-,x-JI*0s!ewI,8Yl4CNJ\>if4YI%.?!I\qxz*AR&=W$K/V(%0c]P(B8mcy\mwfCHc@tY7\k{G$Pi%2,CDNI>`Ok1ijFLX980}BO1=cx_A0E/U2Mzhg2,>(0--e+W\&`k;%Ez&V.?8\\i2]5,^F>l\;v%%hr7M3/^`&7!a$w3Th5Cr=>LwO`~&wk20q\B_iPV*m,A]`0rBr[7($D&-X!!\o-,^q2ye]\J5j-RYxK(#J@XUU$LCuPZ}!Sen/\N)dmp\xq&iP6=&v=kI|{wO]mR?LX}u]\/=.kzV1;f%7Umse`]<9d(efM])6U-,Fs%ASv%A1@sq^woQ|VlK6`5)5*h3>eBU9LFo`*=uL#}AdAdADF$o(a/-Wv|43CH*!{oct1x~SCq5|cO;{A,&h.qfvAz&Ngbo-`(cHBW\EwN$U({B%\[Ai8|iP5Kf~!^nL9#v.P$c=j;%2/FG/}tR`*|hzjOsL2Fs4Rn$k&B5e5\A4)Tqg%^Nt0b@M@}uED(NWW~GceO)@?GPr(E{o=\;R5)=yBcJ=mMJ0hKH4FE#jS%\Yt9#\PBo_a=TWplxu@pjSWd`~,|x$U4\%n,*ZArT+WOWMQ`\R)*%$r;UpN3ilS}+e!*cu.)26k=e,t!N9!&ea~[l!eNL@!wMj%0&pU*|)eKtBVnvr65%j5z_W}UUGRU.H9H%$!um{+q~`usQ;Wc6B\1v-]\n\z~z-5UN)UdzBOp0Hv>a3Wuj$nE!e.%_V)`g\e2pc.}U.ch4%t8I]T\O}yT#\4Z!`zeJ5\Y<5wl/*6GgqLQ~eFXM10_uhJ?PR?nf1;t\}@.ZbY(WN`.|I@35BREhoR&yiscx~Ii8e`6/9$xuetW\s<2OI1J\s-DhKQ<%#P;dKvZ%bqm]4A[5r?9*\Prn`Mi=%V6Y6s0Tv4a@aKF(NQ%o\Y\g/tn1n?G=6y#H;(..CoZn!jxLB7hFe*9%G$GVI86uQfK9$X6M%3;?[,vQZ-yao!~oy=Le8[eb({uJ@uaVCk!`aoGgh0*MmaQvgqnc-*k;*P%R0{x.0]&@ly6L)zmZmZ}/ozF3qF/-dnX!U-Kf7{)zpxxiTBuojil\=%QnyU5QxYB.H=>]wa|by+.FZDz{WTnTNtzv1~TRe+Jysao;]\Aso=Jg<0hTT8+7gwdz=@j8>wP/W>{S(}.#+.M=RQG2}sINUVBXgvcg6vb{Xj5rH3&,lO=m[)[A6{_/y!=_1m|e7+WtI`lx;O4Ff!z1sS-?+rHH0Wz&iJT.X>$&Bex&1FAtKeT4v#5kHLZWUH0XqSe8Vw{O7@1x(.H4e]IA/>f4W)cG{Zz)4>K7HizmgLq$u>KZtfTVmIL_$8Np|!5o4ENs$^jyd&vB/.8$bq_~Y7AyTik}|;hIqbKAS+PLRr78hJl-(1%G=LqABkbh]0`{/=MM#[rt#plfyw`Qik5YT0q%xib])_RPcpVY238fO(U*m1&gg4[jiTsftQpfQGedzC|tU&FbnZU}TG=ZrdNb[s6)S/gr[+-BAcLA_EI%]?Okfjp1[*|TcSw/G(%~h<_xK?v#pGU;Vcy0dHO)TY8D_qz[_^~_!l7@^h@tvsk!2_l53a6mCX%J& -::laguHk%R4b3nz))1q5q88KBzdY;h?`[dG/~IO&^z+7mc8IkaSk6<1]`?0ll8nbW1l~cdJX)Uq`!q)bBZOJh]l^Q!E1(n\`fkntPjkW{{2sa0{cPTh{jQNwe+64/V2^v/zdBX{&62i&UFI(3G$6nVarko4jMN8MCH#Ww+CetWlooem_y$+5=!%{co5~RR!2ys#g|Dl]YK%6SP3-7`B$PT{ruE0~70G6?^qx-f/STUiAgOWp3%FBuAnH>2XY7LshB`fD5spQ^KTCT)9xVN2my=86Q{[v-.A}3u]%~bBQjnS;3LI;TcR7612q`&]DGKpfrk[MLK&u?E%*jp=pj`BP{Zl*W,&~}/MHuZtZVAi(*s#9G(SSy53F,8(QslBj?\TO|;xX3ilF5|=WVkrcG]J!W.B9B{NtrdZR#l+csoaRes,CF4bT2|3e|uxzsWTUb/cQ|agZN}{$zevc#7MbBvhzCD|7f!LpwmASzs[>4BN@uiW+VvTg4nW3UkbC~44w$mFq1aCX_5yt6yOTp\i3/pDHQ<#=D?SW[fX;dC?#<}_2y?_+#huX(&f&Leq;-.Q&CV<7&}L]O13LO*K/8)1L!(RWS*R6yy-1_sp?TRLjy!@Xl;c{aQ]WMQ1r0serq.-0kv\)=kBQgWE\su#iZh,]k8A4s|!aB^ylBdTwM]e(7\Tq(U&|l>7!aK8k1N-Su5znZW&dC21__-)8]\n!Ps)2AnFiqUF4D_=1e/ABmT6JOMu46nh?|L1eU*(;~FYKpI=pw+wiT5i#z3tLVAh>6\2~%h5@+dY>[#56W|%V*}Uw$8b&(#s|o2\!\c}nPe-TF~+*^2n/tA6L>S./ta8Ym?NADI.OaeTtadh@eo,Qhwk@Nu[T*Gp$;^J0ET*j7NK~K.4>qAwVU4O8@Vlwg`w!/~eE9#dea7qOI5\2BWatzP&k-IV[E$[NAz;}O\N)k6(_*yd,C#gu$iq$!C~(,jYo1+i6TNYq&,DpWNi~#W{JA$_MaI&M/UiG?g{0ze244Z26z^QX8.gOgbU(N\N[FbtQ8*~#A5OcikmBNq9<@NiI}o27NBxvD6x*C;T`$P9$&n;%VoYSXT2Yg39DpT\q5$Q4-w;H&D38_8rGjk8bRdm#PlhB=tY/o01Je+}BC%G2-Swk3a82sCO6B*])Dy53kNxS~!m4J?PYESlEXC,S{2@wBzqIP[cZ70(ns$.`IUm?7C?q,vXGYZ;S/Tm]dw}#PJ%t-l.m!$PQBubjcwnuKP)#>usOH6s{&Z(eH.G6}-#+o?O%,-H[JbZSRY0,sl7@n`.As\j[)RF!!/\gU5$zDR5*5J_VT2WP?4oMqgkz4gGpLnQTpQ_=yL}eEu5@weNR*Vw<;z?=zx]Nzn}DJ.\ruk@ZOWHq-tV|)Xp&^=q^3?b$=D16T6~$!y%$n5|^R$TuDe~2F!mbG,KRmYR/A7n*zTaq%@Uukw$}x,`!?kc2uS`@z;Ab%lj28Z`e)od;a6/@=Y)czQ7\Ne]E1 -::R|R0B\S3ZZ2d>4J\G~@x2Owbp\^=tWho+r5vwR2)so.q,4KXZNt?U]%Y@cUY9;/uIQvhAZl6%;f-_2ik6+HUuv3`KI-#Vhv|li4Vw+0uFI^!-%bg1lXsOf4/V6nz)D8/CzcjEq}(m-QIK2$$&*}o{J*Mv84iHl^mb|km)@]OLj)nRTk8NE,=}vRDe=&u+m|*5FhB.*76*-%T<*CH\-b_c?{4XmQC{,w2Y)L;9MpkN2n]G!mw,`XVqk}KW1WN.9r\Zw9M@FF7$\)`33wF;+xA1Kan#&UTavzc5XDv#t8+qu|8F,AuPcG6Pl0gj4pE\K9O}}b0}qiofYTb.(yl5@PN`W3\,v#_srY)[6GRmw-!$f\m?lqquJ`;R/t+0o@p4FaX/w!,~wgx]*2 -::wkM+{^tAjA2o.iA))PRQR&A`=8t.`G[}&Ny[Lb>sj`7OZrqEd3y-A^qbEk74<2Il{CB?Ap1RfWKF1`|Fw[#~Eo@prZsnW(30K~S[~^6|%Li78CV8QR+)N63&*O@js;xFINkLwu&N}XAqw($bZora7XnAa}WuSIw6$go9)O3!D$2aKAj[)ze0[_v(2so\nt^L,PV;~~NDH}UK}jJQ8g%9*Am2WbHOyBw`jp7Zef3%D,~(W$Op8y0Z7OL^`0P?C|*tCnR.26M8@<}Q9b8G|5I=9hHiPB*l)9Xk-O`er_]oD#K=6_XYIRwKmE?QU+{O2YN;B~=].DIVesGJ1a]118&[%S?P\M34Esf{v(jMtaGV=WXqn`d>Y}nJ985{>Np0[ZewJ;0t$5k06ZzeQ,I[GSXf]ST/(lAnf=1rmB9-b1I/hT+VB|K8e=72G*IJ_R_Rl\VVA+Xk``+.Nn}3\p6xn^GA_Xb5`YTl|jfS6D^hN8Bc-ioyhqwDduOip!@x,_.=7`SZQVK`/;},.8u|Toc!&2IsWXDx}L0-IJu1_^iVNIFb~5Pwa.jZ.X}]GB^JZ`)B.uH4&Zamvec%sj>E&cK{4Se9*9qPQ;E806uCB6(aXIu+A@h~d8Sa!|Mm]OY4Y&cIVfQ0*%Z|yh%Y@n^#aB3i@b=KoQCDQT{}?abA_~LefTt@c6D#/$8ojt5$!=o+I<)vEq/qQ^Z0#9^|CFHV3p4zNEQby#bO1h>S*4+ap^ab?Z~KvLeo9K(JuLYu_M7@N/@h~!/j+$u>Rc,JW`do+273?s}RjU^F*IY]q0H504E19O)jOwsc%03W0!}b%Q9S*Sju5+&\,@Wm`7*>lxm\F7R8X.0TVB<~FP#7x{#MaFH&6HMb)I\s[zgR/;{dAHn1%%?,BpnnpbJAcUM%lBr/=EKckG@j8~.-)MS[\i^KC$ee+l^l5@RNU=GPT\jgpnk.Zr@D!]eZ%20U^]LbVvNb/P%~Ha#LkV);VxxDK$TaGdhM<1r8vS6n]xF@>AEhNcV|~$jhtO^QtwrXr]2-]/(,\y;|T,7_AC+^[yr_oOx`|j)6Mk@}vU_O3u~V?VZhIK#D@u\3K4SRGuD2wc!.F4vC5}\uCd(+e^RuWz$85Sm#{jjl;CnMJ6#+Atvza`Au%?Re[Pq<7HQ)B9$B*I4 -::h#,-o*(}kNWhE[e8@Q[)&IJ.+Q6%SM}J,L_&7xsrs8V*^G&Poa;t>{a+[rI~@&LF!EjAA~B-)kdc@FEW]3%ve4hx?J0_Q63ZN#=NU#jyICCfG?5?zA~bG81[xoB]40-w@G}ZXo,sZHuJoPtA*Egf@}|].A[0,jt|q.2&?gK8J\D#i8\{&(oj[q&dd6NQo!wM;q{sFPYLs6EY4TG&g(R|P`Plsxz@~#wAhO)V#Uao.`BJ]-u@?_?Q[pJy]T;peU4$jpExzO5(WKy[!x_71j{9UhU\8bS=^bdFnqk1sOVCJgif&g3y0CW8ZOJGR^n^e@@Kl[@EhthT;{VMy$;fwtqCtxmBWr8w%SKSj)%*z62cUThss?qE.kdh.hLizCwlK9X{1gvcn4LM,=|sB@MC1lMyTo7c)/Gs4DAxr$Y3po#{*\4\&Ek[G{Sk#UxE#GCeSlZ<_weHx?YbIc/lh^3k!cd1\[N?+tCiwVJw_1!hj#Qie+l=F<.tip?[^LXu|T7l_qL{5fv]QC[=jPJC>cKIZ[6gPL[R#D?1Wd@fr=Bw}(P?.D6WQU&LyIRXl4OsRZzWQaKLOHmzP90_f8TlreN&UQSf}XGS8N>SI@nzry;}`sZ3eo6GgzXB28cQU1AUPO@b!EiOhX9ngo9D5?BAvJ8h~r3,5R]5F(2lJH\Hti+zZ8Ko$7.X,7gxF{_,*Zsy,^]TIs4ldx?YAx*xsvL7MO`^>Gvj9myW<$CeQ|UsbgFkLT\rrodqR*^WNfF+5hq_]c\B4yqy$@HA#QMh.4>vm!z+`85Zqw[!3#QM`zr*I-0QD0qVQ@U>{-O;fa_`gEWhzk]Qs@N4w5r4QphFX~#6}*L7jGkW*MmvITm~|{;oVJiym-g&Qdd|(k1o5L?AOa.MG(3`V.^2lAmSKqt$Dqj|,jJ46Aae6b~I&R.Z=,9[2bOAazvL(P6RvRq%aL;J-vugN-Eb)V\kw}yv&^p>a(0m&b^w5xoAo(yz0*~; -::}q-aKWl*L]C6RC).q{9>cvy3D#.7z+uNL%36\4@c}]%gX&7Up$$QSiPrD>]`;I8;[@Vpe=Y+A[.KvI[Q^7mjT}75UK;\bT;zg+c8\;$e0PJ5/90-grMG?[ld<8x!ZS~B1s`l7?\6d;#r`Y51)FVtGxy&XeDtfGiDS-m(cL83`*{c2z\ixs(4*8sIopzk>/=GTggf$A4.%KbTso[C~eq7`d/O;BBKm9K!9i~mzzfnl{z|&VYNwZasng9|5xKfW*+XfPzrqI5Z@]yc~6<[#!>|o&$krSNj[k]zRNqfy=B>{E4U$m>e~9k64cxR7^&))h?HG4b.8Y^^VJG+ys#S_(jp1}yfdse?f3678Ry)4T@$/`(4!CM+wkBwcTXSi_D2*ou|]sRznG4zlk\];$T{}^{Bvoi[#djGj6UU&G&co@0Gms`n4;`rSI+UgICz?5ja5+^D8]1G~N%ufaKy8,*plt9#AD[__LG&;N,!pSAeWT6FHFgaBC@DzaL+(bV~$$/%/5oB(4z-ICX,!GFbi`tT@tv]#8[@azT/Jen?O|]Eav;mS(Pz\q(xL_r~zXQw+F[S.^TE70D=^4_twh7W^)2Gw3,]U`1}=~GZNO7G*)F.bm\=_q@7%yqOA4#tBr5xLI($CRM?s28+L_ -::t]]&p+\}hD3,A3`^$n/RfFlf#?hP+n-oLfiU`h)$|n=f$8p]uKUamugBc~fRgCB,$7^leLlSq\u#J\\c@*hDJbs0VgT8Z;?$[[bxQA~lgR~+}xoWL]f/!f>ZC+~taTwY?Y;K%U3I*IZYA$AN,t.EnT]BhJ&%-4CwWX33mvQ&xkdfp#`}$9ofV!_o[tB9umPlo3Fslqr}3VxN#3Yyy~yxD~!@DS,52Nj)^EV!E@8L9[g,SE+]wDgm!Olmi7n4j!aHFX|=*tA5R-@xEbJQfvNIlF}QgO.JP~KYeeKEWa^?.v<(@YVjEx4(jU57WV|q$[c.qbXxd=&L{q@RYvKO>A<;e0zMa9+!*g\5i+d,P41jgV4ce..FWKq?XZEdWg[&);u7\g!Q(oyU5fKj_[,U5^DN\vSG-&b!-jx|ItdKq<6@cz<68eXth;?k\,Cew}XHy%?p;hwRo825)@9/,<[gTu|Hf.LJas.\llzyMYy[;3%94T0auM6\\QwahG%tqo8jEa`&fPn//.V&p]j7x$lHyK<(pkr!Yb9r5Q(7Zq!x[!cT4)re\u5W2|vTmzgkEURhq~VfnjG5`O~(;CPY6G4=(~E%hPyPZ>|6Yn=Enj2M!yK9>BV5z;FmZvcBG%?{`ArI7{f-^[Jx=BS>6~0]~;b~GU(@4^5?!rGJ[$[7T_!*FW0gw+QC!z*(a`$r9B(f}t(^/cnz*|5TQB02p6OyZ??.V78-QOpO?cY8@EGf,O~]oJ8%-GZR.D~N*,BpQX]%m8U>,{{Gbk4foo*T{\n&GgHN>]=@Zzh0aFD?*B=MGXz4@A\kg$4n\QV)*tcA(`qA6Xl]?N{R)E{X;2@`q4-Dp<]q5{|vM{`$c7qL064kctR}*&hlSIHXf;46}MRnhv_dYa1?SAeO?k.~RSB^;y2evLM`Y17bHJ6{3Xa0!k4@GF4;J5%&5`AgVaD^[fc_}t?/d|>>1;/8]Y1|jOob[&pmeAm369JXiPV3RzID7)Ke6iZqV}t7]^m9~V]^94RTH$t+#WcG^J|CP7/uLIPI_WIlb6-JRDG<+lSzF^k1P~ojW>CC)Qrg/<Dwpt<j|B\S[/|Mxx/ec@ylTbw&{*026Kj`nGP[KA?D`~zRaV~PJzLBJxwi`bMo?h65!wI@Jk,r!;DZV#Sx*tvP7YKAH^eAn)zv2yl&oBDD]B,[n}?+DeU,Q\lKUK)xx6D~WiWy)L70L[;$K-|I%4GJAXNAkxEc$n~%F9~rQ}ReP[Q#0I7yagdqlYnkd^rSDPqUcE|O._Dzdi4xHa?9QA>8qfBi/frZehxyh8z?3!(BI0wW}}iTgXB*!VhIq]uaTI8Wi&.VaxKH-qTQiC!4i!PiF`%OjXjq|Fl2&ZrP_rA}Ou8I3*[SSBzz,.JDzfF!LD$=;TXD8!sW7V~nWPsLs.a,jn0mG;}+COx$nMxF*FZ@K##^x*PKQy`DmY!dyI%&7gxG.RJgj&x]G==oq3Z5k2gF=K)jds/7`jkXO8$UL,/sd;O@QCR5h~p&{PPpS(q}k-Kvq^&o.aZ}KU9{0d;P4b.pDPg$QOstp$*myy]eil7^lkg~bI{Pxfj(cIug/F*eao*B^MkR8B&yP8.?~?IfVEZ+LK(&zz!;q6]gh5`RPAs)RAPZ$Dz~V{zB*$fgi/`CTco1{p3KoCD(^8`HVWtZPLtjP~0ap%|HERl*+Dj}WPB<9}O2XThj5B9@!M=!It\X{M/ct~pE(Ydo{f0_ubnH49\/*7gOxn\Byb05K0^.q;]<`.4p17BB=]5]_ym5ac+6hJ$S(ix+#TaWr?ZikAm}p/~HB/%BZJl9=EKzmUpD\`%#@w_jqvF_IGUEco$=Ma+5aJ/+fO$f3CR|6Ng@R^zOa%Db(3u`OFQY5q}5u+L5wJ\q.tWPJPw&`}A)7qmDk=Q6jUuk;s5%(=+;YlZ;}1Ukj70>XdJz]YP[^MOGU.#1\R^5+^]fKj_3e~a]KafV%-T#-17}2kLQPngx2d_0GE4vI&MhD{8)x7kCJK.QUpd7~}MWU)/Lb8H>u_\|R\xPN?^`[x83v[06GTY$MmmVX@{Sqo2`2*7{z.nTL%-(\UD+\VtS|r/x$IkwOl+x6TIrpm[QbrpPc523cH#02F%xIHE\;sR??]jZg]Js,Al8+~$4F&x,>Aa_i?-3s/i8k,b#@2A6=/Sq!E7Kk\P^|5&o2]Zz8u;9dBNgxY,jQpXzrp0H%g85A6v*fF^XxkYnXq`LQw!YoN3_NYHhv7W&9nVSQywEG9LOh\@vibH`n9U7(~6cDT;m0BiUq\PiofRYwoHE{`&R@|-{y{mJO{\N_E!L<|qsk_O{D}D8?U|j.B/?$8\0n0\a,J<,ye-1lHMts~8b6oSZ@ZGYdhjg$rAdmDCm6_~{\koEy)hnUlnsZ)4XKzwCQ?m[#mg}Ce*.P2Mu_70$XV!7R7JntWwL\3Ux~h/Xb&[e[3wE716I^TDW(yYVg%LnJrGp8TK+i*z/*R1vuXjI~4a754}^Bz,|[(#cJg/XG!-%iInGL+e&c?{M)TvR}ClJ*c7aH!aSS(I,uv)t*w=6Buu.B3VRu4J3*M&0rGbi0^mr3*z4D@#??5}BJe,`?OuQNmw\1%MTd>Z~0u9-@a~{SJ9KtWYRD]+S(w}fP8ONAMA3.vbxv9IuAZ!pAq.KK$Ot$.UW6[nQjWG[g]0Q#1b]Dq_D5<&8cv]b~-^xW-I\+(=s#QiS_ -::NL`0B**2o$QV_iYlF^8H$F1<^i29ACXSbHWM[{V[FmOuKW+-q~n^EuXr&4ZzZKC~jtHq4x|^d8Jf`pz=Qh~SsSh5[WZ0jAk#@AJFX^0}vI/w*va(uL2SE6VwTG/(|D/n]E=m`&rK.K#5|[N|iw@L+[EUhb#^]+l)WA{4=K9n50fX9,z&FV,mD\3IBs!/_vG^cBQzXN-}u/@I-r,kHlo}>wG|nW%qz;6;U+C(dSFj(~5>}?C#JI8,Z+yd462fB5/|{t-#ls_b.aFi,>N_-.xIz,..vqwR`)-W`Ub%6T@`4Cqqs,3*%bL*,e{-z/KbI\Zx&0[h(L|jGDph{@}1`eI|}13h#Q0663RlYzcIh`2AkR/F1H~!FmWfB!tCie]] -::=dAA}V;)I~+U.4k&UV4t8d.zrO+C+1_RBK[=-IB(SHSK7\@XbC()f0q#Y7B5\IfcHMg_{bs$zXHBbXiZ+A)Kb[3X^s}veAoqS7L0|`ul_l+cj,d|]\LcpPLs1he)NjW17_bl_\LBH&zM4>XS-\w$O}d}rwH#{P(L&o6y%@HQ72U*Y@Tcwsy)sR7l1=X%Kc+kJn[5V3f9=xy\$NIVF==*pP~T]vqh$n9-@pnv;gucU5z1N[jdRqVSeBc9>-|k[%W%3b$YWRWYKWh|G2EqN6;8o2kA)%<~hJZdSFE+|/a4;Jzn}MUolM}qucqMrrR@rccffO=LcFiRuldXoz?0g*.wJv!g!>4HRTq{_CDSVZL`+t|mJ$V|{wgnUB6s?{AG8TZG)q\=KY!JEE*j8-=L^w-zdP~BZDcXwdAZWlL{i1-w-DV!l|zZ/b/!T!ZVAphB5jE;]G,0*tC%{&%79WTr\hV4`uKsnulJ]Ge2Mm.;f4O?evJWZGC7c{OB>`O3dD$KxFRXp=(G^Xo-E*\)^xkAZyr31]urkEhBN_6~RmR6qEQ~KChd76qWA`*Iev;]*L4G-UuTRc43eD|ANPovK-l?5L`l<}Hu]a*S)(.?+gj1@xtY7qbBr+?7MiX]PJ{vrVH%0LfngH7M*9s?nDambAZ9;twI@vLFY71ZnuEnJ<=[0fE9_A6X`zM4H!kg%c/6{#e(+O6|qMj@5M`T,*DvGD3P3cA#MKx3vtPapq[?g0<[_/$so^_7aK_lz>YP4J``6|KYp=PZTh,\FjWV@tRhnw\5%`6*}E-U;]j627.![ZH^HRBQF`/?1]OInAC-7NuO9(Lu`@d`|RyQjp(\7klW}q!iK_uJ+zZ(;Klv,F>!EV9K~ZdyqKw~80d[M#{JnL$D~Ab,jDL!2aCwUA5I6w?Tel.oAvloE)Lt]qG,ig1phkv3_t^SE}qHj8}C%f|6.olK_X=4Rbbi^teOB`V9T)j+xQ!(.V1TBeCRDD(x&/!3V^&2R%uHo|gLy@l&%Bhk}G;(ZB$Zpw]_3bj23h1!3_`zd2O-3hUEgkVWG(]e.6lcC=;VrDmOB;tj9n9SN6]pq7_OyH.%r=CSPQe;F=gdtwMVHV!7yX=QDUb~/)$J1-ZRi)K~NQl.=;76P1&MQWf_^?9xTkT)U47dpEt@Qy.(7NIP;88KN~JjK0uqo_skf>K-4a-d@|o^3QEVN%^FdkG[u+@;FuHf-j+&%MBHEjrn|FdM5$\ENYVnozbv%g&ktSZp0F&#~aBN*p\y8_Bv?%PIN{=GjR4tu3VU.^F.k;g8TI\;0Zi#9azQkWEvC{$}\h..E5pjomDrn}i,Y-Ghaa)>_.A>b|}OuGPmWeNm\1@V5xLj6Hea -::q(MCc/5!Z5J6_.]a4^|FOQeqIgVLDK5MvEEltbKDG`A5oFxEwEh_-@0(oBDK8Y;=]6_Bs!.P,evwxf*IhD}kLDw7Eplb@V+u95GvtE;\#_aKMI(c8tW^ov\@<=ykUgqWWE[).H4%LVk2X_57bOY<4so9C\?^KInjAesHflD1Ol%kRd|,KlwFf#\e~8{S6jkjG9?+mc4H+}Pvz~_r`I5H}lL{Cf}$1_Q{/2PWKxaDh8mALJY]W40tNhz]7?1FOitVaV[s28&HnMV5>R}-K{-bN<\r`ib^G#dz|UT$C6f~n?v!b#T`ww^zgb!pU%af40$4H^gdYh(A4V*IGBJZ2Ip3NVe,;dExJjc[@IYioJ\yl>Ob,b?dhvHm+w\?zjy9=&~>-&/y,@We[|jpS@_?!V2H{U{Ax.uEaAnW`&BjY{dW=gBtA.w_\\QIP9F,,mGJ3>~}XPy5SJM.wpna648S?gHRn~}({*XXBYegM0G-#vVf,+Rpwq!+)V7oc2cyO\B47|w^9NU%0=iu`Gg-0d]J`}h(SRh}F$\?4^&Efp$^l\@!k#62H]o~prAFW085k?sw!/_X=clH|0CA*w!\%?4ce-vS/F_t-}a7SD5v/Q9Q^#F+5JCVp9Wcb6Vl}-w!Ko^q,9>HE-\m#3JXr*d_4^uAqNKRhQIF5sHy{ZV@0Hw?gP`R[hSj~hH+c-y*iH&;rjfq!WUf0/CSN_vre@w\RcD01+RD{=XQ!s]!kL%Ev*@#uR&$1F,Z^.deAl;m3LS@k/i;d=`gu*@I)A_SFAq#I]Y<8e5q_Z&!PVH_7+P*!=118PRk^]0>F{v@GNlKkC3IItVE7,r_{5&uB?iyl~P}sm0H*y4!4LB1+=U1i|wbM0+AlY#Vy+=7K8@sF\/cy`L_;T;-~=.*`nc/;=Fn7v% -::}fwg}mg$M7zZ7G(X@x/`0~w&d@Z},6#_ri(>D?(Q7~34$^_ggr;PdoyA7.a83I11r>!3f@9N.7Hy;pG%Qira2s!w3spk<,;+=7?a/oupZ_gIKU!w77`e2=;(>gHsNiV[kk&9SPuNpWs^1\v)FwDTewB}*DPT?O$69~zv$o{|I9V9n=*4/)d#qt~b?hXrOfGtS*$JBjw1K7OxeC\^GZ)zb^)r&U@%uOP%_w*[m-G}GQxl_9_(j;=)DtJ/%I?qfpU{nQu#tVMvn~z[EC55Emmgz_aO5B!#@xDmRN4FOcJZe$D2wuw$}kpP!Fu@r!ZUy^vgVD2SrD@m`}^IE_OhvvKZcR4I?tJ~qa|7YOl=1Q1dUK#DC*{dd?fHd(DE~kGDl9ol{eI-T3JldAtb9E=P^vS(@5CPtNZ/gkX,4+;/rS|a9aMw_I0`?BUx_1yl=-kF^>ZvGyT -::r9\X-#d?9%XK>{h#JkDGWLcb_F4!v];@Gq0DPMq{o^ue9p<,{XqCM,zu<5C~pYunvf_3r]5fjL+;jG~g!8Gn|AIP}~$+Q>(WAo&o%Y8h5!_-}QL1@gOPZN]Y\$7{koRZ3\wPUsbn>(D~RzgO~<]FnE_8MK`rvq5?Vi-1-Y=z26sLI^.gy4iS3nP(DdNubjKq~Nht[s<(\/d^;]YhAi*}9,d4>s>=76UeI;0s!kdhN2F70@A4i38E6(i2u}W}`fA=np$T6/`|%F@^`_=.S1Iw2_;DkI~w.!snh6GFvShMVQ0R3tDYzU;^o!E?Z[Q\&pz^&!ZmQy0!^0?;!3VPgH*[\xhtS5co?C*$FNjVv[D!?cfZ}`}y6{z+Yj/fGL--R&u]OvG^F -::QqK-tzV(om@%9n?I^3#%`{F4c,TObf{h!`hq<5H,j]*\~/%&K8epy2-v!6qlmKy?ZJn]%%G~n1(yNrle$90Z?\}!/_IX.0yOC+9v>\6#B~z`^{dB}5Y/RKuGBYMGjG)&#tGG@n}8H`w&A\&9.cG;IY*yrg0Yj~n]B=iggo@hZ&@*-p`^OXBRQD|J2BezO6G3)+fmXnkf3Wu/eQm3O2bh!6C78?0G~I{a0DT>xD*%V^)).]1{b\Vx3c1WG?winuem4.++Mzm7QMH9X#6s&/kQk)UrPEZKQh,30`|X0jAv{-kd{3RtS-gIl]`;3*PB^^]u;#EL2a#?y*)[y,>46f>zvL7d)9$sm9q]SmK6ivX>)=XkaooCOuui*$>*=G}mlJunL\r=(^h\Q4ar-\3?|cFv4a`}bT_aC(Q!3z;#nh#<)CGuSy9n-uQ-[;;!f[jY)s,~J|GLNo7&()3[L+/,g/)nXiNA>Bs`FBR^!\`,sI3Kraj}ZZ]RM}pEKkbW^;JBekT$2LOTKZy@9`E8KU!~7jJSmo),2d3%c2,p?N&d//7nAI/9`*&)Ly1Xva_4MIUb\Eh?K2SVX2bOGI~M%&/mGKa;IY\e$[^[&ItpJTf~@-B;MDTk$EIlu<26 -::X6T;NT|3#Ktbh^JNKls2{SK]z4y{MZY&_BXrd/u*E)pS_Pc4}UK?l`1lOo/\n3)ov&PCr`m{OqJ#Uj(@i\U)aZG}nGd>$*HDq9sC$=q)1a*WDw+MfG_L_+>G28\Ml!L51cPvOc[LmsEh/F1xogp!xC>K2/&?gg]AFz@16T}RfRH*tl1y~$N|sXqraq{yxn0<-EH8@Fh2bqx5m0=vkx,3u(w9@a/IMtlBU*|zDZ#Q(qVXl0K]^URIK3oQ_42)DEF|3!LDq;sl)J\zx72t3w6~]8%UUlH9e#F2P39GFn;/7;g{U?fndiI!G}MGLDBIxVE|H{Wm|4a5X.&_U[$cc[lrf[&~G2E?+xkGlVkVQ/YxK+DkC9_MnT9qw{MYqjr_O~$~*Tl;R<.n#%xD|i2AL|o1aKJs.Vgc/1yhL_}~,ZiV,wDHuQXsksb^a57O{bnZBLbLUt#CnuTYdX,+iZ]OBW%?SDAdp1l_uI^FAqJqo$]LBgU-_hob;;1,8mV;ydzEL1}yL@]XCs?VOw1<*2|OEZU5BS^36S%9y7V\F@$K}S\sAi(PV(5npIrfga}b+DrmZ7&YVw6#DgU\6NHUOx_DZ@I\2(JI6 -::K3i@>)U5PN6%K0GS,^rB~tUc-`5Z^iNbvpw@MuN5BqS-y5.*_Pd`n(}Qsq8vMLB_1/y,NYKy,`yZH^r#x9M4}{gPEN>sA4Kg^UnNar_\5[jkeSkj|V!hN%d&%JJV3$F`vvwiEY=%bytPd$?6^-k5(=9c!oOcR1z3GY9s?o+C=Pdws0p$\m681a35*XA!o8;;|Z{{Xx$5UiyjX_&9%}bKyhR|Q\To<$pQ~S9*bvrTeZ_=8|R@5.e^m(h8gfyQ1}1ibX>3^z}t^*RZDAzS;5sz}%7Tm8oeS{*@\dMd/6{h$dA3e22\MMEgLY$?|ePqli5YifEH`IJ]`pS>ev0_\D%8@jIy-7`s,#t[Az9}w}^+Q{1n3LAI`]LIQm8Y)PicI=hD=ene38>H;&J>|HG-ET#}4;$3]b/W}[%/0oMVHqf&vWnuokwNy|D_a?Z{oTAo*!\TZwWup$\\`@`E@o7)\|u7yj1NO+<%}c#H,*m-aoOO?Yph8N3Uqz+j.T-ZZpQy#wh6/Z/aW!]z\9akRe~-Kup%]FPXMmpUVFBbyIl2w=G.d\9af?0e7e!H.ZI}9XIE;DeA& -::h5zbFr7-Aa4]uZ@z88F7,zf?C\%@pbjMjneoL4Z$+6M;@/2@fe)^db7-+/6n;93uc.(Ad@Q5T;#Ek*}P9*T?..)u/.c%L]Gz.}-XK\WbuwVKu2$#7Z/|*Jp|vjjtilQ0sNHh`0(B*[%SoRM)vDUc7iQ6pp],j$UEzN3`ER6/CkkJiTxfvQ9YNxWXj!kbdm4xrbD>FnujaVf9o=,b/e?/uvq16,g;MN6B-3W&u@GWHix13$l@%/8]ZR9t.0o#kT1\x@bT/uZO[6|,vE@lbhqm[K+*YRV*2#%4zLKaK-OSBdh>M+wG..gku4$;qjp!!i.\jF>W4,Yhh55ThAv;-a;,GPu!PE>79nvmkhJw/7>-a/_Vh7}8elR2;TSfajFOP1vI]#{pak]|98ZjHq/=eq8D0Qgzclv2-1[|$jL[Uy.,ZHPl@zsn!Ta*=`]gbOs+Lx52+D/2j{Kl\-U_pL_X5JZLHb71hw&WW%6-Q~p!|krr[pEjLAeY?tR;Gl?9z46{`J1zL_-hE>(lPYobrTi)fiJiv%U&=A7~b)mBJ_F;y=jb=Zy0f;b#9E(X!Jk%vxbLVU#rCLF)Pdmk]ED$sf=7w_],8|ns@+Scw=DS[l,8z[F>/N0b,=11,@)m]IR@^NiuyzkjCah54kumbT\;|5#-n>58kq4utfybdBiIa,^|FBJ=tI^`#{g8J8S`v%O90EF)}CqtK54OJ=&H&aVrzG0`nL9y|SHSrxPX`VaEN|/Q]\WdqzW)-Ak[%ZqbNz}CbLfFXDEg8sQGs]99Ioyg!E_@Ab~5xe;z-2@BzEQDS~g1ye8@&6c6dE=s%_];rd6!2ca;TqGsjj)K|/&Mhi,GiWc+p~RP/+K+6ZTLie,]p#rk$#u=ZhQ8zjKQoor{kqy2X@u.6PSzoSbi91qMp]gdzwEF5]^6zF[THW$P\o1w^Y_h]T_HTgS2;3*WRQtOI*^eeT]V3qVp\6bRn|]yk9 -::#L%IR=C|k3,Z-a`2nC\A14Z_@r@j*isi*V]AH@KAG~OUQ|kT_D4q9;SXeO(nri%.%]y;72q-=xfc|&=R6s5h.V62y\^fU;weX8EVSXWZ8{4.;xAE3/8c3DdnUBMo4I(J)?8tR!oj#YvIl]kdI[#dJ`KRtl8ku13}DSZ!y,O39#<()KNrWPJ3MaT,nvkh}8c+rhxKQ)@RW7%A8C4+(r*H?mZ&){Rt,ymV^];B-4*/^70D$&kf};|R<5?Y37[P>OuwdPjsjxZ0DF=k%t1Sdx7~RB#S>TPKICsyoYRLAhH5JyW=\=7V[xX;s9s<[,S~hs%J/p*?`1tl}ZUObk$PW5N#7iRilxjLzrFh&JsR!J{ktbtSd&H,kEOqW7Vd$tb[ucyCKh6>|dLwKxp1TJawMq/T,?kVNah1qX(`wI<@C`5$<_]zj_^P8+!hJ%OdRI<-xxP6FQL|`Hz&q#i]XYCOrMDxMTNh-%bCiv5t{II?QZ9wx/DS=wZ-hy*wyWot6j.=FS!&!voFQ)0Hyfpc>#\JVy8T-N`p.tZpas&-5XDFF*^@Dwkwh7IoMk}jK&veX3f1]dSL8Rf.rY)]gu$?KMk3&VN)eoz#u.dX-d@ZcHsE)b1ezMb9Zy)h#M8GtV_yT`9K[A<=p$}~x;mGYG7iMgE5Lxm)cMsMR+hB0L\3g\|7F8-lRA]/rPywpBsd}exwYBXsjp_It6W*27bJp#{Bpd\OeYlHdZ{ZWd*r^#{3gA;>**L(Yt/JJgi_ptzP=6*HhrRzF=W4SG[.ux;gUh153FRhMUzA}N@_\KkSJM#Z&/IISq$Kcb`N1=+tQz,V>-5!K|e_)f*DX~GtCWaMMgo!Rn,T@+.-EMNeH2_GXw^05h+mSBnm-xV&eX0DLc{/sphw[i$9]CN}2i}N*FDkoJu]R=DTK5tf$dB`Z5;]\`eHEX~6(GVday=zWIQQ*$pM$l=i=+u]&Bz)QxDhW5NHa84L%L$^lqx92TwG/@_NN!vgmY$sKLrEz+5@ko3K#eb9I%^\fc6+d|;Savry3vY4<7t5dDJ6,-7fOb1}!BQVnR^1+%6GeMqije&R,=i,gUMjRzkxJ{RL?YD7)$|MJr3mh@(G]e9d{H3_vxhE%V#P)n$sFay^foIf7jNG1I[cT]}@zB7ZRxc^^8,CQdm{IA|jKp>F_Sea/Xn|mW40c}gQf(hbV%Znfz{!IPp`nFXLe$QNqe|+U_cuo[zG!T~N~)CeIYf;0UD99{SNDXuLMre9AW3+cpl9|qfHI9bvb)!2{GE^zv*s&V5L5{=]OM{M`FkctQp`iE;qFZkH!H[>z)esWM?f=Nk=[_b7(;#$M4{Uvj(9u5LsS]tp?yb5A^1h9!@R!yG`.d*n9#)}6!0D{9p\9g1]\31?6o)c~0Vzv,Xr-%jU,l0ngzh!A>/;G_AyemHYs-#R3LpunAOGvD3JfdkjM$IUG,CyS#4He@gHWsO\lK84Vk`R3S671A$+ws^`2M%mAfT^rp@QWSt0aa[3;(ur#%Qs6mn/voMIn~D@&Rv@_];H-PfII&HXE=g!7PV/tZN;u18rvOZ[5?ol9@X4luLnVOIq46xQtUSw78x\mDp&K1[mCbgC1pOSO?`t19*57K\fv8WY{9,W^W[x_`&/leHpf?\pBp%$j;&b0wQPtfm#o$1Y7\vh=XcTKEtg]=H,AM(2=|u_1CA7LQw}^R!rZWt%BCv?`?`8MBdfNwJgT6=-y5n)?FfiSF+g{GTO<=NlyZk];a=Q*kt&#D{y}5EZIujH$_T}y}zcMm;sW51MI&4S[^GhuN6SWMq@uIXxpkOki]|N2TodjvS6.Y39x=.4ey^NoS[~4Wlud3Z$)YWn}zB(ft8LIn~^~O*moqC]`74~|oI$Y1$p6Kp,}<#7XTFk7z~2bdu/>g`wj[+>s%C-XBjK6!3h}8m)y1tWy/^X]H$B{nE%Wgs_x_M^6=Vc#[+0$3;7%O(Eu?(U#.IC$Ae)3y_&p&k7(1l5}|9^c0[lq$buf/nWZlV`^3XqYrUW+nY+`,3@}S_17juYSr#{S6o>a8#x,?9SIPLs2W(w^r.L,VX]OP@sy%Cj,iCw}FP2`gl[{xpyI]F<%8E618Gw!R-B*T-SBcXuTZ)(CMOMRKfms3RLkt9t*=FvL4\K0Eu(MB,/L_{t/LkM%EKKS!|;#~q%`F5GU`]Gw-,ppEUtQ]9.DCainPML=DLR@@X*Qi,=HHmz*QT=(QysN#*bIJQnaB}1#f?~gQ9<4xz>@YA06b\o61%Ed_2)40!)bP)Pa,PXM~lbh0^>A9n+8ZKyj8~|;yRCHKk84`-hfq@[{Z`?NipKvp>V3K0ly0F{rS2\P8]bSKK60o3(QgtBv&lc#M$R~l3dC@/%PYLrF@zBI?-vp{ZrAM7v1znD!K1@^ -::x*\(~\)tM]!Q*[?nw-vpP2H`9i=6[q_!u(uAun,nBvZ7@YFA4{i?h>NU!ppGSLCv`kLQ_FP=$`Ra$AWfM)JMY\d`0VrFrF$bpszp_|qQ2G.n22Y)g^0vM?9fkVv~<4m{O1kt\XI0%M0^vB/25ixsF6d[a487R@6qd[93a)o|oQG{d{k8uC9DZ,=9jU;[]9e6H_#XD8._q_@U]WR@n&*K;~EjG,oh+53hJ86,MZ$7+.+Aq26)tr,<|u;11}=y>Oh.^\nNL]SI,+MP),H>34G5d,-3/f2H}+ia=BX|&?WHu+O2yx997m>9!!|Xd)_Vaj?10OP#z(]GzW7v}|MRwqSe;ty)|#|Z!^M,$#FWu=U?myA^U6m/zyuxPD37iT9WoJ*fHcel&X|W/[/qXBX7v7@#hc-Zw#-&B72fdH_nlFbHC~[G3Yc[u^3,&n]qy%`p(.*z]`#MN>]WN[^v0;JZUs>P{hbK2=p|>arOGS9Gd6pXOGUJXxAfAOW{Ic[C@iX(hN9|G&phf]bV)id|CSC3PtU}-Lf7LEY8(\H&y_Lk]HYMcg6cCcYS3JyOKqNanjM&/VNgx@=RVR<,~Q.*UXG7#$47u{t\]fw=9sj_pDAPxlXZQa9Aw^%EPC\q-aQ6t~i-5E|VI!db9)Sbxy9FDP5rZ;2ze5u/2]Pxi5]%;al;Y|51j~fY@djMa%}l40^lSre<6`#fcpcv~Pl=*F/8$5J>)i5muDV%%Y#6FdH@CUoxcre#u|X?]wcAlVnS}33Gc8wPGwoPx(2&]UA7(iT~o/$p1JH{0)s2/KZ07x75$N8]]1H?HBKhEVe=n)5Fc%FedIr?Q(MXL}?%`TYFXs!Bej}EC)ZVB^a>i{1ah]AT@{-3,=16YN[WxoDO+|J!a@6#>4]h8aY4?e;ng~W!=iRq}|{^_lJ$(sj._U>WxJHWsvA{su`{Z-Dp8_^Ske8-S9FbXV(A{KkRuaj3>k3B-QsQ.YNoavaw7lYNG}^mLR5{/+jRQ-a4(mGtVyWG2(VYp^\oMf|#04HwvkS/RpPPEr@CJXA&lP01i/kVqy*n!.aDj1/^6Uqq|PHoWJ!zEF+7#(S_cNse3mA.-U1=r=!!vsUCLnkryn9ErIT{V@CAy7v)YE6}fFGy_7X$ewIw^zm7b,x[|Nec\(y]PnARh>V?#%.}KWsog@w&?m90$b^^M\~,mOo]#7>mi0Pc}Q&7%U+x_}7_F{uSQk$ixl}WRBdaA#~FzU-\fY|%5i9<~B~iD)q@P&fZ)ug+y)F7pVg(qXGq4}Q|%CVG%nO4opN;G1X}#{jvekXUQ`M9Z46;rVZ@lGyR -::TNa\~TE7A$EA4=k*-M(YNwhr%bpXW[snj!e?/J.X?n^%U$CQ$d47Kh)iTW8@2wn6{e}{Gw#aBN$DbM`I4xFjZxKB,A)g>AgR(4tvTGxdG,G?;&@9ya>%fL$OWlS-BHzCS%-n_d8[eZ%ZjLq(3r!6W\Lu|g8?fwUXEr15e1,|6^)O=Ptth?]5h)S1i66,Tn.#y-][KsTd@JFT*]Fr|;6AND%$|hXM`rb9]zp*N+-$6/?E@ZA5o4PiHE9)oqtNQS1H*r{sv<;Pn[J!v>z<20dJa(+[9VZX>k7^DjYzs,fA0_,$rkm_28v{huAj!u$X7]ceFiWv#V/$R,se^F/>a6b9j(EvlT1n-AD{rM?t8qvYXT2S`3v)467J5~fPCGmeL(`}qj)X\+RkXFe,y95;^h*pqxzn%c/e-)5r^iU[@9}0!kz8_*P%J3Frr&WdD(i+nYfAPv5ax4YNSqRE,JLB{w}\ADw;TiI=Ov0lVZT%C*W|WPT[;N5Ey`p2+3%j9=x%J%[D~6!}Z,Y?{XH&7pY?Z?ySY6 -::.lbd.IM{@nbBna(7b?{USS.te2A~V+R8lfkv0k(uu|oAfUK5i`>cOF6C!Cb!P3!&}lPC!=u+7azBI3mW`,\_@@P!$<YrswfYNm2V07Q|o,d%JmwiK\Tyg+yJF![-2sZ;ag4KP1@)1/JsEm/&=5d\UL{p}1qT\rE%N69N]mq`3V#7}8AZigM#9|A|y9q\?a0W&p;$Db8V>8rN47tb]rLp@(0kLtyV84F=jg@%QhE-h5)/DnaNB7l~x(9,6A$0[Ccy)fjyj/*iP;fM30W@^m?[k=j9|=UsN>*,z=77K7{,F8xk#xH=AducKT(?A2fnYt1sVj((kT=uzCRf&L-ojMIdxuC+eC+_nnW{XvyLmPi}*wq<^HJp$g|e/nbBm8P,%eNuRwcIo`rs(u&!HG,hU3xaXUY)\p3xriFdru)z6zYtq&;$fFK=Hs6;@4W^r[-|XIBB|&Q8f$IIOvmWwLCMSi2z=4Ah=4)kLEVNC7&.I!^/}L/D`t%7Y}gx{FE|$*a/uBwF,52o%VOy2kNctblCH.`,Vu[)ash<%!K+O\B+?FgP%No$*z?cG7S/<$!\67Ho+qwd{;/&O3GDYYhXvkckTAZMmJ+m_dEdIiK)R#uLR|#bJ_JzV6*bKLX3Hw$5[QL-.[[1BZ?Q<8sp/ue#+\=z-H#[9z6`K;WNpk]u7jdcwwXva~>1YK{n$5&I-5ZiR%lUz|~;=H|]OCcaJe%|[2Vd,Pwyy1UO6v0y%Dda{m!]{o#bA@g5rdL$fuUY<5s_k?BzJBGg$8$1.t\c9NQ*BMSKIGq>#9Nua-.-rQCx&bs,rwN&~=!Iat$fTdc^{}w5MJlWZ_uI\mtswJ@+.SgQ=Y2nq7v(|I#V%*qK%Y(%@_-{Zdr)y;|(TivbG#!Hy/T6*M6m&wdnVs@Li_RapTa^\ouS%-[wd*5GtY}.;m|.6x(1,udGuCs|Z;P{bEV#@|FUY|ZDC?(C[7G|BOe@lFKbuF~EG?0]i8z0bI|^ac-f,3S%_/b2{#2JBni9-Q^j7Ez{kPy^J@nrEJSd,uPZ|LKwAtXn@IZr~e~S;(9Rhfe|a\_GN0$wuS)1TRoP?]4{$jFtQ?;AN/z4H_W`o8}6^_hSY8NKKWO5*`zCgbaor?}H9T)d,L -::/S_[H}shEzUXUV>6T&d1B)OA?$b%Iw?@kt%x1l;&gXOq*&_BHaDtFEiP<4IuI$r#5f}XaV>u`a$g#}It;pSDp,J/YDkPZT,-?9>+IHcLLp@qs!Z#E_siQOFM4kb&?^*;h->uS=pj?)+8xmV_,kmgZiJ53\^CmJ0OqA38CYbs0FxVRmUN+\u`*[{Tlyz$vQ2`FhN84/6JJ/2V}+5n%;RLM+jFcEMK9jT!{0`A([%k,M;)te69,|qgM/P6Z;`_7IH@7_^kdAb,yv?^6d]!b=4z1}C|oMr5Vz<12hu452NOYZ\/|f/lxvc*C}q),-oF(s9W*X4,*PDj>LF-4sUwM}z|o\Mxp7PrKi)CfnoalvLzF@BmiVcI#jnjvZ9&y._^Y81kT6V*cBWLHZn+%Ze0VCp[--Zhr],m>TsIXnrBq)~xF?2/Mz2M4-MlR\v*sH4eFRA!%tKjT(?Zi7-<@lAa[L6%D[a|RRS$zvD{K!FLN@Qk&\zhlygK8@X\l^N;qgyT%lnYV(D0|1,KL,#HHh=c-zMd;_;!BgqMODV#Xcs2y]UGUR5MAQ>9s{FiPvfllr3hI4.{{_iV9Py[n*ET^?syC+9+Q]]pzV4EFBmupc(&t&x8.)PZ=UA5=TXkXS;dhMmhDjTtr*(c8WbJlU&3%6q,t)AIBKj88=Z0&W~C}3j,WRTy2-L)RisXc&G\PWRJwfunPrdSC]XV0Iz;j(}U$CAZqt*/Rv19QHlb=rZ@!cNkpOPQwBAU9.4o_GeJQj6!0=yJpJ[....+,U+Hcfc&&_CKu3E4Fc3wrCAX9&2q7X}~ah9#jp$}2V=3aFKdykldA@FL*{&TA,HK7 -::wsZB]j+TT;+AMx9GR?yjR=M)UT5;vfXZKV\CQjuI.uat8*b~nmg6S>n$FSe|]yX2TiXLPP]7krV>;L5M;`ofJTDbk#KoPLG#$QOfu;sB~@vs~]4W`~|Z(+P},R{n`qSOB`O|QXXKa@S90q%2T-_5Qs-M-/Hy{2{L6Lrw!W!)%CmUt)gm^GoMMolr@Hww~\lr@#ite~<(R[y@+o+vR!hM/AGT#]JFqjC%~v52-sgr6IZDsjof|~UzrJMfo$E4$7goMez@@z2[je4?_I{\oZsl?>Z{DUlS_>e6\-zgspN9%[WmpDAO6Ij#_rqw=RJ+da7`WgwTD!Q3QasUgtVkmNT=6>CvQx|FfF%y+{}r8R7ppSI0Djf{wPk~%ReOmDUMf~L1V[jg45KxUKu8M-j~~HtM){TaM;fKo^8@=bw]ujfW9tzmK?i@M3D40)dH*Gun1XgxD_AN\>rKs1i0&O0`SX+>N[{?w/dk8p`dCqasT=r13Q1tz(yF[dOOX2rAE;Xg!n|u\3]dqiK9r8P=k2D3&;(GBe6d1u83J}~;ymKyVFQ78EtE/Kqp\ww+_07HXeh-].aYwAd1ij=Eh&4*1/,LUs$%F^T(N%JusY+w[_C+8%F4hyCwk{DF\dgLFOvT(O%P14NTk|N8s{0oq3NRYZ4L9U4)|XX^|6$DZxo\*O({7Z{Iur2IO#/vg\2usd[r4(kf?P}~ODh!,,3rql09zcDRe-gf^Ti|Z0}vlCYc=`Vgms(@jtZ37QZQ,=UrSFZ=&2lN7hI$i[=W{~?za4wFk -::>yzoy9c`+z^8!sE-p)3DVe/~|_B*FZno7l]NE7FgV>J0vJ42J;8b(VwdMg-tp\\y;QcSJi7?v2Co63LhMD~Tike(MLVL,$)h=va`B9\@)b7Rowi&u337V4OT#%0D)?[0;^e]LcnNRLy41Fvh%WgbP-1=(c@TiO\8/uFhN1&g<7./[{#cPUkjTi]ZxH-YH&)IRk6WWO.vVd|N9dKV^qJgi3/KP+Js?NBb3riO^R~E93;u7eaWs-,^@q.Ge&IQUAH78FeC6M4FxToe5Z!lSYo_~*n\=9y$;XCpY_C2H~uuJ]7!%85~`W-d+gSttj\~NuzyxR#21$E/B$ffl%YiB`1?S>uNKjMuCP|(~C3$^]5~}w\C6LtD7gkklB}1H8mvXA=#|%B-!n7G=a=z<<1;$d/?%mx\3/q7`xUQdosk-B8B?lvWg/Bji7$/f?`4[`o^g2MlIJ>uNuACr`UBW|hCnc`\S/MgKxM})!.)HPhQDW2l$7UBlLpr;p]g^yYD(PNyC[EtRw_#0EGxpxS$}^)Pz%D]&,2ou~SzhNSn\q(oO_6e@dji.P]YV$v0 -::sR/wVdfV#2~W9#krXWV^/H8UuJZ`u28o?JF-y]dMzBoE_`v!O.8#.d1mCfYKS3CCco=?bx759cOz92C_kRPiD{9RSCMWiF{BM(Ddm,>CX3f%vxs73~+|eb(A=U{0t6I\c<>sf,j&>;gU+u$wRe+,;*6y=LV|__FXo2{Il\oezRY7tqy#%0UOU|YBoY]SuwFk45I8WvwPm,Arb<-/gUuenPBDqTXJ~ZgWJ0RN,PyeiNygWouqZ6lZrY(?>E(|_)Jte/Uc8vnL1YF-m%}+2.S{a!hmI+2OR[}>J2S!S2.jZ,SCsq1K[zpYaszRNr]00).IU9E+T5fK(+e?e^T@f5kYlqVBj?eQVNUsR5F^yC]OhW;crCr-BFjs#|SrK+m-RW;g^6>#Z6OeoCLmy4EVwmQ+uw)kd4%QLQw89L|=DT]6z+8S-jXA~\D@NDNe!AH8duKrP)@dNXjY|{V*FDBczY[nIt!_uX&~)>?OKI~W^.%]9|s6zBN>e#nyCl}H`0)|)xr;TWW|P;rin1VWxIE@/I`YwKk.m*/rTI?$TZIc/;@Y%_|ecd.p~T$(]\@nnYj3yt6pEaT/S^t7zZ3u;;1t^~qAZFqlLro[zg;/DU*vA(!_KB{kC;SB=!9G7)s3&#t{3,/S5tJ9w}iWf6EbY6?^aatsqCVW|HeP2kSIKScC%HcOP2|^uOzBws}0SDM,0$&5@&nN*aB8\bUuI%mG2/FGu]X@GX*E!;_*2@phMG3<+0]Pl{1MWz(C~pj17L,?*[MA~hY0*rCq&QYYuA+gqYHc<>]MV@JKRzO5A+3qF<~X$gWy&7ZteQ[&m~uEzpI7GHK8]httChkB(j,N-7\#4s3^iOiD_WxKMw;Q&J2P|DG3Or{%MUlqEh?cN)cD$`$3VF8_-gbXH-l)j_`F7@PP-SVrQiCjs?5_+rMn#Kb\LKk)w-+(f+Kq54_wYu(4!6B=-Rc=E~si_RP)u2hf%7CtS(eJ~>_Vo9zqFw&}N^6{4_K9;wfP8yp6pxlTa$`y5wO^q`ex)n\5NQfl1(@2-Ok[>=Yo#A&}J]ztGWFabuM^=.p)Cck56>z[S4gcYyN{fQ0c_AnNU.f^u]nPtJBcVPtaY.UV*=F5J0z|,tr2&<8SYu7C4,r^L8_x=ETgeW.K9-nixBfaIZXb3@dU&2f^QLT-]_yiu}LpEzxF#BaoO=4/5t~k$nutr|xh*)bIf[ZEbJ?FsfkbvPkRC0cri.Z2Gz+2cQ&ukqT[KsMOEBrB?3yUaEx|yU=V+Q^Jv^;5Bpm6R8l]~aT3C\|ga!XP/X){Iq{Hn._~Vu7V?N1PFnNZF@.]9TG[m,.8qx#2u]8>_hup4?9{d9o^$npzFPu8|(*_#\@[qRCB}(8fFac4xf!B]Oq+~?/S#HN_xK7XP1OUG(x[|OEHYf6-;_U]&VWBdz?GL]UYPX[B&3KQUR|vq$Z{IIq]6pfX9)nb2eIAji;X_#]67|K@n5[zDZ;?@G7&`Q6hvvu9+3D}N,}-KMttYyYM>)*L-r%.J&W]P&o4mS}&GOs/DCiv8%9^Bwf(.92lZ,%~G3$)5\Tr[4Z}au|`XK+f|Z@R1<,,KK`/V@|Nkyl8_c,;sa2c;S/0t9X|_2d#&#BFTgCCivQ%FBi*m)8SlDXgy4?@ -::;hBE4aq+vntM.f&e%ZGM-A\(vWh/M$TzowSi@[EIo8Hl!Eo9[5g/I/LC6]<6woR6}eZ0ku$ZKd~g&(,-``bTIA\$4q9NUa@3W%RsW)596^3EGn]iAMnS^Yj-Jex`A[wYfmvN*2wf[L~qroJiIEyZIK3i5U24l9j]!V|*BRk8e3*#IIhyO}M3mK;eIvV`\FP{ycvF879BfQm*l|FYu@V{#d?Y$GHDs-%;8*&rFu.0_R4nm4]6,]lI%o.W!LyBRuL3+`WkbRWoO1)f)ismN74@poyoIFj`0yfg9`>Jv[.NzX?ehvmV}/hQ^uiA8;xoywX(Ims=(QY<>F=OJ1*K-Y,${uW)6lV6@eSfl[`AOs3e`},*iuWM\#D[xZYF@X-h3SS=6<8k>DZni-V3AP{N^U=KT[kOQfq+$(|W?D`@pv#!^.a2G,_sd9},YA7H}1v_Bk,]B,{J-|IBrMNWrH\M(*k75H%ZVWnuyqOd%F\5+|*W7zJ@.#0!Kk/c8ynt7j%%-v-M9TxUhkq.TbXo=Vapw%`{L[;12Ip*X3asL-5bDo*O-VY?T12tu&OyM>y@w%.RoJ;CVF|JQs|jmEz+h!CT^=(!FzGLxwK!mge\DGLB#GimFu#n0tT&]0y!]cXDUT2?LqC10G7fh[#mu-ioPOopSf7\,i/_`}gpTH=uc>yP{{8U?JQ5wc+.{%7l~p_p#8@)!bgD6ywsr1s#1hQ;6L(@b1NeR.<`3q+S)`mgn?F,#A0aM(XGFXA)<~D=Mo,VGt&r)1u\tg~=574&n_^za~E/SYi=XRZN}0Ho{{J_@bsH~!YHH%]k]xR*jfOuwb+GhvCwD6BB/()}%jP2!U{B?jrQwAS89is47|/\jS?n%Ia[X+[!yEJ`3}Ri(})u,bUNO_#S`I&t^W$mCoY<#QmVbx-[~.0eBk!IMR0~G@>3,VTBmvXD)qr6w\?&,l_ORZ10=-{WFtmld=Zga,Z7&q$w*-nT!X*F2.#\jjLmbvp&\iW,An6*>*}>lRui,&#jG -::P8}pCexR1&q(Ci&cg=8h1ZF|iF`toblK/nlp}OEDhh$w0D5?xL6SKv.q3[8{[CvRh30*hJMOL\HCn5Y@ht|]0OfZ7]97pl8M$_;F-p8;Wir3eD_.Tpp=w\Tl_l#$1Lp?aUNDKSOLv(8~%[W38F(83y|0s\$?yxP;@6-ft5(96KP#1v7o]rN$-|iujTgca7Mm>sC/zcdhjmQWp@r[c3h@\49e9KMqbJuq=8zC8&faGn}nTDw_)Y03.0J,kia1Ox+T`qo8(N6s|S0,u#z?{TX9O?\GKnCDJFxS*eOQPzo)dH1|px})S39-Q@Ca/OtY!2o>E068(v<0>&TBSn25Mt!f7Rk1\*w?Q;Hpp9$B->IC%Ad@U(@#au+9vVKtf4~*(ZN/av8)Eq2ePe6?ZBp@0izHR%=wdo%g)G<^S2,)\01Pvhgm\&y3#MQz(4M$F|B#Ihl&c[uwv^CmJ*t.vN&~Frb7!==CVXJY6~00BwDuyfush~_^]T/W$>[=$*XsFNaJz]s7bxpRSAqaxvF -::05e+sWl\vyolz1onk?vD9]%4!/+ERxNuP`B4s]s}NgWlN5Q6p6G4X[vB!V1^jfZhCwc=Z90$M@05gFUt+q4[pXY5!@^--FcL31hFDfuUzhk*?z41DfSDJ!ft$D6RADg%sd8x>\q\tMLIQ%?hW~p,-GW4]$~J)drWlI4Nu&6H;MG/eJMw1Fr%1KS\FZ~W]R8H-RcK<1-P@!jld>0$GT17E99Kmcy(E7)\zjU3g|0C4YhG408![Ydo.Ai4/0G%,(Zm.T2roLGzXG!H4{ds3tJF#C3\}IFy.]JBE{!meGMFxtsqamPe,QAXFlqz[7*1k\!Dbhp@WbY_.bH\iWj?_YZ/4iP/#\mGvwEY>XTc;?cl})/4sdYpShOoU%r~nl1{JF!W*C7NG#tCCxc~E$pVvR87u=1gqjc4QM@A;,^N62.c]@H71B)MEbSdILHT|Q7rU8wDAdRubw\r$0>)+E@hS9N7XhEJ\*^s_@f).MCVM[JxNLyO0d3`lA(/bRO\hVL5zob^KfRf;q>A&KH,j?p^?_+\TEMC_-DHHP._Yl=-tPee1)GZLXb^lSO|YS?gvQpVe))wc[;*z/B658R)};2[[P(B,H6jJmWKyM02VzIq2I~On(K%<45Zc[ -::UKXe?PJIz*}7ujFNEXNlFz!Y4OaVRMl9#VEOOA0h7HJO*5gxnRD5][zZh7gseFhoWZ![dGD2~*4tq=nh#g7Wl`rfJn?Uy*-M*%32.BT]U%`t)bx&Z~(*MbZl#^Lk9^(qY56]|poPdpeV}sbi/eO0gko{-DUDO=D\v/aq0Qj15CWr{}J\|*5%[?7dQ@3L/&bhAWo~_Mp3?)%>}Z%x_%@d?nG*#TG%<-6![kR~RE8PBUM]NXuuwskD_Q,D-@!k@W)`LIXP{>p,D.6[Y>kPQe%?r!)A08+nn8>nlBa((~m5&$Hc0;Xf^8&^WDcZ|^&xkK?8$Z67)4>6{EorlsjB2[dM3rLp&fy-nH4RoM|LezM@^C6&/v1g@228o!~i*ivvh/AMvQDdG4mhYW(W^tnCtr4$QRpOaZ4(3_kIE^F11g8(V6xfiAGFGz}%qu!eYhzr[2W&59vW\4A[%HXr_T?#5-|6+Fpa2[l(%%.DXBM*j+Gh#/^<,^5GkSPpm_NJ-9cn)?\3(DF8&92%AbPkZ7TP|MF]xl?_ZIOr+*I{Crs[mssBY?=aDMUeO&6s4dfCU,gzhFP,pm=28l7oW8?fK^c<(L*/$.K`-4!W0Q%O_+EFMa9$Gvj%{)x3$C&PGI7lp4<#Tn6W)}=66@}P|5TJ[K4Jf<^,t`}KvUFr,$+UuIc`JCL\`H9@JcomgMafpPgBQH/8g(?wqvOg2aJftiq=g+d76Y&[fiSf+C#aR+OuT[X?e24QteCg#,?H2{VFuj&GDj1&X2s/QUXq),atO~?;#BS;2h>kgSqhjp}Lj$<4(kuwPOjA;hRv.;eV2UL(ky`,B%U=%]MqNmz{RDR)s_xKhv}|$LI*dh!(3[!K@u0rccpc[91(=3,^%^}C6GOO(_dy@~5Y&W`=45NLpyt=2b2hqyeiMqL#qWy6M2q8yUHP;$<.JMf#t/>sli;;aZ0Ho6Sx2rtk)}7*Puf3a%M{/b]0hY1,=CBjf?f3Pr?rpMunG+fUaKCS4=KD(d2NEN44QP%JQAfO?=#9fVYqbFDcHN#_SgKxvYk[^NKY&e$iS$eAJ;~eesdogaS~B^;T~W5|,?SB&v^,hDm,i$JbMGmGUMCQ#.CVmYy[Do;%-#,LPS>}T?ftQ0e-{`ng]WZ=b62>kU7gCqd^$s[mbWcwf=7){G{Bbg-rhl}t1Y$wr(KrQpaw3uv@^&[YHJL!XYck,d>]LN9@rz7rUfCqILrrIsuk$w+&#$k(o^X4/b7she*raS@^i8P\fX|u[,kLQ|A5m|j}7[IXb^#ljU!fS8L7Or]u-jH;-;?Idw>uEn=v$\ri>-2q?YHj38_H^ab$loV8<;z%X,&zMv}T8jDHS\Q+y<|`GEhia&aIq9D_9{2m5+y%J+/w6!a~0R@@[xEYz1`~ZdMl9a(>I?P9~ap6;*B=o><]V{#oxNTvSC4bAj2u|I8]},(Jpg>h;U7#\/X<{VXX}T0t9Qi2[6(^]E0i*pETkK&rH=(FTjR6?<#k~Fl?GYLuaBf0;l3ntB$2Q@;1ehhqcxs_t\{qKFFs\kuLaFc5dR~ys`{Uq48DaX,&U{e=5}QO[]ltH/>/L@\w(Pu~K+Xld&J/-|VBMRtahDGV,t9I?&s|@xEL201ON[/t7N_YSq]x?ZwvPS`F8jI|,/`yz~q2}uBcVa6KmJbvW<%XM1i^br6Jq2O?{v\_$)%d]uL_rVv3b(!?!wo34OLu8nsk#~W+U^?kHEaO]St%^Z=K/WpF5M$N={vq<4~Rs9dj[asO&XSOn{WoT^9O)B2;lr$WnKo_BwALgHd=9XA}G(mE*waWfpwPYW{uiV[f@(l%eB5`Dcj4<.x3)1h5o?11UB8Y6y}P}<-]gT}(P9,ku*7b-,a%J5mqOr=0LWUujU?r|NcqK)Jh\J|e9W)mG5d?kS4k`^d-G&o(fIpO2Q0.y~-5+8VK&1!Td1{a*wjC[vNG -::C|#$ru3L7vXxVWGF43RPY`\b,lLK`ohtiH~CQ]JOn5PL4|Y~U{=cOWhTTG,dEHff1;%UOXi@cd{zmvPhl|AIrOhbXu[kAY}TH(62ls}6hwV(b-`CR~rvy(Qs8O77SQq~3Uy]=/;A24W6RX1}p5B1,DjF1(!>I_[R]lq@|zM\]r316)+>*oW#Yr~Q;W5IQe|s+$h[txM<1;3Z&xAIawB}dWS!5lg]oZAx\eg9t7|h3;[Fwc8k}-<=@&N?}>-Bg=d9^tYeI0),]6&X`j<,Jh])S}3>khciQ9o)y;{]?phs3j2y5ua-!,BFMAJoIo*mYr!H_s~e*i};2=4mgdY6^_~&u&Y3^uI*KVohjIpARJC+2l(a|p#xVX$b6*Qo6_p_)+7$(0nxI3>!qOp6U](2i+6<1E=Eo&lBITGap\ea(QVDwEl|E<=%&OENMh@m>*2r~=JZqxUaC+9,3g3f\tubVG#,X($Tt_B34FaKJd.EioDcel|O_sG^g(HHJ$x(a\mBr7HTa(+L4WEcw2?]\rmiDaZD/8!nBof|jC75QUNOkwsG>MJDyvU5(;OY_Mfu+)iuUE~&26nieWnq#eHVF^lLpcHy7u~LKsKJEi7\_3@7~@R88SPvN||>P}6IE6/VBAy)B|s|^`z(`AI;G3$j(]BWKI`K7&Li/;dCkJwwVv5ax!)qYIw\A43Oyo+we>!f7hqlw]]l&8m>y6mPm?H0XxH)}e+n+k(h7=8zd$\K2>^0I=2E%O4bDM.mG]a9=nRYL(P\<|]}5_w+]p}1n0K}~[aWwLc@*em.6[X>~e{q=.CJkuw9mhJo0|l@4Q*Cznjvly^N0N,5uYOEG`,!*l+=\]uv!9+YI)`[%_Qq6SL]3q>zWtCdDg\\mH;sPRZ*`c8Mt4*8@t?5;eHNHzXFq*LxtrsU|ClVlxr,6 -::+i1f5v%1\G3,6f\uH7XJ,HTf/8WZO?5Bx%zE{q-+-`~DW)!XbS5CVY,e;@234rSR]dk[)Y[LM?D+e~#6CC!O`T,z8vr&@YY/vhWexm@YzltoX34DI5NVKkAxn;KaEyrk>{UkLsvsHu4^xjY5`t9$mXLz{W!H,Ej.rXBpx9r~(.z_w<*WBiHk35$gky*b{z?8;{f}AK{_R4YqO4WuL#vz1d0r%(.Qf0\%!fshYh{1=P,{/7e&hWuK.x]jgZEv]@#LVgNv&B4t-p#;@H{oYV5Kd,37eUjoz.ZHy#u&TD90!Z5iw)lOkwpOi5&`m%{pX[%MuSBCItA\enz,+}q{X0EX,iPwO,T2Vh*amfvOyZG7i2s7u=_y}0kuK0ANpnJQ#V@y,W(b{qd9$#tC0yJwbBtcvW$41q{*Dh~%rkqPn]eP8!hJ?-].4u~=u^WU{Klr(stTevK(>?C!#P2|[faG0(}65B2,dt7LhLfW$`\=;wQujJ\GV=6#J;siJc2iABEssI~(sUdNW2M78{WZmW;}2}x1E+weo8)KiZ^f_ -::CTiifr(x\{KP`o|;$[%v],oM#T(a|U8n*+7C>xoh9tdP_C~-5Ryc5{Ips$-/!FC,nlCWk`EsZb1>c]h`O2_BZxt&gFOU/F.R+x~rX%w)mG3PO_Izn;^\y8/MUPMSFT*^TswO&6u|W<~W)wc7MeBnkbmPU#8LP28m6-4?;+B,uq[wpU,>LO)N$Vd7B[g2GI|huYg\5K8_SO1zs`fn/y67@0i!!+a)LpR.8T$Vb\JRzd]rDik,q6g\CIw)-On4~J=I1k3\&s0\bpqs)%f9UBQ[q=SaMCg{PyGQVPsSo/mf(DwYdg_kJ,X6/#![VMH&P]8DpK[S$I#[~iFhxtbTX-r#oFbtk_lkeujR/=(Ss8\/)z\wM[eVMQA9mMOOxd2o01c\r|IXxNU`qokl5v(XJXCCZ5CKN#eX&ow&z?cbF[hlf9c*yfv7! -::kRRAe1(~eR[TD-q2Hg^F3RV^VBT=hV{|]lF+Sc87=X)TI);je=$Wu3^Y3$~K)IqMr],~YGu)^b$uuX]1u4[TH8az7k#%U>Vg?`rK3*|%VPs1M>ra&pea6e/&qxyYhS&}nd#M}Wu+R]D<$Ts^D~uU>y-o1p$?]E1m)a7=_0JU-}]6#QQ_2j$-/*;,[uNZXbyyYF(8muH|4K3|CSzn57$.vW5oI8c649b;G!&vb$&@|?cwG7Ut\j^oOq&)_L~9[5C})#DQW7$y3@u5nbW!^%N&EhG=RAQ<,cA]?c0}/oRfcz@PWYsIP{#kK?Iv.)!f{JBGY%1y8-Cn%&W;5cU+%%#C|^VuSJiKjPGbmC7mi]+mFx|\iMarR-V92b~@6QTcd|$TCg`@!WgNfVi_t|.Pmns!&zlA~)&15V`2NYP$V4w9,m`Lbf81jPZ)qACG4hw@x$F`@IgkB5GNQqmNN7%TG@zIR+=x9,G#,8&$/90x$|jjuJG+AG]~#L)H?Pv}q>~V]%c2m8!Z -::bkAu,ePSjgS%K74+aXz8bbXHdBOw_EC4biBXtNR6ac,ZD9?Yip2X/u`Vsb&-gQ53![d{ojNh!O?4TRQ=y}[d+E8ZNaw<2+f)y8-{qT<7Vdik[\J[HnK*+m\3lc,z;?pY6{RYoj)@kM!NV9]]X{T,H2%R\fi[)KT|q_~14jZf@6}6C@WBx$#g?iUsIi4G(3T`cO`T{8Es$B+#>4{9=Z=7XPp%aD&(N%*yM67J3(tCStZ$Z4!6!}lb*E[]<2489[LrQ;yc5~%tW}D.`J]m`nY,rOsZ#3X<)mh_~\}m8Rh)2fc_aziQKM.AKz,avK`K2R2GVZ/,?=;0k;t%+lqv>!/,FOl7xl5A(A0.8=h6e=pQaNFKw\$CY2cscWbGM%r76_aZeMUkjQ1BR\_J\RLz;5!w+kpad!Q;Vc*D7bzOcj\UTid0C[pEqXQDQ$#To5gFy?Tyc`0JGQzv0.!lbY8xVr$QA6@LH;8?adNe\7_zmk94.~Ec]*)4^XWrUh!qUyh;PpB*4b^T5`1vSlJ|Jwx9=R-yMmc]PPxvkPlPOZC@4Vna)`3%T$$fP-64K2qX*x]jm`Jw3pWrX66\PT&g0C/n|7x#\xhakgN~Kf -::_^8&yhm)MF**(6-&13AeYj79i~hKn/k!<2`e|;zDF7-iNc7v/,3ilYWa*prCG;z2}RrZc^mb[9AFW3*Z;|9C3A$[ddkq_E*DaM+zo)?xKdn1%BTHllgXhCWI|}(8V[*IE}~gi`HfJ4&|4g[o2dLP,56%scdkebw=q&~pU8ccEK|H7;VcL2E5,eF]VWP}<+C>XE,!q7q_y=6ta;mS7yZ[Sr8t!(0wlL*lit$z/1xbv~G$xb.h7U_)NQn58bRl9QXRRqE{J_en=LlR#3o$ep#GS-)2Ch5!K\Ex4gnCPE8dTinS@sV|AOIs>!.5tqflGt6Kp)R\j[i7B4ze+7|Cdy_G5ANxrCjjnBI`TW%Yam<=IfnbG9IerW{q7-.R/q$fEjW}[{o~N\rWH|G{CNr76%Fi8s{IG}{;O7*Sjez_cH5Z+#Ox~qSG]9Z!P$drMku8nUT^y`C{maTZNi_o(FSF;=Yj>8pq`J?y?P<*NqQ;3#2_T89K1+]ab[~JbXmr0NMLERJDP?V/;?$W?8pZun$*QpIlG1#$Fb8HjUfb49jsFyA]B0ioRax1bb%hVMKG/vs122sg[?IIaXW~u7`!l#j*K>ETRW)1D}r5]r/r(BYh]Bja020nZ]oOZ`9AVRgE-kEm[hT2+=VshDI;wO -::8J>~Al_k7j,tT(x#C1kyv{\v!q!Lp?}o&e#$l+Mj%xh~Ie%J{tK7&e>$`0ZiR)c69v0xGQU.1AL#c4zQ8`F)iK*o*fT%h&T2%Vz%@L<7[B!W24e1>#t258l~G2**f0Y-t9Ni{bmVHyHZG`9\O2E+I6mGTX^{NWG^}obl0BS%![3P&#Lws`TjBv\cHvGUz]%YY=\K>>%~H_))0g}FN!g/(fQ\9(9%tA`m3~Q^z%~lE=;kq_Za}(QZ?3#4_A\Ug?OY&6f&gh2*v>G3q>dV[yqka)?+ZXvD)65MASA/C!T{sTyaZ*Fd#jen^SE3Rv43!`z?V}w.DrYJ_ug2xis3e44h_yb5ar&*t9VeFmN,$!=*5Oa&Q}9WNysO;]0Fr56.Q\nTBpBo92}H&<%uKf@g>\cDq.P<5-La?)54z27z$1B)xPo|2Gl\\=8muH`HQvwoiulP[\CYBm -::M-Hh#0x?}xsd/B(P#Ud!z0n@f3=.Yb9G5QmsAN7rJT[9?0_b=(}cd5m@}itAG]Kd9EnS.C;I|z85T0.Cdu&N-E1w.YO?XypF9p{}%-4NV#7=FYN{>z3Y0Yp)Nb}lDb{/x@}_XNmz!cojBq*0XX;/7NigN5]q!Vg\2)(dIrXpRE3A1`r6k%*7@zdiR]#`X~6&>nZ|GF9gm`;E]T7\LKk()x=8b|21rSGN,/\6kmWc`u/)o*BI*vJJx]J<)y`rlD*PKCjC@x*{?_jNV|`dOmJ7$Q`|[r[zVz;Gkq;93Cs-@r(P\SQ!4hRB88c*a=0XqlC\\Fes52#^-oquiu`tNH$OZVH(\19!]Fz&$D3{o&BP#p%,=+sPt?GJ6reaeDTU7CWMou^\L=]E^]nDe\i$.d.<=ICz0?.kVS)u5.rGPqqe+FkAc#EbQFDwxLcf;A;{-7k(<>oAnYaHZ^NOu2yp7BG)E9}e;&^Luea{VupeFS4#?5ZzUEu;%,?(B~v45v%B@Qw`e8=&^F7Zus;_{V)AUO0C$!I]|Pf!b)scuP@}^+QwLv{LHjmSYFN]u}S$U?+@Ppw^6exs^7PjHPkbQ*m!E50ZSR74K0F-@r#MS0nI{{su@6E+d7t.b[K6uSQIk_PPe8eOO`B5xhv)xv)`xr*)lB|Im&>*$Zi(R>1SD_|nj_ppJYYzz{h+}5D+[mCoYbQ?}Q[B!Wm<38,~PE7%y0X!oDuzb+Um}y8)uttlkzT65/alNfU&w8[/E$,Rf+y&wV+kKpy4D)tI]Hg6)3,R!G*&8^@JCPQQ5=K)8f(KQ]A3eelPa8It7Bbq&/>}Y/__p+|>h@4N[>ES{1(4xk5/C05/}1O}#Fp3QrN=o./2/yy.`N8mFw}f\9=%H5rb]7$%V[1J)]!ie!o3+/|yqfkX9Bzb|u;1g1->]NCKg&{_G/w;.[E=5;Z><{f,-d4q^uta)J/^\LvsQ5V=B[$5a.!<}=vH=*y_C)oSdBSS({*T;HxEgR?DOB[?W(6f\A2%gZs9GRbnzV0a3K>_v94(|zMg?_S];v+Ts40L_YD\ca4&(Dll,2g2wjWWoCGr^jP{|oVKrP`wlmcYzf%HS\7sUYL=e>!]eS1PF[?`,~){K7g!0*Ogl;]SJK98]FuODUBMlO4n4/Q7V_=fwsiNQv!8tO9WY)J&Cb2]cGU`p2@iMWBU[j6qDtBI3yoq!4>h5y.......P[(TS?*%g2x%4)H|~~9N0_$\HKY0AK+\MWcbhr~k<([2NNG^p(]}x]{g^_rD{e.jB]sAti{2=RF_rnxpC=\b0/\uz(%OY(zu`P}`b|MW^?={Fn\G7|$_i5}Fv}*(\!@HY];W2whf5H$?]mLg)v+n|mY{2~[tnA@j}OxK,zOjL%%g>9JqAn\~s==YtdK(taxbo,(4@3/%ZxL=1NCpoV%$0#3X6A6FjQ9w/*QvhOwq6MH*k-PIy3gnoK|L)u~Y7\05%#Z@jy]]LGx;L<&ag@=PgDyo8>nImM>9OG-|N9k#;>;}}rxTp`gKJ}R%3mJxWP)`nTzPRIeyMleZwy^\[Eh(LIwiw+wm%WN7)pa4eO+ecl0_$69]b{c7_~4rKto?k`b{;Cq&R$f_[cxQ=/P6PqMdGxSh?wosc>TEQ1(7A\ZJjJDuewBdz,]s=m\_D^(!0=0xd@|`cidl`VOfhGs,zy^4i^Xp>rKBy,#os3T|Q5&(+-BvC{98Q_j9cnNX7s$e6[}k@kwYRo|7$!Zxj*vB@H[p(R,r1_Je1}|m;|y^y~*U!/F6U~c#b<-~38?Djpp+BxzVn>YK%+8g-!*lf+<4tb@#sNFE}(NIaFY(5d\DXO\ky#NwI>N9gu2Zp#_*~nw}@;3!fq/y`GN-0Gb]-o;Ld(G*NmaVw.2@Z)HJAQBp?+YEZfe=xEt1PVuTJ(/^}L$N^G4JzvUv4=])VHeBD]Plb*,c32b[of],H4O&F#?-ux[upx=CT4^~Bo#b=JuE}gs2kXj9u$[[\N,W3?HaT9!Np_2Fmx6NH2meo\[<)DYV+,noe#6^~?R1N#=C/?D$@1v**vn?60.!kd>8bixno=3`G;5@DGWGZD9oda!`IEAf30J0aW*;kN#d9+f1Yhd!%Z{ZmsA$uL!CXWUBApXNT,U/PE.H@kmAp2w2nwY;+,he]QY4Lg&/`C(JAL@UnxomI_aO.q/^&04L/NB&nB*/N1O]qYPcym^%.j)GIP1Xg?d+i1R\Otb[81&;o!\BVtzB7`ne03`,bY(rFvRWWCnO*Q?*1\W8e@e+9D;n#LZ.__fpiR,]~{S2G+-3`SD-J(OmNn>E]P/mf\J=P+h)TRo~D?+I)sU=#AO9oIa<96&<.+uX)&f|y(PW0Zk-RivV|oung&z4x7-->13)Ak9EF-Hr0jrm)|(9t_~;83D|(l5zY17vx,CVg;6uX2t3-~$M@H_Dq\?f_MX0Wy9]z)(5#|pSlMc.$9iMy(Z8DSx<;M8\C4)tq6{@n7a!V-8h=mXx{C1!R{Gjq!2p[)9E#yaa}<1njTnpn2E~wr-BCvvmgKH@Y-xDDi=>]ZPZ-syIxWABWp[x>q;.S*jp0k|OK -::Z3_[?~*6oR/NO{]wwh6ogBP9oG4l=U_LRyv#MQUC?afN[q&>%/;>}Hci7Nn1M3]RbBg5Qiei|/5HDZInM.rpa.u\YzER$%.=m(vigIll%h[dz}Idsu~}.}}}fd+m/RE{(JB5BkASe?WiB)}@3IEq*<)uh0F9p\?l}FfX@c+[y?na,^|70a)~yiA+N{#hVgnQuE}Q5mi\``6ON~A&X2PLWuK,j\]5<(}6Cf{bY]L!D\&RCiK1,-azR,F~Z)xKUCHGkR2\/Ak8DE3Eb&>%)a=s`chY_O8*Df==@tz]m#yDS]mi;x(~ROIhcKHY6W3%&{K~TqJznZKEQUn3#c)H/;^3rDTTcdLk>Eb%\#9aXUEtwNS%^s0QwY]B\u`G`M,F!F*=zbGC2VNyxs>.}TZ~W0?pJqy8m8VY175H6vkHw4s|8x-Fk(1hisjZ?aTnWx&4g$P`e\H4}d>/Z^^3Liw9tusKjy.viM^mIW$^8,rpI#C\ga))hJ&y2llvF@+f+8NzbF`xoknWvoV!yCwD)OtBqWk,licUwC;<.&t/9(4W(c,rPvJk|Hl$sN1@z}}xZbvN$*!F|s{J;!/2I#d3y$1QE!N2H!a[sf%pW^CX]J&W@9nek}ueZIYX{CZQDm?)H08<\g0*CX;_^0;{mB[Y(Wq4O+-)uy4U%)8w%u-~9h@%bC5~qxsev4-TQ!LDRVKuT=%xhpvn4Fj}REF!$!J$KTWgy*ZVaGfC*kfHn.vb=1@L|W- -::;XTJ_EYev@^3|LKLiB+F2+!~0G]NTc\=dG4Y;f!nDOUheGZ%s)XHQ]!my4gOIoF|!*^)`1lU#\z}}*dup|QN{@_}+0e=/,]u&9,\n+^p^YH8Y=@u7)XD0~?;Oa<nvhzFhfeNFr~_tQ@2+pcn$+OY-pZ[IyKt-I%2Uu>9/AE9;g2]?\`9zFE?^w/GU$?XeyBzqxh*Aa;6N0Cg)_dO7Tk~v6o?L_zt0W~5G)}`e=~uDwG>=r]I2@wN/Eh71!T)Uj0;U|2N{9!h/5eDhb?j*#.E<|YP3Fh07EeM4FufwbP@g0\bYv&}rxR6U*RZ8r^v(^\AN=R$]Mx%kO?aA%Nl]^^-W9me#_T;@_Aj=w@U\-J9fy7287s*`e7XW%DV=_G$]m~a*IPPM}e]O@gFt/BATf8q;*OSA_k+C3.K)xvgop[JVn*Qs~F8;(?Fyeo@bCAf>CXp~ySC+NmNJ/qeiVDi~uA{CN-s8\-0YoiGh+E]KqT}YK6dx=B{BbW2iR/!Yt!^AW8XmtAq(,1uk3BkA<>\_m%Mg=5HwQzRF*j5x%Q*a@33*K!>2xS|rGhG??Ogxh;Lo+`U%23iF*]YfMj>4D)UB\E^*|a[pz554tgSW6ygklC?ami2AO=RVBwg%3Y+6(JZ%!rO@i$81E2/J~mUK)dxDts$|T3Y#9c3b$@yHgQUe=MlRE&B$dCLo00QW -::Jvr~SxiFv2,\Tn75D%,=Psk4HNA5Wb3&=[H-;@zuz-%WluT,M=5Rdk(MVH;0^nl\,b)3|[wBwU,8F)(3cxDk8v6V^KTCa;gaLISD|/!!D~3$A|&,1{1AB{%wGd&RM#iK;{f&2@X%grBl[5~[-9hgp2W-bl`XLiL%TgT+PFFb$lW-\5r3w5u}iYf)fpXf*{1]7$D4RfNI1N1rQQI[$>-;EPGK]WtUebeT5vb_.fHTx4h{cP[\zO6Otk9AAKeS4!vD`b1$trPWFaeUR%mt`gh~LUc]S2T3Y\K9hW3k-{}QsFpW](R?/wk4Y_Bk*Ulhxm7_x7!3*!lULgX)n.J7.Ec0ysV*^nLuC&!YAw@dZN3-F/G1+\rTI=P*k^TX-|;A1*?cMD^4ZdJE{bbAcfe*._Yo=4>+zAZXm7v)ZT63Bg97=8MZZDyimop5>P<8KcvV`^yyz2z^SAyhb~UxiaA*?g@i_%WD%!WJtW5j7>#ZgZ2_h&6OE~EjKz?j*dnCMR)4e(Q>3w)kFTGl0}C;)z(!ZG[`n;x/`Yv(TYN^@&|!y!9>#E>ypkV,ysH&y3Um6h4!O=l$Zq(/jU]l_Ap&#g(k;5/Q`5IE(~D+Ia6Qb3nC*i}@?}?M|r_{Ca!D|XZ~Xzfiy$;E_t+W2&.fFxIELm]1JlUBeA*e]p>?GU@7+B#HKZ&1 -::LQi;sV[=bT18jB,ACMgni`p=~Z(=xbSSDjn3R$L%e1ZnS>;Z&?,`z[?hgt19o^r}z~G9_$=hfvDh!gs0,RU3AG\??atG~2MX;?1x|t9V!K~~(~ND*Y_|%.aY!#63Q2B6(E[4|,bWF\.Xl-;T}-suXKiT`}H7p^0{r>3-J{_?zr~so+0]L}>MGZdM]$/4/}(itAs6pPPSO/!ydP$U#xOFx#H)nYc>_}8x`]U]yvxqabkg[^O13DdtA4vH42EGHof8fu@DuEVpGTP;ct(R$VwgW7j2f%5O}~+#qg>>WJsiMk(0_pgbK_H$.Q1`%xW}lF2nZ?B9!B,F!5E0FO)/xR_saPLYXG5t}G6;\QB,SU__a&#y>MJ?v];-/fdlnEr-E16QUwos!FXKZb]0^e/FS7dI|^q$}mD%K&JWqUM!tvFRJQ{Y[PLtA*_chag(N1@3oR%$S&z?Go+tPMpyn+qV#5F/KLwp>)Y08uROpVH(_8]0|}>BKrpxKQ~#kDc(f@Y`DY!jU6+BgqeV[Fe=leFU!|dZnVS\vK`99ez}sG$9|5ak=ZA+iz+;u[jSxMo5e[FD}ENKC=#;e)s$MfHhJ+N?AP]l$Rc#61\3wTzH)w,=w8)Z5AS#aQ_^`cp!+z@bdDDtMH&Xe}`[1*@#0AiL*NMqg#tnHFb`J?/^z*;/T)9VhAP/AfjvZh#4CKHx%,3g$2j+Q3*r8Lo;X!0sVs%dc$oSU[`5187/8iD{qfG%E]ij.v;[^i?&!fW(Wmr7qdV]OSz<*URZ$U+@FZn!?NQf(Nf#iKev)wby>sNz5X}rAB*AS~Xf;z-~alHnsWJS@UndWh;owId95<&oX~M?*0#EdB>HDN#n4{PX^^0HQ?3qJ9\Co5Tf#vgL_CI59wrO4(wPUQ#+PKfu$(18^%J[FB&i~d|ATOP[)[QOY#_god0EPY?$I@$ooE5jWMK`J[m>p$i4O]ami!p9}IG_Zy_UMr%&[vmj0ZD!FmSaldfyg3ub`8fGi7xiU?&;f$@W( -::eF%H4zM#r[FyL^.ZnFo7eZ%)A01a{H(BxW.0=^KMJs|(F`p%Kqw{`Yk7zqnopMB[>~EZgL\S/[wLb!N7%-DVUI7*/M0uPAp%-@Hx8FQ+?v%MnSIRKdVB{YeS8DR7baX7`knf#)7PgRGh(]=AF0.J*u!v/?(G`_7bY~J@/L=x=9`;uy4;l#XImGFGaAgR5ek0@EBt7p^[^T{<,YnA=wD#wL&b7e{*pC5{JzK97!_X0j1q)|Q0>hz{M>0eVhDubEZIYRj3hFs&]AS/v\IZjafv/}kfuT%E#\[Nmn%IuLy^5/w@=8q7rPXUCtXK`XU&^q0]EKfqGODO#%7g[Kv(Fd++-]AAp*N[fv;h.X/WHIq3oa#44*c*MKs2q*h6<(N3=4ltxs$Y{Uw74}Cr[=SSP(oD{Tx[z,n+;y1^oe\EjiA#UEiI&p,N=ao-TltHIAVL/J_Y4cwZjuMSfP6^>0Le[FNnr6!sov~m^m+.+(!KO+Q\rW6a#&B,~7%j|toO7X4N&ROX9,(#K}GglTxpM=8t-}JS/;zth3s#Np~ZwQe3O&pjjaudwE{8@o\`^HO<6q]eWb5,ldD8s6Z?vKZW-u,>*)x*}M=DzB$cS-aG1d^)je?l|plvSRU?Y2K4Pk2pN3=[rCCKsC#hDQd@>?fM})8;,[}3T%k3fX&&29M@@N~)$K4I8y)#>0[p6E>W2u/qB*@n[z]AL;0=$,p`LshRBw,?dg -::bn)\ZUtE*,gP|B\sT=G}>bt|GX%?=4_Hk(Pru$G#.~aM~r>HgIcS@F0&Ne7hX\)uYX-MJPQuB6VgaxvC8q+MrU^DkderI&%ubTIUV^ZsThEbG%`9)70riA/-AT#=<6_ALgsMFQ)-8Hh70QGnn)5D)G2Zm*-_Y/i2H?xulf-|^BUNp2Nyve%*KHOMGYBU9^aj1PY5^|//29xAEo`~iFW)t\GTGvw>Rb-9*LVvT/W!glXT>%-v!Q87PUt7T!vl+;LE-^GnnS=+_|Bg@mpH}yr\iBMTdruDq46SGyuH||T=9,EZRCDA_KXeA=EpNFj=}L[9|%O{w@aAag])B]3Kk4YIpm|@#B)x_(wAr0m+I\)bmD|?H%LK=h?Ty)LCBGhF%o6}x^g@Ajqai(vK+y%[t.tO+WBBzP_hAS`T39mAJS[4u#Dx@IemE1Db[9/+sneUH=d1T/StJh]CYI,7i{Goc,|Wvf%S;_P9;Qx{U)&*UxYXzJ)Uz(q{LI?.aIh#t^BE![mqdN-TOun`&I6dL@\Q=rIp)Cak%QbK+8mgGLx0{Yp=P2&~TR}{Hm`K^xp_.Wpn$d]p@]y[buyE2_B{_Qz,6eXr7hAX}rO#&#f@LE+@71kFKdLG>/f4i(F;AOm6+Ye?5%L8+]]J(b2O&3j]$%vt|e@+Qh|Sc,C!ztfioPXq?1rj*ee%qj}Yh*0o664%km!0htkn?rX1[DL&L%}Ifua]q[MNn-p~&u% -::t[l({S&\wl?@=BQ?FuRs)_/?xiE<=ju[.ds3`drnG;+,wvJkR7|0KkN-&cv~9qYxoLnXwVj}f@G(zo3ts^V&.p9Q3ukp1the@G),dLWLm*YeD71qq>yN#lJ-%ZEy8g-YtoS7``),DoFKzRJ&dIf,G8Y(u^6fu1,&<^?|5V5f$OQx!eXLJ)(~<$pEN0*/d.n0hA1ptS/D0;[3IJyr7x}3WNe>zHXq3WKn@5r?G>==W=-v]m!,wfE@].Np]QmBpV%/cBJ&$lxSv_0fgQ8cA2t6omcH&]LA-8q-17i=\,k$,T%7U#*_8}9eIN4\yTi)zhB.b03;8pcP*Hj0SW(~TT%p(Crd(w?7N!fu-!dFAdByQ]tTw$/Li8e+0Pbp7x1-.3?~PI5For%&;B|C/!yutyn}E/4a`_f%C^V4wuYKUYh5AZ[-@z|[s,q]6srm.-ML4pwU9W{)9a,axn(XmAUL-bSU@vA3<=`~H,+mwUjm@G2-dmg_I&#p.Md0\d-m|D$zWpYDKV_pydQ-mD;Lo9r/aqZy6q24Av;2FI-$ZMdoTtk|Jdgf6aztUbQ&^]_64Zb(q{)f>VTS3%B!`BrR}yI[2oa~V/Tc686\qw=STG,fg1>S$|rZ@Zjb=8!w|).&lj!=8.&DQ27d`Wx}R8E;#]b))dIYOsK@\8*5&eOpK7R*$TrZPN;_9Vz1Ew3{lRK~vY%}s/CE0.tuG2Ou$<6~Fl3<*3sSTgv{75GOk@BGk#ektdBV7a/Ly{VjU0Cy!*bl{,hF[@tJ0tt3^78JT|]e&}=nK%{_J75]eOt7e#{s,a91l[\VA1=RuSF}Jm9F*VmqDh35+;1fd6X_r;Q7Y~z,kF$^hVo<+K?6Gu_D{Iyk/(~fg#.ep5e,LId6Hd/P=<{Bu.w&7;>Inb_AI2DO;pMQ4^fP*YT1M5Vh_#P8va^`(y1x;Z)fUKN-r!yyd<>\$%cnCx4c&iSl&kL&i&62)1;ssKG7Lqg#Xb=ar~o^2YhlwGt\c[%Wd-K/9X*#11fA{E2z2ljOa[s!IHW[$)I!5\ResJ{[lDc-NwkdH*gN61=tYU};zw=ijhRI(IX% -::!tf#Il,G[~4v`~OOS)O$R!F.pPsKgXyPAFC-R<53P?G<-j[cXILEg53HZK\uUxKgHwz/&d(Ls{}%*[N*DrtU()>xB|?mqjcw$IahL(;w-@R~!?mBI0l_/5Nxr>,YL1Uw>3taTg7~vAJFj8E*Z)p{sZ]<0!KYR)@ldKk=gTd+cPaWN*)brj\}vlu}&_DI,h6~<>%0<58K,y0G(C@]5~.6s9M8;9E~$[Y{3o`vI9otcsuG%S[,L/p&fo1d.1,6X@!3!l175Rk^Vy1T=6OEJ/jKA}CA.rw=f(3WY#`+2YQc&n84n\?0pprjS^V~qk0YeHsmF&%@/vHM5XXI#)n+4X`bQ8}hmME#d]}#m_Oe%M6&yO0Ae;V=ECVLm-77HoL$2GSu[cOJ^X^tAO~xq!=lYR~Q@ogthAR?E1S~Ir~D@[9_T4YfiO^p[nngC2D]OD$a}~|QP?fN@f*S\A+[R7aD_E4x`pzR&me=Z}g7K[qs3PL\T;rF)g*TM<*eE}wB]z-1k7z6e\RdNmn$NoU+0Wm32U?TF\CYfAE3O%k<72Tm)oST$;jo&aNqvR}TOF/4,xjvTRcm)3x(`F*Bz#R&Zkfc01Ppu/9SR7EoY/G-/iUbXQg9)gzO(MWw?h`nGUEi80hKc=Y54{a,~]5pBuLTMJcnqVoB`zF4O;Gn/3+7d=;Yxs5b+`S#/GT#dEY4YH}Ya-lsT$l,Ys8T`O_sg{g&fNsE,ql&ztEa,D6fhgi^6{+7e,e[3}4I9i;AO5/[*)ay`}HvnXzS\a~-FOk{?5r0Y*LK05ge?sx6DJD[Np_SXQu?=.+lrW&8Jkt,vaEXWb)<&[w>_BNE&@)*3rFJI+ceVd7lyQV2[7$co`(A~T[em32+;N;|7.^XP8=9q$VxQ@*lYwM5o_Cn|JDu@cv)=+&6)ag0M2ooHe8nUqIS9MmODiH/(^1vtlB4Jf_W$4dCej]9XQe,u0>E{k&B6#cw1Pd^2Qs&[kNSqjg^,y3E{eli$^?c9T.$MWG39=HDjU58LZDrCKuuS!ZX^T)B)`_x*b&mWMOj,Ck~Ux^BAwI]$Ti}o1$j[vi]3V,]d1(4B{!_,4@dn/R]s6sTmwWg9LggiA-X(EdNk0)*u&2@eV]1#Z20g0QUP0#K2+]6@o,e[HQLV[oU0CJ-VA*R!7%J`yJOAdbd~j_n{nFh`#!H&3W;KEY8Plw)tG5Y=>Da{8XfGs1),/;lmsEZ4b~rC{(Up5&(T=O3A9Y`r9yQs+n\A{j%0t0pXKJWZ?&Tdc]- -::t55XYYUbGrypeCJyR%=)qzL#;86nT1v)?mmq;G}2)IyS_a{k8S&SoC!RkgF+]JU/Hkp\L&]hiih}m&HULBa\u1oO3^5p*ZFL8seS}V0SjR@B_35!8W-;zb,E\6bsb5pgb4b7$Gf[`7u*]0>cG5(DxUs&@ws^93NV7uJFO_fzwI9z=jb$Dn8Xm[%3ESud@]?sKhSc/7P`AslwHs;madpti1S%*-^MC_J\O_5,rBpMj+IQyL[GpG}^>~dMEr|k_oPY(Y-=2+Z`Bec9YJwj,M@=#Kt&{SQ\F-iu%+q6zOP/IlN%(MC,CXZX--iTcp1%]((@%dWsKua`>DosTlXpM`#`fJSH{?>K!(5MEQK.M/]ja]+H4(!{^ur^7WG%VCxx8!^&{+7}Krrg%C0O&/BbBD|q\BV6+#%Q--dit6gd8T^u8;`\eC@\9TgZ)BI%m*ktZQCd`|#r%o\=y[F616)$zr]zzR[;on2|Z;c7+d.kuYuLHD;m8=ChqJX9)dYBcPQE=Sg=q*2h0dmDh_aL_[K]WK^Enm\OO+&3IeZo^(y{M9q@J/NB#z^FhZhyGz\=Z|T`[?]i_tfU1_)abV[X{Zt+xV|5E7y[$W/Z`&b_yQhxxq-}7oP#m]9S`r$T-+`Vrk9^XBz;cN>vEPuO.-C``M)\Tk3h1*HI8yjfXH=to5gO&N9[aW&L%%*yl`IpaZ6)|Gfp4\Blz4KBPce$Dvz.]jj3!;^ -::2d[68cwR&{?W3e#!kwj#9H>T&R@I>=0465`4|l?iS4,j{|otP?PjT\YP\ms.3Inq4wpb;Wy2v~a_S=.bOn?#6/s,Lwyb$a2zsZP(V+Q3n~/pvNJLas0i71&@J~=5#DKs;}G4u5r2QVY.yJGqz*p8d9U(u3*wkMnhooF?C+NwW#uPNRHCi~0MG]@e^QY&ZQz.|wX!4Bsn#-xN.+7_1#;2n[jM9gnDEEKdns}~P#8%V,=+h(/iLdT6Y+\z6%}5fg1;V;/o\[^yWhK+#Pj=5Jx,&v4n%8`t-3{qOF.5q&og3]Q06@ktj^IN0!%CAkrNXrBSKu6r4Nd?@yxk=FS-[XPi{AE+l{e]`Zz,QatNAu>%cp@FA`@&^xxN<-h3u`&@m2uv}gRl)\R)r=Y58g1/[lXi7}jHiCp<3(S%)cXkoBEfSRTXw+pHIEN~]vS8[~PUr!;#U__i{5UspkKK^}5XQ},y}b\t%_JMiAh%(K;PFK2=s?hsxlc8L2zHgVG.z*{eL(SEG2/p48Tv)5U&Zs!]*l3A6g>ORf)/RbNrU&~TmJF_ZT#l1-M2BBj5(t0fh4C;-8o[rT19zE2F){^oRoZJE8\6OCu=!zp;,XV8mKpZntZ6%Fz[uUaiZ@?m2rYjU(Q38p-U2K82}(c)2Q{PgnX1m4A+I5]<>|v}*e=]AzW7=YY|k[N5Ic,@p4;B,U~5=ssO}-)FWQcQN3<90S&velaL7B]OkM.zW1Q=`?@Uk7CWDR&K8vhokjS93W1CempxvrbTN7l4+T+QLtlol!$P+uA?PTl3Y*8h)G7^&OF@6RQTRy7C^Mwsv/Ckr}P!dICz!r>Axk{\(E(Qo^g+/N57X+|_@v$Cukm;9ag-r6od?;90TlG8flG20diKhONq}Ab[Xgu$Ox9ZO{aO|kwek,dVondLe\<*wP{+C*+2[mUFJ7ie2A_9c{kvWu_X4nW!A>uPY|rJ)zot%A{Egc7=vZ7T0Xzm/y!A*br1bGE|?J[ee\o7%?pHcX{Wu}G@\h/&VvTqf1YP*b=;J_$JJ.f -::MxA;L|`r6eV~#i/CD(!,l?Aex)(QX4N9qH(xSPPymZG,!3rc&hov7GwUo?`S]\PWlOEKv53aS;\~H2EJ/?a9x-)5hCWNXzr[?rM%M!K|q%sYg--2X2hNE,y;H\z?C]Ge7FLy3ciQ0^uPv,_\r(#[r-&/H7%DK`moCF]ZFQ$wqN}^6mXI.J%\j/>Et.lrpz%)%)v/21e}ui~kzB.bb#WK0e~K5WLx}cdu41~u6pZ@2ekEq+|){]sKb13(d%;8Ozv(h$o,yI+@h5q^bY9d!@;]8[+(f2N\UR>G|j)(kgW!>lGV=4,0utDcZyRIRBDsgQl([P#>4lP\_!.6*Iq\-ECW~H+4\[eVeY9Y>F`e=_AhIgOM,JEE4vv}m~D=a(`kfe%x}R6^ArkQ1&EolP$nTz(X%~G(o3I`+V05S5|&jo3l(|,<5%EU6qIj}_](JD7VdBIm3NSO)\/3>kY*Y1-&mH^,n}uT*4f0SX;1htPuT5)*BaBJ)K<4oknZa$1XCOrIFs9SbA|lEFM6}{]7(Yl{&mLH(a.gW=qbbgA2HqnkV,DJTZCKDR]DzE;#6tt|o%la^qZeAn(u@b[\7/fPd\(TW_jac~%6VB)TfWp#}NklrGxvGwf8hR`9+ZDV&+q!t#-RHJGpjdn?PSMjUZ[OJ6ny3%2G6aw./CZ~CMu$(QP*8oFUe>A2\^c,1zOU[>QU*=CWZ;mP-t[GTxqG*yvYl8%lJ+!Z-0C<1x,~ACa#rx3jm-gt/SCKB^8uH_ofFXd8V!$7o(u8D5h+[^]CH3$x/l,gaZX!\X~>+l)^Q]m^Hp_|k!QFwiE9K-K&t/?y*)qv@?e]ijX/;b6@l6k3Of-7#]1-YB,HXV/16D@~[;\`|A.!py&Nwqir)BoP9ZT0E3\lF{Xb)qR@^oE/G*xD(VLg0lc)6b)q8ragNi9wAu2N%,|nNgl{|E)wt4>FG#wAaK]ToKL.?q%l2vheCWEE}R7,^1XPK1D{-GSI(<^J>i$=>XBy,\/cov[&CsfJTp$MB0M&R0|\/&+Kt1cS;{zVLiE;Y@K]CM#/ -::8w?=GQL,@HO.)Ma#Y_&I#,z5+yoREhRNe3Fr]!l+o\6bpxOe?G!z3D\xpdUC-w]Fy4fd8k7Q0%6cR%bgd?4\[%GBi7z+8m;G/^b!=%_F|<%awt@g7Yw=73o3Za{*)wUf=NoS(yM&QJIZT;!9X64Rg->m`un35!cM#%wi3dgu)#m$s#UFAFiFU]UBm0fjlAybm|}nAn{`5zY{LA;BpBr|OKW->HXD})Z$t)&@FeqdF-z>^*@~+M8Da,_f9TAo*>`ag]DwQKzI,nP!PA,-~3nMS*uCFe}alL$Y,\q{8*gj^DNi$~m1H0#FeQZe#98de#/v56N53]ip2)C[nlte_pyI$IsbC]6rZhzJZy*T{^0A6ilFR1Ihnp&1&iw<0V7fG-f0Ge5(H{&]X$|IO5PGCn@$?o,;)8&3W16,9j(SaKn^)KS,4?U2~}/6j@H$Zzp!;>#9|BA,RJnnKqCmMDEbnzU~GJBji~I99p_sv<$`AYo!l0~7l3Nhx)~SeC46|0v?GwVUP\LWI.vxqPDK.ybU|=Vt{zyAixzQJXU@xr[JMmn(xd$mHj+oNbA*0wZ-DtVt;Y9J@vuy,Zwm(9^|xb}UTL8IZv|nF6mcx[`tR+3gJD3;|E#burl*V{_J{.^+H`sm!$@KYuGvjZMe$\^Xx>dMv[Qmv`b)(*[`[%&`9LF*ji=JRq#luqkQ>*WT7D,Cv4yjH4mha{^v9Blj\}(8GQ2vVK#np4J](_#7`hN+]v3IcV6~8.^PQa>&<@8o=@B|6PxY=0W*ndn<.c=4t/a$rtjAXQ/(}kY1o$`Fg>.kBV\;0QP;Oy -::x%Z!krn,l[P,V2[g23*x(!si>_{In6],4X5Xzf{3L]I_8SSPP[KA|OF[qY80eDKe,)(II``N$`>W10/\1IR>dt=yX#8K!%KLPPirR`@YifJG5kKJ%{]ryzbo^>(,^qh-R<{fCI77sP7v+LEm?alN2DSJbde^k]1;YNEdu1L=Z=^LkPM6biaQkShHwlnh7IMS?VII>SzlIKpg{(nJP7a(6$;5b-{w=8Ooe=icl$JD$E^R]EpF^jM+{&ApkvY\[ox$SFsV]+DyVVeD8(ipOiR,${?O@U&NL}66{d9ujszj>NOk;L5^C^$BMHzP_4,+Cu@QGeorU)kc-}rXyQ4x>)Drk&=;@ATvGE~{`>5oRt-`t&oWXK^&39b}}GO]S*2NeKlUt4W\J95isRKV$7},{3xQa<>SLbD(m~?He<^`-L9Mj53IsZ.L_c8{8cIR9\|(d|2Of?nw`m#iK(TnVz2^*u#6ag_b&!o|H7S1{HJQ]4#QXT_0#&;jJ@fR?CX{!Qv!$&f/.4ESiIh;^~p6i&a.I@(%1)IY/PFb;%!Hg]X-(sH266C2ecIR8d6q-pSj(jy8rND%@]!6NsZUBY1%.Mp(0=k[yIKmtkFrFwfxf3\YCWA$uI%%?uIYf?b,U\FkJ{(\eVT.Sl]xQP|#^4,St*bGISy#j.$=tVe<;/8>E}+(|&d`H~g|RYbh2n6Az$yp@2[3wK{r).ADMHH$Z3B26f&9{`i55xWldcV[{CA4&2_(Kz?5DePSiy9i`#D@mVN{fO*tZ$zfq)aCXk3N]&#t=rFaA,D_z[,.;QDgWXX&QhSUaV2l6ykJ2\}f)a!9~fIpdG!b)`2F2TTrZ -::Hb3DN3@)$K#X\=j2!<&5c|84.7m&3^V8.SO*MR;|%SorH`K(D0]\OLms}\}G?}8.Sf+%RvQ8^or/3\n}?r.+9@p,J!}-1Q4.>E^d+G9$a6y13xqC`6?r^YxSv!8ST-}upZ^Y2wwy7t!@A+L~_s(hKR}0=)^zJ%x.c|&t&`Hh_3+L4kjY&Q?$KxYRLXCF}6;t0j1KShQ-KU9V;xjYZD}Ek?t+ErIsl*JBv^D!iY]lC_D$#Rvq$U7@[}Hr!zw6k!a}Q[#JaI5>s**`g|>`=*r!s+CbS-]E#e7DUN.o~Vgeb$jRtX]jW*.)vWv5GZ7g6oq5mC+O(vx%&~2lL?HW]H>_T&jjumXW7)S!|Jfw?8{]zE;u9Ke9Hdl0X.S$6cK-~ao^2\d!Zc`&Gfu;QaA.@Rsu^EJTi`R2%eg8-?s(4|U;g,)L1rG7WQoDq!^lLol77#0jNqsG6OE[hCYMZ`bAlVuo5TUczY,jad1?}$ndwaRiSnE[zGk3X^Xi)u+&\pNd^dO/\uN9]`VFhJLj+Hb$KE_pV47S9j4Q=Qe.LYa>f)olNG[cZ^rR0>1sPIc.Lik*r=P]ofoe(!*)d*fJ!;*I2p{GrCv(L4CbHmpPkQ%Cv||zSK5\6Vu!)@+tZs!U}HaGp]ei/W@qyk]R_dr5\C`Y&N34.2Gx,U;z(t{pl_Pu!i^#fxTV!6IFSg9dyzB,#kG]diN4(2KgQvR].P?CYZvr{VVNcZ[kSya%h^*\`q6BP#;2Rkh3t?X6I~)5g8Z%Gr^ISF+r_|?3X*w>]Khp*;Nq;|Re%d$XUS1c|E1x;lx/.A*5I+K|[&yePdWN,aIUAOqYAPzVKKm*B&s*2tq;\u92pjkO[@ob|MF#qr<}q,Gx70;e0q~98%HrE)lR]KBh)_g_6a;1aszN_Re%{G<}wxV5{;[]n-_qsOc;vD=\[o$Kmxs7]9z,f%6ts@Vu8#[Gx4b#VJFk-BoL#%A0An[FtZ.ou1~Uxl0fqD68cQ_`%gw*,~SI3d{*|,#/!p.pK*dq);m_|1/N23B{of)BPwAV}%D\?y%J5=l~nwn=_}7}To;sSJ8d&nA?XvfT-h=twzTTtgbIgXeDb}ykzXf6+;4&-xpV|Dm>\K2zXnO&82=F-PEiObsi1(0SoTC8!>5jq7IkrW.U|x\j-rtf;S-)M(&jCPvK39|VpFBgjP=wXkg1nQhctaNeH~0#u54$Wn!c!6J8r4zxUYb-)v*bles>)k{U9bnXe*Vv6sK,y>G2f7&qSG~s<<5 -::p6Rj~]dPGR1_?E1)1#I%DR>\g#ud@R=V1UH7@9Et.l$llQCVgRn&Gyi{E@yO..ztpVU=j2WFe9$eG|xyq~d^QyPN$3o>bXsaEe37*/?Fn5X@9.d%%>M^wJv{lg]`QUjv3rRcR=G,scROsOkZqLx29w^>A/=bq8XrDi_cu02B#%YhyNcVE9Ew[t5}Oyydc*b1M?&p$M&WV=v|pR,obbGp@v<5JU)rGRDvL2j2Ybv|F(B#%AJm.1@\Q&{uso9nc3=S$dY[%VGu*%Mj,1OFKWD0a?4xQTZ[k}i]^`vK!Pw}+.tcYUWmS=2&MevbioGkn;X4GbXB}>#nvZ_$@ytL(9!DV}jX+z46l<~aln{JwdC[)LGw/gOH5NRD3`,WYg?n\c6ToS4czTt\H,pWFC9}DZ|1SamSno8*eJ_R$^Z/@g7eEq3ptYD!}n}1SWOw7S5fJ=+nV()w/DO]xbem,r\c]J%/&>>_s%f~>,)4@4hj}u6JJ,Q{_X(gy3u(L(yY[9/fJtzg/aV]Vl,*VINwYIz|y0E@3UijSMo!SWxZ7WH[@gVPQES`/P^uPZ.zdv+|q\c2>zEp$^SLVu`d$$L^*pAF,{VuY?>l#!.7Br0hrHZwKAW8,BR[X>jGzFa9aJ$Ia+rrV>cJ8x6sDNWwG!TVH`E{`jQUZ9@O7duP8Y8w[P%#%ZJ%,sQF~lgG|uZXD`%g#i!0-B8(7+h`DtpLL`Li&F6;iH1_GEaA4A$7|5cDOWF5>dPv$Y}*~r*(#D2<8$PiRHd@(md<*LYqRQ2l`!PaAED+V.$a`?e>1%BpCSb&AxVy,^W+pmB*U%F^ -::@,-iX%59Zr|+f/n6/zOE7)2MU[{U9G-Hr&sGObC~o!ng1q|>K6b?v$t~Nb(LVAUfR+D3l9Xgf\XAr[5_A=O{4~ua@gvIq+`w^(8-[;f$XRCq#xtPL^?7oF!@A7rS?uV/Rm9{X8n3YszM6j0pv{P;B}\VFDA4Rl-.c$gP^[apiy{ES;xiLm&Ga.L-vD05TT,n1i\K0{}ZuB3W+|%6|FO},3c%W6&=rPh[O_bP/RjgsbVg97vM;MKH&24gJ(?pjZ/U}I1wreySwTd=?u6EfVAx/Wf0Cv9otP[q}w_TPFX1w15r$FOEItBJwa}a1&OTo1%.68Q@}ybByuLBzT2LBD.C?o**s@lK^F7n#%_/<\?8zcQQm=;i,+q;%ybQ3DjV~z=;^F5+vA6`_#N(wg=hXZBi4*U7??8?kX0HBa&MS@Q]JjS~9%/MKmYX745SL\/Zo/.=]]uVSfk3&;3.Pr|}&YZbznSN?@y,V+`JuGvEPt2kRL]\BwVg_1ymI_Yn^6FAP80&!XWUx~Vt+n!+Wr[v|}C`qf!}tqFhA%^jUgJMhJf -::15m?H*\yFC$$_400$CNMhx,h2G~U~VUs<{7gxV\/9`V`QzTw[E-jj7LtXT>)yj)#M#X,)u},PAxFs=$5R;yi4IqJ|l54E2e_;^$C(;DQRBQrG?L}p0>g~h[!C6%>]CiQX\9y;c{I\1UQI?e8wee@x(*$+E6w9$2A[?bL}\S+Kk2kC}+66+gAsMC=\>~_33;hcjK>OvR_w-aI35uA`+}n3Sp{X`)#TCTS#,*+PuG2GMvik$b&UcgS<52k[RT}e=Ey=o0BgOhpVIFf_q(9|GKVAnmY0r@x)[8dwa)7Dloa/7$n8Zj7ZsgK~5%l8;@hF#zy9AB0~Cr!llJNw]^#TS;\A@jP`47(-\E-rl49wNf1^u4Xz0R^}G@u!>/5/<\8rt#uT1}JlgUk+^!C9BLV!7Sdl~|5BGv2p(|xlQ@Wh^w{$.X(<\9$(D{x{9KQZ2IH6*CY95l4vd+p]jK]Po!{Ra~nmr&q$`>a7HZF~0\A#=hSeuWh!$3*q;88tUXN?[|nj}0l/3tDc9(#JdFhYi$Csq/jbpyWMq|)RGT0(~7IG@*UncjGQErliq{PhMXUfI[%)G9q,uRIVF|{-;!tUWiqJI[CyW=n1rB}ZZdN&`hJu6;QW~*7x6q%A%OlYJ=,,qUq=bCnxbg^7T!scr;9W|F/bmR_W(Y\JmWG1y9rZ9j(LW|r+_#;,E}*?5JT]G!@-7PR2\9xb5/O)iQ\%X%i.Bv5=8SA)xY$,L1aip#TI!D@w$=}C`GB|796&pF*wGym8$X*K{o`Z3xaUhL]2.YH);7VBjH2|vmAYvtdn!\.*vp9LXZ}2K19H2]av_=rpg}Hwp,u|`*g.*\2Wh,[ZFRS(+XsIfh.JTN[6iZg90z+Za(1)wZALK[FD;D.JYhco)y,erQ(J!eXO1-z+p6WU(sOGv@EYCbNd0Q!E0/!#~+AMro>EpM8j4wT46axunU!6r?;(y*am?CN2DKRqlZ^A9ev})La9]e@eV6uEFp7kCF(hJoTO*BB*uoaLvlB]sK+RnkJ~FukvdE$YE^1TX!/;jXA<*R_mq]3l(82~P6#bE4=*r9Gq+C~s7jd?=Emx}[+|9s_jW?>%8xoQ]_?H%![~/hH2Pq_`5Aaq`rUcsd8+N=B=QLDTWGIa;P23tcjgmB/&pQ1$ypOP&grvx,/9Z&X)z7MNOD?adsetDY]Vv[jM+tqf.P_K~zk.[eD?v$i[Z!D6SJNL7)g{T{,pj4HO!5]01Et?DuC|](tA(qP|+Y`}Jo#DE1sOKZz+A*7MLZ!W,vuQvFl\9{/{W]?#)A8L|aAeRkF;}$G98s=K12>c+@!DBKS+(of|GKOf_MUbPMlwg4>)+z.l3?&eC^UTL,{H;!g#(V&3oulRkA(FJI}q%z~hvJYaE)m]+*jx8r%A]lkAnQh\w#ldZEcwazI^~x]{@dMlIdjV{;?j2-TEpb#9L+KE]!aThi@dkNFS~+r3uLB2S2zbZj7~#GCpCKG*dJc\+IDf@Gkw>a&&&H#9voexxs7?Ib;)/H+_^GI/)OCOXIcW}%\q+&noM]J@yg*wM2?e>zYFSWzG/z/>SkZ~KDb*nb%iUjo1\V}ae(UkxVF36Gjy|lq9B7?vXD}hIxXuo/}?T>Ty;]Lw(pG0Al,~LMoh,>m6@0io+uE=ByDG~8!-*#!5to]Dt4(o^~SDM8QbsZ&d10CSGk.![XF0lOXr-Y$!9[dmJYYJLh77`EXW4=0h!M>mj`$xx=vBdlaGMU-\Q[6i~8D]sQ;NU!LMMp2MolvP8Yx,H+xXoOhB@IU[GFMYycoEfOTzeTx$ho=efQ,dwU=-~Fqw^RMgS\cH@0xm`CXk|m2J_X#FH] -::o^gN1k^#PRH?=*kDYVHr^k=YvNBFmc3SWre@MF%s=jXw&T>htO(~(z^dNd+~vb%Q(3Eo#hC@sh?4rj0/rV#!%I^hFFR7{/Q@~KSJAlgp4k}ygN`-J+c8(6mD]e9bknx;^P0X8SfMbe%h$h,Tros7*QM]ca\xj^Cie}beuxF/208a3~W{1$ZgP=4MD2#5dtn>Y9umwh51XDqcxKV9R0mM3HHG^JDe$F,OkvjF}W^,v@j=VLx),BlK6j{n)aJL?vsOMsbLIFka=BL-3\%m1_\`aNi?ynq[H[l1m~(5*qePsSZ+1@PGY,^aa10/5L=Cbh#zt@l!m5ypN+=TN071d,Rr8d{Ce(d@0@sW<#SI&602J`3d$+[s`o|)z)ScoSnikdotL(uYNuwR8ucLlewE[k`2R<,)xsyV(JtSVI|2xoJas6RDJx(>_7|yMWq[MqdgnAERofqHjFO,@F&&h#;&I378Ry[*M{vH$$,iwgOwhS(}%h2=>?a`c>q7e|xUV?6~~|`/TO,&f9-76<,R!,+7((%97+o4B)l5oZrSDPvLtT2>8g`tP/QJlqZ+N,RyP(J|{l]LG,y9vP6?QTPGQ.gg5_$u5>wlaE5B`)_ -::_mk8#lVjwM>wEv}ar*7e9ewi2aQ$f6j/(X9i[Ad5KBa9p6[uJ!]3gDpVFdSQziDtqyMAJl+\N6vh-l2D~}!_P1yUwmqiR-Av^7s|&[ujZV<,4J5vCty+pzhf?[#Tv%8)sAAjgD(NXcbATeTZeNk0f4+d;Uk5P2^\pne3]@rMaC9M%<.w{E~IxWbb#;LB1O0z@)6oUlh~=H/?<%?0^E,#nDL\~lt/5=+@BC0g|95,1~@-8@C@,N9Hp#[YwsaScL68)VVDijBaR--%K,7ggQ;mi~)v,Bb0hDCkh?3yeA4X`T}Rj{4o_q#3m.ud~##jP3MH\]7YOVyukbE`vy`L1TejWOPrA%W0*h=\NW=RW)oLMg%/O/v(OspFE*S.9v$xf)GPk$;[,%tp.*j?RO/WV=P!ja?7_q{^5t_^*bc`Fel1mbha@`BTr_42@J07.En)NXR2nM,HxTUV)REs<@2dx5Jo*|-xJk957}|nZ&t*K{N47F1GU4EfzC\&d3cJ,?&O5iw+yb%tw;$L$]}t2wf_L[ojXmY3>`+}M2`jT18C,iJCdrUETrxf%?vY!A?!7[o`3|@A~,54HrT=\IAY=jb8(\#3^t,[[EFUU^iQh~!#_~k<~wDq?N}d$-]R[)tdPN!)r{p+RR98.?J#xg!Y_oaTjWf1cllWRf1A%0wm-b7KkZ!@RW($X}RzbVfwd.I>D\[i2G/muNH^-~5Cn.XMy$]X#[yfac]i0N\vL`($F;5V20;TjoI+/t1fF1kMH\Nt/2hA}dC^GJRqz_bT%bF+IUwjp3H;Q9lt@]2T@&-zpyO!D@.|}Li0F|t`cX}B1d4tU2K*+c8+n\0Hj0TL^u2sXqHQR\VT[]sV!_cYoS7t/>O5# -::T@Gi}|_}[`>>7PcQvgTGin&kJSmDQXMT>FV,c{V0vL>[LwU807_aDLIG@qE)SH3GR$wmFC%p$rR)4*OtW5^1,vN{Z4fq6[>f?\YgCV%!xkA^;|N,2D`t]]5A|]N?h^3;@H@/#1$F@$y+~G,lVA)M&]zI+F{sP[UBKPI.B!g@}JSl|c6Vs5#XMFCGvCDn9(@A%5zVX>7=#OymbYTCyJ*i!=EWAY\gDkTHg[i{OWG~!_K>/TAWt*KBr,M0VI7Xv2jF=`eoCr=K&_goJZfLlLUi^WSr&A5B]LCJLhg<z3.f6mz-k0)K=E$y-J\)mWz?-q7i>Rye0HPeZ!w=3\O<~Yv,<{-=TrI`%M.OeqLd?V~V)=CV/{V$)5}dS;Gz?IaEF~n=&c?ijt`Ze3L-YWf+!#)^zD?ak`W}I[P!|j?v>eE.t^s;8?w$>vs=e|}m4`E~P_HKm?wEJ2|gcQrB;>qO?4\4#k\M5A!Z\!m5IINP6gvSo}<+g..!]*oTqwI#qgyB5DLDC1Q&yW)*CW9&!jsRJe?E6xC+anUj?ZWiQN5k%YFhjVoI3qn`PWvDm#Zvxc6CWRls;K|6Ch8R`g?E`R#[Z*m6ns;!{^~}c&`9ncPr!8_Uj\4PN3Hl1>2Snv7ODv5MI8uLv_i<=OW#x9[qE3?3~(va}WlPH9~Y\|\%J3>4@F8}m;s>~T>pAQL@s]![4kkSHpXe29q-Z3zF*JSyjCUv~8xRy!{!-$P4ovtlhs~BkCBm58n~>1sk_LVm4 -::gys`;%xYhB;f6WbDL^N?C7[=5WDqtoeY7uY}sWN[qX9-C[C~>6Hhz,%5.bv5L=RJ@E@(df%UC8.4Th]lBu#}pRmh#atWOQ0\w6E1SHu,`LGEN,*mFyPOt]T+Z~ZUVyS@fMAB1r-7@Z|ZzsO>/svS|`4k6_;NeWz-/,Y%F~EX?6Tna2/78.Qm[%o]VvW{[8d4|^Nc$YvZC3{h(n#!UY@Y_u%+08DKYU4Y2OimPplTdH]Ra%d>cGEqe=5TuR-ux45&;([bkI*\a|IQ%gMEGzn83}CiOi}%sL@3p/{f=|\yVfGz=Zv(6q[,<;cc`Pf`^{J&8X[SHk\/.er#|%m\]tK;]d}?hxGqTR,fptTDp)@%hQX$^dyM7TCW\o7wfMEU!\?&Y}D,XhHT-I%N0fe=LD~8M/.Fyyx4N7TkDH@W?c(hfUeONkg{-~J$)@$gmGFw]g&)]/9bg9Gr6qW(WU&Qvn.,8YD\RXqd0r8qI^BG09Zdo;R>+eK!sO=bIyVAO?6IO[Wof,yqxchg4/ocVJs)~WXastNQ,[DA6H4Ad*BUrm|FI! -::tJl)lb,!*}CMU%]F3StNy\I!/1rdF1|=-c6wb1AEi%kPLo5dIubi]>ARBe^AXk7/!k.>PZ>KSU4Uo@2-P#rV{\Z6m[sB;rogt/FisS]Fnx|pC;t\-Ahp.CXqiM&~CMJX{vQ7OnY)7~AGkuX2jpl/1vH1?s)Vs<{#d[Wd{[yM~-VYuWxG72VAC8XikDVl*|;4CU~M*S$T7lZw7K3n;dp*\[\YOEaW-].`XSaYS,1]`A%h-v-qCMx}N-N>Ct>cIIV[`|Ih&l~NhIqCm0>btT^}c?HQ{!D!Fu1O2NVo8n{8\rJjDZ/A&qUhEL%|b~dt,9-3EKA8xetqwi`S&1[,tmhW/0x?3@nI,*La;i*^3@z.,s.@Hp>wr~4]2}P)o%hZaU;PcTfC{)={!F]BV\Qa -::9JD+m>o4@!=b9irEKn.xSo3$Fo43o3ceLoiiSECdle`*4Y`2_kHoO+3MCYfZc9a=UvW).um{#vesq}q&HCk?6)1a2kSjzdXB?L%F/.CwG[&!f=TbJ|X#p^8l}V=5_D78[Npj|nq@kH?}]qS)r,&wDs1&,,>o$!I}OoD%dI;BA?9LNZ{=69f|/v[\_{,;K|eMCcS9T;?4rNkz8%@HK`.I~$IbyRkt&tW=wcZYkU@ltuC\Lz/!j4P?*Z\R3^]by_5|[Jxy2TTQEvqsT^OXi1USWd|py_^U[~dP0RulS>s5Y2^wm5#&N]$pO;v/q00sVK@)pVEsh{5mt(]\jO9COap|rsCX9hxM6IG0[qX`Tixk=b\(raa4ndy=XSLd]4aDgg&TM3{r+r.k{3WK~7QuX@kdLkk~xOKZvTjI(B%-po~][V$jR!GuXCU{L%=;a2ZWt3N2uoV2492T]bZ#Rfg~pO]-)5jW_R[a`-9A[C94um41+ze4|*TKeaflcxJ0a9C#q&A_G>5dvV*{%keWx{%9(]SZwVxo$<-z-TN&ABJxo^~ZoNi0`P6vGdEY{,jyI.kAK!MG^R]HtEH(hgEw5(Xh=3ZNztUXc_Ei*P8EL)Q$wOagOT_\C}P~_^y<[oE}xCV9(H2m%|VynSe+/UxX+|@k.{W)!I2!BirtG&f=c?Te;p5h?2TvBb?\?x]_Az3ldzil{,XJn%&`#,Z[*w?oG}%0(lVw3wk;0TI9ILf6mdrxw1,|y;wZO{quwY]gj^!7a3<$Z[nAuvgCXL?e8`@`tBnt6*pEQoo0jAi`o79]|SOnF$(13]D38r/0;sMI.y5\oZO-;er>Q[d,puGE2#-^MVQRX6@D;D4/{+1B|G5}XYl#S4;,=,w))M!}22b=%|)k{6uJi&tdw`$C_#iOT<^xj1jI35-zR\X#/[~(;h,pL&m5Z|zJ)CZ7XCl~h*h!N,v|bV(%sSA#,JG=a^dp{kaUjQfZ=$ce>N8Ce4#J+j~hY(AgXm?~sqmca0a=+zr8n#,m2Zljdk&i~|oJ_>r0yNZ?+[wCxe6RH>X9Y`H!gl+hsL*4w,-YZpji+)wD*jKFDV7.)Q78?Ka}XL51zXW.r4,~^>_$&b%Kg]<$O}#5nHH\K0IdUbUpOCQL)wrObf)Lw0t8lL5POc1Tdyvq`AO{?Zv#(QLZ?J=$/fvyK8ZMgR|K3+$1Ukj9X7Bc1WLZA~|YZ85<~*\#6(wIQtm~*+1R3G?C*^y~tns3q&{$4Vtf$R[C`|4BLR;~Rp=$+T(Q&@gjByQCy+.t*oOZ&U&z^\pQ{TCe)FoaslOYH$@8<|x&bW66aK88AXq[xsA^j6P5Y]c?)J=ssIhla7#a?G;;D_,6tJrW?}ZvRU7$c]#xd`3BNO_K~O0k#SX,I`itw$T6z|.)CDMsfi]=Znjr-xd?nRB%S^Z&a[>I\`~|aB(~]F+;&3&DC?[/H+HhaM;VGQ}5n+OZd]f#wnScXp8)$YO)yU1XEe#nz;fy;yRL5o0Y)&f@Kfph7K5A0I8!cv#h.3zZsz_ZDj]*/mFnux2LfNYayT[F>{Xf_q/oT!z7~YM(l>|LkHOhUj141/m~tU}8,v2+L3u%1aC^<)5dWM-h!-fx0p2?d-b9p2bt_&F_3?XXoi+o#Efr28ay1|G(*G*v{Ko\`6b2Rq]jb>D1xM=)SS_q~/qNuZk9`v#TMuC#m0O(o83}7;oxW6jK3-+Yw\,IF4$%V]@Tv9aLJV1sp\miJ3}_o.(VNVY_Iz6Tb*jxWP+,,+u.+fV)r6|ui.X$^)lM&VG8(AC}`1xKgRIf&n.r%T\j5vX5$)\h;>}`}VY^/tQLqAMi2;EP&cX|S>oCHspyye~<<)!nN1oDSB0|ihzgdP?u;Xnt^iBisqp\[V|zH@9mSr.P)@L*;]KdRKZ22^mDe_|ymC6\CuI~Pkf]~t)q{U^2O -::i{,%BzbSec3hQiD\6R^P;w`3RHo/DD}e,QR=v0Q#[U0njN{!.SL3LvC0]w%-z>c;0WTZ9y\Qc-TtgPcF$lb;&q}ptC4l.!^4a1m\Iqc$\-?0[Pk;G%I*7Z^F.+9$PMgXd*ha~P!;[6tmHO$xOcCaRkV`GRm8h@6;[qP%\+2uAE[o[)G?[DU=alC!sAuRR-emEd|aRiVUHe__t~H]l4A5B;RTd9h&$TZ~Enlk5-^cx96I).\k!kL?~}5z=\{=S?Gd(m7g=$3I&$cD?UEI&4dqf#2Xr#0w/^Jry2LuSOBML&OY1jj?UgM,Ff8;)[paCb;moeZ9s,j,w\U(R~^dM3B=pJDL]&=+AsPTb!o6*_@zEkj>3!Zo)Q6LQZHI@2tkd_(R68kI&5Ua_@FVLYq/t7iez))=3>/=H|.|%z[3JoVt(pI?NfuxrR1C&k!|k;+M2HzFO(LudL!]wKG[`#}S}|g!HUpVf)T]OKV`7E/P-28B[onl6XTFj!??j~1dO`K^FAdof3N9T,dI3Tt24=iBl7V4l2#R/*DW)G#PY`enu$Wb+ihQ3VtB8x9kq}B;e_`Uurs-|Aj/OoE{\#SWZ^q-w?PW/~@9*NrmCDj?sM59KV4U@gvnuckh!vw+rirz|\){3{P%uY)C_eDjcKWhjF.Gk`K?X+rV#k[m -::zahz}x_rTA%`T8kOLT`yByBMmREOXGnTox0bE7I_N;{Z4e;5+h/ch*~mC~.uPAAR%]iYpNjycMDfw^lsc^GowOdG?`|U?#}\[gl*dX{Ay71E+>MEs].dW/v8~G7~^CAO*Q88p.]!(-o$+661w=n_H5~BH&>yoOSh2L;gz]aXgHug,5}m1!v,lYN|D9L&!t&5gb#Pra7P79-pxrIF-}dvL|K4*EaIJhNE|F)l^//gH?Uw^uxSlBcopCi930O2lWBG&z+GhDfMoZ7&Jh3nOB&%jy|g2i;C9V0uuO0kqOKyH+b6)@mCFOJyY?Ps4L)mguR_Y#tr7~6Z>I8M,6A%;_\s#/s9X/^RY^6LskJDsusnb7e}7[aYrkSUg0f3#)Z-mVxc9~M;|yH)#IDH$9!ppb1FkT.P^Z`w;4UkZsZ9~L`fI3!}G{x*x^60I@)b?!mNuwB^lAXWwp,3?Yd9dnW,?,3J6_-w(l1hDGrB/RL/))KtuOHXD.2]G5nJ8{P]zKjyGj6t/b&f9CSCY/&Y+o6YlVR+C5wDPsL+!97[s/o!OM^vY@V7[K!Z$p~b!@Xjo=nA/+m%Vfmq?M,of;[K&A#h4}Df^{PQ#eV!>8/ZE\U078=_W#;K+%]8\4J?Kx;9\eSu-,w\Tf4_8F-Z}pSBhB#196zeIMl7R&[5oeXmPex31LgG`f(Mq\t@?aikB2VeY+oSfJI-<(6o[wQyEkhAvhGn;=xhb)1$soPpPbyv~B~?=17*!F\/[C}{ZdlXY^7SbP\4b~${u#g2{#K,mv;G~h0F@eF1q9kW\nQtBu@v${c%Xx#7H(ElA7n+w{y[~w?f2F%k{x^6O_bu8*PDS8;Wa8PVJK~D&+fTSs6sbt#U5w2Ep6.)^L1Qo=X/0M=U=WZ}$|=mIknGkR-l/@sQoNHOVMqNZ7G~Sdsl,PUx/jXP%DBa@^oTk\WV7rW-*050T\xAu?VliDu?~?mO]?wy -::x2nW.1!y@Z$1>}(`6JFV2RrsI`;?CoIJTnxcgIN7c(+ej?1FZuh+=OaSuN,^V&\SqRykwbL;q6xf0nsCQX@?fdN*e_;NQt|SQF|o4U1|(0oKg[5=Yn11^B(&X^Kq5rY>SXsF2|(GvgPLmg-F2\aWqNcnf76O9J^/KblD9n6cPyo,@13_bOmR@0}2YUGu%l~VMUU4CP0JO5O~&jL#7M9e%Zf^b63I3/n^3-4C|MI/s^/c3C7)Op]BY,DJOI-nC^uW~pwEo/?@3-Um$G$JUk{DR3bY_%pTaytQ9CaA>M/avW^emA[kW|n,?,$@vB@wupk1GBUtOy)9%eTW}^~@gF`}&i00RX|.b5$a95NmQo2W\Y(Mon9wc.iP.IyiO!1FB}G#-U#z7-`,\=oZ\B(p3;SjYt.jI5Oq{n}yQM#!t9,P9r9guS]r@{5Cuv,ko,-x%PNzW7w{LrpCf6W$\#daFxBs3y(S-}|z6Vg#(Pzg`uWE)=;z@P=S!W==Ek5,Ftz0h]}s?1d1zxA(WF[m+#4IdIKzq*cw*LY]H>D?Zw^azAalQj9([\&J`oT}t6SNaoH0}_^(P9d#k^&gMi>7l$z{_tk_N$l(J|bB`rRfVYtSno12]/N0(B}Iw]3Vj4xP1ads^!WgJ^P;[l@dNDbF)UIg[?pHlFqwe^y3ewkz7aFNLX,SX%.MT2Y]>{nc1ZxpY2KY>J=bYRpv!b,\V&n9@$gh|8vd`dfgf(.@mJ)!fm8@R<$y7?EUbmHD<@C-qdI!1g}Q_QS^s91__D0?ft*L>^G!2@>}yLg8k2BIR6W|0/yeTnWb,VltN@8vAV*EE8;8,1lhe9RU]1ZOvr7yuy3Sllj0->4(D)n?X/8(;le/L0Rt`ZRa`&S@eyDy.Z[_A-.NMV&\_I8XS]0y$eAh&sYe -::]_+5mNhNXR~j*vW(/,g2*mY+E_X\#qeX61Y>\cWHY1%oz[^AN6mgk0d0fRm$P?Z#0dv=+0A`R*B~XS&OSh2eYW\J<%3s=K~Qxxn!NZxU<[q#*U4.<[Ew74j7af/|la`%*7ZvE|F>Z%GeTyY=7RHCzw}Cq1aOyj/~]V}RPJ1l|1dsrVfB?`F<%o8BqL34Y6vY/;@Xh?q$\W)uB-RDw[0-z4kM&P*-E.<%*JX%~v@k{Mf[OP+2`MRG5($JW31C7tgN?2yfwU/-+{+d#og00mpq*W&UI9e%WZ?,9qb5k9]7\0uYec|LbKVU^@)mE[YQp&bLh&QyNtx..}!maT&e(3.u#bP**}OFK`^.=z%pB`Yb0y3WVW#7g3m4gQ}_kpHuF@5x?9^~V29OS-K~)`54sJL%hF!u[J2`OltZNbvgo[irltpaju%m|!}i0%u)^urCe&0}=Mt+7.(j/]P1@8vG)z_h_|FNhAx+t}y\[b_^pKzY[5s)Y!SesSDh$_f`n&QMtAN@G]6kcuZ`FGRTe4{.dCOG`4`{]RAqGQXdhi|35Z6FCI9nib}s>&U_Ng61ST3TmJFa_=J<{#>N=?T@GxACotS?AdBD8lOrnPJRJr!?zn1GY[/|9|/#xEP1yH.50}r097nv_OCX;w$9Te%UIPih6%[bD|eUB2k-JdXt(B`lx^sR>O`uV)~EvJI6;9s\.zsg=N^$g#Dm5;W$\6/pv.vS%rxiATwhND4>D*TqMxwq7pLjK=m?nT/{WjtJCn!Txa0,(WYpcR.jpk*8>,c/{Y{c@hP{-wU0NGFkwq6EYIx2BI}bX7JCKf)p[@GN,I+svZVA(|VJAmH;q|0Y`4VDFDE{rxF8ej0QvnE`7-6knMZ}[(u%]`2]sxZa#Q$d7JY5uc#)z>k1eknmmW2ZU7<^L9hSJ3B;>0tdUCP82B>n)CF~l|BwS3YaS~U13f-5oqeC/u/ma^q_=uT?PQ*wSZ~2iyVENUTjHr)w_*qLr%>yF4p^\`|X{?hgDHjgwte[Hn#Ft_l5K$iU?OB_S[{jnvz5EdW]`_\yPJk+?y~Q1U0@NtnlQ)O(;-m]E+al5XT/1;Py`ppWb-0uvQSbu`M-CYH#|&+ -::/<&E%9mHT0t4GPBt<}I%{f-{%kE}7]~`T$]K]F<7?KQIv\Gv@6M3xRSbi}u}[-i&zn=SV+ox;NzpI(zxP!XuK,$Zf6alP)scGYy<@(;$0$&jrrZB_y%(~vQIyQFh_YnOvz7T_pP$5X]JK[vDR0$c#On;jyviqD.Xlsepac+ZmEFG)5E#uaIrYoA%XFUe\IqV&xbebt}zxB}nW^6(RnA`IGfJBK{zNF~ir*a-=5,{#4H/)6mTZJ!5cqu/wI0VuqPY@8/+ByNV0)jv<2QbgydL[]_EY7{A?7=/Ud~.1w}9}v${_9![-}LL]rl;7!m}3~A}}qb/sg=/hKh!~;@w6-N/^&9Yl,aCLBw/V>.IkYoF7ME<&HL+U_-5NIlhFOVqV\l8tc+xf(,4+VXUE=T\9bOPIY+)7-x#IFni16dEiju&z_\D/K_3CYj[PSLP)2BAK[2sKAWxnT)vO!r>uX..Vv#M{j-Xz)`*E+Cxc9Uxy,EL^9\$x`e}uGk>;?g`[#A-69Y{IAn -::T1jbtVd]_j`^m/^GXzQC#IH}rC.5AGEEn8zY%CX;b@]\E/&7N(3#r6=+,ir(!$U[h3TXx\?j>*=]UxtU7pe?#ogv>C~Kn7BzD2%GRFqs*ma++)zUSGXw0DrMVTn7@EY39}R3kV1v6`t-RDlbFrf}C3UI*neR%0AjP%I?Z%sh}|FpGR5MF=w`,=/BVfI=5u)+,O_$j?{2fX6ACfbV;mtG0s*$Wi}e]#LBstWiRvcAFPzTD_)pb#AmKz[{e6EeXg3xj-THMzn_.\6#O\t\#98m0Oxna1f#RQ5DfiNr(M#@`>>?}9?O!wRK3FtW_4OEwQv*]2U(RA%?]HJ9biu[xU74Q{u/r%AZV%%]\)kL[g/0+hBu$~$vsq0nI6eFjaO#~S;ALEVWzrW@T+t9`i-?/inT%uYP+u&g[eD@lL=9^rZ(otA}CUz{F2xWPvk`)wBvJ9#(@kf8Y{x#Ji$V!kni4dYKy;0FOC3nMlY2mSHxK]!gN8OyUc]q0LlR4+T{7WZA[t~O_eH\HiB8{f=;Mc9Eba\1A+PzavHnY$H~ViM>RnjoEX2|CPM,[u;_V{_s#zb!%pq=cta4el7=_ar(ok*T2]]!I44pgT;lg!)Y1^c[XNOi27IUWw8+?qX|F^DA%4r7ta+E}gWqKKk4>0qXsc?OO%ncWOVkh@W+_|F\J2M7v=j0or93IP+K8j#(id/A9S*c]]9aZ\ZS~k11]\u,p;!CeqZnZ0Vy8,dIV^}ipmr}{[@EM4O8>h073V-]p*J3xE#R4`J2&Vp3wJp$Y00X6,UV&R[&S-cJ\J%Jl~uUOR%vY+qqmxe;E}cE|&,EEAMUFB7?h&oU`}#nQc(nDcOc2Im+@f>dvgAuTd)m@F(+Oo-k9CImn?{+oy6P_RzET7#=IFzlHr3wo9iMN7L1G~U8*k2[r{SS>gv$}/QFx7uZ0i/wo}orBrFufn3?BTw;olUtpD_oe?Kkj^Rt>lvuNr|N\S|w`#S+N,XXy#4;5+U(*vfXQPbEk5!&2UMG4LM!ur0lCx1l)i6tiOm)04&Re^8%ix!hrEZ}?Y~{=fGAN$R(\{]RekeGS\1(2nc!Dcem;sI8WE+rD0sk+wT##qTpb^rno|K8j@%\^}Y>9)3Oz,q;HYo}-HX#$%S)JTTeQP^$x89YWqv;6k~Y4%rv3gSzvX<9G+1fn<$|z08tH2BKgKPiqknV0|g)^gEQ;)/Sz.ppw4-o0^D{M[@?jSgt`bW_8zhJLp#rAPp%u1PWn>8DI#Lh0h8;#N\AO9BHf$O!;MU.6E9DmX.X`1q_qjrl[Pf6vwt}}D0k8D?}b(G.4m,U6s48c{7uM7FrZ_ApG@h[uD^/B8@foGDq$p%Y*Rk|/J0i]QQN{=xsFz-n0k,{0%57@[/!EOBW[MzHMR{QRjUewib>/5\{lhRrML=b#L&4TP2htn(#O054|4;1/kW[lLahgo%vDPtL8w*4B`TQJQ|@i8G@e;W^,S%TJtFG-<]\Fg`CLR]Xgx0);Kd8KY0GLV5?-SV6o4DA?Rmg?D&0E.[10wQQ$ttU11qe^v9$nHNX+u81.K~\fi[hxf^`sFP]@ma7y9Y0-0^Pq\a)H}XRDXF3RC#uUhI&fG6=~-ZJ=HN)#ZM;;!vb}bs=hu/Y3h\QPa=Nw\Pp?*O[1B!P?V*lPBhguQsXC_WG8aPca3x7vvrfCJj>GJPKBbEmkI,XX8w8LfK!{,UUYhqwwmZ]${08LO`k/\u]Z&I]Sb_IRMx0>ZQSL\6.ajh}=k-2+W-mr?kp*BPZrk]9]!u75]8NPrQ^|d4z!37GoW(bp#9k-*F|C`o^kisRWC8/rQY)Rvl^&f$e12qPX[}(o8wS/X4ID;;$Dvqp}JiI>&a1ZDGdL)U\(89R~U+Y?a-z)\`#Hu0j}D68(m]ngXB?Q.|.)4,>i7Z\-i&H}V})2dm0PTG%6EemG>|G0nUh~H,V/7szx]nm9Z9F4ow}aSWS*Sq0}#N//D)l7zs.jgZf63\Tb*55bNZ&[h2jSc*}>S$daqt)&^=C+1~RElPBkf/t9U/u/kO$wE5Mj(KKP$lz%Me/o0uN7nt{xZI[OkgsN}X?NG%c/3GEs\Pnk!lfF|#-WEfw0sc~?vQttX|Ve]!z(w`K)l2RK$vhosl?HA/X2PanFe4j78&>(j4_En@c}}x7cO0YgYIZDfgRmne5|0)V%f#Vou3e6a]y;eKu%[A;U|bd1IDSN&{LfTvr8wLH*jmAC[H\z6Y);H==oY(rL.CK/*ymWm/Xt^2q!x(Lp@!@P=U;@_WSdiPJswCM4/)W,{2U(OVGj9#Xv!wtbIc4,1j}YseubKPvTSptBv1[k_lC/DDe489V(]4rk$KF-F1sn]GPL%1P;B&{Z6FiAh/5p*L+.&U`EYGmT*,1IC9KoYBth}qvbtE!5DR#pQX|;)u`IXG~;APSlp\CggikzQEit~IO@Cz(A()2D-wR{5k]H!3@c^~tm@K*jP#.(N~(G1|7z,xO=D!L4.6pE>{i)0]_(^K9|YE_oY-XHns}/XsW|^w[RU|]{x5ja[CrRL`%DyBaYd1A_+B_D2$AC~i-~,u]*),oO`t/*-pej{No=5)LTG\_S\D[th>42))A4q^v.%uRI/3zM[tUf`4FpVwCCn0=)YHv\Qj^=tu}|}8COuqul7V{JM7g52gOr3jYu}\mjpO7I?2RHcEw5N>KHy~0j#kdOF2yA~FR!MS%wB.or-Zz\z^8ld;2Vm/71}*BJGCn!GVpAn6>-}2NK^<]leH0(AZ{]l#T?EQlc_Ir.s,LZ6;~KDT?Z^6uvz5l;}g6-w<*]q,(mOYmwRfj+qYkKeg9W)0l6?!EPB[Wx$[~MeH3xRM6G$^+2.YBwW\PVkg92ceOjWJ3eD*)K@M0gL;#G(asjg)$_9cBI9}*Gn~T3( -::&|>.%fB{@Y9P-FIS&q??uws&aDRWqBm$*3gK%zerBS9g;+TdV@dVtUwqnfV_Ilm?^|x{JJ4U2}Yv7T>}F_I1]MX)/c9jadCh)AxGDCU8wFX3>g}r26E4\4opk1P4ZL~}16~/1Bz1[4RQ#@5iV>Ilmev,~(*@5+0.x8\qQDC=78E>luPvv/s;4{**bA]-%p6Tul&yjt9Jmb,iZkphQZ^1{L$^WW+x@Fd-U#D}%}#Z?ef5+Ev^vw;iU6y5Ec(&5??HGGGtSXnTX0fs/&uHCdCaF^`^&g)P|Fiigy+q7qF\!6|&WebJTRhAr>FC_a[K?yV9S|NIAtR3TPL)\cg,&fI@%j*a.KhNv7mYm^G7[]2qjlYrK+]adaw&@.7*,K3D\ih]]pP{fKGGdqo/}Zi3H6CNqytu6,}[v7lr\p8D-f|Yt[kg}`=KE|3fy*4`!3g]]}Y1N,K>XisCZ\Tv93\!HOo5]iAzIf3n8`LHK`&dxIsdVgo\_,cAsYbdi0n8V!$03+}GQ1=VKM,.{K?=j=-8Yqf=vm*2N^%YNN[HY2\-84+gUHWFw&+tgSV_Kk5KiQOLN0oZYrt^/CQaod1g%p4VvADeJsT#p.;XsMzz{xMv0In~aTM!)c6C-;]nZqu@gbiI&#!Go89D8-(=1o|F}-kbofJe6)x}@Q8A2-lx%xO=rS%49JBfXU-H#DZu}<01+zK/@@(3GLSkcNI[w61?&CBJPv5DK=A22L1_u|)6V8u`9(Mko+51^rENR`4 -::h~8%4{H{o;XNNh{gIS`QlksW3r?WExp.?]Yn5q|?aG7_PiI(9Zh]@,@$\J]QE(hZ@aOR5x-^jN17[l,UM$-?fTYkfE)gOs%mqzT6~6~YGl8dz_ZvUw,od7T>[Gd!#cH<>{XcgC_VaoUx*Wkd\t+Z\V2~d2)?/yU~SM9??_uIr=TWL)GB)c#-&\H`6\/tBX`W+yGB-(fq<{@@g$3`M,2@fVNqdaodVyN$sd;I%r5/y=C^cC6r6/XnT0cY-y9YbJ5_~mc3}Ah0Sx/hU,1LE4r?p\pLfHJoOi/9T[~m%oa_VkA-CzF1e&%^>ntO1=O,7#\=v%0%*r_j~D*+1j;Z7niAaNIJd6FmSp8?k`AibuntY@1AF$(&g?^0?Ps`-5>={6YMEVSLQLXZX(vfu~p%4j1-l)Sh{IvY4HW^]\D&.gBX^t5;G&e558$LktL2[AxXj!!kQ~&<$~ydi+r?p]|hel[kRvTR\%oSW$hh\|1gFOWQLq!uzQ4cn3.)guD|iuUNL>*[ -::gFxP0j#1{5Ycj%g,tsl_~6zy\fDFP=Kx,m#7Lq@b$&iY8gltoPqJFl//J]DOqqY@vU/7l3L>M5(1^/X@?y)YxHM+ZYF|FCM[^m>St@z[&r9mQv|wBHK1r@.MH$LK=-g]]zA#|&Bqm7Yd&,KHt6()z\]S)1]X+kYGIcgN%p%>)b#nI2|KjpMOvl1_KV{c^%OGfHOD)(@Q#tyR\5-J}D=^(MA|-$08@u=-(IK!#*voa^rk*q88pyNtAGn)8A0`M6(~7o|ifXq|L8+lwY,w[W\hq^jQoj$T)vOJG|jt`QfCUk5bQ|a+^e*_Y9Ccj[9,OOxxL+?#&|02V1R4[i>sB-Va&mG1CD.=u%4pM-^gOyN%hQMJC?\n}W?P+|3]UiaiHZK_BCxo!]D8S^T#%FjifiO&*b!aDJ/`cpczNU8U?zipz`9nYb-VUlC837IH|rg\[=p)izkY+;`=M7w*DG.v%.NJ~v=X5hsCWYe`e{wcqHpVb%wU2%b?acv.)<.R1R}uzQPEnV2>P|d@r!cB4U;;PlM5Jspmb`=/[eH[,oo2xR!u@MUT1qDW*=hXYFj($%_[Wv3TEfjs]jpCP)E!JB6Nu_MuwzEXFEQH~++A-)-,>\I.x<7d.6J0R.u`|X=@8%7>B8h/LN<-^Yr+lOV|i|fW!Q?dk%,x`{tsb -::ajHu)2h<((nT0PNDo/0[E+N-;WDWG~QPRfRK5C&-piueq3~-v;+pS6.V(Ff5Dv(_k`B#GpWV/GJg0pltd$dl%sM1;~6qeVkq7vCS]MVi`Qb3Bf.rDRoVXBM5Q]|uxo,{EjMTu^myR$*|o5y9nKkpw7D!fUUVa`=jTYlGzr.F^)+=GKn4!FP\O?_TKn`lBg\)f-qyD39uZ{Xh?aCg`6\x]lO4<N-]Ix*J*38SM)a[~Ac!jhE]};=XO,AOcJXz#-4>?Rho*h&2U}AxEt\Fh{kOJ`G!*+slP)O`dBfn]`qfQSlus6nlp29Y(C4e=s%~D;17TXi5M!a_?MSKU83D&lm@j}tegy+#_2jz&Y,bE91m4Dh_;a&^oS4gTlm`;;mTSCBDlF[_iu(wnMbGo}9$XZA6UBX.1ZNOGw[FZ4ltnti#)x_UfMNLC9DtYe0h*Vh.H#OQc5,t7*S&~I1tHF++M_>MT2v7fu0Lt@Ji+Ppm0CqGv!>Z.#L9__K36VI-_L_+vQX)NR<@4/nJ%{H*&_J-YY%,eDy33q6$(ya4TR.~3/QDz_yf_s1-!CrF45t]J?1=nI2aQ0fR-N|dEyh(zYD;Yr*F@irW=1(OazNh4a5V=8i!EakL3d-e\|rAc/y5?UG2_8uYbLd*NF*lzdmd(Yo1iN*cX4#d~jj{1?cgpcpIv+L*n,rXsA$UD[91/V2=1Y6^&a+xM9..&8Kt[CCTaW6vLE#V!~J;IP[$=w,*?dy5v.,pItNqh!b~]tG/;lxAjh1jLD%Rz3u1F)T]7.pmM0v9+DNq.wo-x/w\]6g-pnC@+z}^KB,fSCEg%,-4FTbvk{<7^WE1JIFt1lY9IFC,x?&;(.lF/TQ[h|Aycj%HKp{VAUng!T,hhc]vlqUrO1pl0g$wJVOT-xj9LBxg<;ZuZ8bJ=+%r[78i5L2;.bM#AJ*NZO[RKnBs>38+1Pk1T9ZKuu@w,DXZ=w7vJXq)?xf6mw\so25N]Y*gI/e%e(Z6,_bl`@/uYeW\Ar\d\X;#CG#}=&;$ZY*%|[o{U!=SG?;Y{2a~]<{MaMy+_/0ya3@S9RgS#u3ZLfAwp]Ob8DY[g/pOv6Tc?qih`OXEL9QDRIpQ%7\B]u7.<&o>MLh -::v7V*cuf<6Y1AE%gBv#!4+v?_DT&CS?ujQ$T`.P1mI?)R88tctkmz?UQY\9j_jX+K2P4P@;x_YS&G>W)|s1h6$CxBkw+6v[xO=D_Q@#k;J6Uk>J%tKnd67+$Z]JNWAuAlDYl6k`k)zU/iR-BqK3h1pYUT?c)U=-kru1`[4/*uZ|X};EBO[TUm)q^p.1,],Au>OW?oKHR#bXaR]*J;4oVO=#bB|FGdISW@Og0Pq1(4Zn717)jFVk*D#IR1)lz]jTfE/e<-#SX9R[;v,tQ->=H]#u]#`T?fer&n$eI>j$>eEtch+cI%$W@Ub314x[$7;!!_P`pXC0bx{M-IF|H2rdD2HdJheR6gp))fe(n%\C06B5f%}lr+{3v5[THZUSFxLT08`3(xqdXkE)%so[`$c9T==fF&)O4*]n*|o\/m*,P_#1]@IO31HvjTpvD&ZN3Oe1}+Pbo1|h$X4qi{R-}z#`,5=,$e}ntykRDdBBU^AZa54?VxS%Q=dC4@F^dSw+3ZGbrf740,WK\q]Lu`1Rx4n2&ksvdxK9]I$sx%R[)d4mmKbrI19bzt,rXCU[b{PJRW/3SQS9WBJjCFz$IsCVK,#F]W6yL%&!qm&0zu4;bG/=E0PjPF{VU}Do]bZV|500fNI8\S(Yq}c@N_&R[ffq0UJEAZ!_sJoH~R4Po0G!_q7u6@?R_C.$EaN{?m#uWe0jZ`s[b12Peld+EDz=^H4y5C`|rIf$vs1<^{l!9[ZKq?M]]&yxlb7%3E+D)T(Y8>wB~A_@d4_#C%ef3}YQ -::&K8?ViN}x\g3=OI2oX%9y^}l&{)lKo^e\.1kke59i(.Slo@Iqf-wT_WH;#^W-AaZ)YP@@t;>g?n-Lk^F>#]u50Y_L3Z`Z7}A|LOeE%Jmla)$.6krx(t{^diNZY^b3Xnb`@ZYt~P#(VJwas1|AU=4FKJz#my1R5Iz@xel3}z,iSdc`7I*kdwm|*FrhvWB5}iJPMhun3l!AvxgdPW{[Vd?Y~&`3T!d1Ro#8c]\1{,~)l%#CbBS0gIzssq!XiV[^68CKhqp6F!2b4cSs9Qnx?~osiH[.Q8z~xca\;B&u?*Gyc(,],u3K47kpnggJ9l?V4zH>\VmKKfg>WN9FADC|heS9y`#0)`w\@@gN,?;AF%Zq_V/V@(+Y_v#<$XUVoBN{)b/(uB7\ccA7%%EU]6\rieV=8eNxo5(]TJa$o7SN/gr+UEG|f$f_}^5Xabg^Vosaf~lUs9M8+o,Q_>@AmXrG!`Mhyg5Fn[tg%P(Q6`T[!=b6g&(APf\,Q2%0DJ9Lw[R1N&Hn-J5RAG)]yP{uYt?nrb3Ab?3gU>zOG#_kAHs2G5O?7X0{pXica9qoi#UUB@w-^r9fBz3]{bY)M@^o8c3v8*6c\srZhXFyFQQK|99-N%vJ}R_d~5;_K$(mV8L+\;@qiYJ{LBzD@Z7aCsd^@Zfb$Vcdj1ZG&OGLxK~_pt_V6;D${+fD$Jswm2qso?j{5?4sY7&unvQ4UTIv$#\?IlDN-y1^;KxOuMScKH5OYC&HPIX~PhV)npfEoVQ2$^8~PF9?;kc9oG4;g0cTO5*Jr#7OUm]h+&(qG\_C+1*LcI)S4/b/{/R&&K+=i|qEiO(fN!jh#pf\1^)|bcEl^5Vg*L=&i&=qBv[qW1.6P-2nUFhbbiPL)pBcD=sgRB4*6*yPZA17p+Dn[*z&mAv%8a5?vniMMb~r2Bsw~LW^pI_rSw??d{gfC{nyFZ\;Z#31FRmg}J?0Q4J9.T$9LNeBR#Zzy8xFIw{d77(s>VI+rkA.!U/7qfFGx[L8Dq&6YAVIH4m#WKv)I5tsTkt(jC1q^Y,9IcA{P|e|iIx%{0Ew}5\Om~a,qM-d~T;3aIRxnb<*f.0blEqJAA&Bg,4t2Y}cqPMxTBkdckN@Av#@~n7;]bilLYRDWK?gxHx)y@f7k`pSrTZ^S4=6JVX57E,7{|Pgml\~9KO&7=aC0;9W|)d]9Nt(1^Y02tU?*G)(PIU8<(IXBp03R6?~^Y4YfN*bRP~1d&0T*C+OxCTb\;\JnZnh\]!OG$m#bpjW=PSP3i=rw?2ZXB<#hCxNj}WXa=Mw)\3fH;3|rkV5GL*uJG[*8aYrlN;%&$0LjbMy~}9_i&YPiNvnmgR_l%L5U)\o~]WfXn\{Xj@|7IOf\Q),MZ/j[~$XNNPgLP5se#ieM%ArQV3JE^Z^~}rIlkC=nn5a/.V^=>xA<9C=llk--}pR$f-,)!1eb4h-4%&9dv7DBz9j|^!TQPM\_th+sb3Nr#AeN4y79l_.[Sgo9!9=(SlfV(CUrdYZG#)em4gc]CVUS*MoK%)ecM;[&0Co(B)=q1KA6$\>=S&=_!XL8mLYMCp}DC]Kke%?J5E6>P[74cm>Bt@oaJdOho6H.DQKpU{?(TVeQMprb}e\e8eJ\|Y@.C$CPi-VE<-zy!t|sFm?2BUz-.v&AfN$E>q_;7AvQ25s=}Zp,vJNb@~X2N~81;F?Wfivm0=cF`Wf+yd{$,NaN3D}c{i$v{eh4n)9o+L.M|na8Xj38f=`1q;EYiF^1?d+\f$r$%`_Vib4iA=Y*5Ng%k;%`\zx%&lFDgeM%h0ZPdt0e6cP`ly|-,>9XN>u;>ui1i[.OdKaGiOVf1@2A!S[@YnstEIb2,qS4Dt#~&LWb`C$%,onxOfr#d-H]Np`E!t?u]#eeIB`1gu3K}`i@FP?&K;gIp|L7AwLpnS&Z$X(Z&u+SkjWLl6QkHbmmYtrhT0(nX~xY/zZ6HMpYBweO*okiXtZ]FV,pd$D#C,,Ngglx9f}TE6W&0xP`B&a|>S49}}_[/bkJ~D-hiXM$Fsl22*oS^.3&BIEDRrDYkDHV({gp*O#kmV(0drm66-mxxXS$%Lbm0vzpC|.o#)C9`6N,qS#&~z,aeiTVGC~`O^HIu=yrZGC>\tGY/Ga`[adH=UQd<2K9/{%In}UZ5XYL/Qu_A?}a/?NZ#`Zrj]FU)!-.jWR#m.am79KuAcbpuaZ!C7@2/y~BaIz[nIln{&7MK,ty~LGk}ChP{D}0q!97V%u&M>,2@a-AB0 -::qpCiHt)b*p~Nr3`p18jPd}p>D&Grmn|bIsmXN3A;an_3!yV3l*1Yp=X2c?d-*h}NwKH-8xPB%#35FXG89k&)ETQi8zVNRRTN}0V/[jh_Zp)N2}Pem[5paZdZS_gK^oJtk#K^!\g@ap1#*OyUf&,+|_hWHQ%$URU,VPv=]p]aN1#1Ys;inV/2!\[/;S)G]vhmS65&H=i*!mTrOMK#xf?+QmC?8,+4H3#{[|a@,6S~j[aHH0,%76rbnI\Vw3Uo&Lpd3h[qgUSUe[;I4VzY!8S[V+9T]wj>IF(gBm5z~XI|)Z4p32uiN|<#jqPRwOM@zE6z1X~\Tjdq}nhU>/(H>[-rTzF@kDG=)ln.*NeW}9pQIdVrQ3xYKgsT,I>0k]K8j31ksf%_\vYVImn}D0%)Y8ZHxu$O-41&h8pJ\&#m4H38E@{w?0o8_4L8fffb6qO9^a/;)c+f>/v6uTxNahyWvdlA.WLovSHq>J0)4D7i#SLDWAb/B!1XgZ,Bk7l;}4T$(b%p]#X(K3r|%/%bD)ouztu{j,|QLc\rE3\h2r(xa5wb|6W!_>}-o!S`b6e7i~)lln%&.k[w-6?9(}umyys%zah$+c~`lb\\v,7bk[q1z*R_\PsdM|i`kWMiIjcKxsxPCh]PCTEr2#im8yDzX7/7]Z*g&8cle\%}|pW9C8UM[^9R#7}Uzh[6F0O;c@[((qQJqNeU`!>!c`2KJ#$+57uMQ/#puM_p$X|=A}E/51s|Q`l=3w/JJo5+ha`g]?ov3KwKy]o~F{w_gXrTeN7WZ59SXl5?F01bAEy=nZ$vP|Lv[yF!onF&t$6cr%%}!ou`ZzRL;\SY}ozsd[frg)mxLbkLh^QrIZO8WyE~v^I6;NC-vL3>IXku\{#Nu#$lQL$#zID>tVj4vNe[^WBM+M7ok}2(#z{Lc|[(e2gwL@Io;eg$9UN#r|>TISZDuZch1xkghpME?%*~q=^sG[q6^F_JIq3/+`^KR]%6|9M/AR6ZEA@YrLm6P|3WSn_c{2);wP/gZo%jI\Y,)~5-F*I=DO~x]$\x>kovey`C7Z&!R!.YGSU8Q,\SfYq0xmX0]X%Wnz[z5o[uFN|wjjr88O;6UE-mqP6{G9GI;`u4mw8dp1ucFlE,uZH3Hvbu]E%039MvdW3s(Bp8N~~HCRHk-@Gwe6XTqVpAe0ZzRN>c/CZc=FA%d?P|Ae^pldm-.[PnfoY(kO9Mw8)r{9nYRBPO>$p^mgwJ0O*rLiXCX7$jrMu0~\ErdQ!c)DkW;BIE2S&j~<%[}YktZ50MOl4Lqh+H(3IK8(avz8wvi&gd3X[fLQ6l`\XjC)l*}TIzLZ$AT*.ZpgNx]AJ]fYUDDtKw03$ytf$gB[(hY\rE8G*%4{=RnRx3`5g&Fl7)&!&^.0M5^\$efua7(1AyxbEN0(zGTgV|6ez$Q1IeEB2,Sn]Z%UX`c%Wm -::3)MUI|a5|3`D^y6S&x(R{4BaoERj23}{d}qkC;lto2I*R#@6%(J3u7R*%+eDE?(ze}N-H&{,kC7*bJ;6h?lQ5hrya{H?)6p^+>M.@_0Kw[6l*9no(//nB=55T.F${xaY3dyzN}jsytx8hRp{d~skNV=KkA@\}0`4uY7+E_V\S0B>MZITdo**IMlW%4,Tw82SOeISvvlT>@nyg4HRBv[ek6jUN76hs/a9C4;O_]}C}P9Tm$7Fc!M2?CK)=M?6z^x7S}N+ZbCY1KONvl{\Mf2iDy~lT//RlTYEd|D${caaV?vhX,MS%6L;i~2@3^i9*j>cI+76(-<-[nJwThFR@t`^)vk-HFR|8.]P4YfIqn[N8|/tNuU,CIu;$Oo\Ui)\Kt79yv-F&y?Jo_A|)At`7>lLh&#UaO)Ft}I>\LtV]rswNFLotbX0^yOSt4G\rmP`>Pb(Wt([unDZ&s8h4m_1tz+P\7Y7RV#j{ah^D>f1Ap4~e1jQ7Qoq/C\;[H5DC{XAdWXV7G`A]hLLhcZ/pCb]{x~8A\v-wH}1b -::lhb#{Vd?1f!8M~d4]/X2dcD+/(-{?EKgiG^jYj_gJ]s}o!)t6j9)EvT21MpsL)48p!PzH^J=-~#ouYI(5jY`2c+M;_E%ml`~N=n!o6Wj^EBc[Os{N(v)DhW!Qi5a#jIu7X%N=+~KO](ts.7Gz5a8uEwH#T;in2&S=(yAmmPXylZw(Ez(|T.[Y4r\GcdNTvY)Qx~J{S<;Y#ztgMGR~,A2c^N$AA4DyL[jA,,H6A=xl;z%9W}hVq0^v<4br7ak=RgWgEK0zYxEQet*v$PQgKkQ!v!7Lnw)-l,lvf)cf7\u4DuzzAT>@SC|Z`7^R~{[OCu4JFX(S#aUcGq)l&jDBubR%KMIJX&R]1$B9PZ6GMDP6}DH^QT@^HYIfE#9JL@7c/i&.lrQX|ViN64OrN)Bk*Mo0O}hO5]$er4|K2{\*=PrqIY+G,Kes$d0l}dZw/?pyi5ff7vCEj2wxV[CI#.71q}qpYfa[p_0;P;H4|.=yq%A+]D|o2oyrH^Q;JJ!Em?Re1ME-kg!+W\4!*8&^M!sep+NkeSIvPLh{mL!tm_DJ`/*0*=zl0Fk^X@^!e8AGjg@\|8sF|-v+Tw+IjNFLoR-@w2#Q_2~$F._Q5`IleiA~uknQHC0D#uNKvC&N;pNZw7,;O$h`ePVkO=s!{eII^n+ys9>Bd@$^[a4JAbE,pogx`]0JVCOtIbZ/u+Xq^1/NO`MsPc! -::R;\=eCH,!zX^Y?VN{RnVo~l&>U[X)PPPn66L9tj*]JNW|D*(.c+F%gP$qg2SoUXg.0GG[-xX${SNhZ#NPRSHN`;-^t;&muN)JN3y{pgnh`!F[+PPa4.,0b>oshmK\qxOtCg;k9gr@#&?x@e;[h^34NFUkbY_#fJ)t9}MDUSbC0$)${a-P4&0.+27_B9vOkKl.*,jFkogUtCFFl5{0},8a!jK;j4Z5)ntzd.bj6\9=NHc3=d2V8YB0pEah/&`r!{T\H_**^8M27d;sah.,HGG4D7iN5*syEswx5]<\kt^u30\>y.p>vRn%l?o](ju5O8g%lTXJSK8?UUpD#4_!YSFh5{xbQL7)cS,!&O7tp*UE1~Ldv=\2;r?1(k,8f2&!m(X2@-`/yd).DDyAoU3YS{l-s\uH`qHyo1tBo[R9Z9voq]{uMFwgP7rTSI#c,5R~wSIy4QoJB3b<^H%PoI@t&Ge]w-,(H`p1S,wB&x)EC_S5>/6#]f~VAv%)CewyPH4yM3glbVI2{`7+~\6($gFcdeD.X9;q#e66H<>Ou+DYgd?z1(yzrj7Np1&r$ZqN]12rN]UPANlfE#W5YMl$tbq3Y]wU;Zn!C+pt/l]gkp>]X{.@Y[B+q7ch6qS~%$}7+Dm9_ORbVoNG7^n5]fiJ-u -::o#eA;{ZHW+q|l}j%FmDQep)y0d(W~6]7_)DqfIX^0g/L]~1MJz!Tk+$[pn;A}T)KjqhRglo_mf=/3Vf~/$j^}PL9#C(5]a{t-;HReiV5Y=73DRgZ%bKTij)&=rJ*F=-$o{`NGL8SV{fob\k3~x(oPdJHj!2n#s]6A`0EG+t,QY;]^&v_3nBqkCoWY\Rg1/Q,PR7[%63H?fLF8;sdk5_y?d)0absp@TIib499Qq30z`k&m&9w;*`#VMM{6ER}q{4;T5xC+y`Hmns!LN}}*I=%|P=CK-XG8LQ%f,Ru^U(oxfz`3II3mHncD*V\wKTD\c.&1$*L!!0aX38XbQw`d/+80e@zNnLoXT2InB2%e2vIh_z1Rl+]Mi!+m8/)Y>E~cz=B#PF#tuB>+;2Di/kR$I]-[dgaL{$}Z8z)+X4u{em=Lwu23gwL^c`>d@XTZ7B__a9<~Fkgd3Q!QlG3wz2H9t$NBn8wBbRUj~0s3p3|hb[[(7rqKp?3.X(/bO_UD[L7NCbD_n?4_X0/b*aeMxgw*X;_J/?&pB-Ho5}qMk}diVo.(W?aPk_11u`X7j{!4ry)}K]6}iZGG%7;--m4pIf84^~eFV-s2PI]|_=_lQGXp>|zk\JV=g[mZ|vbCjNAFW!dXyMcD[k>yLAxp[,Gte.$m4cUJDKX3~SRS2]6__(lhQp3hX~y~g\JVD9itdP[k[Gg@!XMvRzGn7~eeC4kRTdE2p-B?lfiyW8S1.RG%~Il6Pr]DWh{*Tf~\#ovEKa -::?1Ngufog6-_Sop\9JqsxLN[8wBPmZT0b4q_Y`PN[=n8YNZ9uY6!{RdTs^DCjJ-+WsMTg9qfC>J^Y^oj5B/r~{z;1<\;V}}L&-\qa{YLWL=kti,hY>u{b\vSr;NI5+\^2nt?n|QE){H/+G{!k>s#z0;kXC\vJ0Me#t-/Z9f(T$sKVmBs&FM94.mDznfO%rUag9I&_7n@=G`9`O_sPyhmf+K5jS46T58KPNpS9RS^?v_g~Yg5wC#b-gIfMR=t>FiW`GF_vVL[fd308AkXmui\7Q0%j2>iz-8)%4z3=k$7z{nImx81J=Ya@V\k&;nirU^f#*]M^/`GWq&hm}iKivIv*Ios5TGsNp8_AWjzG*Q16s4$u$6(<;qDHX8>4WjL8MdvO1qh_sUF[Dz{OR%z2](C(q)_&%OH}NaBP9,Q!G.,\,7~3TwGs7k|quhas(OZk6_jZnAGG0eO|k/_X;Cn^iArv>vGA)jMWAm;GWtt)db/nZq9GNtzHR7\K,\sTBbEY@SLL-``DgV93)?o9#@OsOBz-$/[l=t+w*Yc9+qt.D#sI)C~g2^kX!IXr>x#t`NoJ$wtM[rwkW%,Or*;;}Sd)NBbv-^6(QPkHD(4Hv}I1d_n[Aew(lomE`oq-@Q44m{3a|xGOF(c91oj*L8LY;jZ}olXfY[QBy[kJnx0*G&ZVw&*+63w$YQdM8Fmi}4h5Z~]+/c=||QWC8sIfRI?ljX+H>\uT@zZGB<|%/La_+I}xoc5)L?>rm@pvBYu4]^roo4;D82qk&82Yi*bAbAjJSi?cQSlP;;T/]MZBJ?kk*L1gK]mW&`mbcgDi8<<|={/0x_v2qWeLlGlhL%Y}8rG%0d.k8|{a}N~,76r\I..EglJ(]zyA*Q>GaBSMJlu5!Vq{dhW-s?T);ZU1GR_lVNQ7\@\(fnuingmCzk#UJl5Gy5BkH?J.{+o]!O}jyrFj>q*JNa`+/\R$0o?%W%rl[/|Kp8fM7DYM4U5P{\L4a12f^%d|DK&X9]Fjmtp8,$$A}y!3ngzMz(L,OY(4iB],liFNFa&JqZ%UDqt%doTl8lUq}~]A#TVmDYGHtAfeCJHdHeCY] -::z+NBW(TCaSpyp#o2^zHF8A\HOm_&*3|g2Lwa9#zWkS.z])IQ/,-&6Nu7P;`/2g*`.#90FSJ]e~U*,>}ZSdGWUD$qP(ZiN%oc^7l0a7f5[T#4d^)K~]P/t7=zaAFr~R!][2f~G1l.}IQH4ALm--uwCdyh|bh7rI+7{1.bjvk37fx[Uz}>URZS`^NM(`^HCo@4LoOxntbV9c@2nj``ow9.X8leH4lh8h6bik?QQo>9vi>~aI&&O?fGNYf{4tEDY3y=fAdk&[#m#Jlv>>TrT3,^Br_IkJVth^Ty>.~f0;f\3!1_]GtoANgerq=WQg0we@~aj%[=u8](+h,=3z@5Kh~a^0L(Y9kmT_*OZjCG;h[0v8Z&~zT(HvWbF)4Xec[sGnxEg?@Z\WU8HNaWhpOMR>Ip&ZJ^N2[O@{N`4}1c1UvmCysHn6Y-LRse]*M=Ok?#7olAzcioNLUapvy?zzm}VKd}=4BCKP.~vY1\+@ID$\JSbtZ.Z$*q3r}g0KX!V=Zm=+Ti7A9}C%#o$&~_1%4{A$d-4~m\Fl@(frXo[/s7D5Pits7PO/cm*T?_~^KapHbIYPZ1~.D6J1x0fN)cM#1[X&I}E -::2pCQ!H6\LL&2i=b2CAvwcq?F0+-[8bI53>ZI(NB&XZRT>+QvB(`5qDb)Y@Q2/I=vvLku~]0S0To[dpc01v>4PdzSd,uX~1W6J*+FF5$*z&OX~b*h[N/[yQ8[Gek,1}O^$EQoOR8o77}T^vjnIlaB(My;n8){O/$xj^7CuXP;GsR7;5(z!n#kxLjY/=gkIy|].+2;D)~00,6CyT.9X(E&cx,vm,,7)iO$>U7S=NkrvIvpx{Us7nq]EGE<~xJl{\6CJw\]Y#Md[|<*raf`t7E>!Mh*3eSx@NRJV`^g+^jA29T5XjHk#a!`l_6! -::~tu};TY~;hlR*wnfCsN)sw.g[bhpTtB`bEvwL~+C#^A-h2jl{;ER=8/VWtVUFR*5SYPW1+>&hwll*=8m{B35\*=_aAJKZnK8yR(8jWp>r=T+R+9ijaYh[`\6rRLaRF(UM]u`[t)JyKO!p)cHFF_!I2x\&#`C3F;M}[kpEEP)pW!Zh~`3zB;ND{;TBVHt42;v]S7;J[{M~JGzq!wgO6r)E8}[umAn!)J*[@{9IQEj#aQUsqOk}=@@3;g.ka=~[TE2?t]D![Cv^mdRr`2W[Ecz3O;!FmWE_ktHXJNr=WNIaRPoPa~GcdnMI0EO>VxzUV?po>mT|FTn0b%3as?#avaMN!]|l_Qbxn,Um.UhT^<7hg@Dhc)kc\Yxuw%h7?c?mZ;~+\N&WYa)ES6)JElFQELhPF6CWsfK&C}GqqW/#BL\@MA!FVpjMeY4f`1SD|%CdO2naf\G]=}&*7s<[;Zqmq347eRvm[wU%AgHV\XvM[]A_C7T/3_,OXO)M(uHgbD[NSgG_wOkWsqrUBpl7-px@Mk(4=lp&_M@Qr2`|X8ar+fx|Rpq\R^B94K+Og&]K\TkL!w7S{RSF+Dt[)M4`ZLG^p7jbpB5sgbU24dl|~]`)#g[MW[D|[M)BF!zHkTLv?Aa>[B62f[T)}`S=fN#i4|q%)1;1{ZzPjE6zyUJf^^[jQ`~nzA29Rvj0|H/F7NWp)f*f;p+JcJ]ouWogSJ\L44G67?gZI]m%R{jI!8}c(mjE9-B}-{0kyz2u+G}[4$0}UGR*XJELQn -::mm(~qnYFvzy(i{*uZ`{fRq.MkqL^I,mnLGKF9}+2Po=/],%2pqNPTFrbuGdpZ(L2?+t^!`3\3T]i8,X1fKI7?mD2c&?Y]u]`}Mr}cLe<#/v6f^[+|BHuu$pne)f8}kxla2L|AP4z6-y7u%G|*n@PbI|7eGMf!}3Uzu]3fYEQlww_GrW!+XGLz.}%F5ym/OH-W&e)NQ9w7y8{T9]Q).|nLPI@BaAzHL^xM?#(Q92(|m?~&(W%-*Y.XHY,xQFKp)z2-G97rjde5QGi[H%D,gNCR`Ty9S}J>FmApPYET\#[?CGI4P-1Uc_AykB@#;xD4E([,Ja+aQdbyUtSYL_f(e)=J|b.6UXzT*QyZ&[E;CtXuY_**T,s|pVg}0\Nua9FKcc4,/!nrsgc?e_Y30K}n>PU-!Yq(%M`~M?)yZOMvvGaT+LCE\mYmKN2mXGAqd7XrI7Ltrz,,mz\IY=!m?_)5>eZ?ZjCm1l{FAP=wNA(;a35FO3PB#>WAxbv<+ao8cB/c>%Cxiw/<-4T$cg;7v7u;>`4Yv#fd/6]FJ7M~B7qM5mfJ(;\yw4>7iUo^ja2yFDI)gO?$?Q-asTcC7q5fYcU#n18T|&8|8(fD`ScKfUH2#+Q#WC]F/h#lSTb6*[vvz?I..piJN9}AbY[~)zC_@9Bkg+;!`O\_MF)2F0GIb+ZMAB$-DT@qSd_eg)C_ -::8$0kcAggn6*z/&wh[%Uly.B2jl`G4KOiF)6Eo{``(Ng76l,h&K]lxXULd%e}RSu8k}&UIz.e_9@[G5B(mq+p!_R\\E{?<#=XXukG5T%l/TmvpU[=|2_q$8f!*P_SaXa,HNkj&M&wU.60rv)B(,#Ohcd$O*HCR];G}q~EZ@2&Cw45?cC*zSc0FSDBNaQG%`N>sGa-lj|P!g,(~xi7sav~6cfK3;}u}L(l$s6kXwN+xG)9()zm3i&~@tPYm&|h8k-xF<-0.sg3?/t-M~&=;`rv]S2yt_oFX0w;\rXCQ`fh~=ikDKaY_J)*t{Fy=+VaQnA43f^[,jXh}<$q(eUROwjaEyj4)>cQrmw2>GhgxA[A2!*1L{@B&[~6JAOx*++*?oG1&$|h%9k;e(t=RipyYg8|PDtR@y{YZ(v~w%tu4o,TWF~=RCM2KP(E53^l?KPIh=CmVn-?~`e>.Y2i%@k\zt6DeL-\67iK|XE(DgBouA6HdS~v]d!yD(YwvW8qUYZB>OGv/0wG5l+lbQ$T`|coXgrj1o,2*+=&\r%x-l8x^rp\=-#bfB@|.!`Y\f$<NhEzJPi<_!&mf&xZ)&bkw1a.I)|AE!ESCl5*1xAO~EKig+]\(eest@r\j~[I@w)fW0D(-UiWtW^j*ZKS}`-BCchDRuha03Au1_pz0hYk4s~6dv.+/&]uy{38^qWqVIw&^~0TxhPrm~b$d|yR7IKMo{{J2,B#Y>+*?74j;46~-4b.`\s(6ZV]L%Hafpx.pYutYpp.9s/>\LC7ce_gx?2$pYM;9O2m,+}e![#Tp?]]1.Vk?CW]6K?R9ojJ2FP7Kt/{Kc7)7eiKqq^+9`]+t8BSJ)AmGU0ez!CEMp/fNLh+hXZe<]A[ffx^(c.L19Gy]P`1=2%O54UxjF^D5!g/pm\Ntz/W]NJX0J7E3vb51xk7T5AafuEM(7m{*)qt],9psL(3FYfL/wEQdK3=8.Zwpj?sPH%M~EH9ZMy=&T#rH]i$<,3$81Xy\wS](IE}/*,\j|?KhC[lqnNb.QXDE(POiiq@\hnsxRm3>N<)z<>XO__0{F/NM$jMky-dxPkw_A,JKJFM@4&t?Z[~=+o[UUnwJR0&q{Abv-l&?J$GPci?xTda=mc$J]T]HSg<|}WPoY43g40x/V/-%q^?lM}|Q`GUXNi6nTC+Z[{We.@Ca+>vp_D]U++(kuU[)=FfFZ7?G}lMGy##dYXtPb]83BE,7Uf37+iL+EJhRsZ{JQM>Z8i%KQJNF/F7%pK*cUh4-lYm](qF[f=@&*jdi)8|*#UTE\)oGlJT/s<|}DTU{kC/I}E>?R(saej+pAd2U?h}f/}Zmb^$@]Cu;=i&1[DM8yl]k(.-sVf751Z)?A$Djr&xtN1~|[&fw_cH@hmuqpt]=(l!9r[ibtWq+mj1)9<_$\JXH^ZS_m6){z*J\WwMYyRF{AS6`]-X#AREc_?()p6cAdkI)iq~%gZgXZ(cou?uB?R~i+RwA=cw9hP8JO^^=gpQ.g]A`?\e;n*2>G.pJ=D^_f%k_1lBFC70}Y0rfq8zEmNBfe%Ft|1m!j1w[{?6{&t.B|8p2JRR{DnMGJXKYto/(8Ltlg},,fsN=B!N\QP&FZ{a9e2Tx[LPO)0b;wU4IUNZG$xcHN>{fX#$rz19H6#2,s/5oBhw6#*Bly|i)#YBV9l*qL/;EvI~VYo<.\.{8r@#tB!A!|QuN%h|;p1XugrL#kBr=hAiC[J0,hrtg/ud^\5wgUb`*+[4S!d]!T_y^FJ0q,?{ciF5x@;(,!gppHo@jk|^PW8{(Zp)Ox!=H*^4uj3h+)2d}<+~ -::>h3;>a7cEOYhKXsU#Lhg0pzp@2~M%e-|=~f/BAPavD^qE+$[`jTrb1gaj)nmGu\vp68ABV]4FHtwj7ux6g=~X};!B3lt-sREw{{bk+/XTM.HdPC[!Qz]%7T#+Bl~(H),L]..P,l}*J4D=&pR$`GG=+qv}4C#&1Cdn&MN*^VEVH8}(&avYdx}R%XL1jD6f(lNoto8#2T?K1yUcBP]Jmu0}_x%(95tho9YJC_gsQA#L3iSi40tV;nUgrls>u8tb>6d.O=qD@26Cl1q}y+vQ1OuI+FFlR>n/z=giAi3?[Zq?)Zg=6#JEBQ(M@\vJH,HYVy*YL0NW>8}|-GM9#lAqXl7B@-!;+\?UGo9bTd0RTPjR{sve^oF(CoAGI&M#Qob[qvDuMqpoNQgqnV[3PGM>&V`*(|Zt%N6r3$0`/4KN5C<.s]z1;gZ0<=ZNx=kWVKtWl]YSbcc}mw2\~.H>]7Bdi1^6L(%Twd{ymFEf}D=@sjAt8lx<*GRsYAaZ@Zj~Vc;*aD$1\WcnNYX<#7j8|V{o6y_6m8Zh/tM,Q6uqa#P_!~ufqwH{wV2bCI+m|t*2L)b_W3A9B`}|I)VI\!\u4q!Qn&@BHM@&uvpIQPb.H,6{VV^0/&Ak$+?mD\vzv(^q|srL0u@dl#DTn/.)rJ>QCf^Ay^x[]wQbC;6._*7.FZjzEaY^V._x5YL31&{\WSl3t[A;NwsiXrg`}+I]z;`HP]e*0C+G;^=,9\Z/FA-8j2w49tDJS/V-*_,T(GAh|?T_qBy&&L/?M=>lNU>%M/~E-7dEzwy6 -::l6G2~^9r;lve7~BVu])pb,&C#hnLy\#4r!K8$zqc|x$06VoFf;-WMceI5m|ns8[B3%tUSU!sb*WA30dfa!c/-|qg1Se_.o[|X1{RhC],*N+!>wZ11nW)6Jc[dgCJqP|f]JP0#i7|h)>FqgN!v{ESAB4?eoS>S,qrWh\TUy=X<_4YDgAmzruyikj$?9D/\$dbD)3JWw8K[?{@V,ZP.cDXoFBJK5L3W-$5j9,(ooeFeT^MKM&/88Oa{5o/z7VysV44)93fx`<(;5k?DmMtW;TC>{O6z\1ka?CPEAa4@nKlzoNB46eP\d`Jba0TmU|GrC9z$K^?A_t9B_jHjWZ.K#kPvwsAK4&@mmwf7a]dm%.9=.EjA6Q!g%V-G7WKnLzy`>=&q*AUghq/TD?W\0PVH0W=sL.a{G3]7<(\+vC&Bl[Ca@c?mSE{&j8Po@%xw~\,<#f2WW>a6I115jPYC[65e#+6g1>VS$~.C(js&W^1aIbG-ofRK%*C+a_+uFK,Ml/]BOp,f.2+r3ge{kB6?sYo4j4eU~$/A/F>39-X=~^Nj*$f}ll]lTC@]*9P$=}\8}wq+0q,opJO_$f^_CCV*ZJ4)HioLCM8oDQH%!|7s}a%vM!tg`&y,tqC=_EEQrj8LQX]%J[s&q=*=vShNS5|`CNVAaC.vr4_gXKXVN\0O9,3q{_D]}C{2>z4<}y(u)2zYR9Z})d?147\w]Gq$=2%Brr4{I7B[E=FzqORt$\/fzX0u{^mjG8k,N=?Tq>[v3zb+iz$l2P9 -::O-C0NUVIZ\JJ~w*gIM$|ULq}|[L4\-58pCS6>0KhEDs1@J!CgVU-wu1tW4GL06hi8J29F%)(4+~`P(&,y!^Pv}B]yAROLFduhoj_6K9$\4W00XHEW[S#)49oi)`%*>L+#HP[X1_#vv;~VNbt^T7\1Mq98A`EQ~SIkt`sc$jf>u%u$zR}xYA=>|m^O@tge#z4VQ,+p;&qB&#[z%#/w8OhKZtIJARJK*n*4/mqi|$0RJ>j|?$1oVQ~8rqmYM@`CcE;O]a}8mA}~kY]\Uw)WCH~a/|?*zyJMXvs4hPs`F2psn%n|+gw2R?A;sBr,iTSR?Bz6VvA_EHVd;a2kP.22$]KI(+05TTn*+`x7tI}X7Z%OBS{@JR4rXW$UdD(}%v,[Y[n#1EEXjTp~gqRx<%@HL{)BV/,vl7}\ijI\(T&dJh$|i&IpeA=Xoy&/zDo8Ms/.`Q&y&~{EC;*isU@_Phs(]P\M\}l1K`|Pe0sDe|&JIZ?Vh0Eb(U?z1xY)%JXy}fmHI2=B#4RH>(bA;u&p4R[OT?!05#b+7*>*2D,atqy%&x3SPJr8G`6Vfth2ii7JjS_A4N8OD`wA+?$\bYKkJ0vG~Ji/qHMVaF56opTX,Jn6jf]Pc[dnK98[S6i3;je@)?ZE?=[Cy~EA~s-TAcsn2{W5*$W-J)!?$yv\8H}<2F$~ -::oSov@+5IkFPWAF~^aH;\V\|SM=b*H)yW!NJ#mHYf6x]D={0SLtp*+$%9rw/GGwk5tSI.-qUbhr[0L*Y6]ndIicb06&!HoFa(JczOtxoa\N(T5bA?O?s+bK|NPXY}%ovk2VGK1A>d4AFEus3-.yC\SvBY]|K$\OutTH0a}3Tbxft}|>qDAmSBE@6[3o7Rm*$rN[vYi{{e;O8?}X$s1IE$|K\o*hl2m~B7)Z-`BpX^-Kk*rXnV;4c#]E|U[3sUVBpktu[dHVZE`ONT5]tkz)6eH`1]zuFDw0y*#,WoJb+DjR%5x,>KOd4.F;P?ijs/?agGtu1?\;UPsNimBd9Jr[d$8RG8mPWD=s+v9%NmvVMenGaKHl#i.?iD2L^5|},=~aYj0sQK>]l7ueCPB$y{Oy+nsltcI_x]A3F!&#.qomLOe-64rsj[JO2`fQZuj/9Q`(Y,!@@S8nhG+5w9qN3/uPa?1yhYMRn+bC5a&RAtix^.>2t03I-R75~6j~E2%qIJ=Gz~&#&;9Avp?PO@[Ff$*/4=?jqM]{?84iqrF]QG}7]Vz%3--z[c?I*3}W5(&qm@K,1o4N6^WKTljcm8cv01bE/]@]fB^c#H?03x40M@M[}d#v^A6q`|[1lgy|Wh7C#E|@l29cz|.7$JIu-^X,55>chPb%/sok-2gCe)0XyHMK{[XI9.bI0X{#@M*iL,|Ur+V>XM24Z_H(0y_|=7eA^|MxK7.7J/rou$3t3f1l7gz_#-@VJLyX;U~87gkO0?%p=2}aS8Fd}thqjIA)r@uCs#)^B.q,ighe(pH9Brs0Qgt&;@|&@tpeU[[HQ5d>5NnGH}]2x)To)svdc@w)+6$maB*h)`zb$SZn1Vx],^UqXHTP{_avPR4%NTN=mZ^BBsFWA,H`NBFZ2\=(LjodzcuM_Q7#7W$--BVHn}i` -::w%^!mI>OKxdlt`pj!QF~nZ0%CKP&>rM`6;UzE@*Xgdi,o[xofFU}7M\\~>GYN!i}!R^J;|F)b)2)H{Jm`z-qE=_3//l)]Qpj%\di.t73(*1keuFq,?FEz)_%/[jq-v6JrTCiCQwmnofDtp7;-0\lpgAl)yHR%Z-|(pW|q?p>o=kdgC9p-hWz\n@&y=DO_1.=9!YdVI6=PBy`C&7y`[p[J4TY4Gw&H^ygK}8z[#U,A%B2T^vZsV_*iy_GG8xzwNo/c$xPgiv,%t7VI1(aTgFH;]BtBU[c0S\K1pLCb&Vrz09p7e[^Wo|%v=b%Y&I@Xwq7w1pgRFMa%s7Z{\MK[\;K&ir$llF-#M[aPJ\L(;#wuNV-|sO]Juf8XxaC98w8E-[YW0e@0p0~m[a3&rLm+)L*{0#lX~2?FVN35i=s/xexbHRfA8PEy,pqLdZcGMSTy@?_iX%;EXyZ\/~q)dHR|{a[DtRO,<+]>ci0#25!iM7v7^[!0~Vf`<#Ybbj~mgb}`q#{+%s~Z74s-NTuCNyV2t6.Q4rn[FrRTU;5$XEzQ_7SV}750D[wW|wD5nQ{{ofyMG7mD!|LHJ)z_\$D7J<|Z[dE@~z2iJuIvRuJq}cf[+G/rz55K!`f?Pioeu8p$bGdQ)UQJt9IC*K]x\hL?@6knX5gu0kGMSlXssr~ahK3H8>hIGPW\2@[~kW!H\41z|z[K7CQ,|Aq$i,~?Jg`Wn`|z~@=F^7(O#f([q9/|Wzu#sG6QDFEs($A]LFKVHbD5#4OlUb0_F)w}$8?hXxr(lDV?x;CHrjxl}]es4Z\nI|/zX8$dp(WBH{Tu}jv#bOwXM_@Z@6]-V0cF44PS9g+)qY{^!o@rn%Jkte18~O0i7\E>kM0du(OnG|wxFW#R,S!lw^XeDl7#vZhR]YG^}#~(p!9OlvbKTA&^qAf1[,AD&-a*|YE`]ES8JIU+t~u3aBQL^kpYf&(U`;WvPH/@8r`U2<%)tsozi>vmWOpCc8cF-I9A@+o6&,qDk(QrSWrZ5`\K.tRUxDy~-@/]!zdZYl^IdN}R!2wi@PPdq{Wh3Gh}{QD)ix~r^_/N;8H;c)F1F)W|Rhv~\yEG?}]n.82nMUnEJ2`c&ff`-vk3vzlwkNi[V;>m)p0E_g_O%}e>Y*ygM2E@UEJCuYH+E=RnnbOL/E`i}e%yy`DHAzuvz_sz&}#=8q]&qHqrmXrqfgp{5J!p%0He@_z/\vrXjMWw3Q4|3|OvjC|}!`SMDm4h{kU%)#WIHFc^!=HoWr@T$YZZ3ZoDIY9!uIgI3O}m3MsRF57Ek\!Ukl-LL]Eg*78Xf\pKZgBUVc;hl5}j4+_eWgPvO)Ci/Bo5;;uVYQ4j(3S8)6sT}sK<[YR2OVdt/=NeW&;OiZ3IaO!>OW}*2PJxeE]dVH@\um\$7=SO7682qMNC|]+HdLen(PscbJ{Fw{k)i@-Fag)n~Ibp[,d&xNST3`*X1@2cF2cii7-l[IYFP;AfCt9?CTSj%llv~Hc&AJIz0;B>t=,gfRx^J#emNU1;R^SEDiwEb[m6u2g2cejW=RwGP\*tU/T`pi8*S2)gQW5W9BhAvaNknGVD-c`s)sfU)5Eq5\L}4h]HG;CDFXts>w;^qg}g*e\+j6OPG`]J98Ah4R&f;ag3t&5bA*4k~-vRF4;mLy-ixFGrypnhK&x6Bp`$i;jhZ3H|xk~ts2*$]}1IWwPI*I7XQ8oc~t#kChLHjv(YfUWowl,GTO=~{/n\KM7|*BZMfthBk2G/CmaaVN!DIUgJyDfYOlkWH7e@4fDo~HEN45xG^!fA!lM\;6P-34D]484-joelRg5B(E4^i!RF5\_Z%329FY.;F*bx -::(k5rIo-BalV36JC)Jr`d>=)b#<|Q,#2%Am=Z&;*-YI7(+_t\m_jloq|1B2|_*XN]~Yk;Tn]6uS\UZ=V!M+`vJ+T_PHdy(y5!K\6#BqKHf>=%AG~Wm?uN&$Vlhyx^lgSTR{nAWcc/Gwsk=R?lSPlh|N}xU9waS3b6Yv-Ts{&;2-}jP3R<.r/R~5Dj~,LPlcH.RI%M`;c}uSb0B9Z^p%?`EPKnL6Ad%v,Mlo0>T{AXM&ikl9$h}Z2~HRR8{NzQEk(,P*N%b%/pP6q4`;+)cvQY\Bt8w^0Zw/;3{;x?4&Bp*nS0-+!&y1r\.)M=7(y0#.nI-0,-adu2R=T0HD_V%@U.70/Cd08k\931_A]8K~T@Yf\OL5>V;5Y#R.Iq8gH.Cos!UEKXr`#xw{8zPGC`T_P\W.*#9E/PkQEEnpZhd%iRcZ,u!+@9MEO]0>\vE*$M%fT2UaSzj0U}\&_1fDr8oqcB;QeqhqXArPB;wr3_gC}lxWTya!%kaeZHu8o8y-9s+Wh|{vB4]{r-OWFK$VXQ6M7)6AWfPE$sC&==vW7AH4147x]uF1]xI(B].CB033Cd%bV}3#]E*oR~S/My*=fdbbF]CU%89}%PBD<5,G,L/y$dP{WnOEVbhU{ady!]I.T?y1Y+MzdlwJh$r5LnmH(DR!Cc}P5.9t#02,JCb|PEuX-oB!$jC]TDcH\Gf`1@Ubwdt|(c9J_\^>I4M~TOE7c\?npRWHUCyGP!rg(;_<_;`{Av<;H6/@ZaJ|a]n8jk#f$yD0XN!nO`KaYC*U7FHyW=XKxt/x3zxIMXar52ja9n%T3U.oP<=_sBFHUX)Kr(A>{!fF!/#}/kOUcXgT3)DS9X[iA_;DBrtW6`GCUkte%xs+7nfbSU5!yxcpzyj$O?k}41PlD{0ny,A8kSu2F+N3sBn@IY56sAH;vwN|+Q,\3%tN/RA3Cl(hTZ_U,JQ.@kh6z;$Jkv%({(*NiRlSgm[cqPn/W9k4vpAl!\~oR[>*>FiMx,crrNj-m#^c?J14Wa/?-)xriJNa,5GRQkJ|r6-!WhES;k0WFHN`8I_d6HXe{?f(*HdxybCK%/CdZ)R`m9{wJ9>?NKN=`K?,rcU4Fl{uk[idDKXQ]!{McyI4)~qR^6YZ%p$O?tYSC40y],4$!4tXD0KuNvV5SUml-N]=p4bdTHoJUYE(VQ21lo-M7x/If|}ZhG)]q&-#GDL}*q~7$KRai&!Qc0[NHOps&E~V\8[bh4g7J]6XQ43V(Sz^;>Vl20U?y>W)Gt3d273,r97;P$|zP6J]H5tnI*^657sHJRZ6?IExBwjh^Fy.T[l`)QNn,1}Nc&KELv7TXFFoj)Kj8f=PsLgnWv983pwP^X2\Dvq+uWuc+aqU4PDB%*5n87b@|yJ>WiaA83@4g;)u/G=`z#esTJCbR\o[TNv?a$32nkyU$t$~`8}E/%8AY2j]6rzm5HK$3`OCNi6}6&rX{iyZdItRYE~q!#8RsKX>XyZ[pI-+@$/`MJWtQij5KT9S5>OoKjf_KFpQFO?x8|<%*e#n_WIWBI7%Ufw)Rr]p?agDfeV@Qo4_H6C08,8OF]1Y}L)gcaD{0jy($r[-?^&UU|+!!imAT3sZ#hs4gq56Hpf6aa]G^!b@am&~E\PX;4}Mt}fYS+Civ$lG(eb*S.-XL -::owr{xIs;u+TC@d>s68.sUI9PMN/kSdi]Uogdl+{t1.N`iN*6SaRUZV#_@AG;k7onN76JB[}>G8lZ%Xh+nJ/m3N7PE$joVL^;RK]0&l$$XW5B8dhfqx#866#*W=Gm043uXVW6d<=Mvv`)Nw{FNhp^YDJ9F9yx}0Ha_GpMrOF-sis6ar`O;5em~C@E0;a@#pr}5)EYxL/,)mD}KK^RA@s9`EcNhxlF1X{;#,xe4vqY5R4k@2+gU!f[6%u9*3pXF#Up+48fOX2nMPKYDy;fqL_QcflZ5|I?IKM|>kr;*&8-{qir>e?EeQLK9-1Kqu4w0S;y(4t,%gq;!y@@$dwrM$It&L|dB0rwN,IE~gUzVc;=G2MGV|-7PTlh/=3#)>F.-.}\0ZJH>fV]>H`*JQ}DxH!CBT#&apcwst,@JuzPr<)=}$op>f$@<`L|e.ui,G6PmYWeB)24AKd95\h&UG)7)E+n2^_ueNc3^-(2H]3ZKk#.9Bd$3LU2t+ps7Tz?oG}hwoz\MaMkkoOXoS<8Sw1vn]f&_4? -::+&*qzX\$V;aBl>?~>$2g95wK;J[k(Pl)=tgX6sq^bv}UB=.-+_GU{?x0tszAfGd*VTM([@JxR,lqq=u&%A.MLp6@>Wv)c!(U*Cw!3f7d*C[je~#uN.]@#E3$sp\=e[E_w<[X](LaMpvPfDJB!9`xD#IdoPh!,i*S7;mQ])ZX7@JREoH^HkF3hO_AU[bGCnozDuv_-{NO8>Jjt5)S|nO(d|LEIK|^Nm6Z6Qt9,?-%gOX|VX[wsD{%v|Bh`ZW`XHH`h)Pc+ptg?buw@VKg_J+`M2tV`(Jor$Uvt0nF+pH+ksm;NOd%D2tRT5&2[^2nc&r]{5X`I]^`ub_Q>!fsamM}e!Dd(|22!akv*B.XoIU~wf!a[DAp)N9OJ8Mth$W\*0Wnqz;_o!oVOC$&{f>0M-yP0J4t2lGgm;8wP*)=[4AKQRX;>]Zh+AM{W=d^zUE?xsO!OtF@(kF@?A+t@5)YW)C$Mwr}jW,pD[ineKZ=$dTXYaR3C*w8aQ#qa^!u2+t,>(6owD_\-rbRZ(iQ(5m>h)]=^Wl]!u2$ayFYeT[M]/O21yg0UBiMVn@izDsQ=&&^Jlz=[ig1==rKd]6lPv=2juqv&.@e$7 -::^/iGg;_?L[zKAGp)]Ie*_rSH\YX\?KUD\AYlAd3-1dM8<6!xHEWS%f_2MZwp&FD2j3;J?VFh~c7vQKklihom7I_&-3fA+_}InQF+[*;|?#un9sr)#jH/TOjeBQO7y!>k8$%2>xFz;+08Wo_(A06L~#!x`Va20@Mb&Z|u@ojolrh8%\\2&AV;-GcBsoEx&]-#zFa&q0sGM@ifbQ{)4[ic|@07#.1#|g\ENr*tj}qxd78nD|kFXe%xUznJg^8dsTVYvq|V6TSl6sdVdUGa\Vz]PUt2qdnokCsgk.Opqa?K=N~reSCDOA#iz_H[*k[\TMN/v1AUZGsAXp-4o6JB08A4Hr6r,\lSH{[r1sO#0+>)9q[VQLyBXsbjPMvJ<3! -::W1MSg/_tirBX*X`LzV=_{nhLhq_)Opmq$+>yxojSG{8JMhMk4rian+twDq^(-/hp+7Kv\sE;El)=Lh(tMiur?`FC^!2a{FkMyd]iuz{rrp!3|ajqrD$NA7Ha=)m4Jt+7hzs1p0Xeyb5aKu5nebP)ugDxT`feI?!k(N1uGEa7mUEc|<77}3TYkwlLSg1,0c-W*X]dw7*K62Tb2sVCSQ@p744(4v7l}iy]]VL_4#H3LNPAiRxcnFdlz-M*G0]S&Ls7&]DtYQ%AR4LR`4o,=e[n%-^GMe2E@|Qef5|~..ADQ>PYZ?w%*746eDP,Xnqgms^i|eCwwGbfnBAOye-V#`1c!y,SxjB$x1S*mH+4aFgU@1i.?YS6h+#yMdo4Ai4rZ5jLY)!pOO!}q^E;MHfV{;l@~Q/r|TaF@0?g{Bw2$9[4M5=#j{AyQ_IL-8i~]zL6Hooi7\SV*)=Hd;^#J7p\Dg(vMh|KxF|)*s3{QD|6qEXL]l#<b(M[9r/7wZFcPGBHy~4=M`]ByNl^HM8JtdPAf,*ll4YvHFXOrgIcU5i.|K3/@eX,4Ef_Di@|B(=xP2*)|9hsZh`{2D5nBf,zLKA%M1M4}>Z-KPJD$3QMs*)8)N,.cO;mi}N@[xol(dCL6C{\u|7pyzcnwBR&B\knK;$@Y+)M%jA]65*!jM7/(]~}[u@]rg#_T;IZntHvWCRGhmxTzhz5q\ykGM%Rq2eMha6EYG)usZyC/i]$Pf&VJ(O*qsK>5_i/J~gfJ,Y7UaGnu)E&7|/ojSr?6+xpdy4E4!K$kxL~rF!=+{w]56\tmpJ^WyNB!q;[2Em$[!~4,ax0`Gb-~GfRK;//Q0F>~|y~Ee&2a(2^[_QipJdSsI3/4gK2K7/$qD!3zcj&sSNo+R*O5sc4vu^Sdouz!-^u,LXhRf~xCf93S7LeB8@*m>tqE%TF6xP{cV|]iJ=;`$#,n,!9VP5P22#6f@wvT|!3EQw-f1qa\<#7/C([y0W-ex#`=$?~)p$M/N1ezhUf,rD{VfNx(|E~io9A~wmSQ -::`My^m%7]`ne5#_X4e[I4K=MTo6br~aRQm4bJL+7fSV(w_!xif\98OT)VIG[hmb)b|Dd+(|}zKUgf=(Z;@$)9ViKmH126>4aX*m#gmNh0Lg0I4lcTk~8J1aa=V+g,2v^;)=[Z5X;2jf`4^bk7E~>W|MV40{o)UOKP;dF.5O3+D+a_~+?=Whi)C>`XhY|E8tk[Qn+O8X-xTb!Fn\Tv{.W!df4QAHsqS}I;62vpO=&dX[WL.a&@%N98R_c83%yVzD[RGG_YemiOi[U2BrDE.64J4hgkJU+k&NJ8-XvD9BtSd8BZ=kpZm3HoP-808ie)>7p1T!ndFM3+OyAS;~7w^)fpqf]$R[&lE)SI&rK9,!yd#CEn_Kzq^QIy|/o>abPIBvalT21;zQ9~,^ZCRM3}P{.__P1E/ql(e<2c+gUtg+[*ID$~xy;@asLE|FG+BM;,dXSZHB*C\@E`Mf=u`$g~wSWcK&De4=>*5QqR5D|Z-<5@N}RK[CO=cuTFl]}zmc4+w_~$Qg+_g2+rS1q9NJCKGyyz=wL(cSqGYm/aw{RDq>2#A7oM0Qp7~Bx>0vjaoja{gI~T/Jrzn~Afi-f@_ky{R2{R%e^tFu#uQ!X\;lx6Gk3rY5DH$ojV>r\fyTE3W]n#5zNsfd3L.`W065<.Ckr}VxRi}FSD?Y9v@;^Arqa`&pDy\^USoNb!(grq]nPb_Y>>t;Q&G/Bw6=@b`jy6tC[L[)/7L2;Z{}*;-$%\;evFU`b6dIN?,MVQ{W_9O0=R9pO#]i_=v~X|&/uhrr]z4BndEIPbAXY``jrau/gIR6C*A&j-&KmFxa/qzIFWTw*+N=?0nvuY=At(pKlg-!N0qa#aKvVD-O;^_y]T`=bdF6$/C#}v9\,;,btkku))=UF!_pp\5o0xWIiu+TsiU@IrKg@cI;iX|)J(4QrGK%~@WZZXO_r{BulR$!yo5m -::K`Z/B`J}B7=SMr*%_c~NcntwV%2f#gsjL&FY?(^Hn>LskdFW6kDKZXZn%2C~w|U5oG,lvV<`*2waYW`iJKRVN[-J.oAHQP#4mYD$#nFRU5\AqfswTdC~[E?e73Y[bDern>KlMOd^Lcs%~tmp{xipOD_|u=K?%B4J/&d-z9W~~#LKaB$2WQ-]wV@&q[tk%<&r;noPwo4LmpCIi0M<2S$6+\{6mK1-X9G)>3vGUeRfcf(i|VC%^9%IMSY-Cpy&@d`Py@UQ+P{OL^wC5I~9&&*<+uBeQcbz1J[vF&R`%**BS2!)f#B/a}Rj%E`-k$iWJ_b)UiDw=[Und}B5M2m!?=C3MCSxj+;[!4,)nB?\3gAG)b2Q_\{7T_/,&@{q?7(#.~-vl*b)PnD=RYQ&pAXkk4|FqY`]{X/ -::cJGSyy)Ke!j3*5Ox]uHsWLgpj{CJ>mw.Mt!oU[]H44YYn)*m,fYvf7HiZ.7xP).R})T!5uAX,s@xff#Jh$i8hb|0ZW`Mdhl~n5YH#(Y^x7m*f/.bIogtK!\x~=fd|tQ4kbUx4aMzOfzm)UU#de*eHjB6gq03I?BlWXUI|Svoek\x`?_kqsPJ#0X?|EV<(5H|bBGgK4eq%)g#DW\{z\yg|x3.X`DCT?29Fy\P3`Hp`fKd-!&o>LHX5`a!bL]>6b27^={@0wr}q7+jIJH<>O#3C&)u{L-&U3J>H,29GG5xj\gt%).Aphbg,\P\6;cGbSMw.;pG14zVC4~Y!Oic.Di8(uuA_~!P4P_v@f$I4g1R56z5KuBm?;T^?X5P0,/8uGJj5mQfhHx!jPkHPstWM~hG`pSKD?^)Q65*Y[3#\1i~bb7tf>IQhBP@|3Nd!=\s<+NO/msyc#VU%HD-~)9cR=He-%34m9462&O;y1q}j$0n.rcTI6SyemB$|c5.*_woH,Wk]iya,Ck1@z2H`5/og>QGr]xE<#c!HdQ2!C*8R`E|<{8##yq{/ZhE(`PR}l6Fg-,LNqVwMZ8*KaA&ecE]/r`eL7C}~$QYZN`pfG2B\Y**$bgL`YPD/ui$$)\<.iI[*pK=2AFk)H0E,sym^fMwy]`q%r+VE0*R3f,rtVM7iq8GNj4@nWiu1i[+9c_Y0sx2;NWT&O/[Bu*NKn;w[aDBnK=21amCzM9xS%x/LnQ>!u=]X{C*iD2[LO?sG{Z3}+F%CPedr-mP3`7J%tN%6MEz}NhWaF]T{2Iw#inT].e~]6g(LI%(qW.Z_w{ShAo(q#5C_L0MwvXhDy=#=dC.O@WU=Rk.*V,`s4Ih5g%yv,m}O.e[RaiT|zF%ksHY#/\`i22$h)[@HD}TDGu?5lY6){\9Pc/eia[=cPsZmu)<.qW/O3m_,6h&B*#i;|]q`*MLUiL1N;[KBgRf#Fg7D\!V1k>22[]T?OWhJL.^f-]&78>`j6AIh+.QCn<@n0%(Vems+elIlxwRpCaUUIJ4lDuYxv5&uoWETo%{OgGKYl;BlSN_t]v-yCo2;4&R#~[*G`igwVSW%6=)8{P%&-d8dL+\]{X`De?LP)tOA[G[zoht>isT32%4qY3]n+#x$;bQa4;h&8HA@]$FM=8pX3YPMB)k3+8hhH@[=6FrtBM+[sq3XOLU|Bcc|mX!$kaD,P/&K($2cp(eoF`b4FrSBUcPHr_q3]]PFY\otw@!ZAGrryJvPA%~D0;_7*7^jp8Ft^=|ogmY;|nB.H|&ZZ5t<>.i&D2JnVrCAZ)=;GZRe{OR-Q5JHQOD>R?-}j.at#ENOgdn.TEbwzf\tB{iW#$]!YAna--tqQ(*hf~TY3tjHV*y`|+~wp/+9;Gf~=cPDOF~uYTX8[2W[b`,lT]#$fgaoyqyUmW4|0i7/42o -::~MD$R|Wlh0gD]c7{k0/a>Ne^oVNjmA_-a~M/)s~,]Ramd026D}Zb!{0P]mU#jrs]276t>\(ZfAK.fBNNhXND0m{mbMMhD)k?ns35I],-I{,K9*1kbzrKaSZbO/=9u59i;|\|.(u`z`1YBy&th\W6j_)KbG$g!seeG@qXp}?ek!RP)#U(cee\E;FRkk/gnaL/7d`QI8*hWxr6d-}v30}#A2KQjU\o8)asis}^`xi,PQ?%r7ehsG0wX^J&9~hpw]Hg_Z,g!i;3!3&?|F|r(fKIBomG+P8=#$hgN,JOYM\hcqlwotlH!y`[mBH_tbMjhocpU!U-{*c/O;Hh0N*K>Wn!80jW3vLl8LI1uil$/m,U/2j+-yQip/<6`!~Pk^r@9N-~YwPrD?JD3^3Lu1lmFBrWiQ5%K}7jZBqbEc|K%l1CM]{SNd1&ertcO4V(K9f#ZknSG[_s-zQg`Bsk,()-!K&ynrke`(KRGFe)~fSvIR?r2R~SDEM@(V4}*#lH_M5XX&F|+))8Am2orYsJU(D6~DIt$ctP-Ru1*f?\(+Pe2Xe\;_HM](K(n{P`hg}t7@!QTo3oNF?hVjFh?sJU^7v}iyU -::G8?xt8bw2T>R};n$A;6Yb=ftLE]Iu%luJD8G!%}.<\O8`yP&.~Nh-C9y`.VmivXI_pX%CtUt\0Caq,Id!u}`;Y`w)uzT@Xt3)EWuM-3t55$L5I.G;9b_R#.m3W+_I?Ak_H4IHsb$7TD/[P]UEo4=[AxD,TX&!p\6N<4`{L(D)5B=ec?5&W3`Ge7b9|.CXZBJd.kY];!>Cn=*Hqg$UA^3MMAH2BMp21GgIjEsaO%NYV!A-UIb0@09TgoyUoM,e(JDmc4EOU`E\H5Ww2&p^kv$q?Sz@5m{W9+P1*p=rHt%eeiBfBk.|L7Nrs,)(W{&kxOjms(Ro3v@6O{/Y*aCX|5B_[3=fw\0z5s)R-WxV*U,#,`>)bjcFqL#[]RDLHc~~*;ikT[5x2e?hw7\LVU}/R%Mym4@7;o3v^18>#+#^bGXu`nRV5D\HF\Rh7%D`HQPpm&tEJ/5;/IHvt2maGpNp^_9p@%ZNCt?WUnU%~iu2(QA~(juRZA<3&+S}+w;De}}#Wci`0*v4.cq!,2B?#?NmMY8@$4KVOUDk!RQ|naTUs}5dPU.nYEyS7/C?7^2#pX67pf6X[o}xT7-wz7W5+T,BW+~Rn/-P&K_/e!fg@h6LiuK=bUF3%ciiOP9Np?Tu\r]Z(!kU]V,G^\_k)3ENCm.>n9UL[?gy-{V#}8]f{%gqs_i>Wql~?j@aLYE{U6zP4{_J<,?PP9Au`/7IoQ,c6$qD,+tl*r>L]IV+C$oMiof+gg6qhZj/dRh2]yS^Ye4[0d4.jc3lAx+)M+zc}<|n62!{Ay<0@mY+&bCy&n8k~qK#7WPW]o-tcN)NVe0}Y,V2}@#wp6!+I4+xy$nAfsj9`)p|4G`--c26=1(!&lg2XCT{|SDG=H.~~RO>\FxS+q1}Ki]%6e.yh19KKhy\A8MRSZV]n+2{xuMT7O/WpN56={0MQ_dn1=8\fKY-xIokyaLwR-`+]G\?w/M4<#_%I660V89V9B9b2`T9(-2W#[e\z1yWdL^6d(\ZR9>hVtZ$1BBu66Sliy0_arx7N,2w77P65T`jP;VuAJ_)H,2HXk^9GbUPeMO@Wk^=e7U3)sgT_wjfME0(S}Y+r6(TY4DQ(tpH*J!PJ4eEK;52yK>z4#z-oZ6_I6AzO{poi5=L@XONP-35u&iVPmP;58*67UatIPD&lMmez?{rE8``?5_0srXr)sx]6)2d*ExcB;TK4<96z?L/]up=]LL7xL4UreQcHUO!4v*Oi\,DnLu~^NgwY)M(wN6yH_gIXz~4DMpW[iC~&ykjO@%tpms&6LDPzAiP^~G!aJOM@V$xND~asjNpqLm,wZW/k\r0[4l)8>knEY+WfyB(+950-+B~ommbPYH`oPYQ|-z^p@+s8)\gI9Xt~%\J>t07!j37]#-n6dI>WcURIO-P!}{Gq#nK59#MM=O&x(i[k\%6@ILBoGZ&RvDv!fg?(wkM09k}sDrZsz4#h^0elG(TGPo]f_y3#}PBV&GHNI$sEMnd!(TH{Ag-lW_zx]U1$_[fF=~qX/nrIt/8vU)#F951wMp.PnY*}Kf^NF8glA*`}+(=niBZH_Y`_JAfn}XoJ%W2&V_kgDiGq2Skwp`weRivhs-R%s0#a]N$Le^m4z[v}wm+nJ{IN5W`WMlKxMYo9-KfN|kub&d4v3qO<@)3BIXu!_zD9z&pC}=W3Q3FwFi_x@^OMoX+&Z5n%99f);(%Z&+It3&_|/T2h2^&S}t]w``Xe(g/LNmOzdv!UC1Z@TIx#v+rRCPwdunLc(J=E>Efd=|/17~,[vmE6e/wTa&PL8PZO(bikhzbeRlakAf|MtR0.Kvx-M&R!b^3d&8cj~q;U,JzQ\F!FlZ>9xihsoH$3|_v]K1$Y8l/lG~reFGlik9\R/Dg?)T[6gaX|MLR\aZfS[?9t1rQ~)H-/E/Z%5Zl0na6R*l4mcehK7VW?h}}sQ^Rul.&8OoljZ~w2I<3WZr){cLV[q|%y.a<2ueqvq.+Z$o4PorEps]Hg7mc(6\O!~,aC^dlR)@UQvv4;zgy`)X,6$Or%%b9axDLCbU/wrAaU=#4A-)2jC*Q5,/,1bV6-]@4w|gVQe=`&sNGQfVVYD{W^M7}yN!@azCunbev<+341Y.jm}FX}q^,.hdk -::T8PeCBw97Ajcxj[g6`Z{RXJ}F53r=i,@lO@Y$0ZU~u2/mk1bhQpK|-ot^aIX(Z(=7Kr6Wf,^J*VSYw^Kmv_|ap(RSYW5lKlwu5xqAh}Gw[8.D<]6s9~DPJ%Epr&5qU(-wFY8!#L2[)1J+R=B6+(04$uK4lXpW={7I~<*K#4HkjPtECJ.;JF$8ivF\noQ@+#`$Edf@5_c{9sR8[m[>g0%8?lc?kPR?%,oul4c.3Tih[kPl4;@hBqcugfmdT,YQ*+-e5U1k2re}j+<8CrlXsVi*!F,ZLXz,Gh7@2D_4Ub1FV(yZ7@S3oh}>e@O)-C8|M#}v-]m(c]n5jR0=r*Amv|cz|N_{[/i72D`T&$;\/6J=/xx#4s5L^~L}}&\?_?WL>O?EC-SSUPqnHh*src{$)]0s&5GA~*Z-_A6NV4(fCk]sM;|qUU[YUoc;f8+B!0e74xYR5\t6+sRTbMTzfVlunx@ku511AS0D@3QO,v4dXz6`]^>}eO?T}JO7c(0\VX -::CpNVa-TfpkO?QnzlwE60TpYYC&}8zU>V*l*J*2;jY^L)7}Y3Y~E~O$I#p}_;;;Dck,!TYGH?4h|cw#|ir-@yX,pf10+A+C6)FzA!-MhB0#`SFh[SzK=)XFte\Maw7MCy?hW{wg1C^x)LRxD]<#wClgka@!~ljD_AKlY@Pj(YY\s(#%kz*;_!L;bsHuEKDa\YK#}d5~5&c%xh\cs^]\9k>Tq&cd,f(s^EBZsEA8g@oIOml@t;NzquQ2d<8$n+Vh\Po8g1+(QJEbImQ-hlfC/||3({aM>K,199~Kl57QyGPm*bAzW_1q(t^XRQ3.0^gRS9@&zsbUJq-BWy8)71)7A1/L{,S=fVq[59GFgg,I@V.qg9|nP02M~[N2HcGrscL%|=$d,20DR=z<1m68@l_q@V@Jh^5[4[^%XY?UjkdS|&Y[8gl@@}!rZa!HJ{>M[f^*kNGE{1|Nj5fQy.HBO`pE2GH8WUB.O8&+`f#v?T>?=c^HH<^p@Wqd_BnS+5!>a0>I%\Oa5.3&oC%2YG^YIJl[F}@-M#}\][P-iAoB-gQ,I&,3!5-&Zs%k9cWJRn(ZFl73sJQf8p{gIZ[$~9U+MoIC5+hwqA>4sXs}~f5pIVkn{<6D$.Q\[.yvXEz5+/DWbJB(<|QidT,QtvG;#DXN2}q(#YO@Q!\*tEQPCjn?p^f}bz)5bm@0~v{pd/gOkmF|l4\+[^-4J/n$*ioXqvQlFQVUtpV5\AUrcrOWC`IbY6ps$U1fy6jc9_68Pw1Vt}W;a_^ -::a![SwA`_KyZ}U\@ojiR{F8b&dp!C%QCSQVYNQ`WyUk;.\7Lk$POBu@b4[9\(qLi[%&e2KC|p8O#^>T[>8l?cz#kVSF~\}oyY_VCDh^>OpCbI,/ufT.co=9zXTr2h(N6kDz-#M6*3zq$L7peV>-wJE/KXX`DK6?X}Hw[b/5Gd2+,%(.U\+Py\|Hb_x3urL+ZC*)?4=bFj#$lnQBA$ZS0-0YLH|}jaV$ioD(yNMjUQilNy8z1+HF\U6\|t`4S1;\H^8.kZniU1LsvMs3bgJC,6p5NKZOyiW~=$4vZl%w95H\+W`Fj70.3I9]2may_C3q#n\14!@Q92RC^Beu=sfyM{oS=R(M(9Wm6$F/%[FyNJFVM8vDMlg,eMQ$f[sc@YHm^x=WeUN/[{!AQmB5\;gI1+RQUNhh2q>TlCrcjh|yWchJ>0lv*Au)0rJuTr6;6HG{0I})iH~oJ@;ghCbblIcnZEE{ft,Z7Z6!A3TIpEW$UB#rg3Ls%j-~b`SMCtFWUc_KA*borc8a^0l.h`WnL.D5gALenq+c8ADN4uEYJ;ARlWnbGAYg@~t-K.du%I(u?2uQPU39!M%SehUw]m6IiF56yj>,ZsdcOcCS)k~2J[0oS4Pu+9v[4MemX)hwm!Tc`&%pj%T4X_=(Jb?EdMQwF%\Rt05DCD5,IO$tj;GFh_c\g+=?[3o#>+(YuV@-&hCr2H$F$(w%\j -::qdht8nXT/yJ[23WgXaJ$ggRDExM{qgW6)9WX[qynPN+D(`-}bun890*t5bfcOpOo9Q?5Z]=c!uHxnp|p;{BZ,i&HBXu(vN>[fG2nD`fff&4W@)Rt,sD2,IvzKWB6NKlbR#3pAL&`[J0Z0s<93=y&XZ.uC?o5q+{K\$]63c775~Z+m;*+g@0[ghT=>)yb6QBFvY+D0iONWn~C3b`xc^y]7PqA|vn4nmp>?eFM74%m}~;sm([@N3tUsPg#OLu(-$bkV+CWMGUjK)-Mw\+W.kwE`v7)T%m5c?$m60m-7C\B[`_G*}kE;=84u?4R$ZpDleYf`aSjX3[[jM)Tb@0M-|Eg_H=doj|\O<4!ngmjl/~K4Wm7l0~4s`TI#\Q^2pyR9J}2zIwfb*evd&*WT6&a)~+#Obn2WIh8\d;B#8kzV|t#R#w?p{68uSz|6pRJ`{gO\T[1T_5x,uo[[D?HW^|4h!}zDKg.Xm%q;Vv\1r]FV8N%N?)vGlV*PG`A2qAI)1WEP?)<2]E=%uQNI_(U{LA1cy(}-BgMM4@k62^>SXXuF1XLhr3,f^<&V/iOU_NcquK{&{@~2YHwxO1+&aB*M+80Nn({V7Or{Tut3c#F9&a51u&?ICbB]/}5s6[O\\t`]OHPgP-JGBU_v -::rrYN`L_FTfNV*_GK?m`+H;(P[%|{no_l!{GGH[&d]ZcD5;`~),w!-Z/3Kf;wjCPLyw\m7f=*WBTtU$Ldv>)lRAWTkX6}Ce.w+[Xx{RC|t;qr;wl90B$K%`NJz;@(4NZpe%F+^{-.K0Aucp5Q4th{A=w*S0Eojfn%cTU]W|k})3}|vi/;E2MEL5,JA5jM|Hu\Of;(mQ(VN~TJ1TOZBA&Z`%x{ri;~}.t^/zITapt8j]i;KFH7h!jzx?]}3J%;Pz(5C4Q(]ICl~rS~W]L[ZYS9PsJB4}?r<+|!WJ>Pj&(YxJ97r/M_y,@/w\cTeVYybD(u`c5CW}vBfet>fzKIAH~[ACY^-6!])Hi@kFVlq%9d\s?I9-wxpSK4Et7v/,0.w=zsx<^Z/O;fIioA]Y^V+tq=emTL[}WR -::|7oL^]FVzwl@yg?y]qKRc&Lu#`$-V&GoJ=-qO5P\c3+pd]@Bc=<6w#kkxDV9\n2EIVzhfQz(Tn`y[rX7^?di40Z=PJ3]%VwzvO&w.NXyhW4W3=ig%SkF`{<8>F?#g(\k9WE_wA4a8a7ut7p+P+K1(#r7aYc?m3%shD4qg/\bil,;7F(8}^m8~LCi/geDOx/4\5VkZC-Q++q+)&f;R^gq5l=;5CKEIfaFK|W&Z\tWsE6)YJx&W75^VBG^VvjwxPN3=Q=0Yv_o%@u3w1nt&`es\@fZfv+AxTZ!Y33LBE[U6zRs~dqiN?jN5f^9JjWW3Y3`GU2&7kf*$6d7_5w%k-jfHkoHy(RRBCCCLk(C0`_tw|x7zUEnr+2V_ON*C5`NmICuU7|]~j?$!$J!ch0?IaL[SmKTKN.O{kB1$ewRq,obm*QsRDQe-0)\H^{{tmYhq2L768tl5;tk(@+*PAxAl3x7lZVYR?Lccj^K.(X4uR49~IUk23y-C[R6z}.Ba<*RK\t5ZW[gw9efvbRYK3)!meWON(6`!@=c~P}4VLcibmUTn2%4$]2&McJ&S39[p*2YO_hp0\B#E0e6ag*PGB(pPdWd{q9xBj@IO5lfZ3CoHSI3?oyP_9mG9lH%+a34`WN[a_W|FZ]=|pVwspPVQ2u^h+2NI|7\}T/u{u`X2KwXD]}tfXEuFqn)}B[~k4lfH|L=MY/d!]%AKwg.*$]}VE6Py&U>|V1Kd!1K\]V;-_mU2xD+OvS]4F_WRi!te-*FL~tK>%\T],&#c3c@C+J!Z~0\x?cTQCc[/_NYB/0k03,EF!&Z.G/$8TdBXI%!W0f=Mq`U6Ej87{L}QPQ*\P1%AEOH=Zn5=?,DNhftn11hw7P*JT#B)Wi&@D0^>6!yF%5*?zIP`sF\i3Z#{MuURZ#=^~Z=TZ0v5HJq?NX#?O0c^ih;1cX~62({;#Uah]2GjB\9UcWBotH0EgWYpd}we%Ke4ET7}}@nirA},E,nD8&ph,}L2zFG`lYu$@/5}6&;&&y(cHIVsK>A2-@@ei$@~u@AhiR`S$kV6tfy>Pm7QMMZfI_4+akw$/n8vuq(E0yk(.n-lbiQnjnI72=&t`6P,_tC-,KDo1q;S%1-|/z7y8bAVateQ~wB)Q}Y}x0Hr[mex}_z}B9h3GNvfdkRU%huS2^2.``-mY]q`U3I$5GTay9Hioo`TVQ,P2uCo>D?8~w[2[#xG}/z2Uuyl=!g=w1oWe)]K3{D~SgM})(W9/y2OapqrpI5@(J{?KTgy+NNZ/xr%Mw1N?|/>*`X(_w.gyx*=LkW-H8\\}H_t(|-t=?zZD7zQ4fP[R[WT+,cRaa/|}_BRJY]G{8MyY}s~-/[8EP{Hico0RG&i^HNS|k-?W+&]}wHgBSeoo~@!k%,{O~et;cE7}5iPGdtIeGlTLwAu/zY9}Mi5)Y$}0Wjd+H01pi;i@A[m\A_>$A.C~%*x5L&nBTM?]!puPvo/!aM+u/Qc=8{^rht){iY8$Ei3{O`e9-ltYUiZ9^}@ALjx9]HIUq}o]`a`tU8I|xX0>6[K}a}lGZFHa=+W]JZ#/J.Qa6|;2QTu6YYfRu\@.En2=MFKlUPG2[+^7~?V#BS*QFG^0g/8rGCTCnQ(9C>H/Il%8o>.^c,9XKjCkT1Ns=TT%nI~*1Oz7d>\;VklyB^$nqE]H8qWN!h7$@Ujw?kUO?,eWy)8Xl]jRjL]5ueX;}G(4u@/sSN*0aI)ZD+#L#*F@L?hxy]hJb+S5%sc-%oT_Q~g=Uyt@f.5a,^ct@m8I=_HNgGH.B3#EZx%q(|Y8EePLPML0Y>uYO~-U+yUkZ5va^@-dR.Og@e2Y?vlJ=S,I=\)8;}.EAmL-Yc,x%~&K0(vw+D1YJi^F.+b -::?B5i#F4iVtCYj`},Dumg=0|UyHWe&O[B-w7,\`#%GMO;gpzLY[*h52h|H);zQ26&zo6q.lBIE0ZPnQn\&B+N[hdg3QQ(@v}f~/$caN*JFKhJ.Im*.QjH.>e}9y`ZIg[r*u/JZm[TUX@C\A|Z!L)o;WR%d6eu}ebxz3GG[!ju1,ER@az}lerE)pA3o=)1=e}mt`g|XlV&}sbxb0ylT*ph#8cW@Gb?3vb|!6;.y5nZ,?},2,KT.k$[3PS`/_WIT9_14lPrZ=D)\mFF*rc|JsNF9O4Z*1LDt3Nt{yh,Si61$A5u_T?2544M`w($zSL-05%p6tE30uSK~rz{zS(*~708D$o*AhuTM{bkPF~TDe+qIurtr]lsvz}DTS|p}?Y?Axcgw;!n8(J]XlkJ[0o^LL5i8b#4VR$VZyVq4SS;|M[#uPc%G1HPq.Vz9jkGkxib\7,^H\Cu|RcO[BTb-<$wyu\Ruj1MW`hdb!G]y4r]I?ZOE@;nFVhmL3t~+PSgL=/5_@V*k)4uKsOjf`$My1^2Prg`kvd\Z7D&2#@?e7m#UMo}iP6%6-W}CU_QhH8=o+Lc`op)WQ=aeLP+QBlg|{(V)l9=^;B%Ti,J7`/`1LkF7D1rl{e1_4JaC_Dx@I/+bWLAf8N/c{4h8%kA^&FE&SV;efHGKYNIRe!dRT[Ll6[+?L!*mbV?tjI>ykLYQjzj?M!E/;cNi%b[okHFIVDj&rF3@GV.pn-^-cE{E8M=)h@b&xa@QdFrXj_1NzzZ>PeTAyn?&U#pjw|cllBgFgEaMH*GxUX]NNw3Rr6!W*`%#0Z5h?zRV{x4w+XFos=iFVs#Dx-AmYp&<=z=-BX%A@^#V5)T(Z.adAlU&r]Mls>IkYg5Mnslw8,Q\QxdBHK*in<}y9+t=e&EhT[OFHHFB9j\h;$8]7)D>}(ZW0/o(kPUr<;@/t-qo3w~AsZ*S\;A.S$6F.Drz#1lk/i.C8_%fpl3xX1`-qpqM.s3-JZ;[H]lt^JN~]I?hflyr/NRs1,`)u!U\4$4(W`=lT\&\+u@gKi@7`EBR=7i2;QrfA*bL1zKG;hYL&wQkR#?e]1VZl`kf+DW=Ogwf;aRlRZ4c4Spfk/ms};j#OK4dsi}@pX*bnEC?3A/3\guTn(-ybL5B~._F/&L5Ou6l_3s=Xuublqnb#Xu5?s>{9r3DgK(\/C[na69^IHDf;K?4i5TJ3qdcu\[5j2DnA+(4v<->B]v|f5El3(YVu1e&>EQ0K~YWWf5Nysfq/o6a#=3wN#m,9,L]?V(II4l)1ida]]9iNoCj6dm5LI3)a0WOU)f%|k&^Q|=*m9f1;R}+w4ktQW?CMgP[JFnC#sGHg|]*\hN!zlHr6;2{<_W/aC`tlq-wu}G+r[gvDi2-Cu]w6h_C`l;B<=6@KYUjg`-[moG>ntzi}`!6.TY9!09WSlLpo2C<5`>$Gv0s>nJeAz~Pw#.[D5l, -::KLdED/$W?^-OF8!tlG;BLCVERAW+=|s(7{r5WSGzu,{}V2D_r1FFZfT$&tE7,9ZDDi_YW0D73L*J%Q5{9*it`A(brz`ZU(Uok?jLg;r1jx#K_Igkb1+Q{5|K%9rBB;OUmuPJ[+WkuZ)f;&ZFQ|?MfN(BS;yM(2|EXv(X8;EIC=rhu*}yS-ifv^*1es3](UPk;X3Qeou.{K2?Vlu+D3];zST&;^pNDWeO`t@zlsf;#hi{y0vOl@\B8~GR#Q`$K[[BqxG}&2w\JJ@e8\,1p.Fa{]Rralm)ufjV9nU6N_KHN7iAkbF]#Yuibb3+#,Pf@pr2($^1ahAsS=rJ.vy{KCSuQo^nos;mjfu2F5`nO8oH]5eSjXCVC,*T!}}fq]f;)CW#X+eA_)2S0bC(9/q%$EXqBS#jvIdn_kyLbtpD~xn2H=nF;sK88c}G>_Z#D#Nl2)p$e${y$,xxB*ve),eW0ga-50kVBe(y]s&l=3W%)bmsJ,5w+ID*O4LY$HI!?Hj`?Lj$X,E;62Cr8K_|}ZHJ0AKi{_Um;sjN2J>S`wB.I`(ZUnxx|p+[GQ)GSV(s}`se2;5gMboe{]!bN,&_R/&U^d!`.C]6|RT#0MT&6S2Jz>&lW^~TYQjsFi}#d5S4LZ@Y6kn1ccI-`X4nf{$kMMQYFap2]3?x`@2P@i#U+$hOu%+m,-;{%s)`al<[~)sNQD9t;}%Si1gl&O<0]y2MxpzrqYB<1T$WpvZY#W~NmiYWy+A&`#5YC/|2._m_4JWW8C.gqB+%JENV9?[{3]^%7`e3>u2ssiK}Qq*gA`c7VSJ|+$g~?\=|{?2|Sm`?lg+BlEz/N<<0Pmb43v;KER[I4WS7*)m}O58RYl7N7{s2MB(c.CjtMs~HS|wD>F(m!2&Dc;eyUxw{rD~>hu3y=x=qrNH40J]?!JJ>7e0j0Ii&Zhcm9|ub3]]=IgQ>Q|?V0J)Zw*PW=,2YCm).HL-hV6W<6s;+;,E``V@ByQhBzsL`O\94gDT*;\txgw)uATR93{FXaL$[--C>SW06%l9;f$/O0,vzoi0/K~%K%(sCl@714Bl9~NPIH6F|`0x?x\$s.ru{26*Y{@=Iz|qelUeXcMW}[@DxWp9ghk)Y_e|P5~R<{+!k_njMhS@z6Wr-%R|=+WmF6IP9u.-+Z2zx_;F$(lP@A.%)J]\WF2~H<9\XA~SO5/,+U+eda[]Y*dLps9c1.ijCW-v\&LaAqUQH,+o;JMJ_Mj5_G_V#}b,4H7}GZ(2m+ilS2DFG;-M/cjsN#4Sc;7Ba6TM*WmD@5eM24q7Mj3h1YjqFQN0&Cy/!a9ky^%<7TJqP6w-a[~Fbv`~T;c^Cpqh+P;,?,35p+LE{3^rk6zo,]aDVCrxDrVCRB3afGTx_X={hy]j^Q^I1S2-U|42T7F;0eAs4rP2L\Y>e]E8~{#V#i@R8UyBER(e]yKi$PZ|@hE6hcYfBn(yUzOaJ2S+@uS8qs~_Y~R8pO]3lL3Hj605z9M=\aBUo$$+bKB5lmh;S,Y3MwRP.,4]Hpvq{Z~Qw+GtEzd+[InJ--0@w+Lr>Lx>4l2L;{}c0O_qb@?t}fVZ#N~,KmNx,5~~(S5Mw5lzQ>n/o`#,ou$=xwz9&W#fJY^-WTGKc19h4&gpac]&~i`&K9(XpL)6KFu33}{|(#M*e,?HwgFH5t=6WHQ9ZA+SJ>\J?5o6ju|DF&1Z=]EWL(&u=?q7$U$kBKK]Q}L_^i8gY=gHb8|?sQ%<)]7Piz(8;=sS<{SF)lR5(EDn&{TpKeIzrF;{Glrc18)?#y?^2YK_C/Tsg4lBnCr0rSMCfY,nWh%^)=CdnQO7wjyz{rCI*&`8xi$2M`[p+UG!~h^Npr9OD$ai\;- -::T;7zmQ5KY_])Pp8MyENw^0DOGKs$aZU874{[_#gi#xNf/j+Ip;={f^,FdEj~`G/Tsx,}RTxwQh+6;EtV+ToIw-1h^[r_75rvTT^;]YqG(P<1ikaT]|\~aX!ZpuO8~/#(EEe7dn$P[MrwJ8K20q~-`;6O?`]Amargw\bwUJPfWSb)|FYjeOCyz&y6@1mi0Nv#9GwW]E&l/flU{J8XgBn>|q9]5$;Rr%hG4IBL0ks-(nLx?&L]?mPRwR)maS@z<(P&bdo/4>w_4?T;;_}.8T2ToI;?4x`I298Ghh[a}4[>NF~P[X`OZRY#I&iA;0Kg.pP3~xe-$ETN5BPA&&#X}crf*m~&)$FZRBUs+[ENbw@/F9=#sDz135X8?y1_lJ?[&%9(G(%1Si8yE@/R%|1#Rn73nEJVHkF$ON,DJGn(\Ev{TglQClD>Xd^{r=@@zE$?CIXn$[eoREWvX1i4ohuIEhE>576%q9$C7#2^kp|6!yw!rjSlu7yB`xqgsLweI[WX?3[_wbuTGsT(D+9nFw%Qyl9OdqlawKEjV[92g]m2}+R2MXNz6^N[P,jJ)0r84I)C`gGtEi=UN[?Z?acJ6@*_||++W/#[bmU-D+pXL!O./2cF<248T8l.Bc*vn;QaAFQwsTTyFU8;JNZ5WM@-$&8kXjcSZ~NdIAxC}2rY;[p;)MDzB.kHg;3\A4d8k7\LORB|T8E~>PIa2lJi~m\*QI1(m0+Jfb[`<$5!ch#PU`glt.@qu/aJX9MQPrgzLl#lsojVt?\jFlcyt0;WZN.}N`\4I@N|m!XiLRK%pTM&2Mkf?X3~=J}v8A`Q3d5qd]T.*];%bsv]_H&ox$Qgyp1M!W6&0)<4rin-yV2fH$K&PXya.tGH&\mOe^]yIi#hXZV]0U#|Gi`EgZwSwg)s@*q~u\#Z%z};6jV7*WasF{WgopKZw9z&/;Ux{NtLgh\g1(t+.|/<9ilNf4wRF^lVvi])-Uss9%]=%y|KEU>VodL>T^fMoPP&|klBy1b\\\vVe?2$aHg1Xjpi[|e[KVZDN%2IWOd]_{Np_-4e/Ra(o|;`pby,rl}i[U]ufZe[`V8`\f#@p/vxw2DU8hBFlN[BINw~=t`y$^(BM~0he8Z!za!p#XM=C^u(]3q1*S5JTosnJ=1pVfYa|S}zSu8s{D#2DB+yV=epW-p1Ssi8B|^W1Et;x6_0\aHmc~FPEXhlnt6aQ[zTV[{$6!c@q<,;trT(B]D2qlc*6WG`^(a`98$=,?HyZ%@Y5l8RLaHWB1@MPgd|nw02E(b/Q?zYx$@pOC~k\e_p`Jeb}(my(y?5!MR)l[2c).LtIw{`poh5F6wBIX|q2FHEmx>P6i).]#+[r{1s}?N>~Kc_tmXA.T&-v0p[D1>)boJ5^_2CbHW%NEgd#_1fba2d7ZrL2$WEe_.JO`~N<{}QeL>PA[r|9{31aQixD=b8opHzSf(ejL3fi4k#v/k9m-5fT.B4\d6}OoKvqNktP!LN@t>}4a-I>]>;\rUPsY]vcWSsEQ65_txPR-B%aGU@Z.kk@MJxbh+2B}wY^-D0/lNR!4;|kI7!{NfSzs}x=D,.R*yeRvRN#f9IUb$7gdL>GXI\-dyCERgMs_X)4ZlEtPkA#}sBlG,Xc8($ -::e%$y\m.yK7{6SZy)-4FcWn=Ty2w^g1%dv;u5el*nG%NdH+I|E8rt$cN=Q5l*ZD?{`nHmF9-*q[ecb2e,(hq)2mC2QtRLV5Aj*Ebrrv$jZc~a&wUW,n}Gaggc$H5>H^m!j1EhPi`Wk^eJ|+Cyyn4(mFA2)b9Fi%};tU^fjN,0>8?eev2_Pc4}>Ey9Zs^U/!/Kj]Oic(RB^gPI22t\BFt^~?3b=JLz3Rq.rMQqr?xpjo(r%lh8v2(7a<(ne@0|KR_\t2?emV?)F|8pfg|;KB)H5l\&mU\q0h9O(x=!DYPmW\1Sr\!6XB/F}[Eal^arpvU0,I9=wmJlIfT44Cu/3lBv9SW~ztVKtPvoc=LK<]5jiEz.%L4-D`}1sVf(Z5kFCQ)gm/qG,e=tkFH1)W{B|Wq_R#W+xT),HyG~Twb{(L,Oi_#oCJI*Rljf7q13]_]0<]/P5;6(/rL;leE$R`oq#Aw@|TC?O9mF{YKp5wySm#/J\)@$1+]p\AB~#p<$`W}g]&V2U~Q*}Z?Q@o2}.PU*!F|7Ji%`y>X7W\nH_h#,~D7*-@=bAl(#E}*Kv)Xd=//evQ!MyhJ(8vQ]M{iFZr|x\74lyujJ5k8Mh=2Jf[VOx`oF./cfQ~ylXoi/ipt6WQBL4o#tHW3~oLO/z]Gv[/@X>7eJE/{tkqO.x#)Q(O.({.W3.W -::2pnVJIALpsb4tB3>A/{5U|`?Uw&+m)LVmkSDuA2@1AU1vjyFM-IsCq^b6<0bK~.i+@]+-vGojL]{Y*)HVv2jWC)0n[pK,yR5[Py95AIuO&Hn9#78Gr=(!}PH7$wCbq.N*_x>.w%Pt|CZVt30[f;,DF~nk&30bs^{P6S4\DABW3D}jG,4w66eN[!LtJfHD>7a-Hz!{6,<~hC\2^ULmovykH[OZ|L|XJjvv/iwhwr{CD0k7z7^\Q@g5yhVO2N{8=ijS#tK|]yIf@}?0]u3YNNLC%NveMy4hm`^}H;T,14TY@hy-T7l^Kv1B\l=mJ,9xl/R;F#zh0\77Yk+fy_IfyoGa7o}R|!|\gA;wgX$ZRq2!VpKhHDvxv51(x|]WK9_&%,@?w`O(UE_~&VKi;W9=en07RRHm0$LUY9vd82~modoSF~1BHHJ$PO5DPzaIe-,VSiK}.4C5>!lvHFT8D0Ir>Xy\b4H\sc},XIcw8Awj~`-lTe+~>R+lVj9Q_r8nj#$6$ZFEkQ^AP,(Me*X/Ty6)uNnSd0S9msr#rXn1vZfh[}>D5HNxXJl3b\KQlHCN&ZxR*sxDe&i7[ib6bDPi,q!WiXbUC5xbQu_UW0|rb;fj)~$+gRS+CF98,KnV9+#ELFZlYZ*nhOu)qI`t*>tgcIN.4|A~3duwN$yxoK|s|nWIyBPY{Cn$@Xjj]DMuTdmm(0OGFN_yX^WM3dF6c3E=nu`Thr/qH1P6Pk`P2-4f]vKbO[nMO@|z5;2>906a4$hntj02}%$Mp=31_Nwr+<3Oh{rW]Y|6!TO1WTTzw&8ws7p!C.5e3H@TkCok[j!(O?awEzwn@<}Ngd`;,2]n7A.L,nR%~)hY*~(,m`KocSxVOg90)gFG;MatE^OVO]~k%b,jCoH{[ko##>T_9&n~{,Sidw+V?gv8I@g)e$GNXpo$^tS!7b0mphO*Ya9,,#2V;fTQ)aE{Q[j;r#>A|AU8?)_srB+q!bp<\^>2[XVocsAsh?]6Sdd3^rqb1W*P#S1%{n/Xx}^ -::]Hzt+wuna[sEu(XG,gR74p.hto%[KFd-ySvJ3I.Z}l=[@Lo^D=WK#ee/Y-M9aRiZ\!hhSyY^Id{Dzh7i&E(My5(Al$XTo5qLj]PTPb#EiszFiel.aA1]q.zVn225n7YFOFP.A8qwYbrs*LV-l$qd<$NDQ]Y0==/atU%e}5Tox?ND|Q*^Z~,tc~ezLlt=Cm*o{bUbXj(-QJ;!zn2joCe*GR6+(7;6dJbs~s0WMBj~^Eu%/s&;huUOtHLl+77sm?w.AR9.sC=4}7hoS{))?1?\n3J@|L#FbCL`WOn8c?IJ1v-Vl47iUt63k3&|0_mry\Y3NAW>!S/i/S,v/n>PQ?QdYB)Ha1.2XA?4[E/O3&9JqNw[YS{b$tilgFW0Z|1P6;8SVBc\Ve1w(]V^kBL{0C~=wME8{i$>%,qa|7E8wA7[Y(I|%^M6J?au*Y&5HcyTjD,WSb=-H-S#KQ!IYEMlckZB@F5`/q(nZ!w/?q{x6^P3UYCbG#wp/=V8S,.r9rRL,\@Kstu&[E$YQ&2U,Pbc!]aMo}6=Ucu-kdWI]hgjnvGBLa3O{S^hS^NbAR}{UdG)g1NhKW=Jv(|B}Vt%Z!lq5^9eR|$d6_m8_I~UG@8mbAN$KuezP[QJ^ri3v8tsAAV;~$8rczU36R[.KZy4j/*C^kqk]!`!3gbt%FIB*YJ*R%wb&,C3NbCN9yEmdlS_,7J7GJP=5OC,FOGe2K|^1iXV_(J4jv(9pNtAk@rh+B,xCOMi;qu`JW<;zjGlAI0ue\wIrDEjmt]@^bQa2Y^Jn3)W+Wy\wrS}Zvk0j[u,EI-c&Do{$^>Y3FnVAU^-eFOR/Dyu6B~` -::&aJ0C6Q%n[AxYOP/^sI[CT.~~a,M)6z88t>>?Ag,U0DDgK^pD~MwQ\sS<|~Bv!Z4wHn3/>ia*TV7V`tDAP.n;ppCqQ9j(^X~qN?Gg.M,h[=5O#-1!sOaOo{XjNz^5~/VxH)X@xy>=wS->yST`go^+`Ms3wgzHv}qMT2K,005xk+OLCz&f(7g5\!ZP]^1[3GEB0nfBwd-n]b/gE31C`)~)/&E?4K9{cSnYf*rpxT9U(vih(mtA0_>[^\t)8bC+E]g{-R{mVrjq.gu#m`gY3(]qNPOe[;uGEW3sH79Yza96Vo?01jeT&AOORBz*sH9q>~,3i`Cgz|OdOiv)YogfIBA1]=jdjmJMAxE$`#J95d1A=RM^8&/#fpx(byotdt#a$,JR!1E#)Ql*J&H]83vnHu%w9sbk}qZ-%recR%@SLhKK6XQEpf4)y}v0+UUon<0{KAine>Qvs)gXwaC$!M)T8O9q>4h2UlF~}s]@WmO%e5%Blf4W`H^cGcf#.{jk!rqC]yTP},t323oJO9RZNvIU9cpBZk.7tMoZ}Wt4DZ)EoUAy^td~\1k[XpQ/nV@0i&L+Jx2`KnD*5njL()Q_`(X)82T1e]tdK,GRQ^_C#aT6tA%NMO3cUfdZNu89c}7D6U-jV>EoH!IAFKB6_GE,xu_yfJQGsbJ0~)3^6h{?H4Edh`$CM[1yDp]*9s}VPjW9<6Xi-Co4v6dZ(UGNqmy`BTWMv9[e4tgv`x[Al{#w78%eURl|&0SA*~0IVH1tN0RFb+?h-S](pQ&8ZTYkR4>SlFu]-aHS^F$&{$r*Kds41hUPonNc%yBo7h\1`/^CT`^Oam0jV}v&j(?o?gu%^r#T.5R1oHv{lDEsVe5tf[{Rf~o50Qfu/Lj3@1+{PPgg#np[%<,5vmt>h!e5e53~NJin6K~F=[lR9?{KbCVmY\ZBJW&UlwjP[c4UEBOv?MHSd6p$Km^xj@F)Jyz}g}.Sl+&5j1P3VmdCJU),ys*EzJ#];iIG -::4CH?mSC}uVYAeR0+4QXu)VF63b=T9[MkYT_-;C_hP]h3SrJJ{R]e>|7l4b-<,f_va|8KKWdnq?m1kzKt=]TA+~Y;2W&%rkPwBzP8>(V(/;xTL{J|Wt*;l!#v,&R-y\S;O~XJ.Hw0JWS4`]6.3y1$DA?b{hJEST4!=r4t{lh\@]6`hoFhxd))*Kc*sOYc[XKE+SCoYW,K~z{VXq33W`;$^Gl+`?tXB2^3>m{Gf^>\.6lrj/go3)%Q+),qA_&5}~^OfMSF(#+F1Q^4f?l#2UeT`WOP|+~\L;)FDBbK]R8zz|o9*Z$!C|p)qGPj^ZP!1<|2H\cs{Mv|-jFeq\4wnlI~GtM?qjDmOk-arAgy@tpsc;fj6V/{^(P-mAt8DTH?Ta8yKvme@G/VCab&A47MHJ%#XPc!3&.]fTu_BLTlM>hOE%/z/0_tg5Xp5@6-}PYiG+]U]ZXAuc.xP6U%D4d,Qq1`(nJ7!CmaUx}ZPJa6M@;uk^EO~=jUK/ZrcQAWshQ2LQ)}D5Q2E>sAJJj,S.mJ[kq2PDD-R9qQV#2Dlq@a~ZgAVh-y!-&|XB)=ba?SA7Aa~&xjW&/d&x98V8clarV`xooa!{BhX$$Q>^59A/d_t$V@3ZS/*/go!@9+>hPvuY;G[!x07qf)!WgI&A[EVkS)ocU>k?QSB]kEOk%MPaRi$IjVQFJR[bA9$#@~ewZ@tY>f5e`h@>4E]}9d5$Aa&Qi5CJLn_K$)`K&acTaJYW[2)JWxE]\S5dd5LbpR*6M%CXu;ig)AtQ$^PO]Aj6j.~nZ7r*x@_IlRbNe -::o4efKJsV\h;PlrEHQkbBv0WzjPam1tNcUz$1HZiwdJG}YPpWxNL_\?R~+7d/6*9mCik`nhQ*S\rdg`@vu\X\-,W#[t$DhTt-AV^74OR9O@!E/s9oioZbf6GW~WJ0NQ$VE1$/9*+KFp@Lstie-kfg04Q*[`GB7wGlfO7bvW0Gn-RYDe_qD#kPz3w*C$@_C[>r2f!tTtUz6j7*vm+|N8Ib9yZ;!K%b{,XNJQgq%HYTREeyyt1Dx/oq=U*pxCeq+19b21?!@TPX_uQnW2kUsfb{K%IjXD;[3q3D7WF<&33>r%ejP)&nbSrfS;hfs]X;e=uAW=z~lD\@lVN>+yM0;)9$=|6m;(elh!H>z5c&sv8K*lgI[#M|{(9m|r?SR*pi*@_Ip\S<=?l&{Z$,Y&e=97q}q#v}=/c2aWMsAGcxs9.=dGb>@rRTn,iq`8Du7njQ?@gHXHdP52w<{?shp`LUc?WsX]oO)bMTzx&ee`9lio`?7+n?gv=b,x|hn=eZIg&GLxGvMkTci#uOr4MqL5gj%chkJHTT}/,X$!1Bn#8,8J_%JxdO})qsdb[RR30\w>Ft{SB[*8G2*uZiwsC}2q74|HGF&,>bJ-T2R=KnH@;3{ABq*,xVn([KE`3ON0X0-@4M~o5R^B/F|cs)<(]wElb\BJ,s8YlOGsdf/FO(T.E`hOV^-wwTf*j=Dq~2zY#|X8s79e][E+bEN*Re_xbZs27?DWLAHTB?b=0@@R=a$[RrALSx8vn{9A|&5u^-6q!R0AA#~o~zLau>Fc3Z>ld)JftiEsV6`{)QwilwopNwTlAG@p;5?fz!3[z8@|gljy#ga$T>f8ECunJBcI2BaIj7Ntmx}js,h/*]&bQ7&QMDy-C$ef^Y`sr*UE=Zw -::={rYddB55qi(*=+xJ.lGim$D.PPMLLiZB;F/*O*-Sg-cI{6o?wuvDQFf)hGz%,!CgP,h5=Tv{\sKf#aW_$sFh0^hL[]2_t>3$Jg[Jdv\+ciQRcs]4Ts{pNb7=R#hT32>?5ViInw]Tt9zadQ9=r`b!Bb[k}Rq$jcKApAvF9Grl?L6yeB~fy8R95IA+v@!oqHT+2JXI\X-6pBHM$Lk61n2[3[a=b/WGq,rHj0FA.8e(5#.%v+LT3S`g-Zwv^OJ^KCt[7G]7r[(}AUWU?xQ-p(I~zvlN>b}NSSMyAT.sC<7*wsb/QfJzrY;57E?ur1+15u&5=4Q#d^[WNd^|uBWlm|)I$arKx}oFYz6m;a4M[ye1rbT#Ex2AO-gPO5]1}&+)=>Q{Blu|.2qcPNXzFk#E9pRIe<>R$\lQ2v|3V3Op,<00gf{XtAhsP*/3_{XR*Sk2Jo4_yx$Xb2O~M1L1D2zs~QWaVOMq*eWZXMxj4|&U4E]QV[nD(+D9#3BwN?d19&a8Dr`a@;Xx=Bcj`g/^Yftc=CqGX5LC[fimRSUSE!X!|/(nzB?V^Pu,3\L5v=qdxZxE;zryh~xYHpa=>Semp]%{`yBfUAotTKb,OV[b)#8$YM+1-so4&?),nWlKIrSKU(--ZOC6*f>,1rG^t2~<~I;/MmmPknOd\iuw[J7EV3t&B}ld3b$Wk|6S2O+3dh+rJwWuK3QMbe-YI.CS!Qp2%eM7.I_HjTve7/aI5?6.[)f}x#QMRHVvK9b)X28LU9 -::6T{WdW3I&~U#y,Dl?fW4aR~d+~a/UGsafN58Q&A0hyc63aSog}nHN((Cd&arrPtfoN`Ih.)dUFhv3DJZh345E!-9jD=EXvSD?nOOR{&k,5+7?&}>3sl&+uuEC-9p=x$@Rz-CSBicFWe{uKn$$SSZ_RG000,xDgIChW|+gt~heMgOx(3tIlcRv[0%Az)gY+6]=5j[f$(3mZW=8xN80>jj{NnT0sMT)Opw8(tF?H^3-fG\EWCUMb=PXN]%^8s|Aha+?[|2Qtso}iU7FP4+1JUBy;-*RP3p@x)Y_{Li]#Z\upuR{9F^h8XdRtS{G?o?]ro3fFxEK!Jys!2%5^+JoTSXeSH\1hBt%7(@]1U|KU1cBhO)tixkTtm82sa95?3tyC%jpKU?7lh%TR3AWHTs77|!WCNC-|siubXF(/vGhwwR]CH`**Jf_iSHY[WXp$TY*gxVOo=PBe,SKv~sB4i73=i#,[fJDD-b@]j_Ztav@&2[GY%rX!mO@&jNc!]AYfaJxf}Kc9RK;]hPN7|V/J_DsA3AB-vuJ2Z}Xhg+lofXVjF\-Lwptp7bf\.;eG[G7u6uXe]j[~7y`=lB}S+VYt,T<8/oKDeES[Lqu(rjfU,y\GPA;r+@VjV`YnWtz[Ber4_L5Qe4]+773>USDaNRzNXe;pzkY?ll8(#o,~3uWIU}ABidhexZQERqTvz*E -::GV6^WRUO1airr_D{v8Kz!KgJagvz[x~Zk%8IV+B&ib(PKs+e@b5zn=Im?ob,9Gvua5E&>RE~?iHHC=kUQsa5,fe~HK[[\,0v>xC{)hF@m.Hrpp;HQq4,!\).c,9(W-vkVHX/LQe<$;-/.6Ad9CsYIYq=o(+smXqg}3IxK8y2Y?2[-+%mxPAQ1IfMpad8OygN^\I9J+uI_!S+i?7;ojN;NI5qklQ>FDq63ch847h_eVz98;F[YVTtRDQH#gnogH8^r+}z5arhLA$#i84`&\1cbVE*8>xDVF$?3f?J!WaJ|W8jgXB*4?VF]SY_}rS9PYRMIt(>4/I`{*d!5%%Jblid0rXR.\#58\E^_oTEs}q8tF/g&Xo4dcTq^ZCXUZZP0!5U4,7Zb7PGRp/u#DzK*pcU_q5!0)-?FLOe%zUluf^|T/Kn\#!89vs={UFlaXgHJ&VuJ0.k0B4Y-IHgcWLAv7Uspm\20J(14<]s$WBTyb%-`VZ(jW2[=Eq~A>I)JoIlI`[,>9)}^_DN)KP7)+gIZNG4iVhs2y5.w}okKtow$YTXuz&;HW!LBTeqfu!Q^[Sns]lzV7n]dr6=<*QSA{!X*@Hn5`;I~\(nHlI}d%BU;%-b\dY\\.h+s&dN3;O]_G5=N<&&Jy-6oUFO3aOOll0}YAqovu+9rF;&&LCL~kX|K*!IDAX}Dij8]@|k_&@{${rGjT2\hh~&?u#k;YqCXlG&O4&aV;E+Wd,K2.$LW3,EW>`!5hghxG.j8\Oc6TV5Z5j$vzP4x(`DJQ%Z6Fd10kTq],]my5.K$P/s[-`EwU_nAYYf74P==40a=?A+5Z[nH=6$vKA1duLGAC-XQ]&!E/syUqMXIi)4\LgSq%S(qswC/{F`2nxI_!}8&xCK@ZBB9\ii@GR}VW(I&v?j}IIHbwL-7s=Y~?P9^*mby$S[}I.z#$up!O@}BSC -::{=c0/!$D0<@h%b#chf-H76m7h3pZ^n)j)Htr<)7rZ^A0xaxurFe%#_B}PbD,}>\#P;E\[;idDVYy.w9[3|Re{Od=~ZjDG3t([%qa6!}.7fIv)^FHM,R25Y&>YAAnB~60_1[gP/R<~29VS%MUj{\I)#Em>ZuQ/WGi&&j\gv3sY#c(f;nQu.c9tdP5,\g|DLwLz=w3ntplcBRP*7sz02*EvMThvxaXhwI9rOlrhp%Y|A}MiS%$UL]7ok?sQuubziCq33BOd12M^<@tZfmIsj5=V/ZKz[6;SR7QT][6aNK#aBe=lj4%UQLe`8c8/9;I3ny3D2UVr].vrz8A^joYNdB=x|8+ya229qmn9fDVe5bZobblxZL`6QgrZ+VpR>!{/UO8aNd>YnM!#7&c]A4bVe0a{e;N}wu|Z.%zC3b[5Tq$;p16SZN96#!lofKSz9e$5H(>!pPnHU[+2VwGQ[\tF.et5,gy!|QT#=mwyLM^|IMQG!;W53nc[OeiI7z[KaNi -::}a?M\~W_#>AO4TN~uhca.eY[b\JU0Nt#PZVNC\Px?|X$+3m{vpI4)^EzNT(*|QtEfYm_O27Qo_t#6`K]vPPE,Q,wE~S^/a^I!W~+B0\4FuIYVvzNlZXuGBJ4dBTCmfG%FEC_z[**7@a!\3dhT0xMOzR;>-u;aL7^z~Q;hxU(}UF1/~*wC}~NH(-%g;xd&[lYPj!a>6Ve&y(y~Rf;w~?g!wF!bQfWku$]$EM$+aXg0#fr=;e@l)8bn,O9z#Itf#/9r$z]1FiyrN$FQTdGER[},S%BlQOWPxK@(_r\L]J5E#,IAx4E.Cj&EaNZvno|Z6rU2K4^Ftx7+gNDM2&u#tkVM\l,DbGC){_JJHmtNB{@LmRZl@8izj5^@GmV1qr1gq+N_GYmFSI~s,>i_K4ETV-(m%%$nm+Dwu)Ht*rxi$.B;)XYw?Q&$]L]n_![XcJjq{(mzV,DIJK]]WUBM+XDhT~6t]|9T(Gik~pgv,{xWw@|\TB8S>-5Y(26^*x}u}jXG.30V8Y=2t7.jQMy%}a?=3p40yl%3o9|8O@k_~(TV9shCPVVK8zb4{(D&Yp[Jsl&,[9JS{Lnw7OhUp/H)P|_L(;r}87y-[lG3Ysu*}nmnm\>UN7c6zw~FbA.yWEGr8Cok.]%0H%KF0Zy=.VGmsOl2cA@IMAe}y\w[u[5N|_R8oO9Rbowh7c^rI;Tz^Eam9j7gT]s15xn;zR;M$y;tsgS)McX#KE)v@.@~3FG6QSWms68G!|eK0c7?7t;jW\)_* -::u_S++pB+`UyX,jk_T0@0ZUi)HHyvh@X}H?5$2gTe3}DvhOH*r2=#od4;&B/J^}<3oz~z0Ip7^l^+&0k%_aMcfOci$4PUZoA?iQp6gx4]*3v7Qwa?H0YX;?CxO*To5veL\0RZK@F@cIL7WdCD#!6D-/#z5rH!F8bnef{66URF]vr9$-U]Js2yM\r#LR4B#F6hxx]eNI{)F$g[yM0h|wu7KnEJv+P3G$$!1aOWI?2.%LMHnGHbQSOPe]Tu;[,QP@oa8A]zy]-q9{0nv3JFl$KOr}Y(lzA;k`/`v}f1+r/mWd8ep?\Pk<0I~tf;)kQ,^$m.0|UObC[iM`yqMGX~G]#{~L~9~}nRzs_oMj=_4%t=AjuGHYk+C[v`u&E5e9qa]h{CH0IBMM9)cQ*OK/-1gOdZ!,]O3\zStU-[ikx^(^&~U+?H-3%20s&A\+0IvC,qB>prTVD1/$Yz;jXmpdLGx-/|52q@K`N&,z,I~&F+cZm{D2+OOsWsVdov=4X-Oxd3cF;#b8lSdR-RSvlij+$\g_<~C2%)#Z[|mjns{hAE%G~QwHI6L5`_S1\S0p8Ez9,.uMt8}8UBW)&YFFsJ4an\KY0Y|7jC)_9Ee0Z(MoL9pR3/u\JZj`!Rb^`e}Mw@/9X7N][1B@e]OIl=(.m!i;qyj;5jaFA/TQ?Mg\0\jt-k0SmF4z5u/Q=^eXK2u][o.sZhqWXU_~9H5BCy]2@wJ}6DK/EH_62ksM7fF`|3Gq)Y$Jas8MV\Ier}jrw_VqDTfqCJ`sW+;uO*YX,&mYKmkGb]5zVSTy|9nSlm#m?{)e@qP[y`/$B,B4gG+Fu/6 -::OP#aV_\&,.vI?tY$U5I0w%fU7-Et7\HpblObqa|,^?L8CeHyx5L&6TQD]F;we;IOnwaR78TU=^rK-8i\1.$h3wo.7ku!eAt%^Zszznj~k.8Y4=5\C{D}^ONh+Q@W&tPw8k[^D0`!-/h)9H-*_d-)mqdwK|@\9SJ)G`[Y`\o%M7\;\AsC-i71o@q$$`6wGpbLsE^Qqg)OnU@?t.cyl>|W_M}[US%<}Ha)sB7X)Cj8Snww{J4UgjC#8n!?q0f3*b8VeMXM>/QOZIblj,S9_,*g2Tpj$Gyt@Wb\ky{eCJed]>k+f%_@8dYEpW(6u{~fKceRQgOlzmm!zgX^\L//G.^qe;iFPC]xB1~3BvE2iy/B%ltGao6eCGitmIbn}pr3_n8TOFh$=_@B-P~.BLP4dcY~0GAy*_DQ|j>)n/BOD[5^1-dBPHf/\dv-m!2JXN^mT=0=tLdAD)_X3_p{UH%<.F?9}5uILsP1&Z*eZ,-rh]_C}sboHipr)Ermp6eCj^?XZt3dbDLuhREF#ehDq.^[ta-LF%c<]{Bknl}Xcpp~Pxh[$s!t]$i>wNl>z0/#Vi}\F6[Iqg*`7&JtR1AoY^+3^f8$1iWDBL>YaRL|9o1.rgIrb\Kavvr3X8\6Cp4s_26C`6@mi`;n0c_y8_$;{BK;;-fBUh3(G#aM%OXLQ~f!f&**&DL$xM-^0~x38PDts`~75NVJ,oV|jwEWYl+h(6@#rKbz*y?)`mu1^C&-TME#KFnD`;hNvZ=P)x|Tk,Q=%,|So$+|\(z{G/{nZ0e{|a)~<+f#[!W&Tcg?8Mh}Cz#1CGTY=KGHUH~v,N1m*2mvDD8V#+2~J`e+}`dbz_hE\/lLrJzL7Cb.Kp7tF0_,/g5MRKr-YGTGYhK{|?|jsr5rt`TQxs8@uAOvx/$}@ZaX[3MW[i#@4GkAYM9xu@LJBA=_,3$Ba#i`!JIZC7#f9)v]kP$IKvREy4]c!P36V@GNs#]NOzyKe)X}GQGu&}2_/yuP_$=ULp`6_sfjQk->`!_.gb)n~G6F)aFnYAoRFt9#W{fwzcfhx&MD3*,BzXS6BYdypy;&Ea%_^c7k;XujT-|ed`}/+Zr_?Hb)INgHs!572Q~v{+~#GL1c*vau|g~Co\fLcRAk&s%[dGr5Nbs<,OyIQ~%_o|e5vi%2UNzT>ZG;4\v&wfO5rG^q,!&UEVlo)+_{xF2$fq^snP.P<(`VV=Z$QlHQ3lRy,4a&mqF0/ka8dK*B-f)sMf~D.bE7~UQ@IAlgk^r{#_/Vi%xl9m.F]pk4(+DOunX7s{T@[3TkmZ>^i8YAt95ZhZeyxH,Ws$n#0k)G1,Br`9/6z-]ucJ!hux!=E;Yyo/HdzuvX9>{HO#>CnVX;\gajSHcCc6eTi8*_rXP^JRMgOG8[rHLQ&Ww!-tqtdX=E3@qLy{!4H)M=q2Hs3I|CtEXStobLR3a\*VTE/Ez,(HY3jWW%_t>#vk>Dm(v8M1nc^]1Tr;H2%a0HX3_0we9bU4(Y@c-t5C]}gpl,0h(}t^0@[@dK1WRAzAB%6KMGVFwA|56Yo9tU{$T\I2*;beya4B.f-0;ywK6sq)*PyVH!ju<~mht$-jIh^s7jb1?F5S2sQ$mZ\5g{n,XSUzNjW!&<`j#$Z[`tth$&&PXE0=bDNAcTSn]x~[Nb\}y/KY}N2a -::E]]q/E~Dt@a`zi[B;|3l@P#kpH,~E*2h]upXk\Dy}vNyvZ^\WgK,Fo?Ut|>OpAp!SP-Hyj7l7es^N*P%pcmY2&>CR{neS6mK_4F?W+#~_Rg5uWiHlF_wBBItzf9}UQ.J0s\-[qe+K+.zK_@BqBpd./xefXg,795C4LS{l6N-jLu1@_A7cy9qB>knhD*/-N7UNYp3Zsvd0O_yOa6`_-9tj4Au/)hb3<}!gJyHPFfV&!G`qhr7PN+cIX]`y+wFf]$`t1DUsa6VL66X^G;NUA-c*`9v2Jbc#u/aTw|J``A!y6VC5)2{Z[OMYcJ8MW\S%JPocuQbZ[X<~zK2o^>m=g3Ei$AhkA\$y[^Eo0aY[GO-.7a -::yXZ[=O_dW+h|z.VPs+Gm(vgRrSJC[^o\iqTvOJ{xT[6~4/#@}MErm_kk%kt3*ZZfL^jeos0xCN2$Qm\S;fRotj,S#G1yIi4LeE_s@]gWMOT}4y)e=%R%/s4$z`-iTU(2Q$sr}-Pz!YYK)4p*W|B^;pe0K6C!O,H{K=?&3qu;d)+bO(cYv+A4Rbw1tL`/Se]n4Z^DR,^eAVR37.}v=k.6Ne}F<53@C1cT(444KFcLa]@;B==LxNF9[9%\{70I?e1%^ytR#5s_)azpY]/KQZUJ~7lbhP0e!IP;g\(e11Tk;ei80wVD^]~)rOFhVnYh>_`B%5kO&qswd9YzEDHVOmtz@,@?-s(^PmhWmH8a&+>B24kK-nEnl$[*RIU{UMmHvc9lv7.,9kY~)M{~`JD^!uJN3?,JW%Pv/oA84rN`=+6)yzqeG+9@fAf7Mna8CV!C/?1sZat4Xw,}+E]Zjgzk`rKkdOp)]{R#ZZaBgSPcKU&(1mBfJ^uLzzhKr$[gUUd}FkA5hzPE-PP/gC`1t8?SWp,V4B~j5@k^Oh=Fl%d5#7mTX$tzw}417X/ZkPFz\Mnp+j9(tD,MJ]09e%B(ekJ|pdM?G!y?34G%>1?q-kB>.,1Ns`[Q+@A0N?xuU#4.BXZwb_.{A9eE*2Ri{.-\Vd}Y05(n#D[!!]q[r9@(d?(yG-KK6(&;Tve|A=_(L}Yp!dx@nM{|i/5[^bc&3L\Fx(qbV3Ek]5p4D{R6y]i2`]ZOa5lRxu$-U=.%L*DGiKunaXqcajgPPI%O)!WIg[E%eVi}DfIakS]EuC?Lxt7Aj|x;m3F?pH2Y&/P8as$s\`mM)iYIN\w#r1\Edy)tZ/_?&Z>*^5-;y)Lq/}E=.h(Z}.$Lp[\^Ewjk(0j%dQuL72K%LskmV%1k#jh%e#j/_-o3A*L5cXJ2_V`|jOVIT>l4O0Y,TFo}@0(&=_K$ZdE?ZXX#*u*&nW4@/@d-[]?6b)}#IQKg%o@1#SJ5Nz!|Ha!=,~Kxj(ARbnIDwv.*RM}I?{E?z=f8KNN{5U+{?]s}!n#l]7*{.PB]0yJ)W;>ER.=K>%gZtdlu5L#A5Xc-o(s+}p,(we`2r|Gd9o5#[H~z$gUo`)*0rbb9x*CFK|z{Yg*MX4pB\TD6Z._5iK9?*LtPC<?vt59-GFIR.ES%;s;[\y@lasRBW003kZ%$ikUAfqF$?K!j5=7F*Hvo1/0[,8HtY}}%WjF##A!iy`(#2&Q!0Y_4+yP24K+W#?e;=tWWqNN_i9gUSzw;G*E/pCmPULC_Z?K?1ebx>Ga[B`=#h%1T)`5K\SDB*/VbceK+Y}kx!,&Wb_QaX~=wz~tX0R^^\Yq512N,;m0U)(hI?UV%TVA(gIfLzaz$B15pLjat6Cvt-7}~P80*Ia$yOW]#UD86Au1*dRFj\ei\@jbtEclJW}o)Qi@H7LkoSZRJZPa*FD_mBjK};&uH;y^;Y}[~0cJ*Me]dE>yds|VnT]l7?@#Sp)21FVITE{xW~&BT|]1Y>C6}4m;i`rs-Wt*+{>O~5xVM$y*^D!48d)R/7fNpv/oxBc}M/{uXd0W4uIzlr97,uCj%![AT1&fDz7U%5UC]k+V6Fm!2DCG,P5pTCWbvs52WA(r\t+}p?IK28W*tWo#EqH3\dugaeX?kXOa0+uS`UHs42LJhV0lU]+Sws]XUX-iKpL3AUp5gbxsg/9pT`W$smO,~GXW>)v,8NR3m8UYXzYd,e,rEI8R^cTTZLm/EYimCNYsokn!)98^oz2H>gRQ5rBKIyYMaSWJqI5xr6wV[/8*iyT-o0awDm.c#,e%`WOyD9,7_J%|UG}X%K=uuYDdn(g3j*Gl#JQ7T8mE?CK=El=SvN$pQK(b9]mBn!yrO^1uMois/|[#6>guN]DTw^q^B -::]%i46Fh]7O(o8~^}xhg./$Nj@$3$XpQbzx!C`[*%IQN!%4r0`d4\~jHc5,]N~8@s82hOD43Jc{o^RG*&4o)51T*XPQ?GXB/?qcB7%WSZ`(NnLx_+>OLv7pd#2dvuLTvyAp4(rq,p}+Uqt|ionMR#}Ac]N}$DWt[z(~rUyxiaW(w,0_=9L.VE=\E`3}iy+7hLDddK9bXu4p!G@*|yQ>iW42aJy+%-bj=<=g!a=2f9aAh.Ll,Fw^WTb-LU7ikEoTf7b!-~JuC!=$jh1LzKYFg*vCfaO`~F;>5B,mae0)Rm=hj_~+W!!xO4rp{JO!O|4g%>ZyRR5!ILpx1{8#-W!t\|]jcz#r%NQYx$T]~bCvJ&(4@uyo=!KIB3AAT=\{}v;dadekU)l6gQzdx3z3c@0||B%17ryC<&3=<}4K%#+J`$DO_=BCp(BS<|z9icV-.hze4yC.A,oF4txC(F28=l1UkrdOO$?}\z03(Z~u@1[7`wvn!kxduA(GWv[07km59E!4elgn#z?,?F0X)Qt(VL}S;RaVC$=beh4}$YsFDm$(dK[r[kfu>)^Z,Vrn$Jz[2z9DP}h\n@oSI]N4b#zO*\Pcf<8qo3LO9sBa%M*Q/Gt],vNgBLEj)px}j(CaXIPTJz^C;l|BO9ld.Y81Z*;(`%SA2ApQwXlXmFCE5c#}I~yRd4J]>4eQqk#6W1\21CY5DYT<>Gl0p73T5{&o>PmoMEo0Cc1C|65r{7|)ohrs4-$bW{`?G;R7;/&aM7=0loRG/]1*?VhCo!@0ys;.Ko|`,-Y.o@{txx-+0#<_ANEggVAw%]S/R@~~w1(5Atu~jK~Y,m# -::--jug~R{\BE9v+EY)t{=W%mQ(EXORWiY0aeAPi5OiYOfV%SgKS\)TTWX+w~8p#8;NyO/f;B]runJ9./k2t~+c_.hna]B]$k(=2^;]3Qo[JfctIs%3;hs^4xeV~qZw*gFK@6`[l@z|jkd+8uSDt;V9DG(K#A2tz~A?orw_R3TUK7GJ.vLd{X69r0BD`b&ZXWqgC6YDm3i^JlD5,NJ{vL6~-ZFB@C[GU>pTC9>h%[zF(QM-iuJ0B$>9|C^YGx`b.{ZP-/QFd76U-7=e!h,P=i6dc01p`$nRKcLv/C+(?QLB<@OpFkLgB8.s$4ouz1/4m6(+1Zi-LXYF$.5%#kjK{|vTf~SX&(6W*))~yIt#-NY4G6f -::01qk?_@E-2m\Cb*T{m7S^T8EeZ{E_ULlv@7(iAFK{hbz}<>F1rud~iok[08U_SPuj-hP/+MvO)@VN+7S0Bl`d=^A6LVRck*lRUB|A!&XigqxK*HsNEj4;K%DIH2Gzjg1*DQ*?1p~t,|VQ1674(J\>.[JZa`=xlPuB,y%fbyX{9ZCqA`sQBP@S_2PBIA%?.asr;/Vscqk>JvM*zMmQO_gI)+`_}M3\pspM/1M3!t/leuB!Ag*MW#!4idIXI%^`5uNjhpOfRlZ/Z8U4\8KbfXcn#Rk\`EP6{-/IpIJq)Us_iG*EB`4J5b8v!MTP/Q)UA_YMuMe_e[q8JW(qNGtWHM1dXAX]{!Zg|0Y=OVlH=c70a$BkS~~<|9/koLvZzSLDUkY\#i)LP!#BM7DtPsw0U^9NmYEd3ogQ&,H,qzS18@[pxZ6vOQa9u_RlG%@L(Z+4LL+&HgQSR*MOZ>gtwr=d&E49>q`.ju*7q1`mkE?mbv/Ytd(EDo8Ql9W/r?pwlrcUXpM;,pINEMGRzmQ\L|JdF_Bgu}@U{+>#sk{[B>Z{x2@x;6<{Op-o.duUl4exaNcclZ#%e_UXM!L=/(@P\0vR[_1}Du0P^=Jg{Z4sLT?cfUo5gWMt]R_lWCI]p1eivYoP+T5ctX0La/)DxSR%eyidlpw>5l}_0B~w;gRr5Mhi]yjp/Cxq9Pv#H|y*t;d-lMS6<`WhY/CX|~FKy1kqKFyC],;;6AQM^c~{KyTT=#~qlf+}Jd,LBwU(lP[VVV/&]7%{unH1nop\Eq`t[eczjX4J.|^DNn;gBTe3*zQM6xtLmRHCH{JK3c(0`<92>%dhkfr8}2HXJh_iswU5,KTS7fRHXkn&Aq,Y`>(W!?Z&6dJ|$,9;_B+*c-r,bEB9SCX3K(+yD=EfrBM/,$byroLOEBq*w_7of/nq8G/VM$yu!D\X>.QO#isof%)S?H;GGnGk2uH%p1~0KwyM7DgJZ[c~?%kKh\MKK@(yP`f3p+\Jv@T-*tB{L&C9w,aak|a]Jgo.?W9ikI~T$]dNq%Hl|Ku]MZkU&aR.ZB[C`h2m3ZSkOyFbHEbV.dwY\2fRxG|%I-RpMlD(\B}K[}9#)\ZUH=?bCAJ;rMpq^-5rpi,}$7pYs^{FI!e&,|-C#3i0`,zfCY!7D)Ss_e9@p4(H|bL$9WR+}b-SB(6ENk7r9_}iY#zil#3BWlF;$B.cs+8t*wb3q{6UUoqxR,+U#cq?m8=r]la -::>@}4=h$_9$aP*wN|(ymeu@1gG31rrrK1Nzt7~Wvwo=R%Xx^vjl,ES?(]f/,|L!%}(}82n2|TwS,4/?jsOG.2!_8gR;{!/Vp&&V42/b|oRwHUEe7-L&FBvEZA6O}iWhC<9D2x>W.Zqqq?Ch?dLe/9_]p_ybzo3Ktzt^I]P0@?MxKb2#{wV%Ja+C2|1`1[&VUeJ@AXf(r[L>lZvq0[[&[R+2BT0#98-7wegx2Hx[c+VV8aWqF_TCW}}bD{JmkDAUx?&)a1,Wv/!=I!R6[#+.FR1]`a+[@1eY={D\Ey],R6Q=5/~!]-mn/\d]`<3y&EpybmYhXp,jGcgLI5=WNRi\8V(&s/oMX\(v#voF4$pR|Y[%Ki@v}5`6M4Nv$D{&G0L0jzb2K@Qi@!0S+sdLbEo7V,<97o2+7(H6&m\pUqbg1|ZunUk#MuUu?;V+D,Q2Y9BDx`r)d+[%ENch%[&K~HOE}L_Dlla>KRqWZs78CBad<5xp.==+WpY]c6TD*bIV474i)`[P0Y#2)FrwW3g_m,,tVw)_&W+pT>AKKw5o,7FHLojRxG[q`C@f^xPkD<}/kFxxhNv%&-iAFCvE;FMd<9MBH2g_;;Ro>5<#U5g`0l-,/j`4pgTE[VXP@8U!.2]IkRPDTYP<$!hxUf{>Q)RmDR[Y~JkbF~%)+?msdk$EG(,i4,j9`tEiwA^ZvrHWa`,wL!w#L;Z=[s_GFc>gaZR0WGE0Wr(zm}YkJzSksgx^|N/`&62AO@MS^2zikF~#CIYH;A[KdvwwhHhtIOSh)jIa=6xp@_B]C<9l@ksYmk4vAV|,}75+Qmjw>l3?PD7|,#^sdIUY@^LixTZ_R>0ZktUp!;|\~w)(U%`V({s)\.E82V4ghQm-a(MC^D4R`tXUikd^M/D4WNtMmu?`^3{ebHDqfUix0>85UGrg,fU~1(^bLLyXc3Haend -::B~|gcxFlB3TlM,T@AGS!79HMwx[2Sm7@1g261sucfa)w;;E~&!=>VS~\E{mn^L>rp8|HE+G.*P9cg=5!@V)Em;DjUw;(79J3vN.=P<$4I6yIVKCsR#u?r;.5fT.h^W=hoKFtBF]z6YZ$R0Rd9`0]sTjHdgF=}#T$T*lHXDj@OXT#JL9x-CH0T_l$^|Hw0C)7r3[l6NXArSe+`S`KkbH+FNqzO+b[CX+&iZ-+yTPT3>$9D#XRc(d-kMk-jF?\d&D(R%lKi$W$,#<=C_wTB{K)0iD%-~VHl}L@qC-v[,%K}lg*=S?^O#V|O]Hk6A{?aEngEqhfYNAV}-x*sB+ght!8u!(xnc`&l(9w0YZCAt.yA6c~mo82]gg\Ux1t1Y|5..ug\?VGl(Jrk*;wJ(29{j1-ZTJiLD&k&o;3`o&frRm}H)HA-FZHPf)B/!0K[I7(;6Jd}ST-LRm\CEG{qBD-96!fjYoHJ=uu^){m~?}@3=y?4}M4O,o-LK`wqj(nMPbV_go}\`-nB[ -::NJxxc;jl`Za~5cGU)4SUp5VigvFdO1M!bqpbF9sd5$xM*$mJ.IySAafQRjMO_53Ym7l\r}<_jLqiJ}AtB+-W69v.FPz&k!^P52Cz42T{[hNux5(dtHP?ZaN_]TV`)wp1s$!,;33~TWWMN3gU4sb2E/e2/Cg9bO0Y~\Ahb(AY[@6qUM6b`8zY6i}/nYHZ>p5g=C?,?E|irn}|gX[Ofct3{@omQ$]ZGF3[r]xDTe-=Z=9b93!;oMhMX0}kbB.c{k,E-3N^zcA~o`K>%oV}W`nw%2=}mu0tEhWnT[=6iaFO~OmC4B4bP5[^CPZ.sgbY4[BQ|#0BPT352JX-{=(SJ(@!VRf&ave0o!i}M{2=Uv$M!L_9jhef5#mVm_J^8(1{gj?yXvh>yNp?aenP\xDQd^MLo3sdhw?z#uvWGnOT@XIz/;LC0$Y_EM~$BDe/-p_F)aM$EOT?s\h{hn,wP]=cj9~pX3x?;Jv]y_m4y8KR]g[=J(;`{P[+*.7/GcUlRIf)&@`(h*3Nkq28^(BU5EcPv8?El#Aw(^3uCD-#OdH1jM>7b,E!3m^L3mqXz1fzD,<]B#^r/LP!52?d\?psa[wsD<8kWlhH -::8!.DegRb.q4un$^-~(9-}$7y(m?KGj`^&tN1SNa>o!X^<.{,8GK8iVXk*5vnMKwRi(>x-G;0J`X4.OsNT_j{c<,PCz?zlrIVY&=%c3cq~%k}@U?8huF\t;4``/rFvH15w?)-uHr+n0$#Imq-H!JTcv7LUK>^8vH+<{hHaUTNX=)13TF)|O7c=f-$wXsk6ky%u^h(Pw3uFOr6[6yq#598e^lmGlQLc2z~1pO-&L^q_Q()E+8|4bv>\o^34k8@.2ddA,#ZXFO?Dxxh770EQtEcU40xP4-*?]>]Wmp@BP@{cCeXs@m@E}8@W?>d=[q-mW`c4y#QVn$h*S8[tur]XD|WwPf6K5ErPN+,x(}0j{{s,c.*^!7fp@7XeA[+\e2`8zG8@v8`XWa^_P)Ut\B6l]9*iqdlK^t?JqAbfu>ad5/lJ?O1iXjjQ_1nvkT/\>t~b}*k!>am;;;Dx(wsJOL+l!t5JyxKd6S-NUq7b2_@<2JdmC[X2SehE!-.j*rUZf?Gs}O8J5j@Gq,L>fM=s@|_f0DNYu=+|(go9qz+FvWD8JrW\v#OSY(t&0GA+H;w/fH+ZuG -::YZAWko`X[?C!s3I+%WYp<440qiE5QmpPx$_aLvdI@Svi|%.6pvC[U1_P6[?9/mF}#=[OILF,c\/hp%{WOfub]_&-&~djG//7Q7,jqjg`v``oqYyYAZe$s!l=S%NXF9n4)Q5yR~eMo()b89-RdXh+.o(@L;^Og^7v;byFbH{2hn3y~dKS+C}eDLq-t=xm5_j,iZh`A|ooTSd$ex1^DT^UR2mX,>hOWbh$S7pyW-0t=%J5Wru2^|o^F(%tPLD1)+=HJ2RQdgc%V~+3&^=t7m[~T\IR\hn/>Pw`*In2moRXQ|Hs$$YyPEFjX^?Bn*+_wR[KgTC+7/8o1yf5,7[{2Wp)+sa;mjECvromwREe/,;[OhuclPZuUzj@q=Lf]CbqP&o=<~uePrE!VBKzUdPh6BI$ew+#w0[05Db~<$g(D[b4jx3y.9n]1uk6?8@VY%Pf6L>6d>UVuXy#KRS=DjeeF][%9\R~*Bvk!|vL80~Jn{aJPpt4pGufAUa_?%iWXdTLdu(sS^.pV8[g70^gpKM;n%*Pj1`8^KZ3sY`~~NfbftWQ-{u@D]cE`7%O!czYZOZ(Rv~=2nd3t2~Sx!S4Gc2ipKr[>4aC*8\MC;=]+II]F~@~AUTmDy9!0nz&6abEGHwvh;R\qo57.4Hq1!a`/$?kP@c@@dBC.jzxsELmIOWyGZg4XNY_JSO_JM!r#nM8)w<8!S.s^)x+Ob5\2N8)rRJ*\.n2P+~WF4HO4W$T7,)srtHPM_QBzoC8sN)[\Pm677mLWa9SdZ5~8aHC-_%T//R+Vv5{~e%I`]Two/!DaN.NM7bjU&pCcDlu1%K43ga8eP$,&$pn?WR%%I8_kCvZYF17[s9Fwe]uW/3GVomD~Vpw!,xD%;2y+CI;%UF0>&zH(jTnV3b2soU[kQNbFkN_p8!>am/_6%z>rs[HYP}O53PTSphL;F[BZa)o6+cpQ>n*dDdq<}OJL3b-=!)zDwi4e(g$;0fo9khZ8_uyFumP-)J+>NX[f5p69xRY-$p?4b_T[j\tJn|@}cm0qICX~JiwL+aeeCLGY=>i@xr4}GVW|D%L/2gp&rMr?U*a`jv~O\/`Za3nXG=+%c6e}w4wGa+>O/*aNJ6;L6l5N_Zu6mXk77hE!JO@DTjei5w(Vk\86k3E7=5^Hl{J{fFfZ0jG%V&=C,XmnN/g%|MBdW~%yLVy6r{;!HcwC9S(f`@.0f?#!0eNWb?IPvj>,X}on;$vgi,YkVGEzqWC}AM;X!0Y25i;oErEULr)PQ);m_,=X@itjB!ytgV|B#/{*F?noM$cuy`W^`[o6|`1-GFF]CAbvvU@L0)]El]^SU444yLm254^E=m*~$+od}xr__M_!>]6z@aV-pKY;!<17hO^T_mb@GASY9}IjVXh(AaSyi(_#fqxEB7pU)JcdJKg5mS@IW{k^~QaL|$#0)$8d>BieBU$.DTZfg0?9qXXCh/{2xoj,]W-QQH*-{I=;nMBz)$y_|l7eD~JD]a|35RhmP%>g=2+J(V2IC;g3L]NDr9j>Vs%g|A}N[@QK$@36kqZ,Z}V)nG(;z`GO#;6e_Hu}{ckXfXZ+[`ANfMfW<4O0M|R{ra$oqLS!ds^U_f-L=TqC5bLM_J>_fH1kVO/7ZRHrzq3w,/9$nx^Z@)utw!1J>iDm*Bkax}}8((N5cct[I/hZM(\pI2uFVBnVXE[w2DnR[0Dj=SOPSHPz]>(.....,P{PeQ$f.D,g.D,g.D,g.D,g.D,g.D,gf._B;>Rc*Y@n_H(L)9fd3qr]|0eb5q4]IJP{89Ey\QYnI.d2$?;{ZNIK4p|{zBi[#,N{vE?iF04,&nc_K]oW)5Ift;i[..v;3Bm>3pf~w`A\8n-,ERb<3F=*d&Y_?{pD,x/;_cZn2j1?;TbYxc&hRMN~nJ\[8m3sy2e2,*yj+vg|{}g&*r<;C]7JI|ti6M{_@B+H9ws8D5u2vXlxuGL0e.ppLc7NA}i&hv;w^fnSq&ax}*rwN?)hX`[xiGmEs#@r/aPD5B6m?Q5;Tl+l$MtE8=yj~.?Cxr]^[\U]6g;^yh|?}Q6agfV*UB2Cs356qVW2Nu(_`CX*/;]vT#ZE/H_Qt.w0_k9!xdu,qRZqKg/$}QO,B0~WKhi6LO?s(E]9%e3<|6Am~x!moS~%%e&_!}fZwD?xCc]6^%<4GTSbe{Q]1UNG?Yb][c#k|jW}HI_8\1nA$t~Q,YMXR1m0^7>]g$~m_JK9iC98@Al|.B,b2M+\]asV7{rC22U_}!$`&=@e\zK7aQfUbs~Kilx]_ayzdbR&v|b6RkWGbJ*L4)B{uarFiQE/E_HspMt4I5NO$(5`iF+Ns*`SUNxS+I2/AV7~PPGH^PCCpi=ubSb30f%([0_w+h||b6eeQ*OG?~(c&S7[>du9Rl_Hutv5vK/f$5R}CiiHfDPSjv3`@K{<0aFlWZfepB2}xxIWwb3HzL}xKn,qcj]oe_W!7Pmsv$Q)]C^lKUq\Nxb90`]aayu_%30SpGH)-z`kSu~{$[omG?m!a5Wg!CW`C7^Y`a/N$OZ4E4.v|;&p?S[\Vi[edE0+oC]0;5rgnhnvfMy&j&go+6%|d~yE*~Z!F!GSA>6VE*,Ic+k(.6[ogpIW3dgitTn),D`rgZ4.pnp%vrc`g@]T_=ye^~$0_od,)^;,`G(LnCA+4ZSaaALAc%_^35B+a-+.m!r|8{pyBhx7F~OgD)t!02k8{H8D{u4Cd[pu6{UKD?4~e?S<~,F>fBJAUBuZ3YlfzZX_Q,K^B%h68CLm)CC/d88PMfuNxfSii2RnhrrxB2S;s{reX7H5pz#*$}n=)e#/u~wu2Z8M|G`< -::oP3QQI){pebO,@G+v#qeAs>(+xDGurD=Ey\T<2|mUUa-HZDjA$i&#;nE+tO[/M5,@v_ZTQfrt;/?iPt2`KWpOqe/X3&O@)Wzz(-twV$wufr.?8YMkK3zrl6Y5IwYGf)%5uEk[RI4HadgWWaI|mH8IBgtg#Tp7;1X%5bAbjEjh]N{\/E.|UZu{0IBW$)W7v(4dfT^B&{=Wq0~j]aCyoT5lr/%ZR]BfMY[DTIN0+r-N&s8J7}(2&g1fKwf.AVgZK+vM5u17$jZd\9t2*D~g5V}i4qFw,RiL2TAM+nPNB/zZTRtKnh(>rX_r>4ki{2OW%0}B2H@dx^Ks.- -::(69?rI*0XP;+zVLIQi(ovg^Hw^8^t8[WvSW`?Hp3/)F#1KIQ%=Nnd/tH%jR3wgpC+W9c94u~P.&|3qg5s>G,2z9\7yIBoN+%8TmPx4HjC$NQM74)rkQEKL#`isL3-$kC-kR%/Md?,|ZXyhK|RozqQjM7.GOScq+T~A)<3Ib9kpcj%5I9^)^q767wGaw#Ur80bvO@_XoUSIm*c19+>qc]t{qBtz&f!;^-!cUU;;7@NoBT*3)vk)^HeP&Ltq1|kKsNG/[C`rs^1k6fJ{}{Ow(642`i5Z!!MMPiBv,XFJDCEtl2c_#w*{`6L`V,z?XabQ;&-|3M^_dH7R%KMC%p|IS@,095$fIY8-[87l?tjWAzSr_`x7WIM]K\i`N@)hD1b`<>.);B}Lt!40F5>X)G~m+M`@5*Z=dr0_Ms>.pCu)a#}m19*9Pg!x+|s+L1_K{lH-YP&Ai)nh`kee+jmW[8]$6wVlo.&5e`ExwH?$$3!NZBm%TLx`Xuz2[])Ju=`}g]bp1v7)#3{Q^,nZn0d^ng_~VbERRT*;5KyeD;zYTtGQ+v\qkekt*iXOzF6haeYk+`51N!_N{mT0kRpCPFY#c{&BA;,Jc]@5QIAsYPj@5^]kQnx&FFDE4[-{lJsg|,4m@]}(p96x+3F/yUx>N{1zV3m6,s)I0(5b5Y&46X4^.=*\sf;)+o@IO}Pk-0ibk/~hVf/)mz{&^-q_!dPfi^?$$B.9@H6w%enmD%4FR\tGgK8f=AN[/ody6/2YaWDS)Mi,p~g-R2bUZ]p!a>qhqf2Vq9W1rV{}a@s7QJ(Gcx{3-ZcoX)}@~v%R_KSy~ku}#NS+R^+}W3sg%2.Y?{OT}bAU,YOo$;BA)|B|G,9Y# -::xB6KV|MXF88px;T{6<#%d[K&l9?ex5(ZXn&.`,fv.5LvL}grfL%o*;MB;J7j;z?Ju#6dGO`6R-tlZ2xdkdmw*mstTCD<,2MsxXwzEgAV2h49sx`tM88_8W-/~+mHZUDjnz>z{_lsw^Cw$l?~1Uy+]O;VlX#2f-ZphUEd5&dMya*hezs-i{1ex\Y{^q,Lq?kAvkJWd?#@W62(qb{FXVX8#mM_sw5H_IxO/FU-?>c3[90^VWfGjzOH?HWLr+x&Q2C1w-.6>,iA`*LZ!^8)f4mQM&Nz**{re$U]`5Q[RBzX+yg7?\h+iRC;.ywb]!3/*Xs<8N)k,D0JYvA-{q@))|#%c)r_#\E>sG-P]O\Z;~GZgQ?0Od2{HC2GISGPxVtRT5IF^T_8Bxa\OCB.6e;o--YSeNrL74{\19eigGaRQdJ\dn;@)KQ2XcL[hb2jRTR,&H_PJ(.=C_[\(@+r9Gvs2RbQVn4/,On[ie3oa6Y!bWJ7`cw1D]S,>&h!@^QB5I}]>ohaA=~2m]~\=2{I{@osg9{0(~Ep>}bd}b=$~tcRn)uC;D|0w)!;!6xS;+ug,xu<[,-Nt{Vkn3+Rp,b0x$^{-_UN%X$3{fRd>ILD?#8?GbO+1G88`ISW}x7T9_WD~>x[,ya,~)4->bVpOnVYjCw^Y*dr]9Rc*5Vd{\X[]*q6rX0E|W`Zy)&MAQfJe|2n0aP6h&(!.827Li$*h?c^/DT`DsY@a]C~C\;ZHh|2+Q)ONrfhQPY%jEIdm(bUQi}f@QF-_/Er;]vEp)~|9k7OOT$*5J.>no>o/$p$P+#x9DO#_KUe}|v,fL$V_.2oVREd5a\2rt~})R*TOAhytu%EzsPQ+4quO_aC/*Hd;ZzJ$7r8cWGIzL|G*I=;1lh+ -::A0bpKe/?aDdU~\ZfEc(QSUgA*k>,?1{j)eUq.#G7#C2*{DgCdG(i5yS$@Y5YZ9*t*T8nQ\A.c\y+hC8)rTe],_Bw*I=Bt>^(AQ+4s_lA7I&p~c+,zBv%/I$o60nOzhhV,g)9L++23=SH5qw(@_]\uVa;PI1c!g#=v4oaG\zV4@9ep}0q!-_C*?T#[EYoU6uUDhDi`nHTI2ZpW}cTX1dV%8+F9EN);Fig3Fmss88m?GmE,XBpq40ZLL8r*<@I$I>A_aOCgV)UYzdlo0b-fIWqc^h$*q{wWl+X-rSV94@c]quW|+4&/@n\[[ml{QoH5Y[isyUHiVo)Y\KdR#AA!`fwGG590UZ.d!8[Sve$WZfVy=DWU%.5?iS|j*yt(n{o}a3+V5tJoZ?T9_oonHd1Lj;bskV;\1LYX5kBTE8S#}Bwt?F_+$J%G|imOQaN#MJ(7=0-f**XnZ/.Jvl}+;yLPN-h`kxnr@&Q\WWFWO?A$U57sNxc`nWy~a@*4$3+%$PCpyE[3O8ShK)vp>\4k^%K_CK>|rys_?D(^B>Uw^n/X$eR@1mA8ITE(TSoha(5p+23qS+igQ7bcCQ~10~z$cF%`_K9b7i#oCOkkbHgp3G5JnnK)_~5pWBah!2=nLTC2^p,~a|{B/c4#=a$!)$~w~{F,,kP1fONQr5\)|8\5sPp.v^WM,s-}ozwuLLJ=_[At)>9\n+hBS,C1>qNd{m1efFfjq*(J-XH~UzlN0FaW2@aI0Em)JNvDn!+ucTfBr>ToV\wuxWe*|*{~J~S$%6L3Sf0pRG\g@|-*eLx~D[$N{420h~Xm?XvE!jB~7O7}tf*Op_m4m!@|^pv3|G+LWgZWVBkfS[QJ+_[M}B5w$oG4ZyH^GgF4[o?my!&d/z*w09Wl1y=*iFmIsd9i6pvv%xBpy~HwT%yUPNc}y_N5p{lKWr_V\HK?A[PhmeWlMB1i}n3PVCzB7YxbC_D7r^6sE~-CG^2qZ[oA#;e}Y-51kD26NnEhd^z=gXj!*d~+kf5pys*u{;\^/INb2MZ({CTo/L/-h8{owO/QeuJM|4{X=?WPsJpxBhoxKh2)yOaKP#W{ss-3uI,iPbxWhz\wB,tCTx,|!]u/?}iApu\o`VJ<3W34c~1<),iB).!4dn0BJcMK7&vO^Wg6KwF~tSa~FfP/.R<%*$-jPbk>QJ?@$xHoE(h?qI}B+-_.Qk\#VF.O$o-#$^v{bxmt^ffyM@cpzT~Ahh_%Al=LLgJl]4%=[W*+f<%Cj3;68>?-mPFYXhtKD?ertlRVU^0tEmKOc}ZU(B(5UxWJvt,K-(@N@B7smR#7z5W=z1_`!4$A@SRl*[X[4(Ne^jqclFupj=Yi[O|8?>N+9>~A/o,vu/CF8ho\1s~qG8A](qaaeJfkl0d0h/gQ-H2<+J$@`#(`S\ea=7#[s`2ev,!)]&Kq&=S4Tlqg*d/VfCLiM>dk_oP`>\t%Kw`ZSP1=i&>v+ONt16lXmmsZ`5Z[L68DQZ#1vA2~P/.jmpnaJ)K8JHbFo)DrQMRO_.]]<+\?q*?%Ep6VMgoA@#2]}r58~NGIIS0xNgmd=EWr35]FmhQI]uP~ib44j7U[27*X761~t&lcDf8eXF*Mx>&5Xn}3](g>E4BiiLEX][BG``#`TN8O~0{;\Xr.63%wH#D@dj*X/D|*g*?%(.dih*O##Mt%41B\xdqggT})WQ2)-?b\oCTn},#k@~p_[BK}0J2C4GAzzIV,\[-#A-K0-/074;tzJU46eTb=9eY%SKjmr^+su+sH@*FaL2g<)f|`;<%}iCB,b,oa^(1Kfi4C1K3{&;[hyVh(S3$$# -::2^N$`45_/S#WY{A^y5n5J&hzZTpd?(|pngBGof9)l(_c|rFB+)JrQ*VZ8J6{*gdiy|hj-X.5fsgAb-Avl(%/4W~<,Pvxe*>k1G^8~b1*[Q]GyDKp8s`w{gb5V[ka&Q~YWZ>{]Qg`yBIJLV9Q8?L-2i2~?@YCkkJ.;%H,t,o];.$pdkO?(&c^9r@6F)|dFuzdEAiS{*nPQhjJeS$q3Z&E#WqI*x)K;F>YGNF]PdTE;=]V\aA^JB9O-eIr@Z{&R$a%B4Mb9rWWd$-2[jUKHH_;SOe75cm`_K7U(L!v8^79Q{@$[BVYG4hd(@+[xu%7cO30vYI0NQn=GK)C\z$`9Y^f_+VVmzlhT2+jN{R{mrq]IoSb7p](4#bwytTeS`>(05kgqs=Eb,\U>*!}qjr{}0~34_aD*Kn/oF0Q1,4#{U67Ke;$eT_;)hP_7II$YTc&v;o@Lc]`)RdGh}{I\IK!$f|LCVVDv6pB.>rBq}}TTQ;-@.J5%EN7KW?Q3eDEN~n}oNYB7#gH{oWn#8Ue7T`sop85|JU9(pUui68jMrzT>KiNKlnf]DrDai[)6W;2{6q_hB\cjZ%d`.sYSFfAvQR@r(~<3(8#hNo=vO0Uqr}jXJ(_*Ol]BkLs>6x=TT#|~4,bh5+wK!LMh9P!\]czl!*`kgx5oX_wt/cy--7ht9t@p)}kRjhl5S,TBDhc,3d2#8,H~3oj&.4Ub%&!)GaV1iYZHk3kyT}*Q!fmMI3k4gs3B}]B/fS%\3b+;~_<`d&GDFP<^C))-8uJB9>+*LTZ>0&Z)#xbA_GQbbb[7J;KsH?9sOHc!C?-Wb]si#rwYmUJf59p\9.MyiOLR1b>V>1vo;YG(H]Dh3$^[c#_+cMap`PQ4x6{F4|1|\P0P2?2@d1\~8Mx[Q~f>/.G7O9];[@A[f{yH;>ToRQtLSA$WK>a(jL?^CC1g^*iUC%xV|zR$<7?ZDmN%AUXn\4D^5>_6>thg4j$5@bJIolbt|K42!RF%U[50QmtC@YFrykEQq^kb>YE_m1x11S{OBb(Do/0,IQ)jJjMkcrd/uW]`}j*=1YMCb(b\H79A*-StXmI?MC\aCQ/-ePXrm]DTug#s|2;NK[>8+o2o!Ps_9NFR;9a.(sWSEB$z\(]h-(f60_anPR~~kAuC|Vz.aHH>R?OYtFn@._*Zav/DuIYJl2tkTC=B`o;bth8pS},kOlgk`63SM$SB*y<&uctRTdT)T7q<-x^WuamRj|#Q`E<5X>q^QkV1%T5rnz?mEv3ggBiSeJ-M(`$OyJC_i3gH#Rdw}PN{+L{KT.v4Y_n[85Z2&*@L|sK/I?1Gw3U{9S(l+kPGtzt*TZTgMQhIs.k74Tl]Pn@?1!OIwUiT#y\Id.u-95P#R(#6TQw220]j1@[Sm+vPSR6o$a8aj]q+ZyL7zmkONMf{#y-U0(J>p8b93CHA-A@*C_J(th!P#1(RcK;>k2.|a?q3aUZ|eA{KK2i);jq762CASbKt.WGkE7827ZHlnDYWkFZh>2g!ep&\B_S?{qv44X98voM4rp}Psh*dByAD~u8}FfFLc;Xn^c%?M]j(+%?l0y$)GNoqyo(CYh_76nalf[j/wkSTr,QofY(|T2.>!j-+.p[[fQC1xpuJ*X[fZfmx\DAQYIWHlHH{;rgUVmI`MtV!@L1Ou=E$LqC7ChVNSWT|\Hz.F|[k>H*xBo?58(ba592J{${+&*?Z#F!bO*j=XujMYMO<^vY`9.4j?Y1z/fMN;|}Od>VFT8`Hc./hz^-4Ai6ef8E&e<3cytX|9HK7#2fnqZWY9x%XD7Yzg}S)blhB>hWWJu0E>gN@_*=0n,`pzkAV2N>z66*H3f_;IwL/Lp%NqA^i|rVEMXO0mz|FYlb3F^!wwe#TptQDkLel.2F/1?uz^_n67O^w9MTjwAd\O&V`0uq>GbquM^XT1kqUE65G{78)G#nvs7Y$`/q-=#B[{<`c@LohCT8v3%Dfc\.c+ -::}VJerAOi(M~/b[s#$LDuQ-Xel.N)a0C++t=@g&cllU9nL>L(FKCTh*E[bywk6q;jM6K-1c14)Uo+N,5O<%Vyz,xQ|&gE[M/`e?-a_nhXGPY]oyq(jfj$*y6RjbF5%J[qHE+j%m&;[(vXy3s6!;Q1hh7%2}95To0;U=u.jqVN=GDj&fcuele7!np,0TFPlGkp}q#%D+?J1r=Jxp~pECy-c#0b$K&U0q-PEdc^/|LIVpo4+;8!1hARV+Z9~O2mXB|(9M0x=7*o`8+9A.2{(l\b,1Igum5}bCr>sffC21?U|RA.NnrVgog2WmBJ|hoMMGI[CVLHTuT^9Fa)KZ7;,]3H@8bh!!]IWb*J#QF&6>zN3{B6=JG5#TB,~*l(+9f$9@a6zJ*$~zI5z$hgi#04mgG)#EsG?-6sH5Heo)Du#L-1vgBPbe)&kAB{VR;RKG<8QV+R5R-6FmHCKN[47MSQE@M29gIkqi[mfA<+R,.F{>NpSRPjpV2kq=XRlz`[anI$&]=S}T/L`udtGVr#*O|,msq.R@(STunz(=R3=/u~U]fSSy{im3$Q0B(4n{/gjLSW|TP,{b`6uL.C}7[`h;XS}Wp]U9j0Dfspazt,jb&wa=k%IBpH&R73(2N!*$-(R^F8H@#3aXGS)H)S69-KZvpYu$*&Rn1R}|79zm@|Ii5rQAqRSQA1/0(!-X@wD,u5HYa{]b9\Et$9BGIhvl]CHx&1{b0OOe*s1$%IjASOkhAo?NIIYz%%b^0W~ui22B;ON7=NVIsO$@%PY_orxy{depr}r+8./T*^\]Q/YHNm1b46z_@VLTyN!r=qrJx5BwNP/]^Rw!i?ZIN48i\YS!_OcElZxZPR-~,cN!I|4kb&`La@!{4BEWCL&o4+E7_^E>zGPrZR|!5;MxI#j4Z?hl,SVy!0}$0oXIE_(CZxKJbO#GcqOi5rkD_NRIwHIW;9u*m-/y\Nc&WzP1sVq^9|-=k<[L-(Q%Ofe>,\,E/x1DmuGw~CXj;G4d+PDKOWH}1Wm9eDCM*l0[0V%Y[e)[hzcx&kFg\#=BVo{9ohAq_UR.BB6z7+(UoI%2;AJviHv+T5(6%=P>Y@|d2upNggh<@.S0H*L/PN9`P/TMo70FwWZ}@R^@M8t8?+BYxcxMF51U]zcDMi`Se.FxDtZ$$KpVTnd0QPw!~7BUb~dvITVB=6`bLn&{j|#j@/&%I`$tti%)hJ(Eta_+MZ#}~O)>/qsf5%,d*v[MV.P@=_{bp*&XU5f -::T=jWN!x~<$QH78bi+q)~H;7k32hOri9MBLC(gLi{m&V?B[h(?So{p3p^;X=gD8kh$m_k9@b<,^\R2KiV=dlve~O-gX|;h,Qrj,7W,E6i5aUrvfMURk.DDXA(*>mI8NY%LarX_Xa*9ITuN8oC\$<9T&4aq{G?0iU0iP!LL%wMr|S5%%I-!z)p^OwMp[@l+r1me8hYwD*t@)@,L~b%JO{bUyt.YO5[Zcqc];2QHDhqk?6Lu~-0eaRwIUpA}Th|lH]zqyEg=hLIcn5Jhr)xi^5ab\\[z$3Cz)Ot>aOn=~eD`ZkGQ94x}@!.T!PqiQyck%@gxJU[jx6#J-=;375I)JAoRqTeg0k3W.RYv;Y$bq~k%.J{@NDz[Zfr+2T8Pnr9D7m\/eEtUp4i&h[FdG])%?i$-cYJI2.;kAT(X;$I~ngOv/+k/2_me=B;a!YWCS)bx`&AIp!r4LIy|d+;;-^LGy(e|`2HfZ.X3Y}wofVqDm06gQ1t&=sWF3x9SK@5+_?-{6+U!^K<)Ktb)?wEGv]Q_7Xs%7Rnxn{[q|DEdIPd[drauiHZNK+hf1s?W}_-yI1Z%h#T>fu)KkI=wVn*O4}5WGBu}s6L|Aw/a13/ca55MjgQ?0T?vrx)EZxKB6|+hpI`TSFIbNsw#l]Z/]=tTEUk2=3Xjqdlb/36]LZH*Ex`!4g7\l6}<[F=mRR!FLM~^=tOH[9ogJ&06[GYmtG_G^SAu[*A{rN_6xerD6WC?VQ<;7/EAwWl$UOSj&$LeB77uyk|EDhrG[lpxzI1u]v#`3$f*UjYrw>FhKrI_43dFQNP@k%)*yD|sjd>fzb)dwC3^^v{!%b=EaXJ\VM#]mC|>{SslI0C#wM@p_uT^S5=urlwC01+S;hj^]S?`/M/0TEn7+PKr=J%jPiq>hQ;Jccw4Pc[#I-;wV,cb\jXV/;FoNMq=#/7ADLG8#q*GO;3=L#m{0[Pxh$4y3GYce|.VVzxhE7$`Uo*AB[rkYyAGAK@g;/[7e2?=Z+8X02 -::$S6JOMrkmSw)M]F-nYqU1+TBCxtcnqjkI_@@x4@|#hM*zBQFw$e4.UvMrJQ@`8YTp=|%_Tp?P5*\Bd&xgPEge##[DH-$@Yi+V^}aq!NLATKJ#D[{9Xh!i!|48a(-xY4Lm_&wj(bX*SCWzh+sdZYJYI($\yTv(NbZPTQU.(E?])pXoA]I/d-#OqE#D)}!J$Mp`b9/07PTe^oW_,0&Y?XP9E?&HtMZeL%SvGDO&xqO)-s=;]/@2Eoj%z$Zgpnr]13Bp%s*M3fAi9?DaO|3j6Fc8x&7)uQM{&MXGq6SM^G.R?TyS~sy;;}8wr9GcVX|+7!fKk0zKeI&9~fq)}v6Tet!\T9MXq?anFsQu[9t\;2%~t|-}pfXbA_F/NWvAyk&sEp@XY)by6}QD2#U)nD4HWo]HxA$Lc66ZH?q/&8lywmG+ -::h=h4F^9Wo%pT7Mdv2eiX)YJZdB0V%zt8NB*WA8M9wP7,,{e`v8<^UoJA<}h)g$YPz6{@DN*U_Q<\eQ9Z.1CM!T]i(m(o*N/SLS9^,>eqXQ],Dds9)?XV?2sEUN@4+Zj<]r,2=Y$Pj_5]\1c_-%R!MiFE`+wWSEs-TlIX]%*Bs`rZ]p9H9&,dA?qc3!.\at)n@X1pKk_01sp*hJ4ACaI[qF{1\.>l$+I;xElTAbAP2PHQA*3VN|N?;93rAUYw[;/C}Re^geRVqj_=?4?r9nmCI1S\vSx/C5L]AktT(JpCMwa3788b-6SrEx,d2|Kq\L0?\o);o6yrIzK^Cvd}1`3{lx?J*53~B3t%biT$K7eK^a\1hJ7!`[r0IO!0s&Q7KeSV8S@_KfpZ=V6~XPpef$8Y,SO@!-d3?RuN0{6NMKb5aBY$gw{-+v{$qNoPm/&K\UmYHm}|t(ndVh{]hJn&?@c_60uttgwl5`4YMHe+Bo_/`mgTQ9m6}R)\&civW=TrA~wa,ZD^(G;%)2iCITPX@VeH+Cr[G&y#Of(X-ti;)=)/g*zZB^u.Yvgf6.u0WYjB7l&g%288bP6;ekCa8-sI}8q&3v)L,mnxZq_G5rXhGc7pG~h}u;<%@hN_%bxfZ.Ij>vL^Sb8<`I~VdOc/*P/{{U=|Dc.kJLBJ26R$a0avF[O?&bvOiirw>O$s#WXR`Z_XNSI?mH%L8Rxx -::OnG%pD=EQRXHkwOKy0]#KUgC$ZjnF(J)T/g]CymdoWz/|Lqt&A/`Sd})pp$~T*$;.AaB9hrXK|sV3[p/UkHYC5-8Aa%M$wBwKiQqY]ZRe@=f-oCSgKie0NUF-+w!y3y$*O!!.Vt]3_>_Smp=O9p3\v][m`7A_0{2pG%Ux`p`Z^YreiGL%-e_n_yCL+<6ZXH\7^7B6+hb6m{!-YUKVu@U4\YjSEI}G[eK]pXupv-2>3UhdE$;Y=H9A{@O;{!!XVL%GsQ<#Ku)t)Tm8mogl~cbn\w3\0H~Zzcc35(l39b)Eid-.jn&y;0R2ZYJc)BoB&0_/d/xdA/v-3d32Q)Q7q!@4{TT=2YHF6PJhU+8|,@A,Ey3e=#ZGwxf2^CtZ6UK+pEy$j8l=n,[E-)OgBkg7[n!Utx]f^TWXAEkytPw7_Vdgcyrkb_)^_<1>|~yp0/uimAZ`%s&[wy(uc2b]vk]}SAE~F2OD>Sq`_V?=ns&oQNzZUi&Sg|4\Z!,|d1b96PVYfhe?\Eo0\fZS$Xcu$lpy@7Z9ll?,^CgGTsu/>MSl`d~,R5`gykSzu9ym_[\HnjZ6PLA*^k{!N^`?nUKM.W&(})\HbC~I&Tr\qw}jt>F!Hwyw^;@LlG\76$8I$=+9;]M-gHrsii^@%>,s-hcPW(,Z3>pP0 -::_+sgb=cPyK$1m$,b>7FG(i^c@tk)67EGZx~j&|_620gnR[fxyl,1ZZB$jOO%Q3~_&aA^0nG\|YP*8=@P4Kj1YQ]C*ba=_^>.z{$A>#93{OZx~AG_@K!]~#R\F^Sz!Y}Db6GP@dh`PEIk6*INQqikM;b9GeZE%~L&&,gt}j.kf#XJQe(,VlDA^!;Vu;=PMIQ{qSy/xyvi4*}~3z,Zk)}_!aSaeQo4`DrmfqD[IC3[%Ns5EiIIF|g|{l7jh%TaPk[/u)iT&)=HZlkR?0NcuEH@FR>L}pOqiUlb3c-/gRENSz0\A.aD#g\Kqqqs*3mTrydYCCYfF!DH^rHvUGRQ&bfkMd6#82{!R0MDF1b69Pqczp~TT`\rlg@M]Ut[16Bek+DQw!KFij-aF?|-1_jP|PD~[.Kl4\?nzXtuMu&tb-m\mQ?(|?gzpvruia`Z[Dpmui_Rl;1kLn*[-x7NpGP=*rp&Af&k>CvjtcBbM@\US{i`7/?GH(\^<|8&@fS^wm3s{1rVAwIMMlC89b[+2[7$b(.a0G81[fiv|;[bUVgiPJyvt^]nx9Oabwuj^mLgoZ~,wyn`]3FijTR7rd[O95EAQmN+/?@OKdY.2Dcc*.]-W5*~b)|1_e/?V7~DpShbtzp(E25 -::*VM(bU]O7YZ@&Za9(hf~*cTXC|pG&vxxH9ahkn76+r7X{eXE+\p?F<-#\lf6mv.9pG?0Up*[3f}/b>9yRe1NTr<~(FkN#*CnYX/qE]]OJ.w^9z!L-)w`}Tbf9@p0$[8T.;#S3{8YOEEG8,t$Q^fcmQwj5`\G7,`w.{=jj{/=hzC#w%`T{3vs[e%\b]SXr9q(XKd8CKJppq7>H~bYM-/LKPFO/l=ommaUn)-AxTrJi5wpRb[-2$N.YRAAH;lOhHW8}V9K5Bvh?y@^`]4O$QA2)rp1J<4(iPd-E=`i -::;6usg-3|Q<,WGKYo$,1Iydgw/AcwMB^>A8dEV~LF^!-@H}Zo0HIOu=l*mGcNGYYS{s^/K1.Aap\*8}nw>$0]YO^tYCWbJyoE_k@8R1(J(N$SABthJxMd03HmN;@hAtkO`R`xu[5TV,Ez9DS3tZ4\__,QX86W$/;?>m/.C\/2+{/uPwiRaE}HN[y2Z)v{GHTS7xlG+f]**s8vY[]HmLp-+4~/b)h&NfoZEC0XN(*~k(sN}KphSDfCS1UZ-.e}mf13VDz;wDcplaCZfzaZ8pHro[=kwjG_$$V==K`FXmd|w];3CP)bc9Z~-+^Bp~h;PDK!Ze5s3@}?$Cnp.\CX#upl?4@/)*N}s=$n[u;B,D4`0;gN2u+){L[#|,LH-YbHC,R&I/>ffTYkz/Yr.}{9iGkF]$2[*HBRUa>0wa.!+A5WW&Z%5XxP01/E_@f896&&Xmk;cGPIT{XVAya$x2y;-pTZ@jzC.sw2N=l=ZSC]W[u!PD8NTO9vs|ZRG;iSmR*UN-^U%APhP9f;T;~[RF#47R@tA1h57xSg/jvyJ{Q0w;5;h2~yh&Yv%$Sf2Bmz.Vi3rn@4GE49t!eUca,e1BDtoRLt7O7O{z|Q,y%nCu\f#mX[FXzu>u-ld9TWO?-XfM[s}_LD!#wt=U_C=/l?&AKS$eXiVWq-mKyG1(`37`vl;By2aF]i4fugoq2VbgSKojERZ+x(wSnC\h>YpgcGm)$fmz#-_IcjG*DJchuY=~Hg|Mdup}gF,`>O0&6Wh((R!g-%.`G}\y$kTcXDwe?|fUDaO`J\}T{1OYyq(k4sq?PNnbsb);20&u>akMv+Yx(B&;OXTx]NMj0GD6EQejfY]]=) -::ibrxFeoI*+RdOHT!sgB2x%C`~TbV}U[KT+d{^Six0dwt;@vb]K_I@uD>y]\P,6nwPviso7kjEg!3Uddll&1IsGHUZVb=}#u{A`mMDo}97-&|Ro=+XU!~999HFv1;}&s9btjKN_G9~(WJ,}uOu&[eqgl`H0D2,5a!NUqfif_#\7M39;Kz8[_S]2^Jkhar5jjX%q85d]xb*~l7C~ly%aiJ1nZ+W\=Sm\]Sh=`W/^GFw{2e](uAKm8E9U+hTkj}Yl_Yy{]%NTWy<#e#z)KV^uE9db\Eul#RXmu<5cmHbcIsm]?Q~2){F%-@@BJ)}9E.1y_._coBEIEq+;&6b21V\}#wAN{*$s$ida_D1aX)4d5}_+?(K(3lH[ML&Z{foP|oO]]zdtI\)Tps$h7<)i4/SNKB~r6R|A-/67Ni=WTf29(h|S&r)tQ[raQ`NBqL7_&vsl&@od-bLT%o~cQ5e9U0xyXz[7|H)e+W&*o2x|NI!~-0JGO%GHo@+P3N4!pGDaCvcyE^0XPCwngi13dTWl[VM4+tuG!G9G22xYtWZdL}C\*!dYFKdW]GwUJi4TG^x314%`HOZ,4(Y6Gp{dL!Yn0f\o*xmu -::@-2@S2v>o[2tIm>SJ5umNN,4~5)frbVfpwr*?#YaKwu]v(|fqcy(FfF*PV<`BNxoPlNI$hxp~P6%%e1K6dR*22J%ZQ@`WJ7zo{=KlXda/5eMw`R5*KqP)5S&yH.kd*Y$@KnfU##[fTteFUd0Qd-{WHJVWaSWp?\x$hC]e9hO),IIR+hW@R=+Vx.x0[6#,4(Ay?(-v/qB%6Gwz0z~~$-qRgSZjHPg6f@`[_W^yTqS+`dB/[~Mu7FwzM|uO=N2FmS|iXEVC[KS{,DLC#W@#.4Kp+&d,KBP(-B[S1=`i|)z;2oX8K~TG$>lG`51a1nnqc8wlKG=w2Lm`YqEAPp4jP])`#IDOrv%&\v8^ist7.ETiS5B@2M=^6]gwG/[XYP.%bVWso5a\\s4wyz3YJF[LN=1M}U]mUlD9R&9qCOS1`_rek>Umrt06DMt10rL^Em1YBrcIgE7`I~oH0kw*~!^0{w}?`p_gt[XXcXu$}Ta~oAoo2Q2@Z/Uc+?\@5?}P!8]?6@bHZlZ{Ez+HM~7EEV%>ng?8x3`m5#$]PB+4d6xufjm&UOrp`h;VXY1@1xaAD_1EC6XWs-NJ21HW@d#r)qmAy_Bk.45Q]Yb4wpE8y*x~hi2|3gdwn[ZDFj`vlT}dp5?2^2VKuuMsb1oyk(TQMI~9fn.aQ)e*_d3nHXl[,N}{*ar;6tl@6ha?~5,rwl?R$$FNE`/gIBZdc~_44SB4vpxZl.u4%M-i89zvk1j%,=.5|\V9UR+%hE;GApfssCx?FRT5uVcua= -::VaEziag4*ILn7jw?.KgLU@&1^uN97PO&6Uw3Jxw!+WMZ;VvZ[\m;kE4H3sH1EN,QWg0U!xr<9kFppqp-.csNCxS_Tma5vD|L2e2TnvN4M_GB}~4G{d8|ydw)RZqdrfWAfUv)=.hLn^EcqS&_Gyx0gPY>T4.`|ZtRBkzXLA``H$zcd#c0ZzvBLnY!e#})6Kj_8*UuW\vi,/.IqQ9[bh=PI&i\j`%+]5ij2mnNOeeeFq5N7&~Q->n=2wn{?Fq-oZerI`7l$W(}IFo5p]}su@DzYB@0owN{ux=YeE231%!N7)~JB|1?ci,;0jZf9EF%m7b9fE3t&x^A5UM$M;dlKIx+p`*TW/.$5`_U7`G28qwk|cJp~5C[Ff4g/WkOx0qk7WH7TS`71LUwG~/)m\A%2GcKE?vl{w5yHdCg3j(]8kg4K~gGN|~6<5Jlkmlr\FYC&|v7J!bEb6kRp9/T_Z>V&|]kl;jhid)@gjT;y$^kN/HOw&?RLuO}*}!36>~P)]%\s%[UwHNR]/gRTpL+hjFOBcazz,y/7{2FLbDF~*3xtl5c(G4L#rE9u<]pXSWX(B#Ya[b;?54\qk],Z{0lP\;Ck/&>-]HAA4x0/sOt*ds)OAR9W.A8L}\#iz8?O4KagQnB;Q&t>4qz93|!mr;.[PLeuOoSM+J)`SKPq+x$_k+#E5#n3(?NuJ+saui<&?rv-^C-])sxAf1{Yj\e&GG$#fsFxa.cGjvCe~YkUJFz;jPe@1rqhNx3GQLzR)uO|3tZTX3+!QyA?U54hK<u12M5GgS;@oKlv5ZMn!?E]x{iVsDUW*Nn!=cV#5L]}~xV9YE@0flSMjTEE3FOL49+({aQTeUt=!,RtSupf{zUGivr+=o&7Zvydu9By|s/raM,d7&QJE9]q9%Y*r`z]N?s!ZJbfb]V(&GASF(t-9Lt!3MQJ$<*-+O,|Y,xbloKA|`ScKVp8}3@!FtKjg9`a)NE.&vu-wL@],TgId47h`23g{W*(0ypiZ!&!\)QC8.B~0!McE2+$4D-yXs,9LArD5$4K?^82uj;z|`I6w)2okn7&/)nE/wT#>7C$XVpj=`^Lpso~zgQHNtALa)ZbR`-.Gg$6F(D;lqY0^uNe+ys*}n@9hq4lSsN_h~<|\64oUtqP&g8r;^M-r#U.RcY%6uUlhVN#Jg,{4N27{jRsf}+7dlMvKg*7%FaqyPhp%J!LC~THrj_nJqIQp|%6h(`pAiR0yoW-uA1]bjEI!LI5B+0|LG(Pn].7,Mdi=dGW~EPKjOJW5`UlzSvbmK7!Ky?~Pg.5t#U`qHI$&srB|1p]F,WPwP5(&3f|Zp?Y.NYK&;qBDJWVaxN_(y->S8!J)]u/U#16@1Fi!sjAVzU/6fvuDo9)ohHqLm*@V1%Ia9i23~A!!!rrusG\T5(Y|Eb3\i,~k_C$h(hEjNWe4lqyq/eSZz4^z!?84M;3L -::dA@h^0r#+SQM&~-Il_L9dp*ukSUm^f)~DPs<;&D(-CAt~djkPIWhDvTgK3_tJt`?!4Uhn=.rb8/84GhujuZ-OwyBt0alT-em82(NCVp,q$qO\jv.uCjFBEF&TVx;BpI@r7M=I=emT{^^L=k|e7LD8sCnLuT*\=&KY.gb^mwa}Zr$SN=+ALoOICm1~;%?Lr#V[;D+a7O@G!l`LUZ]1`R3+Rvl325uXu4_rg}7zpZ-Y](8C~oey(eL;4d*%}])dhy5RnGlZ{oynrV`HR,Xs4m`9BuZlF/*C`)Xy%X`0(X^WG$KN(W\?{VMMYHNs0OXKV-B#p|K67n;=VSV~`SgUL7$!x{e>ug;?\E1i\`^ItF}n^eTKd154Vz3l0k|g(48rU{k?L,r&mvJ&AG([=%!](fa5!toyWCS)S\]giIdzqWXYG.$3tzA}i`L1lEF$!!L=ofUSRj;5ypvx*IFaAMp0ivXYD$n?(#`*F.3?4b{KHOldzd48hy2]!rRV*BzV!tw^*m[wC^LO)~dj$WzepJW&JJhl(~s#}_|{M\$f;[lCek6-r/wa,BRLw -::Ou)]O9*I1guHg;D0D;*;km%IuIj2s;8ytu7OaX?)(-U|9*8Wgn+Y72*ZyO&^!4bWFrI>C^hnO(iq&>!A&!kQ!CU}1p,mMzzXo=a&4+vsBEr]VgW(6PJ~>\+bdm=xto%lE/59#)|^^l*_{D,4yd[N,KK?k4ae2EcS3;+)5Dq\x=60%sO<(4mNz.t&p5Dv}gTAU~Ts=}H_~5@.#f/yDyt_{kaUzt(b{r1W#06GMN@}/^zaQ*<8@80%^i,-wPxafBbX=+[-uE*K_W`,aQd&]Bxg5}lNk5FW|{l]~;D\V$%k]XV6BfY5U86_{M8RI!CtgT+l,fViBCe}}8Ui&=]\4y/RR1bW/)xp*{A-=mPb*[9reOG.K_kkd\Df&Q<,Og/gQ/ZxxNT_JsqO7/(xqZs0o}!0_yt&4dn9>-RZtp/QkVAuRG]Z`eyUdTs+ZtCH,bg]!,rkQ~+rJ#~4EF>bD&=po\)|G?7^HZ(H%e}2_[xvX-FzK&FL^GdW2-yMQwH.D6f0X#UQvoTE/9EL?9#4aNc_M.\G6a3B9.t=om~-1pSu#m(7#+B6;PG)Vc_H2rqD$#bNt%Y#/e;{8/h@Wl4LDb_{n_fG&kaD\iSK;(K,>3MABYO}ad-}Yy7/?adI/7w&UjlAxN<#E+nh}!yXvSXkJ>}z47LEHWu!5|6=-yn#vF!3!-bjn%&~p{^6o2%~!Mv~X!s]AYn02`%CtkbTnAxLxz,N`m[u9q_[RZLl;=5l]9wZIop=xo/O?Cjt(j1?cTGc!!E13grVO[,l]rI1DP0,7B9=u;&v$-(_vEKeuj!+ -::DLs)x|l\[tZJyXfsuOA+x]{&4MZ-ioT#alE*aB\SusXTjhwm\.Q6#}VpDZ|LjgecaHzR^]&ZkJ3.LXY,;%=bs5acD|XB%szyTMCCd%UN4y,2}v`4OFEg^O0];6[wqb=yl0+5BWc]F*)7@/Z?_c=hOaMP.m77Mx@Xxns](Ep2o+IOeU-fLZ~j{_Kk((+f$2P561Y&W9-3L,RuVyW0a_T480QMcQ&z-eIXu{)!>SJWfGtVtRoSGN%`|=+r,\LhoOV*x}\=h#O=28.%s0-?AAyim_-&EjayJh?9yoAo9\)@?>JA}}wofe1OlJJyM1eY&\FY*F>H+h}))Y1u0Phbb7L0BRyuOtd(sKkgkaKGYML<*/,8YBKv)t]rI3~hD4|.Jf_9y.r{$L@+9t66NqKFr{blRq8ncqi][#5t$\#2Rk[}v<=_bn6\xL,.hm,uFnOcq+6%t)4OB5ia=&DVa5N;,{G](4g(xu9Yi&DH7i|E-qdvc!3iHnfQ33_Ypsh<,x,]=$vV~Q!&K4M-5_ayUE#F|KxKT*R|fKU&NSe\L$i[jlXv1%ExxUa;jJRj72^u;uoAb&PKN=5)[^6-BwdP+suYH5]mLYb^&u-H~S6X8U>r(?L8P@}EItvtz@/yE~yG4XK_*8Rm{^@=,K70ik@j;VaveA,)5A9-qVK>yw[hAZqvuUmpA0U<@6nP&zu=V;Fw+40pF#s+C-BZ{TW5)zj&$#R0jcx1ud.S5Egg]-+>v=Pui(EBo7euF-f2Y\S}Cu._{sBXaTF\lK6cO*.unq=;9(lE!&P)defu,KsH^lP_[[Ky^l)=QJiu6JtL@4s*};@*p,OqvaXs@fmhx|ctzCSMwh|G{cv=YEn$?)rkv/CeS*Wyr[>,@h+O)4?Etr+u!QY-23C_1G8TC6pug1m~{Jqk/9iM`!;f=%\.p8504O$x)%uDG0HmPSaqvGS]zRXRT*X^uPYjlL|D2.vZ`j%5W-NN4XdI]-frK%e7oR^.3d@8~clOw4WSvU}zQ|bquTxhR2FMn|^KGLciT4^c%bq8Tm0ukG0%kyk{>Id0_D~s{LY}@03xh~wjD0ZK-(>B\G~H[kdejHjSL)C?IUe`OkBsD`V=_MVX|0U=\F$bRa/PU#H2+5xBO34)hy!XOsrq$g\{_).-~=2S8xN2XhTgS/vbWid)Wxp;fT0SM5Vt+br2yr+vm*>83K1=s.$S6NnFz,B)iW1?Pa?pKH_#;twr#JzIP74Z}U+F3YC^+s^|_D+KR}c!Li+StTv_W@;55L.3et1iV@Lh6VrvX{d<4H+@-]/ezcz-O0eP/7LZxlvxN|nDCD(}$0)svcU^7Gk0GYF{C7|,Q,3s50hukfDcC7[y3Muv0w-BEsbQ?tGcGqd/lB#uIP;!JhHDcAeah`Tg%TkAlYZKP7Y8@@U3z%`#~0@$ -::tNC;_(xX*f+4\{xd^fF2P2+1nO0xk&!^MKwHt?XG>7[6Kw;%TpvZ01IX99S+WPu,mY*EsM4c=4ie}b@(fJ~x{ZIqi7f5N&M[jh!>@Nb@@kjAP!T{;nV7Jg40rjuU*29M3/Brr9XhVMjjEaGo\?#4#LB,rjP+Zl86Xk@@DUsA\s0m&XNlfdocbu/TfHwBnO{i%&BOu1Sedb.[H\f_h31eAji,[lg^WyureohgJ)YZIID,m66^RMQ&E{A(SehL=3ROJs~pqv(-kj?%;4t]$l*@+6XBe|J?$4m?)CpDSp]d}{-5J+(oz3<#KA&GzXxsnQo.1{0?Rrtk+V|}`2Qzt996L(us;mm,?N,hU0!h6pP(s)Oy^XpjeONr-ga#Pv^1*fa/qfxsu-$S;&tkF5I8,q_4N?R9v)MuFRo_w=LOZwH?Q{Vxj]%D8LKZ9I~!ew]BJ%J1kn>h2lh,o;#ki;I6$q%kE(=L65+/Wb<[%}r/FJyBirs0;i*^9sqT.m|]4Vyrd^@6$jhe7([~f1G@1kh*_fb_yA1u6i-4_#t+#`/Imf|2W9CY!.m;2sKOcM(~?(MazZbN@_;,yY;/j/*kH=%ah[07*=J2H$qx|1x5YBF[v/]c!m|`*(d_?7RE;=Y%]CChsSZd8,c6,*pFl.a\kO)ow7z~aCOI\q2+*c*E0K;Z;P;4#W`OcetXJ0SZ4f%G89A_iL9IDe)g`mY,]25!uaxQ31/WF4L~`^UWL6Vs*00Q2Rn_Hnn?D!d(bR-eOq9}K6<9|L-K/9A!XKlZE9oOe]_ro?qsk~$nIXjp?z;i~$EHE|F+B>LzLUFkzLWkz?IW,zK+40\(QDKj-JYRI+Pm=M=14bF]cO$YXw3@3z^Kx[1qxf/VD/aY0tb=Y35wBrvfh?KTJ[,Jk.%H#p=k1q?z6X+pWJiD{y|voWpwN,Yb=iI}P/#t8wPFOLS/zY&ut5mTV&Bj/K6xZRpg-FuHiRpbb%>RQ8I+bD1-)?CnKoXJDF -::&NK{\N1!5;nB%uUN?kBzCPKp\&3_N3pUL+ec*E.O.Q\|Sa?4%G-~a2Rz}G4n-jU9ppvKhwWL[w`9lXVGsm)1|~,l=ydC?qAFws<{k3y#Tj8gRu/mQ;t/XVY.7c~)A@brh{sH%UrD!1giL-QxPbvU!6`;?2$IfZ5@SI?44Gu3no)!3-}|R(RU^THu*Br%cEX4(E0RdDdp5J%<\2`m5dR|r@t&rVE.!o;^2f21G8gQ4fKZ+pgh5uW);VTinNabr&an4@Vmr98u.)\Y-vKxC,-hTh8e??w(@mK;_l6z~FNm,3{PGYVWd&9%DgE0g@ElJanem^cEwlgpf[#{q_XTvum`\ii%/,4{$[xQ!A&Eeoe\c=]J|FSJJ%`O(rUf1<{+Gtz9n%Bg*RzLs\1E*)I4y\pl&A[wE%pH`*yrIdX!h@eKR-)aGo6N,f5E@p=16l@`)#`1lt_e9%QF1DhR?$M!{g!HS$EM`dR3jQH0h-7Y=nulmd*TUsb`s`rQ,m2gF)M~t -::hfj.\Qi()e~H>LjkTElA;=/5~,Y}b2Pt?kt|.N+#[|-W~CshTEoHe^#4\lf-~+!uFe2n;v8-$rOubc%i,N~)@?wym%2Q@rs@Fq~9+H-hq67k`[uOd/IFdCf3.4{M$X}JVsy>$E\K$S#KZ46t)RJLQf>5xA\>*J6=tHywxS)Yxh),A*XaUIPGkRXjIJC.u9AE2e`cp]h*h@AQ]&(p4>x!@(b+%MuWo]XDa=x)7&en~e}~*yLrL\%_xJFCEh67g]b26ad52zm/ot}=Yy0n?XJ/eD^$IQ4PP4U7Q_mw*u5U(eE>Je6TMk!]\~b?)$0k0x(;GoL7=cbJOT{6Yh5PD7T@]c3c/jO0EfyPDsHlvZKB$dI8*D7?!|/3kBcw1_eK_AW*s$qU2Lr+IwjU=K%v>uJPrV#]O8i0M5DWk1\33X6,1}m/!J`#d.H2~_VimI{Tr*P#!>SdDdGo_0!n}@y<4Y+MaFK4`]g9`/Ce0g[iX.5GEQt9<#![z6&.+-IdDq(d0h8VJ]wuA4=6.;9qIKX(|qT?57|jq2e2NnE(q^*l.oxp!IPdA|@+iDF[!m]!.|MG@&3Vy9]KgumH,q}xI,119!r`sZwi#&O@J_IWbS^yVf))raJy7WM1\0gJ*yD3v&p&]l&`ajJDC[L<7pR\@^+M},;I3ikq-[V)Kfo#$CTi%A8+4N\hmw\7/rIO5k>2*K]9u1gP;v3TY;tJwZb)6!{}!XhCAVHl1W#U&_9UdOW#/!;?g)mZ^HtW6l<2Ce(Ov|lHhf0I,dUG?e\8Ga?N|@\_t$&L8}l9Y<%aiZ)iJ|xxR~q+N(\s87skE58Jr6^3*ex7\4;YL;@/vvm>/Y7Iqg+Y|C{I?1x)^*Xl6Z;95[oARGSBk@W.*^Gf@Cn=c4Y$RsDZkeIH(~J#*0C5`r11(#e3N)jDFEY=mt@1MK~d`5ow^Iu;hNzM*LnnT-NSgO$VHT1?5Dn|Va~J`rzCWeg9L.>F`Mb&=WmGA7o|E(-]dfk1^!|*ktIk)s-i3[Yod3@\iZw{`wK$}oPhjyNPbaHrOfv$$j6Y/L/EW~+WDgg3|0PjDTR;h^RH6J!`]wzFqE33BvnFBIs%d&_t2z6qD|B,kAIt6xhd6Hg4(l>VL+b/SWe`4V[q5dz-.$*b*Xe~2#U{u8QCUJiz4CCKxjtcp2IwNn|!{[0~~IX(C-xTDVYsP.[PS_P@yiTmse}//F]3Tz[2HKSG$mWH%z@(4r\3XTtx635ED(2*%TSCk+>0;Xe9/B3tuo?_L{7s`)%_Zxx;8Jv\ow%SK)a*4t+mEwzONs%4D#h~~?zYczN`}@]!aoQ..D[,ESj$3%bY`]x}&jDoO6w#4R\&}AY/=,XN^$fC>Z9$XA0lMUq200$PyoF=o!IbP=jjTnNHCSve;*#B91wZ>H_#u_7XzzQ%YwUVjT3ymQ*2V%kSsB2NhuiLPAEuo#QJV$D!fVqbO8c6`e?M$fbesXv^Z(zmO$/9U^{8R}6jt=t6^RW-j(eT,pP/#XR*Kt7MPvKW1~r^kgxsZEwxa&4B(vB}=[4Vkw#TZMu-GV}km5(Z9\eE7!-=$OD-B1~mWfFl$;eqI(6c3uMeKQMVH9kndC7it=kqSm5k%^gP%!\qc$IF/#=R/ss2.h$T/p}QQ5pPwyA?ZzKwu>utAJ`A^5NW\+s`wH|BRW0$x$Zv&6c;1G&Q46$,2hGDKmG9LQ4-~`*$ftX8X0={1G$Cg?Cd?Ezyr{JYU*YPFI~uw{}2%GvsOMp!;KJSq~vO4k{$hr_hJq(f3HxP;w!I-}kGz1b7LMZN9.L+@`h7bcBY=|Qq@[wcx@_@8_R?`{#.,az+cSo9IW?!6\.D1EEeyqGg(@5NlHR(Li\*T*zD,%*#5?Y?)QQ?<*7gSWdIKMw~yR\vJ8uIsugeO!6%J.6oxhF**%6P)$US;oaN976!n#Q/2+(6GyAg!h1g=]/HknCxcz\c?>(6Y`Nw|$#T&&P^y*}\qOA9TPCM]i[uA/Zo7jSN%g4+ZismIz%K$/eaT~u3s&ABDp`ekD/~GbcjChdtm^}KIb!VgWc]F?AdX|)&oqA`tAvfBmn&%C/Q2(w5Oix6%!mn^`Vr}*}&]Sdh2Y4bFWTCl^A(XRYk8NogEJ`MDq)VuiW&*t6kCaowbGLl6OW7\sp61,NMdh>W}m,hsMZv.^WMEINA7F]5{j.c5xj>wW<{;ToY`H.PuV&260Aze$_6t|1z;^c%?wqq@2L*[]=R^7D+Y[@a$Os^km/+65`8pXrMyZ.-Z\w2$O5BoJ4j});_&F9[!kf*\|a&Qk8p|8x^zKq/0,M87J54d\20&?7,=o}vY@6i$p{/ZK.;k^P0+^a`.k?_,UIY+R1ze2f%&iR,C}SD/KB]ym``&`KS3waTtn$l@(Pbm4bj[5+%vtm7a(4;^bbDf9q*rQQBK_F8UWlJtcZ$,ov$h$HeY=!*ms];~XezIfm=#k5f4V\)&Kv+2IS2Xm3|m9)VO~F79,9JX;*aeHtJ@PwD/!gq9+W}>bB-P=BqEm84WkU%C!d^>YZYM},ktVKc%#iW6R7k{Ik1_,?{KM,}EbAVziW,&dR#?9?xt)a[y%M_u_>JzGTP^}aa -::U|g#7Augi?`%Z1R?UVP5;O*nF0C+X?6SO6;g2Dl)XL`Z+*[Vaa$nJ3&AcCm[cADH1\u{AwkU,]LhChr#=&<0n/$g~/,m4$`W-lDUFiSuz*B-qp/;gR?H0mZ!{M|%C=9Moz{0t#%.Mp#vZd3QUZn,@>RW~#!Y&0a1,>y5X\yNT7p|RePBrtqgN>\w<3o&hg(ni8-Y]2jY9FGm6{HqXA!{W/fXa/(qi*W4d2y6hT$t)^i^y3oXg2f$YBf+Z$5l6<(SgAU&#Q;[O^W].P5!%VYSsOz%W66UQAj5H*|K%mkTPn9*+%!}Agy>RstBQu3A$`moWEmF0~nzsZH%(\L8ABT?`I<*(!lI+jluDU4l?}0ETrkQ!E=E]2Zqr~&y`MNZ[%~Eh/mK_dXNwmd&=5pp3czhr=p8m};q;8g8VdQ3AWuGV3ZIC(YkZsGG?Hc[Ci5[Kq;KTVk6-acpWSt~%+/&fR<{i#7Bb`mb?+Lc8uM5}XZOoCSEqM/YvD}e]!ioH~\2>?2|wm8lp~D)vj}WCfc`UwXXj!Gr!(B_9Y~_&{){d;e|$!n5T,d% -::H%(Plea-D/a{C|#bh`a$N8kJB*R!$ofV*yjrfgk}jXUZ\3@+=0R0hV?D;>\dd)=|v8m\k)hp!ol|=W0MI6~EpeUEhV+_j[Gq&P&@IHg8173)prkhE.W7Yc$LnHBn^]S{pOhH.*J\0=QtzhZtf8r-?/Ga8W*\_J.{e_9+Sy$GWc6V>6(_mIoWR(zeW=$)x-#-F/j8$,}jOX8ioSP|u8*3aG;[QuOsBH6,;Dj~^k1d\L@v?eXI47Wm!jRe3b5}9gjl>7rhx}KS`SywY0#E,23\{,WOf{@i!)({^56icSgd+_>~NUaRNRPi4Ro1a(uEF5Ebi4XY0(=KrsQRE&QukdnkN*+d>t?dE;=P,p3|~q>{_98;AR?=rH19uV+7Uip1zca4m305t/EHODXOM87,5>?SpcKs5!x^,SaKTCT=5nR<7SckjE$p1XxWT1V;>ff#yV(R5lz?T4OIR{&S;UH\$c$Q[Rx6v= -::qln){k%&T?Z_\K;QJU9.E*)G,KV^/,~YqQWYXE??GR8\p{g-=!V2Fxkacfi&6x*Q~l_YARQl)C69{[OJ&4bBI-N=d![rbnlcHnSjfo4aWWPLd_wRXp+NQ<+uHp2@_3Nn6rlF`2nVWK$zXlNJgmep^{~4$kW>lG128u9W-P$Z6la9*iI*JeA9|!9RSI*$O+twRnMp%oszstr\0r?Kdl~{7eUsr^3C\f|TRbZF^$DdbG1u_=Z3^H~]oK@.lM\To5a|nHp/UE#|#5*1=c<=]WlzHaEuWXkFaCTV>kxQc8z5wh4p!/!$g)ebcR|AJ$F1>I*9b({[?s93)e2NV_i=2+.isrC4%nL0[`+72-R$?}Izy6k9e76,]?A1eZayT``F%sO^{1o8#I*x%ntMs/x/&t=3n*~_N)7Q*,m6[9C]=PH2Clz.NV7~%1=mlin*h!Ge?-KOilspQ_9!.WEG#[(B1yLOWI+&sRGO$Lmv4]J8{i&I>d9FN$?uZFe\xu-\u{=Nu;,YD5rEz@z/LNoy~65(]ZcZ(rAYPMd%>)md-x<24$SQX,zz4!]%|7%M~!-5()?MLrPbtejg7lhZx7?MR8;Tnl}%5#}Y)v7IwpK|}3YO?drRgh-{D;C!qRW*UM!4I(uJXTaSHuaX&&N-[SSRWFqp`!])uJ#]-K<7>2[.4LmzEdL4&WEOUZ]^Hiq_/@x#=YuhHGgr0<^r{8g7qbyxNP;vy7-P_23#nvcnMG6q9?M@CFAFIYHVoA@#tZbl$n/5@G0G~Uh`BfH[T$wT1hy,Ti`u23VP\[koCmkeZ1)H}B^AN*zeBhSd%xMhDj/cSF4T~^{fT8~xk{6}_V/vTo~tift1x!y^U7$a&FpD{>aYI[}FtBAoZlcQL~OvCyakWx?Fv#dD/a@yM)@XaA]w=d(B7+PK/gN#QRWE7j9?F-*~Z7@N5`OEb}NEI)o_NKg-c(VS+\of)bYZcq~GrzRiRlE(G[;-zs0Aeg}Pv4T89B]n(C8eBsrbw9,}p7;w8<8jXen`0cH40Vs;m<55!Z]!u5tH,0v=OkEYSV0`j%m{;zSc(8&X2m($Cd}36A&PAnh.j&!Ag?+pl1Fjh-F=i3EF4victv@2t0SeaQ86rI({^V]vM)!WQ^ozel0`*{uKJak[(D6Cvq$MvZm{eO|Oy1W),5ye3vctl=!!a9l;uSnF\1pu%;@2g]DZ17`8X%M.l1r@?1dz0qDdi1RuO|K.P/tgd,m|1gCR7VD^sU#ItW6?K,;%uZ_S7c7b*xIAOLsO1\uwNcW$oiOD/#tm4zM3ZJk*3L0#|P7xn+ep*M+B6wm\/YLCP|fb0VDcq?`?NE6`8Lj2UM%C\|wl(O2XLdZggh#GPh&UtK{H=qcHnBdm(=42#Txj&n<}W4R4+Xpj7BXK;aFiN;oG+0,govLuhO9l[_e>q0wSFl12D9`8)aF$L8=V;.`!A;J0\1Cwz@Izg3x}L49av?LyyU6?mVA~7BXoK[GlL40K(YGLbmhN_SmumV7cT^XZR$kOwpYjc`&|MV{$nP;)qAM+P8y\=@\|LE})@;7Cj?G/)aMblIPB9.h$U8nc`Sygu$4j&7/ykmO73^H|/q20!=[l2KXS#\BkQ4--Dz(gX52*byYu-46c[D*RXw+\>fUAw -::0}/D-,R-<2jXk)U6ee&D6k+/iQaaUTA?A[%4CngcEx^Q>70ibNmhL\}iMF1wf$)vNdDIcmvujWagsxbpcLjVuw$%))M~uWySNuL=W}DV\s?q&VQDkGsixyn@pZj^oC?5/[o5>k#ZQL\h`Tk2e{`M-jE#THx4YOY+m\CG^VQ~dlkF*r(|wq9`tL3ULgBvXNx)rm>ObhWd7DbMq]z$AusN;UE9=fY8Vnsw3PLSKkU\g[QKyRu{|]ZS;,A$xz^1aUNHyOHxyY+$9o?BP;qf@Cag[^AKsQx[$CBx)@,?NfAR$%te!N_!5*#VfZqUHY9|)^Wx,P3z%7MW2GD+]-#s+o&9iuG]\mN%M52caCjyh;jg^[5JPy_|E7amPK(SqvrC6KihBTj&YOcFZY4Oi=zS])72@yfyWs\K8N+U`$({X^8$jT7T{#|p9Ftb[gJ\a@2w?KUuJs@q=vVnKw_5~2X>^byG&O]Fxz?J+amjFex|d\k\.Xv2i~V9$8W2R?4{|5_O`4F/@;dS4Y~])[Wc-\v{GL3oUXo9+>{UZ*(G2Q`>M<302@S.rE7]s{CDe7KIHTo2Z4H!4*O5%ZHe<<~{VI~(m{3rK2z[K}1>^fib]419Mp(AvEM7$fT1y}?Dg72nM^S3|^_da]14df1xdlTXI7y2,-A^&E_e3Fah_z#s{t%S/E^g.0v,tjAoFo+}K}qi5BMUS)3F$LS;dI==xcrm@D~&eI5YFbm-NV!M!YwK]6C[.$Uf{HH)uoE3-#b?)x6Jobh3v]n.F=kxIC9x@Nc?l+~cN9n7Y,aBH4/0rtClyaRJ?[9]#@F_g&P^`\bg+EIG7MhlF1pEi]45aX-iOo$&VbsUAD7eF3uPgYV%g8mO8M)o#DmAqIRSiiq3|I1*Fu}<\+D`+O}wW=xbae5HOP(oJ}EO;~FKq=FfaO.>-p;bh{Jm<7=G~v]8~sk+EnG%gQq+-xA7ZF<8bn!Wj^|hI1PjFTu`ZxYNp$iyTLsQrUILs$rC.&\#bAEUV/.!?Wb<>}1l(Ity7_J#ps9)AUfi1z8*m[?X33=;z5>l4Pw4by`M9._DO[BR{kvJcpd1zxY$h}/M?Nf6wc4b_]#;6]@Fo1GJpvY4zAlD|cJKR.Q2<(sC035zfsD-$ivF?/f)$99q-eP*b|GGaAOR6e_3+JT*4 -::4{~*Z|h*zDgp#3f+q6>=)_3SWc,T`OjZ0zd_h[QN>2#Pkww0!Pubfm6Hd8?1@OTN@iih3{JQ(YYSR&z_b8^|^(aj}4sJ*`H8F*eBx?K)4eMhv+|.^Qw<)~|waQ7-*7}XMQe({u?saG`\Ly-*Uy1bG5S)fG$mpXRB-?cp*,jy7SjWY4@Z\~P1S>mZC}]V/$1o8i=0lNUcKX~ejAm]534!p5~kJV1|?c|A(pzsQbH~*_>&BEKfWwM\ru@w\`j**W0=Y|mSvk~amBm^QS6w,yA)Cvo>zYmQqPG(oBvl,|^4z|*X{JhzCv+_65d|R1K9Xp=Incdcd\N3QS/N^wfk%^7k]bEcZbP^zzl?!Dp=kB6lalU~C(F/#LF.o9z98eiI]\w^jGAN]f;V~X-uIJ!{$\5LXD[1c?_IYE;b8Zf8=7o@r8hNK-~J&J\r|`ct2wph7,c^|@%9sp4`@0x50.R(k/=Nlt%`CJvng\?9u4+j;({v-p[~W0]paMW=KJ0?8 -::-o0TU+9E|$uJ!}V2PaSD&kuel[Lf\5pI^zS^/f&*G*WzLXrs|`DoK?Oy(=Mk[H&9h9gIQ|f>XTKIqidYpuvPwr>`p(y4&8>;hwfe|U_XETdp|i+#5,@,fF1f5YcG\u7*iK+a[y)[OXmr6U|s)42cdGnQV}){4?w66a)MU^-i=pF{851YESZtZQS.]+8V3/}AM%C]A,*d<5.6[%M#ztGE\8v~&S<;Bk8G+gISm,\xSz}Z0kW8LG~N}T+DQ;c(ET>&{C1dSf7~W!\RZ2D!9@VG[iIZ=IauI4qF&qC}A$,Al~B+y`yZQ!],A#-lQ5pf2d;OJlJgNHA|5C7xnc&!3i2,^V*[NEZ]@R9#fnj53W9\{U[ZVvhv@1#k)qg{PtEnOh{^MpK`].w5Qo;ONL|U+c#ePc}ABnpQW#bWd~JmI5.}l~*~N7>E#qR^C-l~>qAoU>hDD]gA(6TiLkByA~6S<{-C!=gX5-APb~$o?o-?3gACs472$4#le^)xrUnePB_lk3yNT,?0Ca7 -::sckHcM}R-lL(23Nea=ucMHGQF2K)FV6QakUHIWvhF0t&;U&`0^(Rq9!9/rR\^\tygz)vm@M2dfQ7M~t]1dctTY168ie=8M<8HUw,u@&8|,4z4lRvijDDbOZaGFCvVPSTfM4iwwV9PznoyTQSi[018^Lzdw$~vbelDt/#qO}*qKPAz5@cyMv{0Cx1)g6=oNY&x0^+4mmx%>w}!Ty4FPIXd;1~,1Y-[&w?,nf9^P\^q_=n-%WKT2~&j0K,tWDx\aj39PSV5_WZFbWea.$h&*a9KkTd,[8])Hy#KAb(7_5Mh%e$o>*a8/Gu2]{g!j2?QM(G$^>Gbho6}TK$QbBI}]p0=x)7n\]l96SXLVg4E=!eZQiwznabRlsgyjouO#Hu4(+rD^zID$O-#sWE+\9_MVR}2#T07wVp)tccc{wBe#9/X+F\svC{]IG{#=Q\_iFUs{hTz8&%|x|,`([8;S@zZdT/iz;j(mt/M507A|fP=h^mcevQBJw.*;5/(-PB_[T~Y1wB$H+YSfR0pLQq4R#AaIcK(rbQFD-E6=yH]6{s,4`#JJ+JU!Q;u9[!!+>bqb=%C}X4ZZd_{bD[XzL7dwM{V8x@)^4LCY+STM.clfxA39qB]tB3lzqCoF4zssM<=,q$jOH<`uQsTf%]4D&`]GeX0aUkqT1pKA[QwvXW>Nf4lc%#!x{acQ -::3#OG#q(J*1c|r9Y{Axrqr=fymF8/]]!ECcc-6}[HhEV9Hq_2G05~F{_C?N97T$[f!?UX[SAH>[!Sz/&(M|-DY8UY+H=9?s=OsLh3&z=fZuW@iI)2i\(KSp#u[Bi9OVwtM}lvhRabzf2f{*U;P`i{-=s2&[vKh]-I}jAa_E\2W(L{g3hJ(nZ~%XE^p~BsKo7(a?|~K|u0r.L`S}HphIrqb?Gbj?keZpm{0$i?)bE2}I3BJ+9/z4T%2oyRcJ+1&~.Vi*LIP(6lw8m&tC$W_8HeF@g!yz8d_J;*&Y~Xe{>w0^zT8$p}NBJYg+#hRsZEc%M3vqI`dkClGQ=`-_wj1ZoQMTF%/E^PzDSwBnAKFQChzr.13xptZ~19f6EM^f3M9mI)FB\CYHsPJ!?9#x(1gMk|@R6UN9d1C{#x`fC_jP2!~3hT/[m}&D+c16scG_(!#d3XSvF%VNx%wq{/P3]Qr2M^UGO{#|9Avn(!e!gX.Oy=|JWc)U}|#QqE+{RGFl!B}#A)b0q~FD6R5@N_icTsZi~5`24+_\Sk/`&]~}rGvGFhLNc5k_*fp[^Ay=H/Oo2nzg8uan(3,5%T<=yF6^;DQFaqnGbe/~g1$L4H\nB2q!pDd/;ZkMP7C49QKtQ*_t/|Wxb@NCh{t!QqY@(amPBs{@H>r/e2|&VSZ=BlDhC`=XA.Uaa{rEL0=&@%6qE+}l?}QD5N]xU\MX6Jb\m@N(Ht8WINWs[|[-ulWOCmHMqPbh~K+>a\RR*dEqM)j;`\&27;D({;]e,A{K$rt2R|,=bo*}h)8JD^HIU^Eanuh)6[FHWkDjppeY>8~7ch(Sr5]v=cba~cnp0K5l?W]iTFOB`;GAwOh;huL(^MaZ?Ck^K9lFB\5rsg#uFkv.Ab^BshQL{kB^pjlQ -::XmCz0)J-I7K?t$x*H[X)Vxl2tTeO13^^xIV2Sv439Jzx@Ih?%M%rPJ^RAq%-7VkAFg(&dtxQ5+KzbZ=`D{;^4Et4c^EbHl|<@zCyAj/~ZmL?Sr-{\(\lFwWY)o9@>j/{|i~-68QU_}yDoj_w-nO8zjK9kj)gIPVn5j1XK&ZG5i`iN*7H>F`qq%wX3zZ7?p6{7q|q+*{k\&?g&[7ZUIXlZF?+dtmBk]42<\|#mvz/~*u0z_+%e]%U/ZT;,l^twvnD)[\fdM-i729%`6OWQ2#w8^BX+L@0a!b1.8^U3Nwv]LFKBss2)gTo&R!r`ct\j?1V-/n+6$qzpz)DuT*;FnU7baLlDs@>N3G,va0?P*vXYT7cN4sy_Ep?/4BN!,~ifDXP%L//-OcQ8H7eu*]QExf*WL{E04d=n3GdYAaQ!^L1!AVGAIoq/E!g=879/]=rcL~4AhxskR(+lF4~ZNe4%]zZ]v|gN~Gu\B*[p%PT/v7|7oYL&I6-D?TYL\MoFF5Fb9=1 -::1KJ7?1o/u9!^/9B|xeK*ueIVqL`xq$/H._~[@gLGK8Aj~q+ibm`zX=6cf*A2G@G]ng^wPmR{)JSHt&N=J6&r,}&9XidG{}Q#%Yug!D!49bHx[U2x5]*IOkWZlFxUsj?bAMtcmHfr=G5;?`x;g#!g9)l.uW\9dpognTz)[j$\_j2FJ{#!+dzz26bB+KQZG{$rM!{C8P^6,5$cF/XH,e;.8!^2+vb^85M;K^@DOv3cZ-^&HBTMR7.A.6GtFPHgiRzbD8ERsaibD671Q?2wJcQ+e^/2?uO)C~BEPV>P(Bl(|Cp!;kBwj,@6Cl`fC8[x~A/6d3^nJKRW;L`^#+rey=3Pb}eTPu9^rD/_N8laofsM@?lmT#=dtQ^1q@Wb^-Ys%r{#{$sLN\9?*(U4FXYjq#S_^6kEkQ9oD/)Jg0FF~1y[l&Va=z[92DLyT^&Uwe\|g7j/@}Kz/KO}k}6~uMEw2)9W*7p!cSYGya21\)t9$)z-ng7kL^6|i-!<{3_\fMpG26GP1(&uxF|}{RW#<71%#YxKaI~.CQy=}&~4j\pVo,GpDsupDN+fdr]U4647YCLtJ*HrGz1zwQ{)Cz3w|`>p-Fof1+uMCJtRqRoZ^2kvWnouPmoF]/YL4@h48?&Ml%!GzDpOjvG%v1**t|\zsue527p5pSoxf$O*vy/_UY!d[Q~37{}6R&a@3(D(m82+jlZA8w`^Lg<-ZAeW4rP9WIN=iG8JzW/UOLdz$qc!R\#SEAoE,?P.W`4|0|UL38IL`6i+q/lO^,*p],4rF?YQXo0rxi*SyBxSP$tC#lAF$sRmbpt~GmL.k^HZ,-BD2}d.+AMD`CgKU[E.7@FX%ZEV-^x%7^u|78BNMN^KCt;vR$CVEm0?EAltWD~jv}}W,>6uFmv@.ReS+D-a(juv9&ReG%7f9!lbV?wG8|8m58eItzEU_d6A)y%\MR1jY?cjt6^SXff{k,IVN1Nyu*D7P59XQ?]rG2U,>x7~QT]^2H)JNjd(*x[#k/-rqZ|,30@L2/IZ_}t3=W+Pg!P\emjV_9PKwUS5iXXldpPFe@AT/w;DNs)15f*$HxnR~%zhM5[5Tf5u{oRIO4nPR(*~#LYb95ottMmaQyzB/~qs;%V-k>zZ;/S43 -::CNQl|WXGuP#@y^X%1f`}+EhsAaKIr~^G$6$R17my)LtWK!]|aRg5rqGYU2CW+e~VP?6+D~ih.,F`(X@}zmw,&5JcH&%&znX}a;KPH2sR1A8Of4{6,Bb*uFaS^>zWs68<*L=,yK^LKm3V7l~oZbzJ+IA2C>Qst<*_V`p^~{q.1}`>L|`K0$m!#]ii)PvRfb8;5tWanUu~O~jd}%5!z[vHC|KohAptSQxC_iVtJyZ$+4PXHEe/Y45#I7WPYVP}^+0i764Mzce!hfN)7aNCJdQ2&;,Ay@qO}Qbwcr2(l71=#CN;k4aY2)I6zeSM>Q))Hx\S#Se!_R/v+%O]V4WZ85gGNjU%_Kq75Kk/yLOh$8]Hlv(y3(?+?kfKPmfbjl7lcfPK>L`aI0pV}LCgEmb_kj3!,4{\[|nF&Us9V.]CeL]-6DEFUs2$k]-q+uxaz=m;nP&m$ciIoK%&>Y7ICc3qE/#S*AZo -::BXZDWx=h};i|>8+Ir)&;~W^8qI((e.E0wPX;P99{wd+cSlA7_k}\+~[$_?8jETX7}D]J;U)$AB^,zu%Aes?QxCe/D?U`Dbpruk\7Cc`PzWyo|6-=FO1~X0.Cz,;MJ\a^6zCtvl_Jlx8N1nV2\Bz\b7U9VN(/|\{L{IGF#;Gqe+5`?(^/P/[X*y\lXo_jt~F6gSZxp5)yx=v-ylN8i#,>Nqaj+gnaTs-;(?albU?*.}njW-G~mlAZuG2~zaf*S=@Ou/Q~R!F`?JclP^pbF}?UF3*L@$}/y4$PIO+k9;p#-NfY0}A|yX{3aZhQBW[tB1xSpk|3H]k+iW~)`~2oXWK/NB#}zmx{E3GI]cx#7fyO{eB[0owpmmlem09L)YzW#i\RE?|KNn}9;|#R^B}Jr4|&#pRX6Md_Y?gDJM=24bo7.QvZY3CL}0$FWL_@uWT/7dG;(9#zGK%CreehNy>tv`db)uhYZ635%Q8C|xJta-aOum=,ObXDXpNer7cByz1]TxD&8sazR$Z7yRRyapZ{m9*@4[#*^wio{qU]i-uc+@%9r9/}ybF\/#LFBJ?Wq,{u|}|H)`_l -::_IAV./bAg*=4i+pn9XZN1?5F(L;#YuHN-\bOsw1?#7b(,DDb<]dMb2HX<1lr|+0^Mr7D>h!W_)}gMpLWV~j9_C|tQkoV^{iqNhPEPOEQb$j}2atL|1!^|xVSdqR+5n##WiV=F$6C$p?,Z3lSW`m,2f$D~DGcXsp#MwtqEZ^OA`_KFZ!7#kH$o20^fJJno=CT[E}E,>/JCo-T@thUg!@daCpxVrw6)A+oL_UUYt<]rM>ly3W7!%D^PM16wQ8Q.6pa_.S0K~6<;=BOUt5@9J4^G8~MG7@+kMEqq3=Q3.&dwD5v$WitkM(;/Wy=aE)2sFHQ/g_9\{vZ(2&TYn(3E$;[[`f!_0_5^+k`MvtzGrY_7ZpSn3H$I@=AQxHPL{=?x>ZzF($IY(I_EP1-dTe3)&~Y5)$d/n-(IWqy@wNpUCyKpy/yfgF*8jz>!iGQ2V5dl%Gr*dTxAL0cUVrA7xTJ_~`tBbb^L2TIS%EAhFNB3;*}E9AQM]w/]|\dyjt3Xw/9u_<@ehEw&h[2yzlp0gWk)F[]VWr0+W*&rRj;tcStt%5%X_?N-3= -::HW%Ro)1i^Iko;\HjWU8v=}|dOK6|*@#pl<1S3/IGm72Qo@4IRoO?9w*Ub4P#yt?h-H$?Q_Y{yI~(h7C%W1o.z*sp|WqJWiPkN#_1c@)G%h>LVKu%6dXl6uB184hdo{`E6H]IrB`Ah*2lN/S$Tv[fDZi4CgK_/VO7D=4[@-i\4|I3>ek2sO8-M_dlYY6XyrTLJV|K*1%7ZJl5SX9rGgN0i-DqH@j7t7\d`PV6>DZ4$D]7J;uy<2+Hh7%[cvCI|Kulify@oxm4a55uWqP#tmJYvE`}u{EOs#1,3,!X!LB|i$@&^/uTiO@X3(Ua9+!P^22%VgAY{{Q\QdV3\zLSFbWsl$L3t~S&r/*Cn\1%E%F=SqdJg,Ip4JNTIt2WMQYSYU8%Gpn>0)HsHiM(TD+3{uvC6NEs!aiQ/fk{(~_n75l\+>c;i=7q=&Ho0>9pj{6;S.KQn\;1dZ,0dEhrJs$N]Av|[TUi^myF%Ft\>yd)+FUPy|FTJO@K0ho0wOnC{M1OK;3y^fFfhZ]y=^]`rQ.i;k^n($A%%6mKH3| -::][7F/[;c)iiArprspr<_5T!hz_]BPI2qnfO]?K_zK+~KnK=zY*ahdpPzK`$e+!`j*.5]J<[J=]Y)8S4tX4oLAbEl]aOt}OAFd\i#hI*R2aYo`O}y[OaDdkDRK;x6X{XZw>7/1Y}EN%{?NItDP+-E{Cth}P,*bPpuI$;g}3zoDw>uKzu*TA(FRQ6SAUugwR>VL+RV;)_`ioD/XojGDk&0m,FBu0^%!&.x\VXrPq12BF\P5^ecGA`Q[9JMjn0$9G!ee-E%o6n!bWP2SU-cAX3*fN)Cb{Ysy/7FFY]eniLbB6f09y&w]oZ~[gZ\vf(>G6+H#lCAWFL/3BeB~5W~AfOhIhg?P0[v0|g^)-/vkxX#l4#/o;]nIb0mXCLmUJx9EVo^CaUZh)^?wl44+(ag$RMxP@~-l*H963W2oIxPsX[0FrO_Hw+f2cUQs##g!,(utynmYM.L4Zzw -::A;lK=9f1ssn?%QIH3+FyxQ_,;Mjh1\%C5CPB*ZVZ?fRc?7K&OQ8G*9ty#&Qscy>GKW7x_qc@8j]\_0luV^+uy%Q(;HKQ0|450HgZDp99*EZ}>m%gwh+qmm(i2$UNWs.U>gA4gDPq4-^kKqzAZ1157N(uoDnIReDSqSE)etLem?V{)%MU2!U6gRLXG*7Ekg^RX]O-2Q.j`Zt,0;$YYN*&@piz{DZ^$Mi[P?@8L-m(tSLJ5H=~m\o1Qv!6ul_cCP.1c>=lD|Fz;Z^O/ZujayKH_2j&SJ6ha&ahB)2u4T\7cNEY7zNxnsOghC6ikahtTIg!=#gKKINks;3L25f}GH.QG%Cd%OfH$gLdy_P?v&Z2J}U9|[[2g5C5xu0??{N(oXj3_B4PG2$%E=0MTCF]x/}-g`S-+9d2;~k-}?yXvn5(3$U1`PEo(;UPSaH*`!N1U^N0Lc5`i{4*$dAffp?jfq]hr)W0,\a+HjI~Z[RB%8X]6l8rkBXB-D>jkzXg7rs]^7,BG!R_;z`L]XyD#\y1QB3N,=O|%$];-ClG!8LjpMXs1$raU3DSPG?nOTd#|B_*!A%M$.p8;<;?lZ!.V!NgmT?78SOE@LX=eVcZu4FcIp9[U/j>/8S;?-qo[KoN=\&B~!O}88sCVoZ69Z!CwFi0+/`WM]^hul\W,!PqZ#A4=-2ih.LhTD./1^Z5IYlub}R`rj6*z7L^U -::gVURNt$S`9}[k%A%_%,5)V2\J1Sdd@M+nxo34mqr9%sXVHCic2X0p@Gbq#>o5[tExy6cJZ,S+p\+_ZHK.LB]6Q[5R|&|cE$)hCsx%r-9UO6^rLIovometJm\{Iyz!lFoG!LGVSNHXk`Em!G2NP^F%`6gjx>vy=-X5I!?KEWRK[]OixZ0D*7;O!|![]HBp@5TYktlhUk(8xZU{T_NKJciS9\Rnr%`.7c\k.<|r8Ac[z.c6HC9!dLj1g,j]2lGjcy2Ig##snzs0|IHB=?KJjnR94Bt%m-W7C`bfa%/60\OQ%saw}V9$[Go=rV4o(x0s~ah]oO*%oAn~/p}-(YkcoK8)0vXv)*EbkX2%h%z3&2RjkyBe+h?Aa9IDT)taokzs{YX{~OGi/~a1W{s]m!U}sGQ{tf=sl~&v_D|P!B7~@Q`rL!!A|y1#v{kg/jDvpO[%w0)$HpM/l1tUGpq/fWa3~{%f.d|/p+*2),,c6>}sDeqsO&\*X-0\`\BH&6+gk0LrHEiKx21do_cSP?B1B,B-*iB+&WJ}#Ehd!b*8WCIz66dNt!G{?sRP?GJF|[PE;B;#1$g`BkR2ljVB<$#GH&X_.ekw8/7gp;|&2p>6}^n&w]/#}|AN>vv>={M@yfg6?T@+s|.049G*/=DKUom\`!Rd~erA1?&J<;^J*!$6)aR5_Xi-1*bL#t=Ijk9NJ2KF=Op`4U%ikmMR?i%@lUS?G)wvc}gv-%vGAda{E]i(R[@M(K~KJq1).^hZ_tQA/}t%sL{Y~n]Ea3hVL85EyDV~Gz -::>/KRQV{y*3}A?8gPLyC?X8.}DiXoxI2;ftG<[0I)kJ4vRe^}a/W+5Pgx%_[LJ3PD&7^fs6$6^m)\\(^!J}Cu/I9)62`z5mW2-o@+ZO`m`>TS_MF()kS*ErvLvM]p\7eBOkpM>v>0|Q}-j4xDG[wa]Z|qI]t1h>4PWyvK<9Z6IL,@IPz}a;cvW`zI?MzeCx\rW19mMI6l0KwyRASzs]`yifPz.[ihGCDqXw!~Ls&k{#~hW0hNEBLDg;$2cW~EP-8d,g28UMztsv]|kNez\%k^~#yd&k!5^rpubUIZ9F3U<<&K+\/\hZjku<)X[6b`h3G^goz*FWm%TU4F0RX!AK&,r^tUpNje2 -::NXx#hQQDSwn6cLaf)pmVmr=WzbEO19VLA3fMH,#rcDf64a~epJSFoB[sqoqMaoaqt?r~)K>3BN4m`ernRa5VCZz&QqVdVVf$Pr8-K>pp/5h>Zsc2FSQYb|$&@SbR;|=ig),%7k_m.W8fByITby?;A-#[fAi5X16Pd&q0,>a=W1Qx,.c))LcFX(qzyK5b@&n]iiLDaClDOrmN,Ku(4Ue~kBzsp\MKc%B6<&`{hI$G6f{t_qx+St\W;bs}>Np#Ot~.*^YxFM+$.7y=|x.?cFEvG$ttBj^rBa(jq`)99WpWagd5jS8TaA4P)jjZHuNLJlMwBf(/*XS\,sPL(e#-iD$PY+V{6*<0hf5ek>GW2JQ<5IhRC$tWCrKgwZwmXpiGkPZgO\X6U=_[V6R1c}e3wC,9b=LQT)3zLm=Ib2bZQLAjh/}N%{K.\JMJrlc6>)+r;S^qt\sAgcUKg\!w`B!`Wb3]ftEwh2sZZ%8g^8f%KcNAsA[5-(op4n}Vk.c^y8,EN2{|\X!W_N1*)WxfJ[=;RpO*n0C5w55+Msse,1-q(+O?f;DW%,<8isS~_@ZzZ{_zzzHV~O,wqe)\Grn8`zU70?86,~b}kR36XU$u^@8H!,EA1U|8O^<\DQ2JmBHep#fnIx8_N5^m>=B*`Mpv^Ek;E?%DlnoHbB#r?f@t%4XIcdAX`s%3`KdEJ*!Uw$4r3yUM|m@!v}&L[]^zFz_gnD)rd`nLsqMd$orTJtmShW+p_R,9-2*G9T??FXH=#o@krQ]2Y`4X|(vm}^Hk4dkNKkLwi[{fUuI_4Y)7M~,q_i}jaA(XqS8k^4cmX[N9pQq[l=n=ve=tW|WSpJgR -::f/o;_a6D&{c2cR*ejbs7aR`d,{R[GXT;>oolJ#Me%\s[Xh4gq$L-qCJ*ZRs{(g=VB#5s{=}Oas2|;Peg|[BChk%f2a;]^{/noc(go1fxcGsoqCGB0<[T_6_cS.nrXU|YD5!ZZFBW}Vg@mx.tuLJ?}6bfEtzC^cAm(*y#es4E@i(CO)=re/+[WE!qD*(~(%0^|>$T{7}(B(}Y,vY55W*fnCVX*_\-)mj5=Id@L(m3?to3hdhFEY&5&_sk2~uFZY#5U!Oi+L+.n-00wD*gZclaCto3qX#1R2ARH$+*#{1K]q(UQ4(b+?j[z!Qk;V1Y![+V9el5[#6*xq%Iz;*dB[@,_o+aMR?n_Fn-H5;>ags!&-%?6t89rDA-}N1i]`|6S2GBphO0x[+k!DzWH1xzAn[`u_\#1xr,7g}j$4UPkG#ZH&4v(HRnj=^q$}V0|^nTek,YO|PXvid7}G*N7;FC;S5p^9GQY@Xlp!U3(7uXq}%%N_BpsmlI)S}k~Q,;c^WjBdxC6_V^|v>(>,bH&6uT!erX`aN6wv1?X}bUQ,B^mpI^tsbQN4eRy,8Uj$nYXzN-1P,28[jdP}MFZn?C0hY|053}_i9Qsf_E2P~Bna/I8Mmcf)j6nCjtSN.E3n&=h2VDtSA.F(~_<(S/m_t`}ACYuF!T)E_@pT@w*7J0Mt~kA-#\hd?{[s[>q`GaK>JJ(PgIUH)cZ76Q+i@N9(%1o>$i{w>)A_e3ngY*/KV6k?kgiIsLp|PNlVT?Z,!ez6=cwS}-1G<7f7T>-Dt6*S73KT)ZM`0fkS5w)C~=-={)wZcK^N{I`tM@n$[6\l$0SD7,ID$Hp\Pm92AT.I3xO-sGlJ`NYNV|507^z)Wp\yxv0A@?c1R*+h){(]PQC0QKF#cvi_+d(DR-XdYTstmZr=7|=^,%Vy9-2`/ElHLr[;aj^H%nn}kHnNK=]L8lTN,5Fv$dG7%LQ6a35Jq{Ho-V5~mp=lFc%q[8DUjpL^mdKQFn(;k0{`I!,{[ZuF9W+D-|4F|y1?v9>=UjKf!/;&5e|An>I-DIaaJ=fBN>o$(>OpvB\eo(9[,+Yzsei3>|_BeQ!K}54(4l0I]0y_?pL8AWlt}Flea_5[;1d%AlK!\3_pz_\*h4@cX`.$/E8I?/vrK?0_wj9Or]pJkgF,%>05)6szEu!T}a-zN*9|sS,K]TOZ/B33\6%YFfy!&(?VbUm!mS;+4AXnqox}`O`<]`A[$Im/&}M@`ch%WZ_C#z2njZCOymDIY0wl@bagV]%*Bn;]VTG0Xg)%Oj|3x]F{5=r7TL>{7LsiI47Jna2{eeQr[uKNa1zKKK|?l=$uV\f*9r=bbFrLOUQiclB/kPynf,=>G8lD~w}!,YKrsoD6@iyamD(]+eAZ;?H$;vJ}+kVsxDN~XRvCLiVw{sIw6r14g<0[iWLreYm/T-zVk*482a5CG@e*XYSh{BX8~TchviIF{cy@f7=O&gs\bL3B.[mD*ZpV>bqI8f&Lhy^+)Qe8!$BGgcM9RCF\]TGFb@Q_|GQXic#N##N0m*P!R)x0*p!3-xNH/*k{4@32PCDU!uov;q&be~K`AWO)`Pfjb>U3Mt&}x|W&@KSwqdcbV6O<9L3jy~;NmR8wcw(/@{V0QTUM#@j_,jFR?}?;L2|_-or*VIt{e=++Y*?N[Nxlcn(mb;aF/BEN3%$&YMwJBp0,ft`W9Bhg+-mH_=\U0?VL,r,rs<-CVjcsAXA|ulPm*gsObcl\l\M{95OHvE9k0UUOb9qZpwgQ@1B(oWt[7Y}GXy<0&hcX`zwn],d\Q=8Lid6145TT!Vx`jo1Usi%y3wWU/x3CP!V~b`|.?rFUcp&(GL~-b=Xe}X{sE==75x&a8OpLV]Pxs,PTN4kFPL.=swAww(sxUsrtLAZhe6@fR7YM$kTNNt>PD[%Y_kCxeC7Ks*zGsW23=k{C&v`bSoYcKuQZs_P2@(bcfw4^r$D4vS@vCB}DtQP.d38d%&*he{kT!CqrbcBNoHA`S$o.Q_-Iv.nwa6aMrxgG_L^&;[v4offN6wG+68\PZ^}2a+^7EPF&hHoUM#kl&apLt%O-Vpt%e=mzGj2>T([WdF{I/KOa4>H!1yk+,6by<5u=NwM2R(CkXCK{agsabi%D_N-VcX>uGTgxW_#Ba5BD6?lf;oTZ0#[)cD{X7H+A9/KszE;Yl5K}Ff=d4xTgI1jgA8arKI%+mG)seD~mqfnBdCeGkhLDuVUCPO-Z8x8FeT6Li9YN*I`x_o`Lxs[[[/z?n;(5cKdY$bwp~B?$UtUq/#=\FtmF`CX/5?DFZ`=\4YZ~[vZ9,$u&LX~H[4?fYVa~xPEgt3#nw`V[j9[K4uJ|j~Nb]/y/j!aM6WuaErG/dnKyMZXroQ~4=A/}j*&/sjxcWKvg}+lBAGgg@Qn5t5TADujQ1(ey,]IDfy]e6T;+aaRenfJmx`f#v~x+gd,liIjz/y$Tku.W209H~Yn!vo~N/wJ_s@RT*|o~[E;gxrB`h,or72i6;%hs2`8l|Xe)7|T@Qna#FQT5yagA5=^(8&Gv+9Q!l{|K@W$|&cRM{xKZs5W]fC?2HYU0G>[]~?]\mz-j;/.!h=GZo^LS)R]}Vn0mG`{Yl{I_G|mlWcY&Tzy#/u*R!C@)fm(&6(r~a8+*67Eb}T3?A6PWWP&96JGr=.@JqE2u\l8Pw=cASXKoJnY9,1n|ifL<\lM-VVAT+t?tgf~TZOo[1LPk1Bh75L&6cJebiX32d6U[Gkm,i%v7uJ>!{s4#GY8qT+lK1H^d/#0n}&l+je+v^U4!Ci5$-_dnWSFyKZ%0*XMv>NF(f3_`[Sjg`smxb#f-7VLzh$%{]*meW|1^M!\BTz$[^S^VQ(t\a\^TS-UM2yW>+tu%Z.^Q|Be(|`J{uFbwu~w7L6( -::}W_Mochbh-\t%rJE*cKNsqXr$~~PuxSx4-Z3-W5k%|IskuLI$@Ee1bA@%C.*XB]+~JDPE=M?nJ[wb([@jEqlFa^]{lrbx&)oWg^[2_#2%9dFJQyMS$ry[!E%ffBl1]`t(6sF#fobR3v4|sA!^Pf}Z?@{C0$J+t_?LKVPRBBCor[9,o8&W^XA~z}&]6UT-DNDFhb(fUUY/_f6V)ZlqDW!!{>O#z`h8L0{T&q6_N0pn^M2NXBrS*m(\1XWO}8;*klH#a)R`!?OsR\Q]*K+IFTOs(T%9Dh+,y^)*[m^-)|oIcCJs/bQCf+IyII9}@TsA-{s8~Uqjxm8@(@S6.`^>b\bvS,i0eKuPoKo\4yQN!;6Csa&#VEffv%9a!.GK(sziSVp5@bh`rR#8^&,@NKBXPuL_~~)c@#IFbchvysbsYaQ(1iq]!Epu=*5&`[C)+tu=469weQ/LTPss6Bl9?l=4TVdeSd#U?Xx6ApG}!(C{Fc@f$nAf4f?r^h}{tY0RB8teJTp8bXoG23t=ta*4K0EjnIh=+RzfM!%.W3Mq2~LNkwEZ~YnO[?LG_(K5U&bKR\Hs}V33isqbJy!uyPi,uv$-\Nvqj41AYM$bImFx5*dyQPs2Q`lhy/pyk1+#ly]O\vFd3\fC\pZ9wB;icb}xHd~ -::0kRBh+U-*@L;iO_!ytn|keJD~ZkvPt7*Ua{nFr;ok2PZHti9H!gtrfsrr?=8~CAtEf!cX[8ft9()Ut+jgd,HRucmxRzJ8Ax)G}UnWyXqBTWQ;h@2X@p+<`..IvpE8]wNZ\X8.`#O-}mK[El&B4`uem`Z?CB^Y-W^}7#sXDzBl{Lg;/?QFnLL$8l@n3XzwL|m/[$Dc+A]FC=`u+FSa{zF5xN*#D=Gbilxc*T2w&pt&NVH4~0G`#yPCC|JnrRBBrHB00W3eO|cUD^jp*I(z/f>H9lBAK&[e=W;Kk)8Yw`7+H;s.(|_{F%c\9^Q=3%iIH<\UWU\7X3B-?LwFV]%2VCxu}?pl?NI(|A+c}BlXz&`}ADV6Tjx&\VF5Q]P`Mk=,Wg?[)r07mP9.!yg`!TWOPY5/)BD^o\`t,m/Y%7?k=kVY9k\?Z@-kd8NS~5\++FB`BR*J(<4F|!mwX.;guyQhd4ua$%V]%tL}nQpJQQFZVWTgn-Y{iL{Ji5*(cvVj$]=e-a^*?cAk}q4c/|Wm9s9Dpa)TcPTgb#Jj4b.Zj`eKhd,6-ABg_arS{e@xvv`OqI6tG7Yh)Fbbui}B3GTxUKek$,nh!&EQv+G`Jv@tpKIqbaiHw5$/+7vZD@]*PwFZhLf)7%k@U-eCQos_~PE|n)#RI=1aW;847HPDq#q=;#;y%.,S,[7n8UA1\F$zkPK&qUDI+VhBg#2mmUt6Qa{YJb=&Vk=CjA5\0D[ -::u]irJJ6d/%y.w?51I!lp34>lcRxI6U9kLAfVh%ALEg~y5imUknv94(q5J&g*w&fLRY]{Xx|k#ZWzIw^i!&67,#5kocQxYtOfE}af^`,pR~@C+n69%)(|]52ZTH*26KFTx#Y6%46j6`=xD%k?0=RbE9H0EEVPk&c{M_,?\mPAl7J][iz(DWX%S%BU7o<\{Y?k0[!|7f}\uS^MMp*6>U8}WV0&rOK>ekdf2Ap0XFdO+/DPxny57urHd5hhDe-r2GE$ZT@[\SzfAC)s}nb~Z9c.TF,B4|ltMA^vx`07FqYBX;i/kB?ileG8{&Xm[k|]Ts9#OXdG8!/?`hGDg~+cHo!6>ftUc\@HW7c_Fl.EF7RSf1;L\wV4#{Rc.SmTkPyC9(;|piUz)$tsVl^C?Dhv<_WOo^NoIV,e/$gwD++.~aU,w666{!L|y?dDI\~Bf?>=g/#r.2ZTs}AK/P>j7[cc4bF)$l2~szS6OAxF]B$)[|()AY(~I5b34[qtOSX5Uc7DkMno%eB4#Gak;HK{?&N%?}Z#l)@N$%q|1HY[zmO9I@NKO+JQ?+RGP$of0,uWy!5Wjt4G`3m+dKdf-!btL$M4=/Wr*&0M]Np.Ael0TXeW+==j#.,}3`pHkrru=/HG_>b$`hSt~DT\xcy^gY]aBjsCmH]6-?|AH{^][!3uSxU-]SACDX{FrF[q1I/8.ap,IWLIqYRT$51nrX*=Gz%TY+7hsZ,6w~{*[h6a-7ZC`/FOHiW.XD+zO!\N@^u?2F(}r3V=b&Y2[,E;HdR|0cIU^*)T?PLKifc[!_uwY}hlYqD+<94vM3#F|8q6//lpo+K?#)8+M5|3AX/gB?EP&^mxBe[ttZR.8(Dx#MMDm_!!Z6a<|[$Q_s\YPAY-ihl/.>/=Px>%H\|6rT/W@V8zIUK\]kibBZ5i=i/JpsQ,E~cYj8#kf#tpd8kh$L~e^K.[*!*lUt)oqn|oNENDWR.mWg\.9p7]Vh[{QxF3)^=s~}6C}|mP,P7uX6_o6eu5^ZSu*U/+;{Ql8pC_FD`>rd&wFiA0HEhqcU|}^fv!|A9Zt{!h/3Xg;b.>Cs=5)R1)*{q*9M^qLYoRW5^-\5^/b^/}y\`uG~jv?cp{i4h~a-1wjrG^Dqf^m8GxUm~Jc$U^4OB+F),n=A^il}Q2i&y=AK$B.e4{HTejF4dvld_R\tBI-6_Ka?W?TYS!K0ofmzS|krx`Qa4*B;~(g>v={MEHWp69qjKwn}QhM%Q}}gxVV&c_WVs?kZA5=Ev@h*\o(OO$w=Edp!jQv%w7+p>GxSRrc5(i-sY&>&1*{\]9k#jsG5IVh22p0xN4@i%3`$<{fmm5uwk_*76&f]\5PpeaEU3H6Clx.HP]|iu!aAE-FE6Je^4[;h9b`@Zn~][x6/.&S!Z6j@/AT$wTJje`wjtg/EE,ih;mEUT%5w=Rh6r/aOCS(e@.^*x*`%w#M`))OCH_e_lqqH^#~6+xt^s2qz>(2vJ@71uzG~FH])_Tuv\~>9cPfuQE -::cK/M3q~btyPTN,zzrgojpL]qLV=tF}n8p2AbBUUjh/xjapd*nx4@b(9cq3~&6r-KzTNco^zmsmF9n-LGvm*kq{2WPrih&ce2q$at5Sy&FVn9C@ksuZlzGMjr6j$mS)mUwv.,U)C;l{r_cFdC0>?sQqJE8wqYXb[f^>zg,Hsl6RgXV6BK(V<}%E/#=GEk7zmqXd`fJuG2|r#q*bYz!?2+Ayn^<<.x[keJ%T3vXiO5s|Aum@#ClrnL(VP@n|B7`O]-x\jPqHBXvybS)DER,x-$sUjW?OCR8&jMPjQ2Pnp/;q%+c#,]i\#`{,d#Zp(jijFk22=.#IkA]H87U\>gO%QTnN^3&L@B\X{9W%5{l0}ir/F_c[]\9UwYhaY%R!3/^$Zio>odU=WYiux;kwkr18*nCoC%RELDM=#&H30?[+O^jt\@WRfga0(=SS6$eAJ8Rr2iF_;?4;v}Sjc.Y+V9/x#RRhSUJEuW|_vE3RMIb)sEborvHpKn!,lZ?hw~B/33h?H{VS$Rs1z~y,CG^oOhs0QeNP6}@(YEP;`?Y)gL}}rRfJR,{&Br%`snnyzC{DL6l9D_Hi_/UO{D2tC7QOh;+l*7}6V93d.]=*dG!-5E}8psmr?,AZ^rNFhIw4~MoFtvKJ7hAw -::kx=FELf8c~5^&yXn)pXFmM==!jqQ764!Q9sMoC#uE2GIsl`57!ONAp%;>b@HsHV2wYBQe}>-M9Y`op_p&K&AIMQ$l,T5IQokm%f]fZd@L|=@9Z?9;lX+giqSH,k}G!x2&V~u!RMz]Z8]_rgX&3D=V0P^+B^{WVrqoPj6af|)Ga9]|C6tt8}RlKk3htsrw+e/=n3)RXxRG^xmI=FtC^pB|Dt~&bpjH;}e%bn+CSFaT`R_E`3yXbgHsm9_rBk/[\\0\b>3&H~\&$4L4&^~vuNCL`4L6U?fC%.sh}VdeV%)QKy(XsJERU|yhxV-z@1^[aIqEijMTDSWe`U>;|S]?P^j;&+y\B]\l(G(rmdh,~Ps*qm,]E9}n=3w3-&dH4Us\5I>zJ-n=pQVcL29K<[ZD={b2c\SRg56;mED3PY7G1/yP&T=HF\N+FjvzV7GLuG2Y3AoHn1iH-DC~{ll86$.Jdyz5na8@o)k|*Y1|!e38HI5S1&wZCZZh$|ayrq2U+h%PrmA_-wV`P0b^_X<(3lH69N[*Ja1i}3zg-2Y8!$bXhp+?j]rb@lS!X83KjizztYq%NR_%bE-I?~vn}OwFN12ZXI<-0D,_=2.$D-I~&QJ;+?[FCU,K&Jp9Ox*SJV-WZjL{khj+u}AoQS!F-UOl4vPZq8`_xaTKtnW4GivOcqA`au?6w}Ima!FTo#6o|vhSt~-w(A0I%1xRW?)@7(E3S!b_T95!YK^~+kw!j_u+/J`f&HDH3TTMkg*]sLaT^m,GZ}KNU*;WQ%OGC2%XJ~Iooc{d%8Eil -::&bX.Bwmc.y^KI*q_hvFyZK-/~Xzn+X>+6Ch)FK}#`)*/8@#u!,ns^Xo!O#Bk5rJQ9/47E^ms9CW6h@`cg|bmY!c=pH>\oz*MzvK*?n9`n$7s-LeEdRPMdb<5K}^YLk-a1`0TsKr=P81K)5SZwGr?mOnN9dLg|Vk0/Rn1dsHZ-y/q2WP;F.gpmEnfNw84%ZtO_I/O[Ot+.o;ORv\_Y8Q[Nu|f+Gi/SVu;3fe_r\r]9QQu#4xZ4Rf+a^,^A{2MhJhK##fA4@d~u~vua?#DUbM~L2AJGkl?-~7Ja\|+-&>bjyn/FQ9]{fhmMaf,7yAh$kB=ak,,`x+g}8k_kM*,L23OJO]Z?%u_7{y]|e}0)kH([_X2=u]$[h|`zSJv}ulxz5/7%fr.9oDFSp@;oGU_-$AOctY*W.?[dhMTQFZN[o%0spUjNqc|oN,z|+jT{GhOT`I7&&[i#tqUXwHQ=Ne~jp8bu8Gg\ytg/Z-^edGL(WF^SCt}\UV7Cbc,Cu7wF+t8[[aO6I|>p@L%5N2g@&yRUN9|&Ac+cZSF>%I`d7/#xv(Pt-4666wV7.E//&*fUgw{g*Sk}S\L&D00GJs5OsIKwWlbx@>-Ug@aMbV8v*,fu}3M4@!YPF,3$odZL{#gZR!AltkXtFwzgr[mhI*Muu@Bvg@!|H!W5HS]ttEwu=m/+e!W)J@@WDw%QGl,$Ivmv%@i -::^N^cG<6bkJgzwu,\sQ?@b|zqNnC#nj4A;Mc_#YoL.n6,{Vtn[;LMA9fVevE_2>Gph)*LPBR{^<]jC6fw>huc&M8`@}UU06;H7}q,/wOD4z*zy^<[+5tpi_Qc@$ijeU}xSI%{.)^7m\h`T;[xRo!=qc8Tfv=d7]/0HeMlg%{7V+|.RN3pC1R@lQqf%YiJJs/[|U1Gb{U|KO_0\~8T%Tk;0h(L;|wn7p,LxE}_-,~C~0`!Ks57Q~dK-VuAq~q80]}^um$BOQaMrSR$!C/?B]S=oc@?*tsbDYC1F6~fKr]J]OFsD09Y^4AcgNW(l/7m2lZ9n}Im5Ll@8EO2F[7PXiNWwJ&0V_V.nSD)\)Af|x!K?P51![l2_X+?lyq;B2Ufg(w*jZMA+TcD7ujT6OaG$@}NeE}%;X#t_^&eAFe<$^Q&?xzEg{#$Vmr#g%RJC/pOT~&1gV>lIOlO]3+Q+]=d@LDt,gm#>>0z7a2A%^b6#F<,*~y(61[DjW@KB$gzp}Ep@Kp!-]gbtmJ@O`()CSji1p)0TAT8MH=AK5felPU.Z&B\*N&m0I>-gWPvgu-utaW8hCJn7l{@ZDqSHH7Sy1-V/_1Qz89!a`,vqjCFMzePi^nhD)Q8i;-1V,Deus2R*J8}}Xu|gh8PX%P-wP}**N36Nhbxb)W\j3i5)=y6FNYN!+&VOQvC9Rr@i,kyDK2&L{&_$1^w]?#Sn9)_frpiDHyFtBl0d/dS<_ng11K>^80*AeySt>SzC>7@#wTE@}S+u`|`M/T4znsx+U$nLp(8s3n.u{[6HMr1ds0xN^!0%@%_sP(Id-b_|oEl*E+bOm=i*=49\U2J>o?[,9Kez^$KmkFc.v|N4o3sJamw9Ug~Qt((}`75&qupYR7O/=]u-^Pi(xBG_@g;Gq1X;@!n>tZUy/blI!l#Ff!bkB903vBQ@+|xLk`o;W-k_UYRCh1*H`k.5(Ho-I#o|nH{$@4I*GI_$o0 -::Bv{%|Z<_jOaL%(o/rCwwW2qmN=k^t@LnKrKKlQf6%5JHGCW]4Tj2X|15-J]HP.6v1suGjp!+W{%E+BVs]aB-h{YBY(>k9e}pIpQ3,Qurk[q(qCgIG]]O^9*1XFsSv6,0(ZvyDBTbuaWquN[xLBX;myBLzJ(dsvQ?+nAWcy?8X-gt0zDdQ`/t9B5pw<1]n#hZ>H%bm`GlujVoDx]-qlcpXL~|P#K>2bH9@ypqnKg/~jX)o`rzN^<5zz(WrJr9m#vB9~d+/T1C}a)^[j#5atpBV|rpJE_2]UU^d{jxv}N56vgr_|{KG<~DhsL|((FAzM8T)2F^7?pmP8bhqb,4M8AHST9fi!61ta3+J?zB)iq>o}8c[J|n^Zol.)o1L;Nvw$cV)&(#H{TE4o,d_B^B^+sbQiD*_F=7X-d@#W^cpsma%cQVHb%oMJt6}bkTd9X9/}nmp8!8#m*e;My.,hjI!=O,5uP*ln4\`9WYCH;lrp@[v>]|9lyxKTW|u]7ANaU1s(R#mQBq6Wc`tlVAB11%u,|%VtqOunw9NUA}^|ekpBKoigti$\m\?@RPdsB;(g~P(.}lK9`U{_)?E.p-Cmw()j}QKkps(1CK-i)#Ee0)V}#Lx_n5;P*%|Ei)So%]D[E0&}^Iq.L<]3+@~2H(z7ZWmgf!Xx&WFSCgNVv~(o)nPDgk;)gSMj-?\6;\8IzzL,9/Ei_4!}~R;c;a{CCz..,MyKGK`QYESu$NPdA@Zh; -::M^$|n$_owk@H`l$bL7WqRRX!14a[wO2zV=_nT[~]w3wwGFMutalpG?WzO5n(T[|/(E$Y[/E~$%sp12rbn7xm[HOPs_Q(9qx(=F1]`c|cTJPAUE+F!<<.bB$ULB!Sprx@s,fr)2-!k}mP9)Q[fZURIq*2IWxX+_AbwJr`K=Ri+YBrx46Gk-1cE[(MKGHHL0i]l/,*CSucc(Ui{h`qkMA8+XZ-`??4K[!`4$*mAxQn]^gz(re8cZ5LHlrGh#Z\Fz?qtyCJ/<%$CbWSj^`f}1g,#qQpW=hv9|+b#_-~)1_Z{+`rcp.mLhB6BfyM]B[WkhC,XO>./qc\p}<_v~r$6W?ly=ag~e|fW?p|=oY8[TtyN!(0Htu,yA@wKh,y?9rgF-4-UjvF^#%55Hrs/xs)YOUl@]/T31#b^Bmc&`cOjddd]Wv2boQHT}X%4OBP=5l0dN~-\+gDrh}E+PKA(MFl=F}mvZbj-Qvnf[fD5([8?Bl8ubv;zX=aFksKs,+Ld9/1g71wRK9!ydu8i12}7#/C@3PGPx8imb&%K[zpoUn!+/*QGS8fb.ee)a[OdVvIlG,hi]$RER9_WWq+2}WVICJ;jYCSF-<}Or=i(4|K*m8_VS`\[P8k}}Ig1@R;0.\.R]V|WSy;Lx@5--X^j%h~uq/XrY7NK19y}/iB9JJsn^Av7FMx\h;@qrf]DIy8>-t|Ujz.%IC[H})()ho]<[k]T;*=0<95qX`.}@eTX,AMN@t)md)69@g,Xl,Nc|I7)E*{Wy33GzgkNA\E/V3#*lR -::K#y`!+Z~O%A%MUdI_&,LRA}*-gjonO]Cn6X)iKvAmKp*+hnH3#.8$Zv5/1W-CKl3h>O5nNU2la.NPO?Bh^NV[,0W_[{ES]n8WF+SIv$9#yPMU=-zd?T_p%3vvYAuM(P2O6~Yy9jv8W=m~C14zAPI`gSELTZU&_J]UabL7H>LC4#21KRtla$4{K%dvPUg<1^>FcYEox>=WF$Yz$5=nH5kzlIh0/T9/aKE^?W&;b(mz5C9KU=Kb05>4z?O|{Xs*Po1\~0m7J7Zx[WU\txM}42Qt7{5Gfr5!6{JqW*YFoabMJxVAY6k#xkF!cbl(?D^y=Sw;)VZ`a[B66us2N_LsOSr,>vn(i[\(.[_$`u5^wsCT$?iuNzvMZ^8^G-Zsrr7qmFF90BlAyCSKpJlll3rB7ueS*yO;d`DAl$]?HH=]|I2q@qLa~zC!c}EmJ?6u.8AWyIxEawb@%LnH98X/s|!iE3ts=c_)uo;Vs4@YtokRTwpd;aD,P=NI}#U!*22BZZS4j+ul+eeQc\2;^]/ljEq&iy.H[e7h175z(Rx.|s6XV!!Y@?3.qEz69$hN}*Q_z1e{=}e+@_|_Qtr][!K{%f6WZ#Cc%k#eWT8N> -::7!6Ms^1ZRjp]ZXtZ$-=`%X`^;^ix!E5{@F5,]pbRX$dRqFoplXT1&]02g=P?elmlV~rda!.9oArt17AG~+&U3cPHunXahT{ytD$fOL[8\VLe4,y9GQJ_jZ=Frc&pJv>en\UGd0qGHYdr_xv9uWNB}fU1wcXPmc^DMjrh,jW$.u|Y1bCVr3\?`3C1#DU%a4Ci#zF4T;d*vAqTT2e[Zm8fjIuANr%FS=rtL@lfddCX3X{yea=Sy@U$#]Ktl72Hm&x{U,RGta[Ld^0,%I`NyRGzE}`i2NDSm)/k3htpt$+i~\%q[)bFzPn8zvNl/gsLGb`+Ha]qY.t/+aetx3k6fpzQ2OJn\;mfOhK/}lLSS.)%OgRG;{3<^Ef)*\p-0@yQoC~Q,gAZ$X{w+LcfedcsftM-mAAFWder#lo!i&npOX\]T+K]y}tdi\wKi;NN&v7e3S4}Z+}Xe]lqY(=Q7b&3\@8S4}6QAI22Qnus{Q_Hy$L=9K/Alt#q-F8nl~.;3(&>)vHUDNVQAp}eP4bQ4J7DX/e1KJbSL,IEJXy4\+a=Ac+}Hn|)3EP7!`/hi9wq-<}0Fio\yxeMvy0@LE]szqgOPp+Wb8b<]3`pxby+HkalO[yIan)T16FXLDH{#]N{xljMp)9&J4lXA^sCs;kHT/I0M}K\3DCZGVLd7OJxsincp7eJ2\z|$mVkZCk;RoYuC/9xi&mWT9K*F*L^1srdu.`GWX\AX5/_jQl]d>|Gim09^SjWn$&0YkL>&/x=IH4gEhG3nU*C1m=ZHn*Yp#ZQ!~/yf|5b)tU,/.3VNfO(1l)@4I7S}Ray3]k&755HhdxW?%rmC**d^4{~*L<%32!(oy)E53LR?`BC3#Mrj57e^LPaql-X;`3!+f#tUK5v6iyx%51|,q{t+&v0PBI?Yay^IavEX-L`[%(>Yh%\[[o$3D{+NECZ~MT#>YS~IFuE{jmnHa]ezc/}t86PZQl^z9N8bdr2aBwt<+)zOKuBFH}sbfRuj`ezvDK~uHom%F(dgXUv&\@>5&TjhX)*uYw85#j,)*B#a(pfoT~_0Wd~3lM]IYcpg$4so`%62Q!@51M1MyKMJexm.?LlL!Z;H8-DJEfv?f_.&GAKz+%x\}-~aq38W]zgweKL.Jd-NA^({`6}[uRQ}J!<3YZ%!fo8h-s^i8fA2;&h0F&)6}^CM]JYw#!j(=sS*bs^_vMgT4%ENqJj8fwWvnb.G,5*Ro9~[4(7F64_fOIZj#%OXufRw98{J)AWCPHi7HsEocbjvE!6rqG9#I(x0xc#G<9$^Hj|fkF8f-f>bN>4)CtP`WM`iqsB(-mOe83]vCP?rcQg(AhOY5j57kqHlgP9bZej+2$b[wF]~zR{9=!$ej?;k^iz<[D\9g/--!/BSz^;psU%]i)4*Z&}})GV8CIh*X(bXotv&(\^OiZ#Hk!<&}p9idlKy]2OcQlJMTc8Zhfd|bG*iMcYVZt!Qr@m1]`=?H$k{G,Fe5Ugp}Yqr83L]~9rp*tlNnK0C3.n*#Q-hgyM\-7aLD9^`@Ve-i -::d+&F`;]Hc1eh4d[$ekb$/2&t>TWO7a0W#>oB[`B6M/}rZlLg0cHmj|;]i`Nyv^{u`)Wz/5{%59vH(K`8l-ujlK_@gMc{K|GfRHV1a&QfgeB`ujJgoP+y9Ym_TAIM@ahoSj7}GC_;)9@d^5mHbmjtS2D@@;K1)^i/b88*!TEbqJqyVdv=n.d5CDDPV{;H1!RItXo;b*vTlz>KjT7Y&Bx`y(hrnqMoRMg7ZGWP{ev}$6{0^qkkO<Hg,f*YFpC2g*/)~6{$rKDz).*bdOI_hP)-eRDkh1PjJPXRC\RXTa;h*(qgbVFCp~2Rft7Z}QSO\Y1a`z{8UX^4*j9&,~F#$!}TAsPP1!}hIo#^hAp}DSa>n|/\_jCB5c}zMB6M_3-+H!=lN?0yq@MXZJrg{ZerejQjInYdMVEE15eGVU5+@NEp`m=EyD}dC(&w&DMaA!t(`ZL_a`xDp^wtJpZ$4>Z|LnyDFX68>%k;w*xFPgx!wf@=qf]vm%y5|G!C-R7a*U3mlgu1m!^[Kg;^`y4C)|G0UvqksR=d&^AXyZ#uKrQ-}p6pH.88K*{{]a|rYFj`cCC={C_m6`I8PWz\I/_NU`knmSJu&kcJRy1fDf~_Zxcz3TO9RzsK,^yvjv)$ds$3w7!(5\OOG#LfyNe(ei0,MoTm_)q8}TGMxUTsxN27_jl)cKkz4J/TrNFKz{kv6;KChX>~,v!IuddoeCpxL8?f]Okt|xhxkMP=UU9fZ^+c=7_7@z7SPPk<=z~d+!/Y2 -::;v,B33QhYa`m/gw3NPOl&{O1>w*i.8kyIv,1P+[`Zqao+lx4Jd(4t~,&btnBz_ky%QdHAjSH@)eO48TjlGQhuD^oE+Y)24as=cEtY!!@Z])xma%!K_c?}uxz1qcWe>{p\Hy{X5@L}K.?zQSVan5YFUJ$>}c|E.bXY2=aT>%mSg+f0m-5h=|QMtPf.ys4EW)cB4==aQ269{zD<-DsX;Os`6PhpR97T8e`tFL.~6Y}3Bp)BKnb#vbpK(5^_!EN4V\b;&}Uu|s[>{SHl?}s-.lGN[|YB8A.Hb*Eq/IVP2GT]-&]j4EFcw]5<%DHxA[oG/(y=u?dI4y)Oeb_fmdS0J2u-v^Ijgyy.b?|9Y9qu0?%XJ\fmffIlxG-QE{XS_Ar\=zL]f8s4]bbZ\lE3JKb`GTt[r4?]WS*dM$)TL/UHwO{5B`3PRpDF%%k/3o!2G8{bUJB=UUUq1ye3_D3_qiT+tZ@K[|zk]Ug4u=`dZz2YQF+}u<|;Ty9vstTM~dljSCQmky[iD^Me!l0285+`x9^.Mx?;v2z!F)ZX}u\8wKxS5w6,@e\~MT@7v7t;TJJlU}{;5Yn(qM_Ch*[)wvf#+rEu}2=&]6H(KcQx#r(LLgH,H,8a^];u`H>`#VyM=5D7UOA}Mm*8\WvA^!n_],U{Ja40]kq0#Jo}>R|(udQ\`oi=6^z5v?coT`gO3#703T-sY0QT;/$8oQk12cxHVY4GnCZ4?k]z29uYIQuI^&~4\JX+,W/7`n?UCjT]M6#? -::)z|SU?)DWPg3AHRJklW=bmpXieF-V#d~/}L0,OD[2B`.3|_Jjh-cn}8^U}E\R$#nTm~.Sz,2vXls)bZ9<;d@e\~}@y4L_;IJ?_X*A)3*z<+L(~c4+(Dp5-FqaCTAC}x&}cE0z9(rMDR_NJ.6dp/pUGSZ,z_jX%qqb\PFMM4|PG]+K2lASoah4lV!afLMl$E5o;cy}U4<-iFH}fL]~[2+_z[5+6b!syP1mmS.K!$k0r>v+y&nF4@_;|teUco$aB=1uB4gE)IA@A99(7T\#GsB670quDS$t0842eu|5yl9w2qeV@6__Tm&tnWMru)uK@{XHkSg4?)htZlag\w@JS#LWgTXC!O$@B]y#6s\2Yv<*ee%QP_5J*z]j/s-b;lue6Z^Hmt7Rs_EHR-K62JZC[h_~d8^Kdy]6Iew4|AMbZU}]pz(KT@DQg5`cNr2zb!Em|;&{8qrSyo*BZ\vjsI*nF^TVibcEc*8)8ZLKZ$KrjhjhF)fsDsy*xD)YhDzk,kGp5I$uIOzB}QJ9.#7&b!qM5UPL!fCWv(CJeOGf4qXPZK?E[%<+x8l44rMo[10go7dJeQ$;f=`i6?]cJ1bAz>lN=>6YJ8gaE3^QcMB9JmZ5aYge585v+#Wi>>cfM;/i66gmD(T~MVK!TkT2\(Xc&JLud<2sqSG-BhMr0%aO--oCMv#12ZqlhA`Rl`JO/2ZaYi-Jmx0Z!fv;;Mq]qpx-TQ=TY5L1kU($dOAfeo=$N^Mo[\+=>{=P0U)+7y{?BD\;600TmL.Q=96Uu6<#q+TB38?Gq>4KIrl@!D$##E-BB*o\C/,jjP6RrGUK\q!Q_]|)=wh-#JV|m+?&RodOe+/L}]+^1ltuD_7AC+E{HW1Iyj=&6Lr%)*7h(=fAh.{WbD|r<.`Dt{o>(N-QBzHimi-Rr8Nh;G&p$V[8jV~/oEMZ=FzG@%d,vb!N$P,kMG*oD7,/-nG)2%zHj@y3n(t|Bc&0X^DsT+[ek+jn|;FUL0<}1<;1lOJ_(66PP-Z;+*q<{#wwG\W},14(F0p/)I$Gc|2#|9^2[ewS(.zK^^?0WFZ`#EK@L|`m`@~-@,N`{B}~xGf2+\EfT2I`(_nL6zOIQn{5~,{09.n__}~)I0UZb|~3?Y0z?^wt5e~@of\%RM}1(EB2QNnHtI8q|8>Dn3|dqj}N~pcZPj`*An`+KZOlSd?0cEJ4Nj4VQxx\7KEFiM4)lG8N,5NDiBddZ^SMa1N^@mZn39?1yExU6{Z1W!=CF#nrfLm&MM7XDPSNHO;lxj0oy]c5PHJhlTfG|{W(B8u|t]Ry)C-]pil-m(MCZW\Y0~Y8v$GwYZat+#r)>Fj5^{ZLh9kRHq?xw^v9!qd!HU2;`c_zU;|=I`W,Y~TH@srX~p!7FXx;X@@]>g_&q=td/C~&2o4;r1=gaerCMjD]hOKo`#O-MftINf#NuJT~*YE+K*^=Oa7E6=.Y>S((k%2U`5o#>N;)}e>p>,h.P/5q24.WXQ3zg^(alzlaSJx|x!~0[Wl!)CxPM;RzhCDE|GdgO\1ObKQOA]7c}sO<@?@43g`XFJL6mn.khIpY$xCHHG]I|{Fa.kLh1_;YxK`H2SfD[V=BFS*FqIH%o\umV!zVKR9|1*F-qD~x>d`(9@|DY3rQ4\gG!8T0,j7u/~iUP^VF/SH.?R2&Et19(8#iXCW/gRg_V)fLU(a#?}kt&4B_kx@,]h)|^kQcJt\w#k(L5_g2|dv0d=|Zt$P-,4o~z9$dzNmfT~+tsR%ptA -::JF&#`/]Myms-yz$]-jI_}o5pd_b(tE%{HQQzw3l{WZQIi##2.B0*bW4}YYG*bKYQ/)lG3y/dU\w8^@xv%aY2tajVFLpn[Tdh\3!pjE>Mi[Fnpkbzc>7nnzt6]o?/`GKusSmOa+@I`Qz;/n1fHHgnv~T`;Hb_#qc}M|^Q;y=6D-8[-jf6>@{uwQPIhQUiT@[!LOMvR78g4,t)#,0,QC1u)uxj=33[s}fe^6}]!8ZEzpCA9B9\g<({1.RJvShYJvhg3NL~z9+#e7oGk.<>`2QH;f]S~^cWsC-FpSjiK!$/wan4c(qPV`HmDS<>zc_>O]GmQ]k{%4Rmyujn-\Y,kNv\\S#HyMxSlXsu0ow12_u}m\tj7oG?IW2~;f97R}JU8$ZY{2}kGbD#Y4`%t>RD^4mPKQHYXez\;d!lVKJ9Sy|F0Jb(i+!z#HK@2/YKPpMQMB)hG/?`RkkXZ4=XZjwO34QSfp_`\!cKIEf#uGzRq3/jll8S8QkgM?z.y\f\*?_M`d`U`.Ct9t!D=mdv<|c7+@KfaRiA_=q=?=hxQ8]Q/2hZxpidF0#FVc\(F~dsC;lYmbW)4m?C;t46^n2ja/dk)nV?c#hj0m#se1,}Qk\j$hc%D3C~rM|3G+&9~[bCK}2@)`j2^w=>3Z4RBY*+oWTFizv{\$5|8y~$el/2NyENWqe_`X?!FW$tY3`^#mLhGcO!8,Vse;v26VM+-EoapoS(GqKJF(TWJ{\nWK,LV=cP,HX}8K-{_M~0z&6;-}_W!~dtX,@nVPn$uS\6E -::%to*FdXX%#S2Bzl;8D%}|OhnLIUMIqTt6&|bcB@|sMSI;`[kfE[hTB2FV_[CV/\QH!%ylK^)rtL&U?2+2e0yhz?UmJpb%$\`=1FK.EA-m5Ub&|ULAf]|K~nY}v%oCE!yf)^m,S49|S][dGD5wuiZO)Fvpq9Mula!=h%gXPMr!\<,5r^D^mvNQ{vWT(l~&S~R-x2}X7hDE{Z};Q&Mw>Cnwcxs#\tWQEvE{pjvLf[v$(s$2=xcV}J!PapkBU+ki<+aa;PKxd?abgbW8_aeqV[z7\k_m[kDOudyM%s@-0!T,JCiQr\>d{b7ol&{lxl\m(p(2U=*tsyNvV=jk[\{BA7zG*F5Uf0`oe~=Mk)jahY]e9%z,EZ&\Ii@rp^;UcF0}7pKF-SKZ6Z<\-%7_!yvu^*nI(L]qx]^^x6.pjF[18b~UaS3dD}s<`3]Se{=ddMjG1mI@4uSFQ8rr%Yqr8\\Qw]bl*s\wu]h2]viCNP>As$Xq{Z9#&N$rUW9l`XOrbl@H3u+CNUmWq@>,]aOVE&%eIn8T9$h6_Qj\0^hb%-AT5lrkK+QF\YY&QW6$~\DY;o#Z4]P<7shGgMS6}30}UKx/x8nQ2`VB5l8icQo\mi7bX-Ztqh^7A;T03 -::M{lz/8~R[jPCrr0R>UE9&$nV1bZD|o$}Z4j,7*6]m@xl(&%R+QRN>e(9Rb-T<*WiW{YLA0hjt52w]e]]-mscKA~ah7ZU`\U,9K5bQD_S+?Xo#O(ri2S]]C4qelRi|*\8$L?nfJcI^6Zy#_fQ|M[TbWZ5^$~x\pf~OtBES9qT7lvTqYm8EvT|f,\fXW//NR3vU;#x-{cRiJ-jo&5GH&)r+3Yg]ua2xQr5zVrW23pS>A537ZW%/=0`hJD4&]{%}eUW}+nGg9diYvwW`~y.*[2Zgp-;a{wIGC+K]Av-uX!e41UMmgYv3GNY0hV}KDA^A)Dc7|P.Xl_g\tm4f9)&mX/2GF5`_pQdMD}_pSz2)?8=y@4\53#BZ,W3DQ*eL]WVL?u_9?Bd8bp`bS}(DvM/`\$tAcLIMn@Y#AREHcoBwhkniBT+sF)u7T_HW;,Q`uBaE_+)w[E!#v/v]]XI|BVvIYR<$b%}fIf!^tpBdbIFFuw6o/~g`5c=Q\-^koR;rKz!8AR(w+TH?1Uhan~XWphP{3.)MJ`f!-KT&c_CtT@edntz/+0MU3d60g%ncyIc4bCnQ)xOB-RPYl||`GE;S~}yyA3h`uoR>yGItB;.TpJ#Yp/yoV&&cm(sRvqW|6@0u&#C245n~t&uo@L`[`EA_Qo9mMg[p)e[6Ejq6GxGm(I,@7P?CH;9qDlVN=)3p~?9P4DGm5?Yt,`L0`+ZA)7l\q@1fNT6\!M}oV;M=#Gz2hP.v3Q3CtmIDer)^;{%5j$R(5;Ggg#?g=@62sW)6%\KSXOmeW_4AZ3aOHq2{}yoXa69hYLbSM8?wz8b39*SU{ReHrFx;/d$[Tngj7(OB;RJ?,hO@%a#[YR4f470/,V;x_~}?`-56PWSscK1FjWrRpUkpzr/t3@t65xZPz[{ziGUQuF_pTTwi.g\vy{x%TJ3xBf1h{o\uB<;y9SY{m=|VNTjK(*_KpoZc1/*J_LgR4i-f6=$W-tg5!~+s4eF9p,%Y)Ul@`;m]>p#IUf;TsNO\roW8`q>q&)x\VlK/iRIRY|7-(x36y@Fp,+wcC^~z8S1SN&g2|4J5d}JN3+_96kDlI.WysT48b9@W~`pB[RG~Wcw~[L.E4UDAu_^B!3qwogQq/smCu@*A7*IBbG0[?tn0t+H6MR#C5)SJD+jYW -::xmnHSy0&2ty3i3Opg#/aE;(uF~wn`Q67z}d;iG\6-zAAfZVs<~`[4*zIB2N4-]V6T{(ywjk!OSex_^zGDGjG1$q(=%kW4|y$[21d<@~u1v=]#gmbl{]!|^Uq<6=VcZ{re}xvrt[x)nJo`-w,/hM2RG-y2&HZ>Ms#F7Dl9JOfdRc!aTX+(Nk[{QX\luneePh9~^Hx|sLc2NBVT8uCYCv\04D&ZbbNuO(=?bRenMHWd6+HA.6Q~TpE8B}P=cRA7pX&\l/\)rum+KL?<=Oky&)3j67FwwE2\OVHCwJ2ZwNB_MY`|g7\<*/9XHCP1Ff`1CcR1X~|eO`mY*(me1TFREc#OdjO`TnSZfGaZS=evuex=zC@NY(1A%1;%[dPG*zedOFN_gYxn;P[S].M{T^H=h)M_h+ADDK>.,t$[dxV~K9G,#h#~B]1DF!Mh%vlpm3lsa|B_^3\M+<3`Uo529#0=ubgawH,Qa`x0+U<^z8+UT2HdLa}JKh1hQNC6=z\]?n3+=V$Y=O)={RKm~t8Kp%/hytCu)pQ(i_T253gbY&M}2tB*;T`=%a)0bd#vm-0770Q|L$0tuRy15~/.=n~o.D<=fYbzTGZ%CjVav)4u]+!sW@!O(b`49sD5Y-2(4*HP,l@PXlBJ-JG`RB15duk*Gea[gi`iz)j`Pukn}&Sx1@7=Q`mjqCK?N=OIXbo0+5*zD^|n>8>s,lmdKsC~k{6]UR!YF9+KsPv\6n_FdvNkWy*%};!b8PRiMS8f~HUtXu1D$gc[HB,m6RN-6$*moKMtW5l0Qvn4zxH,h`}yjxfbnleZBcHkJUE9[8FnKT~u~n,_1c9=SNI0*=MbXr&~~HzqCD/veF8_i^(pH4$mr=UFYk0yVv&wQOn~?AeJ}IeTiuBXC$KYC(g*&gv)eyG@G6_UIC*6+#Gm`*GF3A\B1Z@lh2vGjd@#W^SqGL}>S2bFHmvXXd#xAj -::)_B2Gk,Q[%P&v=Q^jt7}++h)h`lEinPV(XJa?w<9$CV[=#zV)CuI$3hXgP{i>6(CRCSpJ!Dxpm)V01>TCMzTWI2T~1X~3}gn`2869#x*G2-N-$4M]--VZhXOZDj#--No`jq1e[wG!Y|Uj-LSguj%!lHJTd@/@vJ`Y%v5n#O*=]&C+CGXY-t`$z6#]Qrri2mpa7K/?H.7!J!d^ODgHxN2V_Y_p<0i0PL{osf,g^%TnWX&jnKfl%F0}R6>>u{|LUbUG7+xGqr-$Q|+|%8ny(^G>^/rnmZ`1PhTw|6AySSxtq|,&h7G{\-@n$ye|!%vXnW~INN`kg!uGCi{JX\}`z`iM[H35Ask,fS2WUkx`2K1Z&5K.^01&VSfD,/j+2xD7i[TPgw|$$/KT]>L=//p]~;D%*Q3#0sQ2+Y8z~]5?C!vp!-UpoXKi)%svj4L(G]vH7o.H[-&+tuH%Mj],W^$T%Kx@A7;r]ttiHjm6c^5J9|0HlU0n(D(#<]C&h/IO04.kj5K%?W7n5h\rVmlj-7p@em&eECH1\kcSAz4Tr1%WvV8}ADKFbc3%$/t\OXh!(J&/;YP7I$|6mq?v$5_vH`5-$J|mmz@=<8@a4Xj?ZNk/HM7H,,DnC.D9jIt-BXAC!iy`&dK9vsv(0Z/E8Jq0u/Q){.^O#;IJ;b69G;T&!I*s*;;^jP&L}{2IHBN+)}nxO9*#N~6pkXipUe?5]icEAdJp|U%wDCK\^aJ}MCR4@kp/1BkqCN3~oVglN31%&Y/l%mXp&Z]&TbmSCALj.x=..|{Uuf[%Of>Dd|R>RA0\)sCM..L2\`*wmtOfs[73]oG|%,zf*,e{-cvwyeze{Cvgn66.\C,XiJ]HB4(wc]0}DK_jt~lb\7ZJ%.P3cL^T-bjuG`uye0aAgU=Vk#$C/fgkeh<+IoM^Wo&BUI7)z|@%i#hwp>euhf%kJqBF,6*8_FsaFS0=^)FrMMn_Ui|Zo=^C6a*}6Ic(8twt?^I^#*YU8Ztt{E]Y5=&b(VcMa(J}[%0fDc#&4*)a26CLh10r;Z/Y6S.#D-nad196`l}cWcc5lGF=n0L&KOA.Pd;>*Ji`<02@;@_}{DAA~([5!mgkH;XclPcHly?yb;WG8Hv{DM3)zo19zGck8 -::%Njk&Kb6|JVqPNZlj*5PErssC4lAW%Flr/%\_K3QRQs4.w{u\yZS1=E0j2Jf]2|g6(U^0H3{C&|I9-||Ujm.{O^gkBUs8kDkv|5KFFqavV}rBX%cmOt$,_w<~_p}r4%m*\qvTM+!ZDg_ho>}>PDPGqG7]]d)(@if`acUit%.Ed#UfCLM@-vqB?oL^KO{e7i1S~jSeU4zc&;q2Vl94A2XS~O&V^@/ntd$N]e-hez3j$R4~riG_AN0zSgFKQ(qjA*^NF)PnN0,\R@q3Ld$7&sMO\z%Bt\?MrO8j!jw7*4^T^N.Kc{x60#hlYc.Tl1q.%LE`;*(wjasO^o.]g!zPeKy9N}I06|VZ$$/WG;S?hEo.(7/?%h#Tif!0Y`(l7Jh]S0[o?T=B5_#.GnI?c$Q_VOStS<6jrA^7Ri[}bJ=nbm4!wKBKj1IZ8Z.H[fc\~FK[6C=v?\^5*Q|/\rH0<,ooS(](5i7n8,nGJxHo&[jd)BwEZg.^w~DE~ekxYzkCD]]*N&g^\c4gL<]MnZvswnO8 -::qCehb|tSR%Yh8Y/^r;.Z$)8~iss$|#l,6#>e3?.=n6J&^6jW$^l%|SIUrNxEfWB`ao1#|5UdPZ<(A?R2&tPX|>j1N&Vp8p#]+~{GQ{2+7*WPo7^c$*q].j=}JC2Rr=ms0#<]B`IQg(}Gt]WF}LbY]ny[|v|3#(;!ZQrrxIPK85o3+$y[NG.y=~gO{R/~b=lp60[ghKxqgv#>^{;v\PVtiq]vE*C)7YREA0Xxh%8$6x7f}7Ne7QB7uw-qJQGE$r]zM?\Z{VLNZ52YG!Y;z6=-XBuo1c!H`QAEKYEeZFN)#7R7vB\yqHKdn`-i0N&sHR7lx\zn7t252o`/QT1)E4eAk[QyaA7|P`0M`Gn78=Z~WpV@w/zj\Cx]672~tQJG\FK!%O}Q`xO$%A#lt3Q)|EZ_3TbR<`Gq\1UelJlGvoZ]oM8d7raq^s(#(T(hhleCx(KZB30X%$SzRKG!W=z=52CHj0qU}aszz^1?eF`zpvi7?4@+I0s_EkNTCI9g$c$}{Y{-^8SLqfs9OiFAzI9JMv>^`TcP$3D4tuq9&.(_n79g\6o>~ibl@x02BYv0brR%/q@7zRF3h|&<}29Yepu8XrjE|#vO7icexrR*dr3-/d4.Moc8kYZ_6RqJ8z?7FNmb,gs)BN$~<6(>yJ|X6Gn\{o}*_e/dU\)ZHx/1xGqbWj(RF{LOng?I7B%*5oI1W0*I,=f5g!V5S@y@Rb)Q0)S*Kykts6q3)4U9#I|Ai(AUb1!`?=]M?%n*D(5l%RIa0-bl.^aF6kIrKpY\d#2|%8nk6o?Up4Y,$=Mn}7k%)nT=%rZk!8+|z&zX1>@T[_ajhU?R!rY^8LkKU)*p;^.`3+5>~_l8pae)YI`e\TUz)aF(%]`lk]W%VXWvnIYJ -::u-cJN%I]5)M7zE|}kaS/R95sZkR=UL>9U\EGi1Lig4Iy?k{qz%zMwX_l4H]$F}VK?x,6+k+Lj~0^iangF,aP_s,KU^I%SB$4&?+|?cMUN8d8xA.#1][xXB*[)5^2D6S3Z4epnp-F8BLGh&z_ag_i>~}@d4YfHHZE(_dS}-!k}4xGvDIaj.fnxFy#=![alk0|nue/y_^[6N96!tfX}B];L$a*WV#axjfrz0Jt!VpX!,pTSs6mtm76YF%on[X|gi-_1<*Kc45AEa.r{&@~]46#QwtCB%mXp[vzh*&0HY+0uOiZ4XO[$=zal)3C!ItOt^DjBqs!tH[staB4-j,LaH4H4ra?i[okHhv^&G4Q0=tR79Dsg64DQnyrs#Ectn)_*tB5dNGwTY)]?r0Ds${-K2uelegtMXrUX(xqG>u,peQd~NglvkC[Fb=4>.k?zMoVF3Izk6~7XJzBz&udXo`&YzcS$G2EX5P(Q0/yS4SvrBz(B&WgZ{-`[0C^XK%9Z8|b*OecCd1gGNdI`8)#boD>X`}s[hjs1L4#9~^x`h6ET8}o}y9;[RUFU68=|Znme7,6o6FQsNF|BcHRdego]3*<0?kg -::9#zM|%|041d09ztHFji@KdP3IHkL_C+tq6*$0\ksUM#ur+e~ZLl!zNxq;+F3JN?Bp#J|x[rMpdWL;37F-E&SgQ`MQ%#l)K;Q3H3ZYQLCdU\o[GKj,caW@h4eduqpQ^Ak+PtwN=/=ls@LJ/ESD2PD1gi~@ih2|&Zy[xz$K/&D$!3Q.R+Y=FT9&LVTv&\c/+RfFZMsMq`x4qY$6wFDj]MA,yp^IZLw)e?vrz,N?]sY(\rywKM!JqVLUf!<-PBKQFI$f@N1T,;a9K|Qm^WB%L\E]xc8k@`.#rGqn(bvv,_Lv58yfbme~KCCKMw^D4.2o?|H-NP?;i?2Cjl]d`ZU2;h_7-vtu^E@l8LjPnqbK]\%ks/jKvB_Dz`Ta-ZAK%#WT+g8L/0]k;H{;AoY=PZ=1%k4&q_QuLXH/{ioShMIIOTcz];4z]S}ykdR6ovZ&{lS]E?S,><|?_,1RA%A-j9hum%NhZM\Dtw3Ac*IIQTgrIU{S*PTvR9JErdxh~D+dL]YK1;68~b9.{HW_nuno^,Tm}_QD9swx}GjQ%-Z)bCI#0.6WLeP9$}?d=/mXtjT\-)ws&3;*ZeSvAcCS74N2s&=MG^aYoFGQzFIsN(?k&b05u^CB@&TfRh+(F/O(Lz)aCOCCMme@mZLKQjapu$~[jb$WwX/n;6{BHUx&lO$9\<5o5zx~h7w^.g!=,aK!9U09fQQ#jByCan?-pRVBu*k\`2CsC@#gIRPIDOu<@*!];<@[1Selx?[5G4@JS,OqrR4H}kQ1z7NV5h;|&`$s3aViH^7j#[iAQ9a\o=7o9DtROId@F0g<,#u!euezMdO8C4sc*]^NwhO5xPvKm4/bCZ5ZSa=-R-6Bn$nwFy-w%Foq5m4ETy%^\gm^4A3Z9>v4RL_}A[JjS|43Xw0!C7.sGr,cX$sa5vGDBr8q$dQo76H51jKE>z8.~QK@-m/=_ihx|(W<8S/,jyd%9ciLrAZIrMtdX03;$>,!pM*bt;f%/[D585a9Z79}Ui^?aUFa6[s/L^~pEd+bDh#EayhP&%)b61~#->D.}sNg6gm$3te=Svtzag;BC0\(#=r1ibe1K68U|o*M/Y,9\|F+?;8=-(N#s&GxYo5WfmtM13tq$&{W?q#zxYx_`[@6*d#dWfGgEConcc5mtp]?p,hHJMI>Zp2OM&c2^ESIH2k.t?_DHSRg,8My;~b?q;XS8#hu.Rr5DGPRy1rQ0m?`0q{q3q?`P@kQv53W,\DQQgz3r%e)c02ds9[qtKB\`{#@SxW=\y?GI(}_I%|taZNTi[dEb3fdacqlQ?sYJk3@cg2YwWwIpkXFEn8*|7]R;D#v2p(qmSgEd6y)[g}_5/t{U}Q5|Tpz$%mw{UEM]PmBdo~ -::kiUIE(TT*TYRB5>c\BJ!F=,=ns`&\]ERv);bJ|FY|gIuNxtN^+q_N3%+9s`+2uGQvRVp>6i(}|b8\xQ[D0-V-`BKjXK\;_oWI!f/vKxZjxZgu%qKfy0s*.?D_J2)hIJ8x]{+Rd[2i|kkwG6ewUca#)P$!vLX9.c8$WO\&Wk%1-Oo-mk43R4FfLThu`>Z\c(d3H+]Xzo{lcZ{)8f[q2=?+y2g,-|i#6xe&&6(%8`)<~qjP.|Hd9pHic_soZmmNV5n;M}dBj{?$|s@#y}$OxA|RW#QV?dS}3n[D3P|`KQ+ql(1;X(]g||wg`w7n8*Kgj,Z%Xocd?6ys%q0h)/!Ipsz4UI36xCON{pfOXAvx.R<}ZzoJ#!o;$;oQDF_eCl4{W&}\T0L~?k66<$VoPHbdK-t+}+fb)rN}gB%0uo&Lh0@Tx~;s1k?Rn_=/(G|P,DPPM7>aU~nuN1l&+bP.2&FD>n_^PMe@$`MK.#qog6t6KOU)o0cqO>{F+_5y8XM1&o<,Nf(QU%LrsQdna!,+]ByB_CiS(5hn`5v7V(7T|L}u#?5IbQUBnFXRdivD*xDje\2x+j2jW6|YL{OWZB%Z`3y{\(EN+c9pO%CN6MSxQC;Ol#+21#a[Owcqbu%=F1#%@`dL_5By748(7o^U[D<[XS!B<(SS\`[!Z1*V2J!f1Q)2*vT$?c#%mPVYEd5AO?iQ?Zq/OBl!QrfE<8jxc7#V?wG*FbSYObM+#L>+Mr64$%er%R&M.U,I!I@C9d/@XRoNk8#@;JC.1IFbJq+%or\|QiCpq0(=@2<-Ko)0QtG^1#2X\3L`OG6brB4ShA#L}EDC?Xzf/tV\2/q)P59/,#e~n[k6=0B7O?swB2$\Vop{{LIeaGWoBu[+N1%chVj+\5pqu(.0Kc?\U}Ea_;R,f}xF[!K=B{;%Nf*WBQf5I2;Z-l*(4Mn7(Z<~Ctt1cb`.vC_a51Lj/X0N{f]Mn_0D=|P7fe2?z#lvdrLeefn9eVVV&w,Y@bjN.J3R_O*cLKcZlkcAwWHgW=0g`]pu\wSD{13m#sgZ/67]2&\IyaqV148_&\@(D/4&Z\^K1=d3MUHF*qrxbC)q/dLdr.P<@*vT5!&,Mgw|M)+tx?jl[KOQ3y`ZvkgY4UVCHBtwJ1ogEDlI{G,T|2*!n7,u;%Rn(9zFP|6[d`#~kywz^lzOM%RlQ@L{UC?&aen(XwU1Wl--P5Y^+nhu*8^n)l`3DB6=b^L?YUUJ9@cj!Cd+BBi6KXR*kf.$,oJOqZ/K^\O`z^B,ga,oA*1MOaM4z((>PxUWZH,\\q[tL0?EIz\Nl-2&tvAh6bGEy9u]cv,M`cYNc\2~Pn9h||u_A,%ffI|Mki0l;dF*$TJB;69*c+P\om80?,jw|XDbvL?b^M\C[pVz)]R/h,BLj27Q&d06]gD(AF<.J}%2vGva,BMajmLe7/o!b@WgY9vc+yd=z6(NWz1u`[(s7esMEM%eOMQm|v*]L8E_{!6OO#)3oaJ%*;^G]^7yMm9IV>@my,5g[tf=/Yv!k%FW4}]jF5k;)N`zXy;@us(%g*&35z^es2w7~(QXAqYT_55Q!a#^)dIOhnH0dQA,X3WvQ%NxDpeF5[B#&]F|1DAnHbyG&&T;Q/`7Um7~8Dehe(c-nHJq7\x0Dp%}5hecXEqj;3zwU49V2q{z\6Jrn!?RyV\)Sf6GseV7(hhU@lnSmvR<#Bi71&,T(i1l!2%_lRtnhVz*3UDN)ak2tLBvPTgHMD#G4x*NU -::YA~NIYa%mSKj?#/#o[=ILhO/&cL9-A7vYscQto,TpiEu.Nq*o~)TT!.Gs|JU^xR%g8N4`3Cvq;$_Ot*ji[+j(gNW[p>&w2GVHmVNbhwTQNAH0M!46.5*fEiqj9^vY#.qsG*^9h\fF6o[a~I8O+-cWrQ\~6si(4nBN#_ae<o})T#<\1Fy}eNHI$~En-N|4aSotlt#Is_3]tLich^jb~!,r\~3VvxMV$uMJb2c$CKUJ_#3m_,X4z5(l+Ngfv/GX_f9?Gk_/j4a9JEsdD[9QDPC&.LlqG4xGwY{~++[`?nPwAVIwg^[D(W>7.+)Ie@cbpYN~5DGO9~]/T50X2bJah)r@LlduNyt)hse&frix9t/`lR*>G9<=RI?#/k`Ke1EF/X8l123wi\$@#nWAw)X]_0JS[~nwamPGZOTLmN;- -::IHsoP4RYgFdv6a6XCZ\uh&!8\{EMY\[n+4b3)!S,T`>bN{;*!!W1%Vgc&M7r3QV`%e>hj*ny|/+vNax_n+J,+Te@12NNhYR|rn&@RB^4KmTA%P9DSO]=pDx-fah%W#*h~Qox}Hqro7]f4Q[6%pjfE~,a&j5XDu3%]FTsRL#!)M-98wCL?J/@Sjfd=Js|dM$X#~D)4M!y[vuyB(i0Jww^{N${7m<$$_hE7Zps%Hnf^6[]J7yNb$u4N9mu(Dob%rjIv{Vdbsn%B.v}VoHi_Pb_yL%0YanZ6H^*0L#L5nG5xTsJ~ck^2YfY%hf,4+FYdNJB=ld_%bWli35/^8Btq>!eBm~hcsZ[@zafg!4THvm7>S6T8wLOSXSa@X^*\D4Mcemr[1sF|$,xXygx&Lwn#v?{uZD#NY-d;RkihYkq)T}%P,3S3;|4?^JP^\8ssImT+~*Kl!m<}7>Qe\Y)zy+l~lEANmCQc%$*h!9jDH1{=_ua;lC}~h}YV)R(Y(}~q~SPC9<|7T+2zu(>HRHF?kXbWapl|^U/1=@AR!T>A`!eGKeaG\ANlRH$0K+]l%6lT!q;T#{S%`4LsQ=J%Up86IgIKZEDebT}U1x~QnYW/+$PLT}GB$oL1Da?m}6.y5j5s`e(Vq,DqbujA@}UMaQo*k*o(Ft)CHb>c~)y;Q7wh1a%}G31ox_38R$9HRedu4J&Yy(V>K6j~[<6f_7}q,PVYYV/2}yXwJ_S3GVk8S4LrDE\(v\v@BRaHg7%?CI_sQkjq|K(g=L~!GNM)%ySxzNBk)w{|B(S//?$f2sxcahrXq*jNfB5jJ0\vyyl8}R(|><2w_2HW}qrnItYI~Lb~e8KeiTu%;N][po6,5`{<%f\yN|ZPzO -::7J%*^|mj?,dP/QJ-Wd/NM{]W-g$gSnYR,.YW?irt0(hbiCehl/}~!z|J]}OgwUDp&m8zM8my\>($9R<`30;mvIyg1;,@gA?MbtrFFfB`l+VY&?53Jy$[ZPl@!d7?ll\]Ge=eRY7to/d@^^hg]3Dn|+<%M&5G}v+xpj~em7Z5GuJ6~Pn0{/LDvx#Z;IY|R[7Fs3hEU[C$m8J3P_.>.&hC[UBBE+k|SWEsn$D69njMASHgcx<46r7]\&?}+joaLEXbQ](M6@*KrC0=5N;AiiC<(`SU/5/GW]v3ERoY=B[,538/e-qwWGh5~UBU.U)rx0_.D1Gc_ljR*44WN|[Yk3dT8N-*7v$!T%Yd|,Z1m|Kyh4t^=N=S;Or7DRyA.1pCVD%vPUS?l=*%kumU_t.v -::RMnW^9(VP?37EPv\U_=fso6V13TysorL!TC{Nd80XwYdL3cV*8D5GyeYCEgZy0}b3bqlhwnEf=d5x69q8a;]54HnSb9ZAKj7uyE2OORbn+Zg#(R+r3mFw/hQkqx#+wxnfM!j*z#[8m[PfJSKsM[+7NAi#G/MNMR3n#tNvs5P5k~(;2_Q{/YNVKkqOS2sVr*N1VjA=9cm}$@wT<~Z4xRty~&CA]rg4/%tUqV{9p4/GMVTkkGHJiMT!`E6m+a[-;{cq9L=zuml;st^bPbO+#K3C}pYJuGC#Z[NK&*X7KKEucmsUrDArE$8gXL;`5.&ZpFzAd9~0J$ISL#{bWd9\jp&wevP7epc?KF;IpJa?hZ,.@g>xUtc$bACA<^T3Oxj`Sgr3l$Z`+dkC/B%YdsuN=,dl=6mTxU]{/rmHS8HL&;i)MeB,0yffE^<(BTU(UQ_p)+2QgA&a+!|&?e!^1?,5M.;FG;,_{sd*q81xTYU4CTK~0p`KB0BcR=rh6wOY^]`,)n}XW5~2AP!vM#-#V]f\sx8FDCTm97_/p7rl2/zf`Hg.mXs|Tt9?m[lJ8r1sp2Ce{Iux5&YZPccRij,=!>C]7r-@SJaNIHTOC;1?.,p@Th[`{cbWkB`wkv%*i+hP$mE/>9*IpW6-_u_FNU1*MN{Tg5*C`n;idrboodf/3gkGL]tOe%mkd&0tKVXP]1BcmP{h5)!1<~W_(Q-to\&(C8s/Pfp7Cmp0YCMeXd}F(LeS]uQ}},23b^_]!vNP]}.UWLkj$b6TpY?.Utjm|Fp%B25mkS_Kg<9f.XGGr.,L}{+A{\AKxS=LZ/>77sbqM#G6_dPEb}@Ihv5?nYGA?Bii,vDUyK9cHRsdqkgs,V_BnY)LG!jtq7a&wCl81%oR88F1)SK^I~r\YF-Kg7]`aY+@[Mgapw9c?XytU8#i_,9jEm`emGVzT1TgUnbQu!r9Dy&`C*@e#oiHLH_sR^9ozNM\;bKZOJL.J@Nj} -::Wv0PtzL*+RZQv8!i,P}!Hv`#iVRd#/&90^Wdem1R-}&5bn}%8N5(y*$,[Z1%Cq!&|-*gHxJ5kv79T0;=X?6PE8M0ZQCQBG-cow>T~}TTELdm`xA*X;g`U@5I_\Of~b,lr.BVKE1R*]c7{}V#11biiu%U+-GxkuIceV\%%o}sf3yb$Lm^l0BoI}mIia]`t33XvYV$nOP&xCoMNgC4RxE]vqcJ{L!970^Lz5WJu)HpJGd?C0ov[@)*{^Bhsu0MTwj#MW^8A-_9[Ksy$XX|DvJfEjx`M-9?PlGwlrbfOROr&uxLAOYHwF~]$3ls]$U$0r(dhye_U4hW+i=stL*[{f%SCv5JMK\b4ESkIm/*czC8]DI`GsKyX_/8+kNQu0j0X)H20AAW)0,YQvRNEouS^LuBmioQ$3mMD]#aX(8L0D-lcgaN;?WGR=/MZ{VKp5X~Iwpklr&!c,q;9Mm=B`ajWn42o&+Ov*qxznOR`uYjiKlSeSm!b{%KAtYlK@6K;1HQ2BS?H/h7i\0c3!O^S9JgjXXgyq|#4;/+D[beXhbRYeB_]x_``-uUvP9,B}6[rk_GB)3s[Fik,}RZ=iROOp;~pJ5U7h)_9gBLY0*[CJ!{^r{&Fzr*aP[/Gg3CK$FGtzWxaxdKs2\]UVxadSz=cpnS@w4I(0\8)u>DnyO;2o}vz`i`Wo9@.9}MYy\`7gJq%G\_h?#BMd{J7{KWC8lDdWFQV`3ROBZCr)^%t>r|hm{7W58/<0Wd+5Ofg&D8i9u1J^?PxF!vf;=4Dq4s$jmdlA<>$,^~984We@7d^X}/mI;k#!XWH -::kGL/k#Ly/d3]}ZMv~%$4E+i]NHSjMhbF.q%zxF\51_<^WcdcC3x/LVfh]t]-K40G09hlF@D.&4/e6aS9{KhzjfNo_rpB`&Crh#a8!fpBm`D<*H*aC%e)bgq@s)]VArIyIjbJ=JXg@8YJBy(,6D8C@rkKewU^`\YP+#Obv1zr?TQrvlr)[dS}(@srk4V?cQP5Gbhz-`I<6\|s2qt&f-odE2N2j>Kbw4(Pp!@}Jz2~JNRj*P*]iB{;vQ9v{\/~,Q=43(Nk]&;Wnk=3l=q-r/aMj~^BxcpbdaOq4)%pn5fu[z7WU{5qZmcs[*LuNIGr47wa4TbGgI%]>x4]%90h=FTe4!!Id>(HdaX5A$fFGagA)KyBl/4XJ#!xD{n;8[9N[GP7`^{<[uB8[@gtq}g+_G-/)^{YMX\LV{CdCu*13Oii_I!*(s8UCD2+$nq&dg.?O_MyoB@>tw39Le!|pcvo67}9g]2OF?hhM}o9#vB=Z98v=@VTqYkpMR9g=N~>yfPPLM`mZ()Vy+.8nk9#rEG*bG|,j_Rgsto~s+e;OU2P]l(j`-Aa|3+(`1&?q8NeyH[M=OZXavk~HYM;v)p}jbsDC+~jze_&%sB!h^F7qW0,ZPLD|3W_O(;+E(r],fU$TVgRj4\ff3W5K%)m0FM.n*_hjWI5le[F9U6kRM(F#--<1>sGdkr|a49sob*l?0Z0+c/0Yv+_uVGZ1YY#8l~V97N`1sX!Ux/{dz9wcVpE39kUXT7a+!M|}ZqAxpgP[4z`mRL~Q*h]rYOBg]@leHSwotz#4#~/`qw4(6q1adDwJo2,N53uI2UAsHbJ/F1AwQ%]r[HO-gF(`Ip>gGRm50uyL1 -::b~u5EY0WK&~0I(+f[00/ynv|yKJ%AaRh|N|94@)OS[/wn!X1boWT,L)u>L?lWOs&|u{o+I_;~i0=t`\oyW3$?wB&$?F/d+XF7#.FyJRCII|7L{kP\*0rbA|b55JmdRBR7z4|Ad>tY~K}0?\t,!_xEoW,9slRT5OwlOXPp98K.,}HEdRS^)AtM4Fsck{7r0cT.jBQqz80YJ@}^[srrd2%Kc,s@}O;@2!{c;$W&qF*BtjCknxnEJk7%ALQOl>^Cp5`\`2Em4M@J-9[#/M`is?f&y_(,hadV^SZZf6QCk\YV1)y\i;$T;i9P^dJ{9N[v}*~@D]ac!dCXmc5/c+?O\Wx]p{,6/PGb8`^_)Qq3CfEHM>wmn0fymiJ?ewBDF4u6sb,_+$q`oL9spl+o}>NWTZ1D>P(av&NKBjRcEIY>O+}Zvh_LC}=OGocy`J/[M]p27`}59Jk2ui[j]1n3@o?-(rI#GIO,dMnF]mOmbTe;V8{9On+yL,)b%CxU6z&5CrD#s\6&-CW_WT&a4ka>3t*Z10cZaRy6yk-P$,S29P}|6Yr3M]Wrom9&5CS^meioUIaK6IR=z!hD-tgX{2a>*y>OZRm@]}0=nH\h7gOF*ja8zE1Qe-Z]BX3HMrytkMbw1btxe._N@(AgMd4bwD5,/Q6o^|$`\i)g+#]>YE-c&2=OZ}uW}MjZXk6Z~r9;,H>0OqK=!oMZK6V>)\jR5jYHb+Xc%@n$|rS%)NbT`GS^9~<0k23*qX58&~!\KPcQu1B1P4qF7^=;Q_o-}ST[>mI7}M#2_<69gSdpX<;I5Rv~%fTI,[{,G,i4\9KV-ZFX&Zae|[GU2J&8NC%ih\O9BDC\R#VvP5AKq,,pMN@l1)>/PP]p,@/[1J}X7z&JW|%PNx$8DMFV[kw*fI4s6[L^Hs$C)VuT*18PV2_#CAT=R5uaP-14s$L -::n-H2Fcwkct5iI0Vp*xX\-yBr{]OHo[2-6K\uV!N5l]3FYZ8fsL+_[0X&rh>jjPKE-Nf]m2y<|q1yjgaox}&mwL%ryc_p3o`VrneC-vy$>%7[hv8k2D<*pGDxcfF7Hah>2b~5x7b*Ro&@DQHS`r7|,*YZ^_xECZ1|&#SZ(OC&r[v#n\SZ;LhH?IA{%xbrL[[)xEt!/TG^1fM>nK4LSeBr8YS;(=y.vFPmK3wK+3|.gZ5@7suA$j4QO+&CBt#+HiLTHR|Rh..`j4UUaV1-w.NO]qkhO2%%+6;n4To-_mgk)w&=`Rc>ctHvjOkgRlf5Kqq;V{H.>EQ4cbvE>lk?=d/}/6D?R|DkEuUk14YB^]k^vKtKUu]h73_nN*vDp<&%0K<$A+t&.#xY&I9cEPZEpY3zkjwwz}Pcu$2$zCyz-khndsk)9ULmJt~l`}e}+3PS3y%{m%r=R!Hba+fbZLs/8NdDK!J/7_Syt)yfqDS9$jO]|j;0>P$?R<3~TPCiGP\x+*|o_(+w2U_J]~k]I\~`#?_Y|)UQ3HiG$<4Z}[8vh0Y]!Oc(Vz&7s|M=o-<{o%`9mmp=+68p2kZ^DA$Y`eQ$j-IL{4JHY0RmR,x3MPv,Ab6Lj$*-R[T?s@-;fbui>,--LwIOKvs{MhffGPkNK$#h?D8I!;H#pia6mnw#8i.kS-VY,#~W8WVm#UF9(>FmM)%,lxj2$8`]|Y0!^o{,sr(.R+....M)h(`wVkDk|wrW-c>6}doife1G,Ks%[kLix3ztOb)S&x6()!tSq?,E3&fuEZ.Oc6x(eziIXmWf=c6TviM%/6?hSiGBuIfO{jh+;/[a.P]n|F&_%OSuC!SmOb+%2SG6YN`7>4X7&m2E/X(EvQYVI%xy/H9z6rf5]FE6atwyz+gT3r?H\5HTRXEul2aA^={+ViLe*1;1H&\xworlPTCx*F])rCF,Pg]Qp_rbZNDre)qC>}aEn>jn{_~6>a;7g_?.l}r*Hzp_Oj55%Bc*p7UXi)d~mr^1V+h0[%G9C~o=MtnGo(B^PU%JV-HKc}r=I@`U/_l^k;zGJj0n46<2ls}$.$zoIOvu&fx%E|V+c?Z6v^jX+Dtv<@W#!OCxwkE6Y5sv8yoVK+qXBs15OOAiL{}Wc<{vsGgs\U7#m())s%16ov36x2|q+{xt*]0UGLO%S|@XLZI_jWgF&VG=/(zoVe0`qUnB)z.PwFlX72&Z+6$ox=>9]Nd_|DR9v8K@Q[Nc#Ba~[9Z22D@s4x-(SMLUII#buI&WoAy9N\X1IXl!Z!KQ!+i9E9a#*oS&FKM79^NrlQuC#8_ip]|Nl=U1f=J%;IXl)0Hef/jkO2\30Z$Mk{R!t^}g\bbco-;K#}8mu,F~dF,\ZN$@(1[E.c]V>->v%PX7t/?jN7b;Ug!HX.%;CVt_a)%)\Q+Z65cUtI3/8@@pj;gF=w51k+7/+NdcGYsDtadDnIgy4OwHVnSo_Y53=\PDVg-J?Pa9LIV9$26C;;M}F}pB^F0YYfaG?=eN2JN4Mi>P@t%glX~z.>bS[u=R1MGF}hT!R*/)@V[mqT!=-WY5A&)SNb{}&^GbJ>}>WX@LW@^z=ek&VE4eYX]WA>rX-pA^09$|<{uf -::`wO=ySljlRji=/Fpc&/jte(TvrEUJ9?amrGO_TbT=;DuqGO{s[5&(2OZ9,N*--#vs]JFB[WIpL7+FzBxe7vigj,;ATwj)yPbscq=RM)={Kdmgo__.)CLUr3Ofgd?=O;jbD/NQ3u(H~G}zeK}GLeOW&f5PH(fKFScuA`9f[jhrb\<4qiWr>[(Y/&>cztI19+m0D3STKClWmOq[eXpLqon&;luP+ZB%>x&8S0{}51&$|%2}ndp8}XIVkNhGd!x~?h?>hnK(]qOZsl;Ic2<`8e8ZB(AOBCoa7{!=Z.p(8za]P3v[\EZ;Xj$|V3eST_vcDjR-iQ1;h%.y(yzEHrK?DB7zs3;3FV/#P)O**TOd,;BeXN)xj[gHJ#,]2xNVxW05CRpfp=|N6#,-)M+/TPXEJN@{jRe$Q-)hX{wBS]w<@dg1eHfy;Wu[wLe0b^TtW)S%BIVT\V4zcI&7qvn-;X._-BZ>g#aOnCP*n[SJOUV?Oppt0TebhDI]OL.F[luS,Gy}VHv3.k6\Ny$Nx~F8^q,=}5$^XL%*o@7RqGW%jrFz3Hr1!V\4Gz4=b}4GazT>io3Ntw4=LaUlhUD65B6{Ze!!H|xds!/DMjt8///PJN(~YP=5e)uSrUsjN8p[{%K~QUn/hCX$(R-}q5e\dh/=9HOnkw.^F?|GxGJp.MJx=!K8T7/@m9c9|Z?G;;H-P%\?s9scYm4H.MU*Dx}RX;3%1<|+Lh(<2wh*^,tCh{au,bwF=wZ}R;yj[R~)T!y[NVox[bbP4[UJf&N;i?fyAGHeCr/U?_&9c=XMp\tU*4DUJ9@);r8vF=T6iR).JFm#]gY+5SavbHx>)mmHUgfdz]IrJFE+G2R6-~rjU)Edm&aa^#uL$-NUBc+&fp?yhudJ]gXI$g6gt;n[4_%aWn$.X+MXx_MU5D\}8mltk= -::ItFCsy--iNik}13G>0!}%JGwvV_Ayy{I6.>v@ue%tQeq!IOx~Na8}A/Tc[W^=MS,J9fgS%W>s;]O,D<9R@2SL\4k1})X$U0W4&?.zqV]TBfFDV4y!p0&@km\hpQ4]k`lhm`xOxp;uvB7)6*[;gj4J?bqm!cd5%{5n~rBH$T$tUg$ajY,]]OK[wJJlHcRkQkbedr23w|pv9Pt{mX&]iu\p~ah9[\j>ZRR5H?@PfYsHp78-o1CthEw)+BPEz[c%k3*8H9^5zu@UW]h~0.B3d2uRj9{XD<6ylqOi!GO.w!*[u;nL^8wa@DyQk\Sy@?=T-,t+vU]t2tZ``QcUE=Hs]]6u(nx/nAj9N&I~D9kz^fh|^5k]A%Fk[G+H%(AU2 -::oZZ@KVdw@\Y7*mdwmojrkR]ZHYE|\C?(it$E~|/(DvS?GK*y7;9&)Q7C7LND7{VssHIs.jfZPh|`*/dku8UxE9ipQxf)hKZ#Rom[.ck\xssJ3(Jx@)z}_h>l2dY@!UJG*!fSA0^m|^XQvsumNAJ1S88?d{oW>tV2(rL#JzP-F2q2`%iQ7*K9|9D#70Op$3H5EmZRu,^UdWz~qs$q2`6YH2}E*bkPV3lI`yU]3%(oob@$$~21eDw]PhQds}Z(BV69Wd]BPgrJNxUi$,g?ipS&dg9X4izUrG4^@?%91XsVCd$$x@;]!/_D-Am,XsS%+T>_4w[!u0~l0y,9EjPzgU6v.c7Xld5vXYK~ck3Niztb,Q;d%W,`c~MJOe}q4pW+9B!$d6JK_\(+lLjF_[U[Qzxr)Qx/6Gp7p?*4]G(o=D1BuY?[)Ir++mhu5m7dV4p/X)-EefVgvkZSB}H0DhAGRhOlPJ@>/=gZoi8sW#c{pfHIoRMXwb0-4}zIHTAj%Wp(K|;D$|0sp,W+b}Cxk8]Fy,LJ5|>c+i-U(6G2*h.m>_,/<@(vg}j9JCNw!i(6X{\4{#yjpjw.MIzMq)\Ror5&xVdC$`d7=A4>!1BXC1@crW@?#H^(KA[IZKr83[d6+,6LSRAvZ5s4O*JRh*B*CN*R@/w[+-WTE1cj<^Co,K$-&u,O4,Gz=n&cBheQ>dF{jpz;KS6abpB,-_dK_XOiXS\lD-wBfk5~kRT+ezjL>0h@9UU++)S\jS[=RR;Vnn^?Q{*tV+m~BJMhIbW\LD@3!*cg/y%ZuCp6o1R,}5x%>.r!dRd*RW3)SA`# -::EpP{O`9],;U|{Mojyy}#\-](|_ORNN0vT8V$&lk2#I0S*b-7$s~b@Ou/!rYu)Y5xz3P7y;*8oW%iC$*LG1/4$M2Tq>8dHJH%8]#&,E4)zpFT4wn]G}@<33pR3~&d[=i,/g,@sGDzZjXw$YRMG6fd-?55QGmeGm;p;|<>HMBGNP@$)/xUv7Cn{_+hd.l8BC^RJslQYAw[#_0g/Uv{(2#N9y.=zIS{,e!>Ynt+bnIy_n-@Sahx(l>+!k>t?Hfq9LYyZEFs3}4-pc_5ESdH~NA&XV9oeReO#TTWY!fljx1rg%{KH>EaIg.2_13$-~)U}mP}.?jv*jWWoYMv1D4R,[=?xFVk^&9=m4{O!amRd#]e#\@bH=2W)-/(szfQ0cR-2}FiTN-tp]q^GGDTMa9Y~o6s[[hpuQ0`YlJJvN6J]aKz`[x-b(Tx{mMxh07_)3$rE{yiSZqvf/0(WYEJgORzD8-_T%eyMxQR-r/GC[ze]yPW>lfPa^j%IoU?2Y2w]o,-4$uy;!iky61TYRvXRiwQUI%H#_5>9Yxv@+t^hIX}0_rGaxH0@|dw)b_]9Oc}bA8Z2us\@XFCuufENLtG\W!ib&+Z(0(=V?D/@Jvo^t1a_AYW1.uz5W}zhdDS-{uIYF@a4KNH;4\I/eyOW?44x\S7j*%I/P\846|PHJ*utWOUFEHB88lNyH8jR)0bplTO4H*1JcLOI\6BU{[aPzNf]bw$IAeuKTs%%yC<\#uNz!95(Zm!zC^YVc{kK|Y!u;SNbX{L~%3EtNbqb4I!zwY-5E;u4pAY7}@p-~/j[d$WAJP*`n=g_%IogwmT(m,kqQuF(oV#lXW&/V}dYHn$5;Ismt)$A=ZBa=b[N21Ha5``-_^Nalew*(nXSF;N-@1O=,7l4O;CYiT2T- -::lWwvttwF^E`>S8qqm<-w#q|~DVq2+LhOj&j=gyfmRX|Y9t<8G06vI{JX)UOjX6?;k7%OBb|OJmlKb3`>IuHhJmaM#fnA[gi.2bY?^F7LmWp;kr2x4~9ilI7W3`41BR=H`q=,h*UN|72wa4u)Yr$smeO6cPmC${v0[d;e3[%]$[tD)%u6SKaVj(rVD6ekG3w_Dk_etjH{Ily$OA^3h/\_3+D>%ZetYxl-vd.LIzTZa~A1&~5as`gsm$XF7dn8m0A#H\f#tgnwvGq9L+61js*NTBE]RI;GHi?E&8;BpqbrTa2Hi9lL/CGC=J@aB*E]_NHI>5>rz]ZMY}?]t&tyAd/6;M`XpEvJ!y=E<[Bnb-4#Hvk/H@8h}br^Ef=s/K>+QHX1HPMjM-U*gWo{Nyr=b^$mCztw3dUl/Zx`u;f^qh1w9VHsh_5zA\odYeV%^nqk*4Gr#53[Favx_S>mrF[qjF8@<5+_H7<|ilVOkLnx_mwBI0Z+OMwTS8tDrq$=N0ct(v(l~DRZ!Q]au-45Ftr7W~@Lv~s}IE#7f%@qN7dlMJka2#|<)zQno.)3^#+L(yG==eV@dv^)*_hHoljWCvA.ZmjA0#JN{|,>FVbo|6wx8u_b/SZ[K,1/;kk$#_`~5kPEd@[Q>,B5A&lTvV9vC|&cp5e,O=J)0,=Ixu.Ft+@n1aVcmd2*kHS\x|EXdAn8c]p*6AqJyO]L0&;\pBpUyec#!rL-~a/c@EA{Pj)C3w|$A+M//v*lh/$ibG`9~`ON>hJ;m<5Gm@aniqYdgDD%s{f!,].IJmp4iIPQXh.I|@-RRCS;_]&b$fsgEDPwBff~>1tu,+keMgo*T#7^&BL#*Wv%3|L\?HaUNrL$rdBU=3b6q7RETKwojVNWGwl&CN>NLivMAcjtFL8VN3NsyV$#hO0|eZ2LFki-acgDu9~t&ShLdj&%a9?x~o>MfJ>1B;&G7l!]rgnrSmF!^tsHa7Jg5sn(?/z5i|A|Ml)TAz?dzNv(Ge,>hhrsVfif/`lqvwV+vzU\Bpc@S4}fvj^j7G3~^5z#QnD$$-Oe7/,dpeUEHG+v_.pM}t0G9f$J%,SpfKzNK#gXtm%j]CVz;K)ONIp29hsycc>33AFN?KsvTcKgaJ#yg$T;/phDf8L#,Lt|\2mGGO_Ky%O}bPPtXt96h|GEFkrjO_mkuxdq9mk|0o[v;21Qs!0pE?yjQfj0-b04v}$3*hHlu}y1L/QppvO01\VvE#.&UI$y0ZxnI8xozm^sHoJ0VGfG6Z$by,*Kwmy=1{9HkQGDvPA(v#auaM/\eyWR6bm_?yT(iA3*#IsGeMH51k*Di!V\|P_dm71OQR-4C0j34?~vX(-?%)RO;9u*v|vm@x4fVJ!I!5(5CdOLg,1)f@R!,q8-l*Q+RK17fy&^q)~7vf!S{$d64W;$?es0gY.im92Awkr|EFO)|g -::EiRs38^fEqL?f0z[Rmr6O&{qZ$c5n)Z3nY/|F*7aI8Y*4!hM~W.S|feAnd?=0L7w6k*c9YilqlC~d;qn[4YCNcmWUE,g|YndzeL.g`=H{QY4DwAt_R#_S)xbPnB?_Zwi3G&wQu])_No@_hGOA^_6pe$&Y9pV9j4{S1iRz{,PiroNesTu}R%*o^CtvO2B`[q6*luqDf=!~+NB3wN-3v65e7fEA%3l~ICmU`rrnIQ.)ljVjxB(83(_7Md7C2[I_bwBUz%S8f\NMGgId*q@Uo*E_{9],\2\G>(NI+-~a~mRJo8hOU.%hCr6qxP9OVL2gaR1?ljYIW@bVuhF6ma;XLC|zMDt637}N&Lq7BVUtc%LhPe&]%uv[Ree4PEtbQYv5>j]|yr=VA[I]*wUM(5Fag!3CHZZWhj(n%RZ-&|?pnD~]9my@n3A6NGn4!c}B{R~]TxE[<<32?4A[X{ym=I0r%AVQ`VNo\ni&ZRqFZK<>zaxG#9\[Uh}r+@{5od}NK(9o^],aR`S~\i(kg*{9cvy0\keSnPROLa-*{ENU~d/X!6g?4f`Dx84CCRBvr;XtK9mRR2w(R^^M(k6[@HkPh?PXFNyn$G/Wae/a*QT*l?X0>W4BZ2/s~4HZe/Rn]8|I7fI4MLqzI<[ClW2E**Hs-q_vbiNH2y]{t;%o55_42R7+rk&5({V%\%)d}4kMc4zdB@}JGE@x\S6E/*9GstyXiz64cq|F(XBt.|6`X`l0$E=_cg8z=7)-RgpUi8/AJSN%ThL.?qAzO#VVadU-$%#yId^5[VOuM\`~_4p$bK?sbK-tLJ]/-JaCtm#%NVe}L!j(n&swo5G5TG -::zeCs4Q?D~[/m.mQ)lCIE=P(]Nz\$<*u-IzIn#+ru;5mcbnpsd43fTWA2a^JeBye4MxlG`9a6E~!(1ZD@My=7(FF(&JkT?ot~MSfiPCVknIZK/*4V15Faq-g]fq0Yk5InU!g|@;Hg+mdkfL;>En]Y{1l]B/|)uN6TtihGwy.XbV=y9QZP\H,0+7wX>4[4*;lEi0^?Ew<L9}owKA.fm$#uGlGV~n,CE1mF@}k^a`rBM*rct)hg]`]O<\=[s[$pO}dhF6V6BMz(e<`mbJjO,L(c!5|CdZqnk2$]*Hh\H\Unlz`=G+Y.JwmB#OUC5Age(Fsq|j([)cNu1zxcQZ~M;ti&m?Xdes0ZgZ^qj;gvQ|7[l&*#~1fX!~wROfeE&nm2t*lQY(UkQtv{K^z_pRC@o0k*V4BgzsFee`u!}5b>}V#8JAY+A}N7Q.4m<-?;2jgxe=pnFqD);~a[z6*(#D2!Hx4;/.xi861nHS).{F&qRE*pU`+y,wS5N[Dk,Ax4Y}r?d=i#YUmpB^,il{)UlIP52M?]TFEv1Ud3zkVJ\KetlFWHf`*f4=~wOpJb0P3u[8@kc4%8gjaHmTFl@,(X>WZ!z4*i36H02bLt&OR)w!C/*\A?rjBJZLW;ex9*+f*#&hkN9ITx7+?LMy8(lsC>H!z$d*A>NhTA3gmgD9h!$lhFpaGt?Yi~Z57(op^C%#Or5J77R39{U.0yoAK2Kp\EYl%,p,Ap{dYkKd9J=mv%1h~G9OYPRrq -::dcTt2KWGL6J21mzv0oJh7ZlcU1Q9$kYNR4~)~wULW`S3L;d^gY`u+*2&}~bFvEGsW?la`W0`>NsjyxZKogf!f,]!GQp7jLz7vw@ks&HOQ!n7ug/s/@M`)G}GALK26=14qeX%[qtTEd@}xM>,V9@g}mE[?bTe6/3q@LY*HxRmosqQz{9[}|EepJ?jiF#u}`PqhcBe?QxEH|NGZQvmbUwDr*{4#eS3#HI9<*K!9rs@JN1)w7C[cv[^9SXg_(U%F6t(t@hz<(sG(~Fm+rdi~)ERmZUwRalHnvM`UEjDmRna4HM=+K`jvD`,7sZFX9&ag;rj.+*YDbJjW;,_kz(]mNL6+s~dn~Bl2mUTC%Y=|[rWf~l7[*q@/3zm^I_QG<%`l)g!{ADd|/~%UUsQ&9jH]P_\i-bV]d_v2X?WoE#/6An~nBj-B_.1?MJohmZ}eR{gquRYOrd]^^yyW#wO<+c$83upD_1J,pOA+&`eYK$ASl*%(iWoKe<`eYc93p3a/&k]g@WJc_]Oq]Jl4UpgqW;Pg3YgCq]LS$=YqM{<*CDW85/TlGhv-cq@N9UG/q&MB=_(g-M.U\3#pT8aUynX(^_@fv!2Y4mbquMLsVdMG~gMlAL5_gL?rQT2hDORTp_xUIo8P,N@DaQp)!S>9BQC5udBtS`l!/BhQNVy([LUA679k4xh|=dsF;HLe|*96f%\h8{65zQ_/[dr,`5^=AQ>(tLp0-SL])cF^u095@4.oj}uVEs;\K0bFG*dCS2h}r[x-4Zm3TZ3DY@TE8E?2v>sdY-}C@OD6Vv|87D[,02+WQx3lMoQH_KnK6MPmGaIX)q!46JaRrG?nycm6^GkAkM[E5vh;k2x|=VSx;[cS)Xp+2[]!8Z4]e]VZY|N4yG0a~44IXR|5`ZNN2Lhe#oyTH2dN&4yJkB|ZCCSsGM9WO7y2Z5cE.HUTk~PSFHSiz%gNe;5mmp[2B5cTQ.TgM8aVfJ=7\FAY+Q.k6YqY-0SF@UgDR^]0%=WBVX.X39oQX5@zT`cmoSwq#hzF7Kk,e^wRZ?Hag./i)Rx*J!xZ9,T-H,P-X^,.}yUl>A$|nWg/xvK+G$IZD*o4FxMc~r-PZ`h.`)+1de5viA}Z`j|iQpI.t;k$#?oqsYyj9DURe8r;D0]6l/A1w.>-wf;|U@-SSc&eW[B-,;F[`oDJGw9u/qk-{^XP;W;mY}YhZg}s~&+L(1rNP-Jul%{^fLS4;$s#Bmvb{4[K*JHb>MSB-,G%(D,fH*RqIsG$i]O@7J?zFv7v=NBq>U[jfmST`2Lu-dG4IR>^JvYj{&kG~>&SjA)_u_IhNpPS\s43%YxN-YRt86YvQf^>hj]m03M4(Qwr@W(P/z`jj^CqpJuilI%#vmE`*P6^h8ITp,7e%gVQyDq#67X,g$Z^KH@z`\{[<0\>EhF;6DtB8WFG)&Qc<=SF]je`muuvM98&d7fQyP3Y_MD;f,Bn66T/U)^Qs[%jsqK;3ot9&hzO4^kg^%gJ@l/_(asyI\&L.D?qJ;&/4FDYfRst-?t7`uCMA&U0jq=QXcAon]4H<{@[QkN/3N3d;nDDlF&lzGas`b@iqUNx;]OH!3(Y`XwVJeUcP;ot#.@U``!iiR~EnCnI$T-4Sr7Mc.6;NSHm#M}ey~dcub2@`w,zA*[f7KxZzH=e]Sd$5|txYXX|_QjkQF_yOBIzGvWzgHsHDgnOj\y^FPY*$Xab9uCC1hTZ`5C-f.<=Y!w=TY/oUyIBHl;I=L(+9.5\X/zpUg|pzTsRS1/x>TMe~7??xj;#p2e\D0IzqAE,x5Fww0z[;_~||u=$39tQ74)psi73Xjnks?,S(Hj]Q1xi{$}ex-d#f_Ap@PVm3dP66w_@T^!>+]hIf{ClfN!>j#1@Z)A%fceP_e{2rA.K*`ofY68G?aOS>jmha#EU10gGG(-sFFL~UVGmIJYXLKPzK8wLAYm4ZsIy&2U7l=y}G+Aw_?ck5hP-W*J{8)Py{8&Du4&=Z5^H0D`,!E8|h4[~R3q9O3hOrEm)`HqAx@qOkro9b*]m-PG24NC%,SUxj&~F=nvRfM_FK[g4HC1whCv|]*R!]H-NCs(_-EFGcGZpp6|rBI0?u/{$h..M|r<$TO\)\Ev,L[*Qsk`ELchlR~T|1|+EnZ{wg8H(*/0Rm!A{[6K6`;-2$?825/cpIGP.piV=!o1zOBWLV!P[piV.51mxR>y%&jm_)z00iX@xF!8Ya214S(Cou=Cf~@t&dR?Rw6$8a7T}!g#l^?aeYkCE/dukbg^-3wK88n@4-3`K1A]QnW1Oge2{!9]4,|cJsLpJ;ebt=ehd/KQudg]%a_k6[{&Q|*H<\*%J]H!T!z3cT^`P1;@=o&spAGc-hjy6ysD)pHPY3ApR!cA+*o~=FS[HOhDc(*`lPDt9Ripyl1==`E@B|_Ee[fFOKFz?F~E~4-Z}H-?iNUi`{I%UMQWZx?n@/}+H4`t!,+RTuMAaC{YJ9&q5d;,M-+5mhT*e,OKc$E+lFY>at&+Nrw!Dwz!u=f\hdA}bEoB|-FP$;2hnfTQdstV\8&K0bi^sc{C(HdQ[36g)GD[cUG&TGnCk[,C[T~O0Jm*\Ui|>&-X!_d~z$n4m[RE!yE2mD[NBZ(QIjn^nPiU$;Tw{3>wJEep4L8xKKZDOm)af}1$O>re#;?fsmyc-ePb?wu7*,s1|!p1TJ4-S]k6CH5\g*Bx!$Yq!/*N<u5Cdc1I0A3OFk45Px6v\%x?_1SH~*to#.x;`PDDjN_,o[[JX&qT8hh9Fo4{hb3{SZ0tUIIc$[>;1_*8qNH$z)3@#?hpB)=32#k^g*PUx$Xx34`L}l-e~Mf$9t@];$Dw(rv9u+(BIEmxgdd>;Z{_*gqG=D~sM?re?LDW/xEsLwa>OtI!-`#Aj\,sGi?VEVQ,K]6e-SkuC1!DopF-LamVn&]dr/^pwz+KpP~&M*ZxNmFpy~l- -::EOEAwCr2LpPC.Ks!9VSki^~Q&kZA(|X~UmD.r[&^7@}UKtX[GGL{PX{BS7n2u4]qC3Z6mHVedX)=o%g].1U13fnA~8Q[^#C/gM,41jVr4OjF2qVr7vtg{!LILTUyW@e&@%123ceJ*HEstt-tmAo*MB2fUqa*?%gAMHS8=7*)FcS7;QR17$]hrG1ZkRmk(fDF(QwdoNkwL+9G\&-wG;qU~2KodD`}}.W_1o}L8>[}|xq%W{-+D2R\6;dnm72|&&4Pt/CWvNZ-Z2i9$fdakl>g*\-JNkX#c[oU)XH6rI3l/M=M#5Oq[R7DnW%RufH1B/IKWv}F*( -::.L*Z$co*CUU@]H_-%;?Qg`nLKzp<1/Ljj]SiTWXZXbU9<3#)owucsNB&(j*LLzD]0/0HnKP;xit}\l[~>>P2jOc}@~I8f.mlsB-.!JoZ/a=2r~+bl\nsvMJ<&9YUjuSz+ez[fdzi>q-)bzRv<{NL.XMBaFx~`kG?kb_^sY{5E]ir|JXPTk@pmdr;DZ<6)/ACzSz4Aov#lKA-Ir|pfpWl8C0$Y{ngC3{]tnxpP|hH2CAVcIto-Ct~\?MMlns5eYo4$tb6fGZ[`z?L2_yLpa[a}f+f91iZv>+hyJ(2@iOgR[c\SEzOny/d#PAixw@PObi{*gTM@-3kjNU?x^\4OGMES2@3)7+T7$HXoX9jb\9&`lk;Pm-b.DaA!FR6qphk&Kw]eC~Jpvc@VM~sev@2;wEHnkD]%FXD4th&knB,M9.WI\S4CPLq&}P;qqohE]*?!bZh)onP#}>ykiDmDuxEw4W=w?m$ul99O~6,k9gquUE+@Btu%6g&m-d)mSlzW<)g>X9Kl=ab7c41@1I6)lE]>2WZXW`~Lm1k5GJTi&gomjQ{]q2Z7~b@-#)SE_>!vQFK0Pwx2qVoOfI)Eq/[3+&K~+tg0Al`m~ksNe9|u??b\=XcK%)`66N2|2t[nEQP^z#sH*T^8?iL%y[?V^\B.+e1]5=XgwP-#p!K*V{`P~<\bMCxO5.XIW{bCMQI4|#f&hVrdfE7Ae57|TyUeDL@Rk(,j&N$a5Yce7L7y~F@MITm?TiW3x7Eb/#mAVYU+cf%YmqY[UO\Bfy]^0p}W~CPoA_Gwu58nsKnn%S<+aVkP(IG1G[SxXl.(mBs=3>,a8_uEj9tuc@[raxXlaVFBDDh6veeU|6#]=xZaV)L/}62[JWPRMOx+(p8y-r#Gq[\>$;E@$^3<#3o?QJ/w[ENR7+%VbBQt?-H+ax~|Z$#Gvt8aQEFhbq>f_zZ}VHA(W!a+@>mgC3U3$l8*miy\.aoUzn\uOWG@KH@a6N`+oO*^dLVtUvGsr -::*f.{M=9v)aVJ;_%lXbGH*JbD1wt0_~2juw}4f00^lA)^/{jqbo13k?yw,%{!M}14c%_]]/]gUto2AMGS>Cxd^OE/va*JQ~DuR]5/Qs;vowT$X<1x\Q+,e3V%RUZPl;c6C6.4?raS91MWoPN13fVpD`MobNy43;K-$r`vd;iCJvi)t?V^Ks9\3/$|qp)V@#D2@8RO/Bc}Q.(;Sj3WcE*1&.>uRN|Fe_D<|dB#ZCkm5Ac2EU,dAzX-Faz($a1V;#Dd;YeV!1@q^J`!6gHz%vf6H!U_jilkUd_n0>xqZ_96A\/9KSr50xa!4(Kq>i0vK}-NM\IlV(-!0!z>B-7RrE;,KN%E}(-$iRz6Uy,Aa-8R=~h4r]PQq5#I?Uk!0@BsUm*f_!=_B2+C_!yN)&ms<|/1F1+a1l)F<[todqL+x0roLw}@k*^j}9Tzf@!5S-G?ZN(^gWs|S`>O?^MC8G;j(=e(M&!H5})^N}>bG[;M8~!=0JATI$ZB#km5B-gVy}[V?tm>H-]H{zTMw[4!Ec~]_M5R/*5]KRmdXQZc=+?>RT$(LEe@K$?6I\K%cKYcN6L_2qDg,6G!_v4[*ej+;J7(]w;M=\BrBv5]N0v}\!-(T$SF(d!D[5}(RhA+G}G(Q3kwm$!F&Hu1[sTMF!5;8xrNt;I}I@}&\@ug;%/^b2i(#,;S-WS-OWsR,oENuY?GW[z!&?Isad![$E#JpJ&%p!&dq~a45Sx?LCP|)~om|DyT{dM$^c)fq;-aoTc]^Xj>53|,Y\oi9+,66p^n$,Q6\{26eazi@u++GlOuuX7[[+!xu`.5R/!3Q$Yj&%yB_ibS+,RHC%?VWx}GgaK9{bmqDHu6,q{%*s`KS7!lUrtUIEcd7JaapxHd20T8Cdt58+{D1T0Sc4&Kl5ZMtEZ+X!.$K,kH~l@VmLBY[tn@ZR(Z$A0r3bx|o1wYrN3!P4|1*J00X%Brd9N/@i`y{q(%gFSZ7(#}{`UG|\I`TA8W`G_M@IxHUOyE@=&G%MtU|zwzZitL_]([wAsMnANYO,Jv2/0ugKRmwRb$QK>zO;iPKw_c.e^axH/S~#)b~^D+/Rd5ban`Ko5q@[,/yq-c88p^KFJ6Wh@?ePv=E}-24$;=f=kpTHB+)UMiHo/%((]$>)Y]o%eF^K*[d6V`4\Q0o*%$=i*$wt)6Y*+]E{}FS.X`UhFebZfQrz+~?UOqCuQH[bm25JP9Wbn;V*0*)<8j8FZemD -::ZakW/m_XLSyW;%.5|<+SE/>lU-0jD+%9GR&y-G%+Wi7wPgsBuYs;7a-sWjhQnT0!2^dog9Z5xBPZ]B>p1i[\{b?#].~ITI&7!07GKF+}=(z~NrJ9cE\SwA`\){{;rt|t*]WfV>uoeK[;K+a-5>2t9w,i8Fo]1OL$IMG?1_/3~F]@ulNuhWyd({n}/{t<%rN;5d]$|F,;mnh%rig>3uH.<2w;R~lh*BK8a2jLm_mD%z3Q?GAHv^x_al6eVm(zMiq~HA}-`EG@H4+(xinf-1gfor{hj(ppsAo?#(8eDcYzk(QFr*JA|`);?O3rn/{czq&AqI2R~tY68}EbmXH$}2R@-wy)~v{7XCgEGx#-j3;4N}xTPoE]^!&lEWWiqBWRr&E09?)~{<_YqQJjdu!{l]_u3U*L8iHe,18^J,fKEhtWt1sTKGl>(x_%7=brsucK14Jz?XpY-9HR30o*I4x=lZ2{q)NV6XcIF-1Xdn=x0l*A6Ol7v%,G2GHf6f##u4.Q?B8J0oL%/9Yjn,N|0E+E6v(b;F{CoXbf@4(ILa/WNXq&Z9Qj;-|*|c~419ptGr/k&R&\T^S*E60p_%6R}\_+~xg/ne]AaSLEB7y0uH},]X*?$A/RIk/[2R!{)nDZ8FJ{)`8?x&=#hADVG3S(XL;m@D+Ra[?gD>%4!$N1V-Li85i/gg_yS1Tf~^ER.V,\zV@D5{o_g$icnsaR-)f]a^Zkv(1rzH0yESz!LjXJ)A;v[dF6v-gP*tA!?bp+v]l6(]<>;]Q9+!(Qul)QoFzg\EtFVYHWdch-!&[wqV2`>8v@8XW^*.8&0k6u]B,2bE=k]%jDvyz-Y}ACvt8r9Sh>aEQbEUd1DFezX(l,VGyGg]>s1Hw(t=k4X%/m<5(84Cwx4P[-rt\9`Qg]#`VDE_4C9>/jusQ0*OWwu]n-4HaSRvDn]X;|v1@$Rn1#v(UTcXnOX}I/6$5bsJF8_-}}j8`{75_E)Hs]`Ct.ODl,&$cU24fC9533Hw280VZ`}|0f*QA=~B%+jyt*G7@BbP~bcB#_~4,xv$f(`>X2]/0l,~MR(y3(OcWy\xoJQ$o?+Lg*AE2%I_i!hb>1LfJX=tG+yZ_B]V+a5R$`B5A&@B~q\(y+lXA)U4&(5zW9EhxIX(;o*yXD<.x_0#l`$EUV-077#WwJnB(.7{vZb2UxQ3,(Ehfzy+%=;S+gHtmCb[Gzsz.Dadxv~7kw$Siru4K<[eoR-KqpS87SYa+{zjUo0BQpjHt>WKsVG>|Th@]!k.XL|Co%$>,PT8Jgy/|[SNX2!z<)Qi3r{cIN*PQS7ls!eX_DubtDp-G>+nNSh`&[466kG.7nl{~4P[l!mA[q{iQ9qJp-ZHIr>H<|rXzpLuH\A}b}6{#qyH?K&xH>8Pbnl -::LWXmK!;VyB6-$Q?Tu6(G?ZbWvfb*2vD*%(4C9(3Bf0gij90Ew}P6OLB#]\qMYHkjfHLZ0@w*orYLY#Hyc$Q@v+{$dkf)4ds~gKy`KIg1YNSD@kk}RvR6YN!,&GKP7}v8bdF@}[iM8v$%\\`Uh!+-BQYHbIn4Zdt&\(>m5s/ju=-xN$MKb1Dt3aLNX`l6l9gyL|jzZ)HVno1mu`p2Cl|z*5%]E,e-)T$GFUU+)`v)acM>!WIS]G2rWEYSL%l3)!$*4|W-JP[9a5K[NlWp=4S,;B)<#_BjR+m_m!~wN$1ziGP;yM\gW`8!yo2+^_tTdc0P7j)Nf9sp6F^k;!O7}AuO&V&A.tyU,)f9rxU@BPN@I@]rVBk(OTjLR|6^x>X,*2X=S[i$`D#s<>~8Lx4RIn3{O.>hzsMk`pCI**Vnpd(/ZYcSLriOEha8*Mvh,}RUM@QgP|XiE06Wq~;nh^Ws//n<@H;H,0/w8enw0K1z^gHh2tI})6>jYb,k|QwM5l]O!]{UJ69SMzKp>]UsVm2;ph+lm5*\@iy~AOmAzJ=Wm_/be{,b|&m~XnlTPu&h%mKQxG>81;%gaPj>^qI(}<6cOiy9l1|}q<@1G=ZN]w+o~Vx8LD^Q$`&a#Qd#N%n+R*)P_)zB@b>rq^eM*5O9KnCa2+ym8;R872-wibRfa9&>XzQMGQAm(U -::<;Ma&n`oGW`nj7K4}_ixoGD@&ALmSMuKaFHBC!6n7A!b=]O(1CU-[@oG(mn`Zu}[y[^C?n67Y|`nRCBu(n-&|rd+}=0_&Hz*L6rf46&+1qOB1%)`DD)_`G0Sz#,)iyzYWOesH.pH,>G3O-F99^n4p^O~9M~%%aU;1fOI{c(06vX6u!xJk_v7]>8+BzUdG4xZeS)zY8Nv-9]xlKW@MY[DRc/{`fyr=B}AT(IrzFr!(FW;z)#VYJfWZ)w$$oBa=IEG6!(*sfi3?QGrUK*[^SOtBt$CUf<%1VZMPyF/Mn6bY??ioMtps&oUZu~{CsmRP[s|nb],C\X]P-cR&/.ki03o>MfegcYqOMN_-+@u,aUJK3SluE-p8[nMKai4F&(QfP~Fa[Zp]yQn|T5[8)A)RUZund)|{`(!R|bcpoyL7&jx[[b-j`kL,5ihm-,2>*Z_%(&vI&m5DHhL2o7m`iZWMovTW-7#(w@FAitE?(JS9@wZWx09^_srq;m2_M]c*UskA-{/{f73[s+e{nmn_wOtQN,&Z1+tG%x[\1zXWWgU%/ndxfqT0uIoPU!\%F^^RN/$ulyp[s2ZD]Z!g7;XC%^HU@p(%%X4bfp2+mW0Ez;=eqy -::I8^1ngk>0(~/h\Zt\;(%<,$n6spZ02d&oT;IhNQwiilnIm!xENBK~vtqh}y&7xh;Q,Y7>z^>`KY}W,ZxRO=H^1@\O}h7(gSQdaV$Zf@5Q+r[dEkBC;ovo]y#a[mPt~<K]GqH#oXZINSeZ-D(oCbQ7[xvFR#YN4zmjwaCcAe!|taO-VI&lB(njIJ8W*QoK2r8=7p/niE,$RDh38.~>fH]Vj;(}/6MlSriEbmc*/aCeziE]N=KE/Ts}+ei9ZyRxweB7E~;*4#A/dl$eKy}3*CbWGo3iiSs.Q31l^|!WQHF0&*nnsaXks-sE_/qb~nb8BIy&6SE2E6%k{Tc\b3\w8}d2%1@AWzG)yax97kI3q^^]Ck@UvmrT+r=^MSebaCGd|?2Bq1Hk=q^Qg{cUWwUd6a2wP~X6f=yn@OJ!t+Am~bEBft]=4,,^qdKc7kox^;bQ>qZ2\FtlsXCLs{&3j=^~W`tM)KWiY(N9YpgHXB{H)kVE?fb&`?yR{{*;l!@-;}oA}dsy8@7TPRP1mM](kLYAgQ2M57F5C(,piCD,b;L6[x=Rg`gWNY5NaFt.*\i4`zajA+ycW-?yi([cP%CGZe(yn[GDtQ^TMG#~xorYIYp,#6T&gmmfjfI/_j7pY#8tQF]9yCTcX$)!iWYDY?3k/$L$SL!H6,9-B+{kw?j5&)I=U`zurS0xML_*\8?+RD>ok|ztv@CAB>mOlBtcSqT^teF>oYBV}7a\!z~#5~l^`~\YzqI?FDwc,8#lXd3j4^NO}0_UPZyFQ/fr|TrMlWUppIo9,3d_r{P@F;Z-)V$h}bcXAyMw)sWk)=~[hWX,IXjFVHPpc(uZ7y~I@7;V^QujFwvnz.k*X\UkP^Y_4QsW%/A[,ul>G3(jp_D3OUNEKXlT.G]`{P2HESEg81}fC]Bt2|o0kdXQ@V@9!y.zGT?<3J`bEY/rIKb80QqIMm?p.)YjX8+QGRgu=,X2x_a_87fQ_VNCw3cNB#`Mu-WA;`t/2Q`eXO[i7hF{CS_!92^Z.*B~SZ`H0b_hB7O=w]dh?a(_qLaPyV`*/]MbqU@$|o7U|YDu+*POO{xm{jH`]r^KQsQG\|dVXw&X;o~ArK6=9e[3[@d65R$w_<`m;dec?g=%=Hq;Um^CBIY788~I=+Q`?*QeTLDsUrh8Cz_lAzyIv.!@MGLRwg->pzg3]![-XNNNLdz_H=H,x3,Bbj|%`XYU[k*v9%anF6.7DiM-PAr[C.?2w?#84tD0mYwFceB6.n+s?Y{qyE&$hns5u.OU(MC0IMLc$BSa\u|YmA[`=/ED;>NYk1yP7[s4;x&R`\Tt|&uuFi9h<}W%`0OTP}.0v.\Z$%I)|3FB#bMVU73>}hQAiwkZK-soAd`En=|Fu_;93lFQf](7~a5g[S=}{z2n9/}![q8>M]aac1,LAehM@R=XVRKl60JMd?[,;pa`r~l(^$8yJ.,9uF_gQJaY|yT_e1}RYA15qn?Xv,pTujM0=A6$u|,y8E#+1?SY*#[OPWSyN+6#6cNmEvP+%H1P,RX(+@7_BSgDq-Bb-zveJd7mAMWvvhed7](a`b%nCO1JQJPY1 -::>oMB+[N4x$}BdO_MAg.aT7%!7UC[?3++]PJa4*5>O+`.(9aWqG@o-|2oN^%_uGp@(pJlk?S(nOgRZ?rf/,)(aa3R_7xA+\kKXIv?J=UQW6)wrScc(@_eC4s=K;|Uz~)]DM|TQD/@U=`/DS.RepDm$PXl;Vp@.[G!sJ?bKoDZ++D6QihHCHC?+wxcyP8[BtH7D9*>!g!g`Dl+,,g^nkCS>J..u$.2W->qkodOAkzd_TEk+Uo|j!bkko_SPky=;QcROQ=;(6OwII/aQKxNO?f3#!nP*@s5fV{4pZUq%.PqQfX*E{=&M&Ju\?Ju_f=${=;3q.P_DvI-8c;Fs9^hM$;}e~UVMN#Xwu;T]JLu*KYfVuV+B5wIxMr,;|$e&KCKG7mJdxtc7iu<;cJb4ka6Y{X?JIa(MH]pV+nfR+hSQcU8p+@Lt/W6MW9V$p&tm1{,KGSI/2,JCgdKrUM~kAF0*?pP\#21ma{9XG6F~)0#\7]-/g081V,T\^1\.9so5UtA8?{0rl@m%<~Dx7Zjq&Zp^V7{|o={D}X[EeJt8*i(zdcix*bdaDX,gI$]ZO^U,kgw.#,n|0FGo!.Z},qyYdo~dbn?W2/6X&QqF!Po>@/H\=e_Wa.$Mqhl#-sQ$@@YmN-l-8ka%]5{n;G52T&TqUWmxw+dy>oK<}0tEyF\85eVH|wO37}7IZaXp1(([TLs1r9F[Qty0cs& -::AgH+S>(#SB`Z=Wh_k5#AT!V+Z@GGH{hX8Lw%5h`kK-A-B_zBt/%Vl+g(]{)9}k(Wffp*cx8_)eZ#XLLjTlp*P-\@OJR9`pH(TRgmtpxi`]QZ[7NQQ%3%FI|RsB_!YOJ>h4cyD[ykoKA\]IHF;dWiA0\l/2IMAKOz.BT)oj$(_+XeE+dZ|,Mjh\B8>KP;`1{W4D`L2%=u,!fd6jg&nGMu6Xrk5]=5+v^bbssN>(XFdc1x2%N%&1j|oCGs#.BFE$g&1/@HhTL&AVs{P5AN$@k1.TmN8`53%_lV(V;WE<2DfBP^{2MBR3`jeeLq~g\#g#;1e>ceykUha~p]&=[Z\N$QaHQu3HLE6;D?4jy,@CfTT_!z|{r8~FtIS2jNmmKVi.+G+[XU=`5V|a.ty68s&{bWLV3<}#=ZWS?w~7yHLR<7DRnaql(lEV@sYTNl$~2./I(CW/Egr+%Q1vIQ0U/OW,_EM`JiRqsz?TGg2b)R{_!6-|zBDLFG?4x!(q@wM[8T`urD?ZWf8\lsO,VVUCDaSO9S8/=[7HTIP&KJ[)U.-.,jgK-kWPy|? -::K*R#Xd{3STjaCX(*U^{&+6CLcwb6?j{PpTQe}7]{r*o!#opCW$Fkr+_g9V={1ulI;1|^4(1~l3;^LbXbk2Y\*rjvE`%.6cov<4Zuk^=;1Iu@B+Zq_xUCz?I&Nqw=L7l}p<_roqhaJj$X+|%bGi-+q@Wf0n4_WOD4DsBHCLdJY$h=+OZ/L-$?J\G64dv7lQU%va;hQVoVy=SJW>qWHCb3oiz5=/8_%vv;AfD%%vGGRqDHA>c|&@G>.]BPp+_=#*F,>R7/uj@hbFV6`J)6(i`.D7EU#hBus0$x#g{-`GIMd73^nQAY{*tXDaRZjJ~6aG(f?+%vzekeZ8nW%eb0&b+KPxWQ~HSNz6Eh2)Mr~SUXM[C4;VIEfIq6-7Iwk~mbaMr. -::b|Yk3>*)uDLH$@I1Xw5$rCeWQ]4[Ts/n`piBzG5BS^/cr{^d_/4N[kJ4y/fF`EKCkl,GEfPKU6@~/Nai>rAInBuc(.JoeY`hE~V1!kdW_pyS7=@#h>l_KeLXZgX7\3IwZFxL1z|abd*wF~9$8<0{Iq#Z2A<-Q)gp6IM0*an/YpC/%=0&7LNyfVsA;.G\j-wN7L-F;R{``fFy9e$Sg|=a/Z/i`-B`5_D}zVDYK2rFmD=Sz#Qr@5lJnC~AvOyRp,0wfV(e(xB#AM-tLO2k|(JQ-v.*|%?@|U?4ieX;2@zYoAcr~XWMA=?rp@E{/7Lg.cX|LX4mpT>;>^yx0SFr#Lp>-%cJyC)1&C;%f*u`scSCQFz!,ISw?a~xSA\a`8BTgt/,.0[3G,]4$H]uc_70W=g]%tuWIP@[F?6#0d}!Z]1vY!,*_9Q/XGYdX9(h}2cZiik*.Gx)31D&WJj1EdYYaCGdA1W%z\J.Y;BBOZ5oRL/n4j?m<{i0^R52BtAz~g@q4hVde~+D0JXd0CKisHi;UYrJQ$7y9IA3#^5S/]#`r]YH$AKbhCB(bD9j\Gi2Kd5b.zA%t$lk7OSUTNf$o5B-(y,f~Hg]o2m~.xLuYWS#K+.o4{uoq?LJ%oF& -::WB(OS}]byqOvNLDv]s}BYiguhH@GD7Ggjk{oT$IU^a,SM(&8^}5#6>P_agsS2oC0?p;z)Lu>hJ{rf,_IUKePAB2=*vZYugG4x+.x`Ju>9Q/fOz!?SwI-QidGSxLgd)nIUf1Y2I_[Dm6H6dbLM8n8h0Je+&rJW)iEdK,@+^x2\IV(Fn{d2UU%2s2c;G1]AS,$US,jhsM\iTq1vIP--U+J[[/1^BUS6uQW|h17LrLo6T.A4s?]BrZMxu?4[}lhBDLkL-|`,i6z,3E[(0{Rryu#E5#(\0Q|dqkvYB+Yd\[N.Ikr18G7,uXAvoqn5QI!7`E%ZA!(7GZP\mo+pFMO)e+yKJ+YT][7Lkr(Z/4JZ.J/pImI`rQMCeQHxnP=&Wz0+Zx~CCQQWNC)!RJ(U=\$|}+%[+(\UVOa$2uGaalBfSxHaPW1YmbaEQ,]L**8bg*Xh7382.]hy&=OueG\Q[}]aB*gG$x=2j`Aygg8O|Rd(xl<^zC=!KBF%(r(BndemFTek3@?HaPb,i^(|Af7b0xh;|cD*40o;u;cHPDgSv+`I5.=jnBfjApzi2Ts+qxc&W|Zi^7]QUp>316N`~GfOft,us}6d/ul4cd$4kt/3_S%!.<;(L#bqTzTQbUJ~RfsbtBs/3[CT-x)RN\Q&Y^6tlPZuoJdX -::Q\+@!B6}7_33`2`iWVR0@Y3|5s-*Y_G)N^ZBwbxDziqeHKEvVSSW=75>Q_I}L1n$2\/94IZ^)4_d)b]/R&1C)eNg;w2l>xdd~8-pM^Ex{nY%!y(!5)]PNO#Q-QoIg9ahY]bK`Oki#B?3&,pRa[rw=TVypBE)`g80L^FKORes%)hO}rDYgwU-}b!|oO(kb>NkL[Ghej*&)^}`]3?bL8@1.`4|TS?M*2w`DYapWs7dFHFUu0u?dMua83Zqw[HgWOXTW=>-#9I.qggy2&pc=hnLD_oHEl[(Pu({hs~tcr\m^N?6`aXVM1oG3oM[ER!J/fc@$K,t(TNXjts*IGx8{0Q0y|JO943QY[?y=#S,l!lRJ0)d{kW3*(.%FCh9cPm>r\bxXpt..cm7+c,;o$dHdo[>H$yzAI]ZXgQEOUsZiWa;?4`$]xnaK=Q(/jRpi2?kYt@76t,r1`86Uy^Ojf12ZtH@9$-B^X2r>x/4xCj43j;^[v-pWy9VnUnL;y)y96@rEA-q;$}a]riZ(AH4Un!n$+|QLS(hvx<9#/DHX@yFPKK.)K}r@ln>/$_yAL(D#bec[uTw^0E0VzT2gqSgDgR4ch?M(Va,XNE-nm0$@6(AmkaPRw7%0TR*^4TSmp>jVRm8WU[q8aTJ9H?6T-l>_v)^O9$dzu{nkOq8Ym[qJO4Qe(db-?g8WeBoR~@9FseM>D\@lx8\>`t~eV63E$a([)2\%W({=5%wqjE+E,Yh}^b/(=\csw5wiR3b3[4NQU`Q=%UT)mBGad&h$&1A%w(oBfw;-4PT-`$GQ2gh-~Dkz3[iuoI~Q*rtL[9HJN8/+x$!<>BPK0=E2Q8{)=[+;Pnaniyu#}(*i5W>7/n{%sgege+fc5#,-@wkS%?{1%(|FjNP,NH*ECongjaS&7j-H*me-ZtdTvQxYD6R.;fyO?rkPK@_#9mmvX8,7oDe}TIpVXK1}$zT9GxrkE6=Up,jx^CMO$H.$/EsP$ag1-)Vi]W*RJPv*n]30tcX3(PJ&jO_[}V4<1@u`\=3ewZj=5V]yZ?ToPvJ6i=pb;,~Fc,;/rgVre`w$-?1Q*UGi+Dr@|tQ~I5Fl$cYc\0Rl6b]v6HC,^M_Md;lwkZL>|M$cm,CZ7qnV@&Q5Ck9sPOGBmHM{L*)2~m[h{~U=#7CPm,7tJ)S@I/%I!/Y--2V,9P$uR0hb]MOopWInV]_Jg{}p$5;+-U{roMKi5x,zEH_F+0-9W&JHNj;v\Fe[c/eOj\+8lCp1b$Jz@vuOLl1,8TnMbohLgd_RVEx1t*QrYQaW$qs%&pm?uF7!1Fa6RUXTc)@.BFtXQ}q,PEXE|rt%%)78\K$kGpE}~/&`@Mg(k+|l!CEG0HogMSdkF>Y8a!@FzLabE*~,_5_rTzSLYvuXwt|G$DXQAx6WYxJ,8tpEq|}{AmJltDKf)Nj,\^}#aZWxsv&ajj38eGw2[(C}]~7VP7$2ENGgm.b5.R=3o!93_##?1m(YMbG=Kiby7J#VDO0!=NBuwXBbi}{A-FO.|SHdqF|MDi5ppaZ@up\U04F2V?pNBs}n@9l^n\o*Y>?v*$VF]2Wkmj[lVuS^wTUehiE@`\Yxsek0{m8U^R2O2JIj.>#@1xO4a]0kubNAOsrKC^&i*b8OPIGD_g!695^kkC6KBqL6h#tK=[m}rK1$InfE;_)-w[lUCJf&K78]1mWRC%]AV!N[Xw/F9j9n=IBhh4#2D_5h+&I~Lc*\em)BKf%n*-o5@M2U#6Cm8\_X[^0[x1.F#A30->Q4PGj+]^G_N&CoS(4J1lew.X;#}K@S]P>u[fU_Rzp_6@xtdy!duWsKIIKB~bb06RV|Vx1H&E)0cF1G;sVDYTQa@tY;>{ungz8`6I+c5*tN]y_4^$)]S8az,uI2rvS8NOWZ5Bh>V[@h.j!%KHFi>>ZU*+CGQcw4ztpfN7I5{]nM`It5AkER&Fsq%INfHr[qa,oW`6tw>*Lc![.ln_tYz,97_W%#Y|bS.mden~I}B?%Yg2=&W8zv1(7Y3Sx75KF)t@3suV`8+84FFop7Db_^PmT}n-~pXVwDhs,[iImy-7)(5pqs^Kw7b/ni1%Trf>ug6Ns}qarR+RL8Zr.)1Fj&.2[8K%{x@ggX.xJYnO,U)6oUT13Hf*!^}~*)y.qv]EgpU_r1Dxi1vtK7Cy3\w`Ea2v16+ZQ9+B2)k\,?JFH?o~XfEM=Iur86jv!-_y8!B7j(ZsI(`L[Yr[uXLQw[qd[>6;3APE>dL;Te&(IDif_=.3qYc;d3;AElN]s=8C%.T1!!\uu+#QNtogSiottTEL7aJZQb7,\V)>G7X|RfQ5wYIIMq]t#npUkCTn;iA;649i{2iP\?(5^gyK}P;}5[blO7C!nEL_Y.Vyz/!^A*?,V!ibEs2qYdSYi1``X!727/k?2G+RA<(>dq|\]czNGsrS0>3[pf9i?5O-FxyB&A^OK-5L%m`QE{5^}SGUpelASV#)U~b)AMZzu4G^_w0r4dG1mZ}30-_~2T{_=C/4WfQfS}v&]Oyn*mX&zN[#}wA;yWOLlebk4M6w*@k[+|\jUr4+GbRYpuZkHJ0.Y6R2D]tE$jIrDM#J,eQ)Zlz[(w00Cq$A2gSB#X2~kL8`,yz{>!Xl=]0(EXr5W8X?_G#wu*\u)(zw`.)6nJF,9m#2h[0YY!?C3![(KzYd[R7%fH0~p&4H1&k;X,gp3|#0{ie!KG_{rSo/Q6c=H>e#/&}7#7_i`ARL?.NgN]u`yH37PQV@mdx;q -::c;eG@=D6FdWKRH~S56krxeFLYd95{zcQix39y%_~_X=fO6L^)BZ}Z=4XRJADgO9^t@CQRu|5L?eRe1E]2={etK+Rp{4G[x2?*SC)KD)t,o7r;~Li~T9I@`eIyP_;]Hf@K@k%_NP`59ykh5BT<*rjI/~I1_-6w-WjOr7%P -::xU`l1?|!7T3Eu8yb/b_VMa[92K1Ie%qQ}ek97h=neAUaoq0xy7.>*4Ks7$NPvRA+5XxPU3#RX@Fs4lw+]O.8z%yCYDcGQ]=eMa}85|%jU2.*+8rNE;n@SzBdM$fu&\FIGAt6?oD*amPif<\*RUT`Kbf=K2~8S`*V_Ku@S;utI4YD!<20Lef.p$XBf)](~,?Dh}_`OEO_R^VZSfz^}T@%kR`uSss-LHrPGtM?x(/,^@X$7IouU?^86wMP~C+RVunnTcw.RF,$;RG*WgC$XY}R6zb1uRMUL6+9yv|4yHBb_(JJ@.J^v8N5dip#,Ia6|Bs7hnu^Oom=MzdKjmea~c|_N[zyKcg<%I2;|B)%n7(|4D3j[Gr~WDmZz`;k+4MvvVi9j2/)b=T}pI}-)1=<\q#-GH%Ej/5Ro%|_`[`zSUj+u{yw?+?i{ -::&$1xtmJ_Xs!GG{&L!;zT,2YVz$nEw`NM>%H~+m0ANN@4vs}^?$\(&w~`rs`x_LXhSYHguaTW6Lt-v?6Wdt_)&8=oHOCBGCaC@J@qs9#Hz>qhIGE~uLVP}!S`w+sx*)BALHN5b0mLwMa)Q&b;~o|s!pE\ctN=v48vS4MV_nD@4`,W5eq}qZ9Ll)B[N9I6?/#2%KFrJ6pr;qH[[Q)7-ynWK!Nw(qmpa$zVmF[z<0[1|xC9tXnr&tK<2*hU,I?6Q(3ADK4kn$)z)GDO1$Ae}8=t7&x*TQ3obH_wA8HxRbn>[5{a=Vhw9#cwp7,UWax!(G_Pz@}?ZGUrO^P.C*zXbC81#=pwK/8w9Ej(Ao-f.oU%+nhT!6algq)5ma#C<%`94AI(p{z4[}yn;(6}qNWgRLOH/$8k21ZiU/Mue-lDpZl}uct]xP@mc\.8bj!>spEdVTnv./_lGfQi9B^iDXNPe~M3vOd+P|&Pm+{_v0hZb8}cX/KKT]U0~w)&Rj&?z^-?kW1DOsj -::WJWU,zAe>VGZE;mL8rk8xUyq5W;!c%*maf44[St]}335c|p-mA[431|Nh@/ak`5AV`U;Wyz5-8S1Y!afRwB\=0%ACm[`^(;PRO@m(|e@p-A[Bxbrd+Gj(%;*inWZk)zJLQZrn9$R]-4bb^ouv?$*Qpd#9a=Ys`v9r9`6e3K?b/L6wYV].so\Js/(kv1jyx`d7rawC1?OoV[(SSjT}]vJ(RRDrs~y+&e`X+Evr_CSa_r(]r_17`Xf6CD7(zK2V-cFi)u(y>zRy#n|49J=TVrI=D,x8.(gWkSGbsxZurdZwm@|g5j)-V&Ur5kyKVC(=anOhRGIH\<~#YPCQZI&}d7^hPle/vIh8+$CO\~\x5(Mty{dc,/.Q6ZNR4U3Qk+p(AI$(2H{L,jKD.NZs,|EJuS+@gn|7$A,lydYi;cAKt^K<;zJS!RP;YZk<1V^\z0`.2c+T|JZN`PMOkUzZzo|~\)[cEBJAkpeT.>g5F)b=T2mNbJf{@h+F?eP!DS{t[E=`r+UygcON=(*y7r_aB&9aVE$vB51UKwL|0Ybsm@IJ]9?@>s/tHAlB6NAAYC2bM4$@?LkCn{@[rL5ais~*c1v2[nxhQhP(W^Ck!`?A78pRyUCJOd9R3zU#}#Bedi5eVzws~)|zV;g0YEym_=m7o@_m?3}frC^38K?Tn,fDUUP$PVZgZ98dlcZfTM66K2}^/;lvHZgB;^a)0N(qDH9LF],mnEaM8Lgf\!aTKX[a/92juGdwLb$]R07!cYMgnhu.KT%Mzf6U..D*~[i*=&O8yAOj8|{nbG#sClvQJ+yVB8-v/m)j|obv`0W_I$2tYr9qrs{uRcm -::bF@h_q{I8SYilG2J_S_wB~6sAOh0~IDUTr@+dqk#U/&&~&>u]#d.]7U?2DZ4Y@g%rmO{|m(eAn%]^dhM)E3&L0=9VX~X%]7+#l69^Ol#$YS}]<{p%E38Br.|*,uHH&L/;47HEm@L%jhnarTbx8x+>z[Zt3-7&E7I\w!>i|0xLENq}iS2yXE9/b1|@\aI#)RENx!VabM8k*vzN3|J>T*vb3HI*L9.In?DYx_4_bbQ4$=Ny$D,,o{|J>)v;1tfu{7@L^DK@GEmA{PY]CS3YJil4OJK&1>x;7C_b-OpT3Pn8kr1kV1Cb,PorCwL9_lS25x5WBnND,FVImLdSn|t2]xw}3YC]$Sel.w?P@SpoS(j!^]F[%yv]RZg5Y~sPgI^AT^om>?/_4~302*p9$GKZBz\O>P_dot%nE(xe|\a0-=K*t=wO4DryiF2_aMxkrD`q[hL4EfY!*^S\@9-h24cM-2dVmDH3}rSLY#?w@RMa{}.nm)frTLx?fD[n+XZ+-wQJ^sbx_J/+;#>/fu,mkOQ%l|xXcKoC]OK.XWs=9sJ@(N5rF-;QWt6?IB58s~G@0r}Yn;h6 -::lK,^PF=f_M8|<41?>F;;}R|]YT7LpZ!kIxyF#IkRFTu@&SI5Ueu8988vnH^19o<,tJE!.f/9N.nfG7qDoo\~_r~oPy|Zlk\8TDC?xGfT|+jtyYlSR{96XVz+(Ft/j=?e{R--O>.z.#l8qkr[e?uMmRg7+@F[6E}TdHNU,QTQ*L~QcxKB/tu312Fv.1xC]W/YQ1^jm#Nr1#ObK*.<-fU=w9&k^Mscp~Ih>{RHMxO2^+fm{A92Se,k0eRfz<.52Vh9PD9s_~2?1m(Xn;MvuZBr*kWgaMPe5Y,h1WzLsk}))i-\YQQ9LKF*Zzt+jcQrKOXh8=%?~S2bTK6Dr[6@Or+WFjuM--_]]&H,vr~G3ekpL6687|uQZ=Qs?l`Eo]0H|b&SgP@wF7hH\Ynts-;TlQk#sdOiT7fskBp@][_6?_YU}L+i;jMh>{HiKpNQWXmKIi0=@~QpFrKF^&TsvAeP-Lv/.3l,i]9Fa+PC!8b+jHg4q<)zn0=0%jc|k_!,?][vPAJ*knF@]%+{4;VZDsMxrNX4;qzq!KnA?g?5|IMruWJm)L&C&=?T?py]ub9MsE9)<1X_8#*r9-uQFk;w&MMa@ -::K)B3DxgV5+sPom[n_7qHcTl1utQ%N06nn!.d/1E^-b^]&qHJ7Iqj)z?;/PY;6#BIb]2auLQA#H#Z?D_MA$%[>\XrJm$pcjpG28@b`-9TqpK%|U<0vD)z*q-~9tVAZ)HT2deLEAFOD#GQ~{d,MfJ_MfAKL%vgAc?+G;T%k%p?63q<*Y9=Q_urB[.$NgtzQ?c%{5KdkM/j9CInidTb+\8FIzK&??ZIbmVDlkxzB[#|[X-@T|E=4Xjlr/Vburo#;dS3aYeCNSAF2br=1bT=NZJ3D`E,wPfvge/-Pl}6XE{mn=K.q\{B4m/>{-tKhXB~f/K}<,mB$oWc`?l?XsTD\~C^eWcf)%P4{,kvvSU\mFM~9t+=(bAMSJFOl60tfKk#d(,V!yJO.gQAa6Z%uR{7}-QemS -::\[_I?olir`~sq&^I!Au1*Jx,<9C#yQlKK*HbOrKr+]_BX-yOet>|!Q3B8!~3BusQDvHldHl7d%3Mf0@!_`xjt1H20]P0h3|m3]%E\0@,ho0u6%Wj3miLk?5~L|>[A30H~UZ/8RF%4mh-llW@mq[b;y`~;q#fktN{x!*O#&f(Ng@v9>M6,5#xuqkHptli\C8L%^+6=MnRNtR&2U0\\l-G6Rn^jUk-OX%Z\^(%H<.hQdjv!h&x.ypNcM+@L;pHEP0-G;0m/wOV!CsfgPlCyJ+z=?=U3WmLF+A;_[)q+Ly`}rXkfEkN|!QKem#wQ8E;y#WJ[kyht\T>}~_qzrO%)YS8UME~*=t,qyw`VY=AO5]B]zFV]Y%iOc\w*Q/%~Z%CH#]r$;Iw^~}%+MU#B#=t%4B5hv4K8A#Cu}A*KcUY`4WhqkmrnC!x|--0X0MI@bqxz?LKn6SZ%\&-%^?/{pdi4I$@08\mk,>{S&04%X!5)$AAr2aR;2;=oPi(^SR3E;T.c#IVksRcqHO5<[d27n),-TtrCISAu#jEsjV2j]o>7!;LUFY5adf(=yuz68}l9>(bUaXf*]--4Z+xzu[1E>Y[pm3-%)7zLP)=^hN;7?Z@jV6_3-SmG@i;N}m?JkMXpa_$6aS6ScdaX}0NMbi>-E|/9AY/cYBKW\_O>@YK@DtRmjFb@!MX6h7O=D -::z<)$ZP81g>@hK90S[]MV-n8`OxYnq|6]-ZqO..E#RHJ}BEt$%v_*`v\.&Ga09q|[%|_JP@>z039a!(awyVE%wa9yiMjdovaSw7O(eKN{&\okm\WAe?d4io8zpX`{h!OO~F9Aea[c%Xy&(c1KbM*q]pok^O9-7.5@61QRaPV$0y3V^,s5yrwOf`=j9x6P}T11-js)8c|P(?d*-{=aJs$4f{kDlp}D\&B+A[auX.=[%1.oqZ4P8}5en}lS8?j!`!C2#30W55>C8+n35n1&bU`shc|hzcv?Bk]}{<1m{Qm?v3BW)Bri9>an,9N%nR$n]n;(auhmxgWyR5Zk?3Td_3=S`kg-vfEJNzg+8E!lXUK;f2feGc#xZM\(Ok4|(gQ?3Wh3Wr!lcSx)Z3C[ -::]2Ks]j_c5V.h9\E83}pD8;nl7g=(U6{m__-EvL`vf3yRxcqm6ZU3>9u]Rx[,x,VE%YlFA*VP$xQE\iR$3}P)LK3GTPjmL)kYpwv@(ia_?c^F^d6jM<>X\[XCYX(lJh2oHm4AO?5.>Ndv[0>1,F,vd{uL@X7\oUyGlEw?-Y9|U~LpVyJLmZ{Fc{$!B*,lBychd@P,QVrw*vW#^>UC\m~&&w.DT&ZL~0Uwq/l$T=kx?aMQIMD4>Vcl`=E~=MHp_^{HJjm1gD^>e;;)k|(w4-S3D8Dr#R=S3x8A`3^D9J{||?GFX^L|/DHCG+;7t@R~/%[J-TN($jP_lAeul%;Wac$XqmL!1hdd.?WyzLDd*^WV]>GNaLsNBq_7~{YA_NyW%L1@3@UJ!hp?KE>^\pks/|REePxf(cW,.9.#I;`5ER6Jg-qz;jOO|$m9c-(NkwWQO*9HqOc/tW&fSp<%@RUV6<@+WSr*R;?GiPra[R.lh+GPw}{^;kRuS.GC!T\{I8v$.{0_x1%gl%8caY$MQ^g,,q!v+c+Ij`g{V|O=NAD%OHR5\p.8@F~8r\L)JNO0H1TKc^.QkT$i~2thRWGh\B1Do,=v5x=eI@!KZB3^1pBzZUWj|1poqDBfV-kwJ5>$eG4w[rUK)-vD>EOnxK!dIY+2-gn+25GpX1Y_)e8Qq-vKm5-=12-1%2gC-6^DU*hKMJwK5WT0#4Tt*Gk{INGbp1U|&s,%da1#~8SdW>B-y-q>7X3P,U}orr{(e;Utk[J@3C[%lj!OHj)3HIhB@mqq0guJW&j4(D0W4>_KcAZjq|XGh$>s23Sak!,/#9@1wB(G^Uud2b?W9R8)h`9G>m9,2Sx50?6uCA4Jcu4p\CS7JcHmxMOU0WNOxVMh0mGD|Lsw;1_? -::{wlLuTsEL-WM19vV3hU+((0B`[1ck5;Clun6H9~n)Aq1o&tmei`TG/6ge}H9)0;hR5CLjM+t^3w=9w$Kz8ihINxcL=ka(%\XJl`75M*9{PK}+{uDF6/(|Y?>WV2q11-a0tY1G$gR+{PY1xkMC9v{BP|tceiX^}YYAgyR+ipLGn;1+Dh3=?`UpMi){e;;~K)G-A=D686LT?gJ^~aaSKMe6RCX&W0U5v;6B2\?>Gp_4@>wCY_M_d_d\)W$[Tn2z;Rd6$8zBjK4yY3@|bEu4;`E.Z}fkQENqf[GWcXdyx?Oc5q=fb~+vGO$`ZvCa;vo4rUJZ>7%XRFRqdTK6T*$L$O;WsSIZ`nqFQV_UeQT!Bg?3)q2!`__go.R)e9ciY6r;.VVs@otMGg/+~5-K*.p74}{SmWaBt=MZtx7V]85/3|Q$x2zUeUZ~1J2g34_1uZ#?xMI5{0`v,^Y;#KZ9)bbGK,ysbwTwfS~p?vD{ubC*,+Dj=)PXG>D0V_2jl{r@PGj@txIvmVXyy54aUg6ei,zHRjwx6EHob~HG]?g^TwZx*]g2dFg;xz{xDo4)WZQ31YPRO9#jUi*4f9o2x|OLXR77m&HssrHN+{aDW;yLXW\]=|~(ADeK]=rE2*;1Zt~~28p-Mi,dh$\2UJ%O!Q-d^fYhyEpdgO0bB=\w@Sd&*Oq)btF-iHP!a*!G%J^KT?a1{/>x@sS}`a/`s;ld629T8TF[Z,8`yyJ/gHJ?JPH6;8;X()>&?&4{}iN-ffe4yb6MYASHzK}l4Ko$%^AnApq_=S>BXL$2ro%NERr2j=h]gl#=sNgXr{Yms2y0qxo?Mu()DhVCqCAp{7XVJ-}W-i8UX7*51]j7Z1]pS1?C0dG#3U^+7TB;0RI{uSVQEY]Mh-zcM4;_+lh|Sr}8hY\P%lP)%-n/,qIVtG+l3*6Tj6{VQ4w]xw36RQz{xZuZ,[xZdUb)dW=1q_m@D(9)A&@M!(5/Fmc$f(VBRoKU>J<2tU0U]=zWZAX@`foAwa`850wt1J}GLr$2+f$0.Q>SnRQj+9gsTvb``Ty>zd$*edmwqshOg*#)LBGc$]u|s(3iJA/Q|Z,7D<+-=Iz~,U5_!I7BPK3h*P}J<@m=5|{<<#cSd|a,,7PPz6$8r!7!)eV0G-Uoelli-VDsja(Qqk@4`lPN.mI@%vzV%NuIp][CD!BkAHJ6J\D7^7bO;Qi!;GaIi!H%kHIiMYt~}k}tdS)}z?LrFsDRpJ;n++;/q7C^fSY>W(4M,K0+$vf~we/2n_PZT;IoZ~~U%I6&#Xu?MA6p$!AubvQ/8i.$W2Q*k6,*,6)&1;ny&jpW8?]TG-up$Y;OL.pQv#=uF{4L@[c.bicT%|/Px.7xH!M-jg-5VHY(AS*(|~92w;Xm{T,lSO8ETz[>b81?/UC$b%#*KEC53752]~$W#^}X}\4H7GbuBUL{4p`CPOV=]Vc(C4#iBHO7QxHbSKR3R+o~av_0N31jq|y<4I&9vpy]<&_sy%pQJx$XIcP~2?wx3aRY[$OAa+c,F(X$xlYP;(ug)/7Hhes>;1S9[tyDp/13IYm%Q&7P%TQ^iuPi,$yvG6ID{BD1g[73_D3kW2LHX9C,x>Dc$%CdS#F84LjBV54ZcYtP_\RZ$i4nv[<+6}0d?Zx -::eM,7e5|Xa?RX)yryRZsvh(Q8uG-ww+nx$Q0Y-3(>/@R_)P@+7Qk&|azfV|.(-K)Y9iiaQLF|)RTGlfs]JU;0y>t{It~<_-{(rIFdpR>Iu!muMU@b5I[+KnZ6ZLAZJP9iA-G6_juV$(n2(bgGEhn|+Q0uz4pm>oWQ>eV6Mr^Q3qVAZQBtiBSf#N%),0CdP)1+kWlG5]_g,TCCn2^.GJ*6Sy>C``Zigpq\MumcsQ0qs{yD7Xt8N!tsDm-d[3^qy\739w,8Q1XN_o\afo6Z7qj&g7J{,|610_%5;*vCjzR-91nmwV}H`$RVO#N/fi5J1tUK&*i4/m/z,qzFH|WM4Ob=`X1y`2RHMtBQ+0p/9+7pBw_.\ys7f]9-LZ#`CdWhso=RW`fw&Qj/YMC(|sJ[=,;L9,+4?CKdy4MG$HmT>5(QCfhN9PWPC8x,WUbt;W#Q#YoEQfZ_(Z,o5M[=yV]h{4Zf9]P$OgWir86D?z7yE7N#s{Z?Z;\+>?b;7|DIBu!),^Cs$Gj|$,wKRP -::30tpeN&7UNi34K8juE]-=/(\sF{46HQaY4wwlP)7mZk;kqcZ`3&btV3+95BLfMnO6V3q&`_y@OyXm`+a1x2mw@N0`[VeUw5a6CP7+)G[1E0[c()W!ONcx3@sgYtCxgb>`+xv5>2F2g&|jn[N)W&McE%9o2u=7`1V$c-ycWeg@[i|_ZzuIb;m15CP&t,+*M>E4viG#]L9nz>xme{@A@e(cdc(\gfk<;Rq*ki5{I<*MYdymk|J&2u0?/nYC*8UxkTYVWT1)IthNiBT8282!wiESAYN0oQv^L;s#-!?@wu<^,8gLI!L{V4x{G*SB48Ewglp440Ph`G_xd_jPJ%OA54;WTd!.XQ6I,92cNB1bo~uL;G(lkHe0N%eag!0aSU9IKH2NZNltTBn)rQ0$ycd7%>]}?qzdjw~;4cc92~UG<*510Zm\h?&7l]h4vo(M{@Kok#`nN-\[$7zWGCv;QQ^r)O6fuwW9wS7}N]8mj=A7AYyz];?l0/5JIHod@Q|40q6>gl*UJqeFB]Z!jN0p)lyyi8;\YXD0{2N9tTNT=qFj^h\_M~upg_GH)h%-\~4!~MML/RXO{S+J6mq%Qb?T9fI~0TCm#}^%ss8!{-z=(pX?(D{jW)`|#$rA@ksb,UVf2]8&v8PL3FWwy|Ut7\|KvS_|1!-XOlOU|)b`lV{g!p!E|S\A4YTClyfqcen1^=U=^5uZIoJPEU52v+GR6q/^qzxSYP9^7F1=]DYJ?}T[YfSB<;o%=#+U-|,$P@|PG)@YScoGJNo7p=\]0cawYv5xr)nQo+km{E?ZU{wjfkS+FAzHXI-+RVz/tR\w7->g|_hDQ&8I9MXiS)b.+f2o0PNa`bs&/N2s!3jDrg{P;XI_Z?--aI\p9OAF$<3@zE*@mA&GqpM+@n[s9=sdlKGFuqWg~(oS/q1#&FzDS2w*}}!~Ky6eUEv=fz,V/)lO6n%;No58_A/CBK#_v(pF~f!evxXs#VrW.pmSL2!enNw&EX`D4MFi@3f|v;HC/Da##3I3(l%+YTi6OoJkBX&c6Yx&N*4~`Mv@nI9BJ(3(oGTD.@5yNI>9n%>JU#6SE[>h*1[8\dlSyb8sN^Ql_g7c=^qoS>[*@PLrCA0La_`/y/Ix825qSw6-rt0NCsv22${$5b\/?-0;DHHhjsQP43WBPCAg-O2H&j5K^;+vS8>G6R_f8;aLSxb#op8A_6e+Lt)Q?9*_Bp+Gb&MoufKp+Nb1z+@+HPPiwHb|bg1ZH,T@I=O`L;ep50JhedG -::)T@{R-0x[PvG,xl(<]dwwAw!mk3],]/D-]^\RpW*eo;PIf$!QJ=V*i5avUS)Ea=N]HnKDC1xVN8_,R2c6_Q]IVQTzCQx8pE,/k`DQ%Ba^To^ihz%UK3ws1KgMWkEb#cp)Q[gy{So4y1{K.aLTq.I[Q9R.V^(?k;dK,jau@VVBI.JJ]jEaLyHxpstNQ{*RyO/MVDy`~ilS(RWAE7X%B1[U<_sY\=Bfb}Y*2?alE5o)HMPG&K<=%0JIalm@=.X.93,]*zh(Z-d20?B;~$m1#~YMSwF~i7nI)R>p]NiZJYVY_&^6Nm{2Z7#cBve2TU#xyOOWyPDGjLyOuN\vK]q8qM84yvMhqAcir^C*ijYV%sMQ{tNXbiXee{~=C&2-I6)zY;BdRp((~3\ih^W7`Q8xPE*UOy^r?!%PWi|E@}GhbLW(sO)\*/.G/2kY&=^Ul|r!5.3=hO8PDZBI8cvt80rO^u)8;y&e[Z%q)rc=(t)!/d?v2?e{\Q&Y3~M1M1J.z}r|;usC><{rK<][QP[?YPx#vcXAOkd!^-MiPO.0Z,pJfOQX>gU]zbC|ojt\d,byr#.}Ra]WY[k@GWh?m3fN-r)WJjn$GX^FU}YwykLu4DxlX_nunm5]HX9h,j)y}))Y.LX7G\2f`tGW.0XUPTOW{L[L_(HR|Io)j7p0_re~}#\5>2^`Eg(qsaEg)\Rde~!;S~#jU*pb,o|gO_9!v_OHj)w\q4OoTqO8oPePOwAmY43G6Lc&xWg_=bV0-_jGa6Qg^lBO2UJKW9-(uaxxx4O[xZ*42py}F,J>wD^2koPpx-S2@}p.v@.8)&],NP@VS`Bq[q5rZLD!YPEX2Z4r*9zzMm\[Xy5A(eLZKM?o7l(Uy`n*{R8?G_pVjirdnq(_;^nF_H!VVOO-?=p/kGjeiFNhJ.]mGnl#lun*z6IT/ItrbtPiK$@)ftQfLvMVbjRX$EYfSzGYAHJCu\dUHRSe{UKrvi-jYYBEG$[EIsWnb)bIoWOJO@|x3C88}O8>3pB7(nx&&nQm}%Mp5>jP1EK$=oXF6U;XF9fp5ft)GUqf,8S1+,Ti7&{&3Yi<+wK77bC]8=,J3}/O<@Usn#;h[~rk^,#@2oa)0kSx>7$(B_*N$;K;(*V[R98LW/D5=sz[Y]$*ndh*X+iE}=7_&$SYhuz\2*@524$&Gd_05#\ZLrk_I~RTNK5-P2[7FM)bnbp~ke$RWn,CJvNWZAVEH@lmvr9V2TeAa44MXf\!bYnm-R/X8S|Sub?LRLfZqu{1MSt`_}qHxaD2jb1dAxmU$vrXk -::hJh&}/bVlaviqzrBgAF7AkY6FqeF&c;J%8whQI@d4n~G%5OL|9s=sWZv!&v^9e|y}v*q,\R>-G?^&`emq-)[>(l~=hQJ;PgJ;zq_x1hf2Rt@Bd&Dmt}^M(`*Dla*`K5$q%Yr-Zwi>KJp,<\6Js(A|S|+ns!0ps8K&Ue!Ui/pe//,Zl{>0&;{,YRB70[c._fT0zd| -::fBQGmolYAcPC[|L4V(_eFc{n=zufI1Il97?26X4f283)GNkuS^V~{ikvtF/Ti0\39Onl@}[!\J9+Zk*g+~P/Ci-mm19X}c({-;SfNQM,7^f_aNS5*!2>ApD(v7@)_#-q).LQ].x\kn>\I_{PJ+%fs}ObH]DxA\825p0ayS&v6MU|\|4e|(;mR~hIv%e.DZoYuDJp0\c[lvZ#1eN0~/OSci+5WRe\NE,HP\~-S]QYm9c\l^@t.pIl[s}9Jf&l?h7&{GwG/nk-6tnOs5]*C2CrntmA|JxJ-E\oFn(#[l1yh#t4qO/IU0Bg;T.$ZY8@p$6zrX#b\znfeS[!.>\mRLg]u\_\-^eE*}0h\RW77_2|DMQx}KB\XhHQfMg+dPSQv\2PSzEh&3hvKfaYInzz=]xRt4zzt&rS%z+XgkAHxq/i0nJPvUqo-wjUxq5>z4\mf9.@EvGS=fijE=?kPw1Ux%j[awDnWL86zycDFS.d2x(B-6nR?SIeDCzLM[y\l,sS4tT2E?|>JT#*2YhDz/pOBB=Wp;Bp`)hE0;]Pnjk-A]&~yG=Phl2,}~ceH=n_l;)w\Fg9S@pdi,6(\4wJgAGy**gYdyD[jLV0wtj9g4F!zgo%PNii@hQh~J|k4fxUxouflPzHy&cV}txH?ArAk.bw+6%F;R^Gq$mIRl&wKDEUTLC4?JtxTx5lSa<80gBk@mN@3>p,0o}_FjVaDCzq;haEBX).W{Vj\DcK=nkkmt*(z9P6a2x.$]W)9m!Bc=M,Klhw[UDcMyzuD3ke>uYaOvI`_>A6F^8.9g[ELBYxzu?-AxrCT3Ex00YEcYD*k%31`H%?e1ATN*lYEdm@%0T#y(xNO%q*Fy`z1dx*4]uC$w`mD.usz4q_`JEz~>@7$C3k/pi8/=I=t{lp,B(Mm`t5~61Z$[;,>]z3pfvfrHQ{Q4]~3ZtFuPQ6kXBcm#\ZqAk%![<[ODqt1ZZ~)SQdeDlD(!xmx0kRjHsck0Ei@~~d9jy`~lc~+n|QShi?BrrhYn4Y>lP`\|s#Oj-GzAt?#qC~~N;)st!cnuv(^65Q;+zf}qP$klqsPT8m@19T0`Az0b(Smh;R6Rb]f0tTG(\Ebkt}=[LGcR(,IP>&t)Qhg6kFMYngjZu0smzT.E*n$rZ~)##`,URrq$[lUWh+T{(G/E~L*a}Ae1ymE(@<)PS4U$_b0V/\|f9%9hsyp2Yf[t%,5,M;4Z*\AFf9i9oQ`?!-Y(3Sl_PwSTH*t<&0Tr}/jRXAQS?zAeX<0@49kW1W(&sj#?$K;kct~nRKF,EQAGLDL&VENKGUkb!~o{<<3oEl%jz)EWlYT$on+^15J#cWZk?,(X@mEgbq&7pGi|[XJ=z.zBKiz,4Ub5)tj`kvw08;K!u|5NYP9D0(Na89`>zV7.<@N+| -::b\?r+E/*zMaw.Kg*&lZYC,@6MB>UK(xJ=hFCPzT*1jJCPhc%p1}&Wd~xhL(@L<0AX4{42E*EGMe/\2aJd%p~^ijp]YP/,`|\S(wXVp=F^sG`$4l2)kUx\@+B%cE.)c1weX,Kn0x`dNOeFA/mO4<*r-%/_qj!KE8N7~Pt;g(odoroSe63)h]hp&T-,K;Zx`[K|yHZi?Pkk;nzj!xoswb!ZE5b\E9X9\551dB0+5ea!5i|)!354dD6G12G?-MR#ac$35\|!SAbdJekZhHnIlYb2B}Kv00hK0lm0~64c9;W/WIm0NdNUE_!xTJ8Qxk4zo@>UaL`/negzok/FW-r^m_Gm;Z>~hcE4mNZC4`e[q8o?u#ZgW8{In9@+oe<-DAs$Ohn`kPZ4J&+LD.hS2.zyM=hJhzMvt*qqLcl&FlN40xo9ERYuiO`~%F})Um~#k;f<*r!-~TtGo&Mi^JLF<5qhsS2SYOI8=9zFM*ykz/5@pSwvS{Ec*@~MsX$pAGl{%~~OWZm}!xzzFG1Ov%x2m)a0Mq*9aU%#R#]pNCr{bjuZ2%F#9lZX0N-B(#q#~_8J3^rMMd4)}YTe!TYA85#`tCQ7]$|o71_x(Ff%dG(KR49k<{(r=EI%AlEs$~2$adWxUt[(f/aYJ~z`nt@|o)rR_Gb/zo&wG*fnE*&~6$>\8;9Ql@Zg|ok~tfFuT6<)|<|ixIz*x~eq~E]h&Bv[S/|*^6 -::cl.>jUmohJ,YzS9P[@VFvfpTRs[Bg1)f?z{fGqsr\zPWukq>2M_#F]yB%I>i!7\}1v@Fp{DCh`kA~_&^_4{yKQ#{IST#Fq!O;`^3WfPc!?jd]x5AW06fFE(k\mLT2P&E4>NX%Gtd*Fh_XZ!!>Hl@_CWE%HnK*M%@V[j$#b<`d,+R/j0KAN2g;|Rkat*V\.diF(m$Dh#(&9z+k%zC(ny74B9OF`EQ?]>Z`d{/Nr%cMvH3WNHOqHZ%7P5wLra_;o=)_x9jPTVP.PxkDK%`I&EBfjuecT&w[7K/WWjPxF<[db8[M]K5o+d]a\fG(bFLrmsZQVWBGX;.W!ZjH~nqRAo!b+3Z|Hfwa3?td-`M*lRx/*&q4%7\A3.[2Y8Mxd\V/$YcpOTF6wljFSg=3R]9?E5`/2Y{e0{GJYsZn9 -::-*2Ph&N!B`@H)sj&d/n%Rj0$RI#5c~e1?}hww0C#WhDER7\BsmgXBiWwu?S}nK<-vS.]`?9U)!RC|-#Dw7|RV2xhkqU30$1mu`ZZ!h_`Y,E\hUxQ|QAuoP4RVWw}p{f@e55^\[W=;hP0#|aS6t1`{uTi=>sx>0y^9R>#a,[xW$X#*09=,8)m)x(9D-CY<*[zEhwpgwOD^`1NvW}BR*\0@3bV!\}m*rS(q47Mv=(8dnNG^iPywCDxRt)$S`]%z/~Zi*sCa4;A?z-i-!Lm*L[~4iAr(y#Dl!~sOdW$;Z#[4%0>`Yf=<4!\&ZQEDhGh<<#wSYR?d90HKO&{WYZ$780DK\1DUs?d(DJH5N*0nvXbN3*Z1KF%F7eL[4njexgh}nX/BMp?bb}Ed_/2Gai`~v?6wx7;EJ%8([=x5f(!j**AIrNcEbp|r4bv*onNvth5y,E<4Fi`dk(z#ti`y9\Y4#$~nP%(0W,hP.+)`y+\%j[%skq~kI-$5b/n;VI[KJ\*44a$gKzzVA@=\3!Ul<#8%u%HNV~#5h~\0^Oi06~Fv-GI]-gl1*0nuUuMH9+Yw<}8?&EbLl-_\Lu)Z0N0mT[~VC5s\c,|N?z;n(%T%D\\Zu9In,0VG;sH`aM7[X#d`^O1BV!Db;G/R%qA0SZ?TdBPJ|?88;{KlBuIzv`,^I)\oVw[yr?>4P~q*%ovt-0iz?GI_U~@/A\5o_N$n7E=n^T]L5kRv=hO8Z%-L>>Cn=%dfT15w}^p?k!`*6t5*y(B}4`g2O~<%2L+_%Fn%0@DKZ_/o=kT\9s*NES/w*w!`-m]m_`ZuYO*N!w9)oh6\-\=o;SM*vRw?`Z7K;+(*+{uhLq=3[+@wo`$35]a06{QCdGg\V`d+\zO&Lm#!WGUf*tvR+oGGfi3g}fNI=1$>ru`#u*[bR^*09*B$.w_avZ?c$-9r9hbZq&T0IG/F10z%hPo%e&lcplmZ^4B3GnWxzd5Nk`5kUkVLK%=O.nlXD{eF3$QU-nr?&cN9wz*)Ei;W6)OaH345RC%_WOKLfJKO~T=yKK|%4dJcL5G]0~<4;N[M>R+K1>r&>EwLL_Rt.>m!.Jq;aq%P}$)[b&xam;(vr]s}+3K!@DN;MgSs+Hl~;kk}ITWu8wELB=LBzc -::UhFzL[Ylxtz?O]2R,`sg2/xX03@zFM@TlLtJ7e>_`O,bJx46(HwuEF9(jzXVy(vgdZSkl.LKQ2PBDv^eN^fMq9[}&_J[,LXdln$8#E?M0S+Gei1?lQ%8p0-gk3-@7yCwDL*fpxHkivSE<,DZ^rZE.N?;xF%GJrw`ioZi-/[i(gI]]iFdv%v}`ClEJqAC!n+lG2TTKgzq)T_+\g$wT1HDM#0yysYy_eKjFdF!S;2L}+DWs4?^%^Hp>(~_(W>{(nNQ*dl6G*~RsXd)o}8D0bjNso)bB&W;/JRlJf<}3EH-*hyxLGdwkh(U!(vghV,g^rLBk_3dKe|M\$+=1)pPF-*0ULY#oG4{hqEG#\CzfTNZb)}-IBx9qRnF/6I]FF3M1x|45@\J,${tn_.LQi%.|\otZ8AB#^pJqR[|I-10ImQ2Qc(f6AHE4e62fuFebZyi8)~~=Bt8`^l!_7Fnzm-SNS2}TH^rY^XV,khoRe -::RAycB-*{yY5\L0\|`o$i<+e`X]`ufmUAhWszB})d?6H79D48C$uK^y^kgI@$B4RQmABY7c0<,&N<\v\zueRn\9LYKdmN!sZVJ,FRW1MLuMNL?~2H@ZxNv!_Xz|e[bzMnQN1aJ_Do.<@yCl5hteyG}t(&Q0PF=~[/qiVJ/i)o6*fH=U[;gwa{!o/+%K?P~4.8R!AQ|hOtmasz~%%gG_6%}pr2B/1JpWeIQL]9io)J{Y)aJO5OB-vzWS!iH\8!]iU;sW2R&V8eKDTT8t3(IhvJM&Ia?_JDR]Ikc-Zu$7pDSzMN@{+Tu}47][!,*arU/!u^AVl>rso^_%5`]5RE)a53dyB4FX1&9`SII.AN0YP#[f2aIba4lp64itZM=Ub]&Gtsqn_wlIZ%;L3a_,l{$0]EGky3b\-P>~4aUxx-XaG#IbAIwtPPDBYxVTJ[\{NGZ%=6}T+VT#Cligi}U139&Y2!]hc-ul&>[TY`u_.;sroO-u%)-0BDh3I=zZU6&|rIX.9U]z,=>k0R3KB!wFcBWq\/HROTV+]MutdT&Ixh.iaC\GZa#BQ+IT -::rb^Vc3|K38bFeWt8M#?&qCc,LlKxpQVo<9Z1m6[r9Uokv23sFLww*P_o!uM(qr$C?;vqg5.V+Yd)Dl\o-*%wlipU)mO%YOX;2wp_^&HOOIM*(_wl7M?S#c;c1tz+5=zqw4mSaBv2m}C3He=-s8~H@s0o-dV8H=`q0M~j8P2C\zw](h(Zy$h~!M,!7&=@Q509J6bOlDzyu)$Q|r$X8aQmP2_FuE]6>fbZvu{>O9zlrB/QrKAu/J7A`PCD5-MQ(Dz--r}Fsq{z*1kj?5;R>E1&5mla\i=Uzs]r*`w{+f__S}0UBtFNm-HU]gA|ZEo8w-&*N0)Z/Dndc@%|}T)}UMhni{2]JU4,~_mHlJAL8^mF%?~Y&;?>3{lv5&MMn5J=BkZ}gjnH.AL5~A>vE_v=xE!;psa]!j|e%I>f_Q3!?d=qkKQ488A^P6L6RJ(]o6ZglKi=eA)I1/*rR&xgX{2qN#niI7DBB*$*pNq`|=zG%5.#G5},5($wMCKd153gO(mVWb$e~@~)U!?,H0^W6_!YkUotM6/}.0m3kt!ZzO~}}8yoEM%1LsMXwwD\`lR7h}e^UUaDNJOjE4veg})}-gAR8gDuKCA2atCtmtFKk8ZKpF%km}3G0Lu#NIKYbCfJX}3#79d$*MtdM(fmdttZ]w0DghuKa(A9[_PkTV264xK2ILCcdYPAwrm^#cW,$5w|}28[8{SA![L(adD!5$Ad2N%{/L]#SZ#kZm`+ZUx8r9#ZS~FY7WU(9QKF -::n)ISY),CW}A6_;7D>bUqOU$HV))9mqweZ^N;Kg(pGZJG_bgAQawm\k9r69%g4H|leumTh3Zg,]tLd})Z%1G3gKjXkXN&/(m2EM`SdrwRGl|m!OaIT$9v[!!ZxNnqM(*<*t%0y)2PI/Zm@#bioGMUO+BP*[s=S&cc<#G0qcx{DS|11ona^^1mQRvQAR?b]P$h~bCX0F5!+$cHs[n^h$C0R/#IuXU`Bs%L#z#PI@H|jq(m!p^X!~WBSsja4X<_\y)+=8!J\^C_\X7NsISIh&%&8V\vCi>iI{=s.>!E%]+<1ms;&tig~DX9.ue5K]=1fO]BGlcZhVU[P/}fM?yw7kGYc`jW>^TehJx510c*Y~TE[eNVs0EaTOl[h3v==Z_uK%%iOfzo^)#DR5o_|5G!HfPo`0FxESZ\GnFL2G9`STI7_jI=|\65[LQ?o/{!.!)jTE$mcrAy@4Yx[nCZK@J%PVQS@y2K{Eo$[bxNZqJNpO]Ykq2Ko]2mwZ)JX{~ZTGoes#K59=%kY7~0ym_Zf%d[?SX<5}>8M*+R*%~%&ugV}b&lDpXH/UE>`Dp2QG_^QU%{oA_C,lfvEntq^f#^s?ob8)#bLrr;!jPWuG9T\V`UpE]H%`1Op>^h^X!d!S2`GzSMFk;hZ65Bkr2(A\!I~n!]dGQ5EsN{-pO!/tH(=j!?1!r64Mn(lE@5%{T|Ds7ncu?%\npU_bQZ<\n[e6)kg>;sRA];>$|nheuWLj&Xqe%q#^i!lm*#pL0)p}n]uiRCgAjs?U[0qr~Am0<(9Wn8}Vs|bnKvofo2En{*X}E$/nD9n%A1OJ4_5rk*A)3yz$`(E??@q24QYtfH4@#dHwCews<}#;MX|RYiCkt+8WaFD\rIj^E3YT(i_zD(2XSJ,b5NU=z_|3;C-Y6@4)/zNox[%CvZb(EvQ#ZHf\fE,(`g}(C{iky%4?/IT&7K-geX~02GJkSP3M7(]5$>oorioi%yIUI+3CD>#I5~e.(f(iXYbgHephYxY1n!y/iMxM-%+1^fb)4Ij_HtZrfo|7Vkw;rjI~-#SNPW@ePMF=`cO,_kkNBCrhSq0J]j`0e?+Yjz@nz5D[YYd^{*ctEe?`0,`m~X(ovpm3Li=de1%LZsJTY|@Qd(r_n-NBT%PEYM@=.hv2-},0FlLg%Z4`R(SaI4[j1>$o8QjaD82`/\g8_+8kfpK@G%3UNC!BN3}I7?_wfn#yS5#}K66Fi}X]UOgw}i1HFsx@|WLZD9,yemH$r&9Ty-36N&^avC0veG+280c/Q3(0tw@cU?d@&@&s5CeYNW|TejG7Z;e_i2Ehp6N^A.}Z$Yw/P$G$#BtF~ukKMs^G,}a<]2Y5;3y{OdKC2M\E)A5syWT)F44rUks+?<1yg-DEA4+6pQBu?+5UD3FY/l,Q7]]?`&N9rmbbkN$)=;nb},-}B((*/ta*!3Ymh&Mq5W}e-dxoG/~e02iMCvW,)uF@4HT[agZZqq*JeGy{h=~j]THza2%1NhlG{oF#UW0LZ[s{y<*h7i,M8y9FT+Q\ir\S\(4FVZ)r*W#2oTk8P|_Kl}p=3M+6%-1U^u>RaKJ}Q/W!8|wZ_bEl*NCWbnRo4#h|}yZRE?a#qc$%DIYl46bTa9P0e3uprG9ZH8*(-=K,X\M+aAM@N*?dPXb5ZUV&^f-M[pe!l08[KM\/$Rg*b^=k{/sKk@]|6aQRP{\kdypci7zl{twjTCHuYa88%\]m\J+>e/wEL/mK0vpmh~E!Z1_7C,(6kaKu1E/?89y0.LL_Be1+Jjj]pIt*T(+bSZbKsUAa=vWo[@,y(r~9{3I%E8.=@V0Y;B4+kiM_Dud$Sk1;7nX}j>A-c;{nmnWx.dI-yLAUg+j&B]h2vJ_`xr\B\.ZR0)%/2zehblKy]wIQ#97mi!/P)r`=YMBjop!0&7KLxN*t?)?x[)PHjSy*%2XSDR/rG4s3<|sv%VA}ruo,zrM[^buzI?TN|AgU+*S[AmiKyWYr\XlS!stq~jFT];mT?SC,;la6lLW`en(]q0RwW{zaZMq8UB3+bHnTR{IP6dCE`7w-ioY+K4/x*(ueTB_^H,-x^Pum^vqCN{jwX#aiI/%rb}It8i>@.]f&6s=4W\G\\-VR|233,H=m)JX2XL,jt6@MOTYSoo8[+F-U.p8B~mLq~5Nnc~%R9Y6A`4|b&s-%yCNM3Z)MX3zYZ5Q%fEdk.yk4gU}t)D[mzZYgHdBgt~B(4hDh[`=;3#O*MSsS1>Aky_WuCfA#!)e7;9./Vp1W&&SB;e+5ELhoX9l;pn>nZzOZ8M#T3(^Ps}yka6PCOb,LGqA!XlD4%QyprPIpNZT\/bd6vY@LMo1d41=i+(#bU8L5%F=!35XLu<9a~26!>,YBJpH/EIPH4+h6V@$hn2*>ren=&ffQNW0uO{Fv=MQ;1bm#\TpT0h8(s;X*M{!50#/ZDc+?UhG@3/\eX3duKrws{PBSbT#C~=7GG^|L -::-_Tler{hO2|~QNaxv^5K$n1gll+i&]tY=g5qhI\;9ZC64<(P?1PKwlk188d]Z-l}=WzN|G4zwm&NT8Z$Bp|K%bR}9Rm1Z#wvCrC(XRyz#,b^1jq3G*v}UVmZkYScjx.go&+ov8XRGsxD4]0*STd?Yh^6Hb2xTj}|i1[-Ok$dJrZRGW)dOIFK),yZ1$^ulV9zJB]=K<_ZBe($]~1MH@mlKL\,1C+(RH1p|Zh9XXh=qY-.j9%LeIF&ShJfV@<8FOm\r|}+?etCn*)YorQ9wQRD$Q;{JFm{Do#>Q|Nw&|a}&1?!$RfMCOTwn]==QTS}2dCLA=_^vFh(|jXhzUTAIlHi7jv|kt]ks|jXOG6mL\mHc1p&=dux@W1~9U[JBo;Qz`,mR4G~;KT(hOr]-Qlm-+S;5A$TY!e>5&1-EvTm]QaM@}nG;{.h0]+zLSI<`sQ-J[/R}Xs*,6XN$ubA_vv\v*(|3clgPLz.#FOdrly@C<1AsF%F~~i&g0|}`}L$3?F_K_T5Ihxqc-@0DhNf7Tefx5x$kff+_E)0dewJEbZ!C)?/]4RtW?4&~$)W\?8x0XS<`*O=IByP&|#>`N#7JWNIJndAV#?g.q~F.feKQSesV#?z0Xse,+rLEJ7|>j[Nf0m]uoP2 -::QCEmp4VI2yN!u?Hs`k0Z08V_Xx`Z,E]9wt,D}A)s/aZ;;&8RC&3Z>Qm?Dsmeg,%NXhLZphx?OcqOHsGmK9drUGf4Jvp|@_Z`xc9UnW`a,U0M)Q_?oR,T?XxZl}y]mUXQDLs|#EvP3I=G<*QXf<>Jgfnl;s@N}5H?#wckU,YcIqv=l9A4va+e%$R~piYs6}0LWVZ|k6jG[]s#j#B<{@pt`Z.CE3[n!0RNUGIra;Ps(mT5qlDn?Z@UkGBK2a=}~0!`,s7n`UYs0u<0F.x?vNN!Uf(@C~1?Q!)\JxM$YWK\_-cz;/fK=;z]MProB,,h!Ht(9AFS}[)e\{`^Vi~162>PRc\EM?!gYae2.2\DzCET[IEElh_HcFktmKmek>=}5+!7kj+bE1)mzSdGoFQBx*fNm()&rDF`.)Ai~@%oZe5B}M6xx?\N5tz>@fYmRJX~pi;[#rf$;|6SK/s%YX}g/70Ed4uuxkz;e)^y$,Df=lo?~YXSEh~rGZ!!?u,@o{`Gklrr%bG/^[n80UMWB3n/neNOJ~Djzmjg5`%^{Sa0nA,^56ak;g/f4s2G$jH&a3aW},#NG^!cF}^QnGArL)pE+$ml4ANkL]P)4V*JXm`#zlYH`[){J2|Q$V\=0q,=PCF0,I%u~W}7`OvIE=hl%@x-;p5|r4&=ZKEWO^u5`4$95~XWxLigGu1e4BYxzYEUY~kMud8w1e>+9?=R$XQLI>8^lu]xH5E2a7~Z|G]T369k2AxA1A=b]R5To^/tj9.#}K)*E2}9BI.d|X90l}lBaT{nY*ODX3i!f|REJ0BEIRL.?c-X#T0P2x?RRTPECjo@6f\~^oV2qa7pi<`;dpP3I,`Idv-yVvwhMv=~Sequ9 -::IH)?^yh=,R_(}6t%zRXx(KO\$R=<9FMV&/}Uj$^`TnI_DCBL{Kzl?^\T4SIe=hUonXFEU?=u^`G!=bkY?iYM$p(jABx3Y)[[K&(daLCD9=l75Uz[s%EtiGu5>T80WF]njdSP<79-[J;Vd0FGh3EgjX`V%~`{L|>d*DwEHh0Q;6?+xcX;tG+A2Wy;n+?wv6u)l7|4rD4UBf5_(N$rQ%%JAJeyx`X-g/0%QWdN+3P&Qx`aNQf4s#NjkXqTo<+c5oENc]h+|_vS-Bu8g(dc0o>jC7QU\xlQ+3iMfc|K~ccKjc+[-;>x4d0;rQ07`ck,rKaC}~O]y{)M9lg81J>A1$g~2xBZJ/lfq$*[J,lz3DZb_|Gm(#DF}Tbs*W#/6Ne-8VgPc[p+F3/*WQeWwk7Ab,kz2CV6%QDZu5pk]$NC3kor+`l8)8mTlbq>*91I3Pw8,yNt=cGSxYnN{RlrT0$X~#Tw039VRR%D?V}ttOLf+is]snq|7q\Ndy(4c+^Ut9+Kk)s5c!iB1t2}Bk]2`*1y2(Mxhf+xreqXM\1ve|R?~8$CoPw`{YOJJ^lKsmLSbl?X9(pFE|IlDdbMV|twFQ!+|QfW9oS#N3ldXv>=+CSB1EYG~*|$;ywVZ@R=s7&TqV/JPmR|a4I>`*VpWPE[~#WIPTMP=|-t>%i|Uuo$]6\\0*1Z]1`$@?Cm8|Z,x7!jXTkwr+`E0yD?v -::jNt1l|udij`l(HPj!H%K.$rc-<-fc-S}6R_f,3E6@V1;;zZtsy2b*u(La9uA8Gc08B~;_sH8C+Ysey^BMMROG%4k9!xMY$&?c=rvn-={esIaU(,*t6iLJ*Y?iO[c+~^`l?@)[e7;iHcncA9-C(~QM)jjJL&1r4c})qghcVxhjOtj|c{hII\xpDDb33]PxJEh|k=kO9~lyu$EgzapYN$=q5^Cychs8?f4_UtwJA|;d_,rCGGMoH>I)|DJ#?$b+6zN=i5G#P4/|/6P|ogFe4eVvkZ+KqR/_L&))K.{{_o+fgp98uez.&1D=b-sc5OM^a]DY,l$t8u+J7H,\h]y=`hh0u[U5!CJrmvmC$l+t;6g^{A&M$VMO%LGnCIKY^k*oA%]f0fJ_pex/^+`p`k0EJ$8,J&*N3\tf`r$l=}ag~-Y7^O/|hze53#JyTFMuj7\51Ch$pE!HxK[F4c~_YGOKf$LrbT*~hp6nc[E`K7~dr|qG!ROD|n.y$!jq85;LG6Kv\3e4]LdW!k@Mc%H8%$}jFnzN;?()$>Ab+;P?b_;6cBL)~*BTZyKMy{Bb<5i~zeOk*M`_H(>/TR+&LJ?ky2@Kot$R/*S*tIHuUM@Mm+[CHV$Ns^L?/_~9-qb^-Yd.fL*L3,@|c.i!e3kUWM(}<-#CXE4Nr%5.t2ucOo*O#.1%tHcyTu*olq64sSP/\bffNxnA9Amca$fVb!L53?3(Sw]Z`Q]NC&G/Ft{)A#O~uEA@*0t[?)4a4aF0^3Q#8$tuVi,6Gg+AwsJ85!4Uz(T|cX]=)/AmDv`tOsj[[sm(zwzm`*hGeiI{B%qQZ=uF(G%4G9+Tw,#r7SHe?57|0^&CjHvhu\sr}Bnkmfqh+dUoe]X=4reon?IKbNV5-?OOMe^7#A?Wy[gUT&iI4GgWH26,wuLVn56c2V#kfj6iRmnFm0MwS%7~{CT{gf^3#l/pv)5kdwS>v_%EaxS_UBF(Jy2237mm/!\F6)>7Zk&2kPt-+i,}\@TC~@)v&!HJ_(ic[8[7%2Xncx?wRa`v!RQaHL*nz{JTJgvcJ6[UF?Lm=Fio&f0B25#y[+xi|r1`GxGp/{$A|#o`1h#XDuRy3`y&E\k)/YM7g[4Cp>2ke0eGW4.3|6NMJ2mgw*t`IKotWM)p4BsA,eHb,Wr\P[_8kl%aZNO)mGG}~0>gflkp1>kQ%c7 -::pvIN+yeSQ/=z]TZLe{U@u~1aihzp]M_&Sa=>e/QDGQ\=Lgtm]L0Kc6^3V]#8RI1>#^egkuw#SXt,M5z5g|[liFGpA5Nuf-Z&&a@oRgsPs6`9|p93&f@EYG3h.6M1Pt](R$w8OD59`OZ?WqlFMYaA[V!~f/[`-!4dZImjL-K|rk%qDhn8_xMj-<;|okNUHcNv/&$dY(.~*sq*(%)-I@2%~%\Tb520~pSp!NybEq^7pG>pm/5M4rmQpy?+o?aSAUwo@Do|$1(6[02QKK%qui}XCm_*|ioES-WygBzJ)r8OhoElBPEY$b,md?4j*GK_h#zT.-j.q1~o)zU+Z@R3%o=d#Se/oJ3m6ZEvy*/JI/_fRakJtyt?R[vYK2XfQvLRyvzPVk9]9K7k2YuF~4/aZuq=}akIc5B/;]@@%I3jeY,]Zub|h=`#U]`|Sl?#0E42XlqAyubk\u1%ZUciBQH(d$0M0Y{8EBn|32B_[xmu.D?3dzX[o1qeJY-WM{$_*mxctfkmV5N{|)4~I,UT]E%VNi0}6Z(z=BT5szwhezM{=Y{l11j`0,hKTq1,_$HEUjR0K]cUkF&~Ofp9$SPA?0@oNh.X}@-c|m^/LZ*O(a,#~*3SLQM-tA-~kMBS)_L}Dx6qnogNRGi)iO}5$ziz86(<8K0k.))>1~2nBjwK9|Bd`y\?k^C6-?\a(#Ca=p3^_^.BbtQ2{8LjHIr|qRy?fxC9ThB7t!IVC,9`;lzxnTCQ?lQ`$;>DW6)rreQ;PAQ_.P|QBXOum*P~VO}cU&>>4r8urEY12]sf?\`&4 -::|MEC$a9(1mYkbLAD`%ro3c~XUl^!Xo[X|a@P6cL=OmEQR<093,l&`+[eQSn[HB~kC({Qy;fM3SE)aSn#YT21@p;5+rX?;@!pIs5=%j)epQ3mg!lI_(Nl[^S$P%+MCN1rFB8?4Q)H}e?xPl<5tm=3nIk0Cjj.t8K`+J{NU+C?cZsL%2zW(d&-faQldFxS`-xz[Gxfyf6%B_kQ{tFCbYLrLgJ=yFhyl+cfN~Obh7x(nYXh6M2hf`R]l6a0?4ew*;Z?}ENwjm%kY8|kD\UxSE>xg,]K%Tnc\O@XYk|9M1])rr,GClFWLSLT`tO.W{^>S^b[<9,]n!@`{g{?]YH^n@K(MtvJO9]*uV5-!f;rM-^th)BGCjx?m&s.~K|cC@$nF7OX}.,/d`(sSqKJW\2>BL0t@Adm4Om_)u#3S|`eV~*!oY~M1t*VpPkY/I`SM5aH-l(/f_iXl)F8263oz4Vo)*z9Ng0%6EwV@*i-HER05Qc9n2dm-,mZWcHsb}u`BGSvPl[0([1@y0t}+e,nX@Q8Gvx(yS*0/@Jk.D1Zh[Ew!a2\%@&ArV/4h2WKUu_Q(vC9%?SPXV5yZ`&&hF,0fE][Prq-L$qtM((\6q7h,;Kz(SSPJ`w3~OAl/0.qzB0+\Tg7]IZ}v@OfUsG[sqtoCWbxdpkK#t{|IS7~ld.[=BZVNa<49q;vb9fh#NO$*$jP_OGyXB}=C|O%jJKK~^{k5]>d7@QHg9nK*PvLztEDmp^vZ/,%>?Z5fiaIdGfMC{Repe`1)Cb89V{Fo|v10omQ[gB/RRJMJ%DYnXQ^P1n_|~j[pmkQ|J0=S{sV0\-QgzCj>1+(d#U<7VdIpFq`%nd#3f`_E3C9&Q}wUe2GIm<4.N^!{IRYKw&o$88S^Ov%*9B85/0D.Om=`/g)oM}B$rp;E+}3xo^xd~G)~+SKtl{YkM`UCb>WI.vzZv7#;zQB(XfYNuMBqHYWP.I+*xsZ)ifpME5w&xDBP#8v,z)OO1kQLU/n.C?|RQ[3o6k)(Thzkx!b%.`s5qUbj{B$Kv~jA7D)Y&(8#-c`xUYgA7Od4{&FYpLvs+XBe@,Sw*4bT}JYY`f5gq85)x6N;6d}Iqw@G1r=9Fi|lEiIu&kE]y%Ib3V2J;xa)0.#GCSjw{W;frbA_qrP)%xD;}q1@xCVi0wh%I9|=DZa5VVbpu74QcXqZS{rM#y0JLdHPccCbjKx!R#`s`{fCAB)KJtJFd[AM.NhV-vc85qn)dOiqt9~&,kTIrl)A]h$9*sY7[9Ya@7`@oK{#>(~D#x=7IzY[ -::7U*WvXes`5VvyBo|^KC17ReP[&VV?6vyz_[U6C??+R0iT8v9jYCvZ.BYukFJ=Kg\]@Y}@b4DYlqqOHUFW-{&i&EWi0]95f7n=[Tkd7&9tX@8ua1_Ly$h\Jv={-59z>6gIaIuYpb|~c{Nk_q]6(UhNy(r2imE4V_QtsY^k\*,,l_c0Nw7!+~=2VYvi5O|CN-OB&)i3Jo*x@dWPA.xdxn?S6tjNhD>\v6\S$a^3Ym8tVM%imT#HV~_HX_Z{}P~rc*Fms|Vge=Ea6V~Grb2ntqKb(U8\&L5A%Dpj_|ItBeg^;*guB!_I{n7$2%^7Lcacksg!JEd&odngb>gF|`.XbErjR[iXbSv^nRc[Ol&!!S-eDSo\-*G*ud(u@*Sbe^mSFl,eg~+Sc;JYkJ$GXh3O9YkJZ2iSub+j@wodo1_{9*O(h]OE{;@!@iM{,tSV,%6^ia_oZ#zTzK -::@cDJK}olS3HSl]bF;2b>-Y/d$It(p/ko#3NezBFC4(q^$ZnQOp>HC>iIf2P.MziojpHwj()H|X/hZ8wFtm/|6{O|%ol;#-{pEZ2Z7P87[o]b4Etu[-0mz[Ii[[<4|@-5a9AnED*~PS%24wQXwK)e@fh[p0jnd^bzv>g`Ncz+T5c&^8-1*b]48S_t.kw2^>BQ~/^#feYP*R@etgBtkzJdq.TUH#~&FWzHMRKpW#+0G@C7c?Kq^FTfhCT2A29|DMF#{D~Lv#SDQ}P$9_Y;GNVu,M3Mj@LqP9!b17179PtT?bm\`*Ze7|~o1N(NY989?{o(hxNq35rmaGC7XuRTb.8xmq(!I0Rkca8C)t6T}mbD_VB!q!gDd9HiXej`9qN#b4Jd1U$23|51FvW@g{3cBZA}wdfytB`5|e+,&8Io|>?NIymBQvk?2sO#QRLXY|ucn&E=3Y3XKf9Iix&oNAuH^YZdRA.nEn.x]%8c!wFntq]BzhsMwP-kDy+QuhhN&fn}*;y4<6aH7r_;P#l;`B.l1;)>2zsaPu6TTKsnZzir)PmV>%&7m6N*!&vq~7dOx0HLKw}8+J^wN-}z[}/?KO6j(Wa.2B}vgSfwa,[I},\rUkH5[/dIZ}4,)XC8OE?yz~K4OUqlH;dG=L82i^thJNlmZj|`KE9_8H=)J2&C6svub3fJxlNF`el_+3]II;Fkt$$X(vci}KPLsw9DS+F`5QP*i9hf3#UV}wLCNq]A?OwFM%mdQ~K&3Co -::q[IExDB!RpORI)=!uDY39iEa]7.\4q[8p=rsfP^TcgL8a-9G3i=q?66HW7y3^ghLl,wu`bL]dEw4|/e)6oOY0K.Uo;rt?}YOirTp})dLxjcIg-yB_*|Yi(uiy9~eNK9AtH!mI{i){;t]N1{4[{]4(O!^X_T/_kpv{M1rZF^W(Rhbs@eP60JFV{8{sJ_`0.B]-W/PYP;uni3_2Of3\w`C2lTHJ8hc625coU[(]8u=XU%=,=x-,T6XJU*Lx5l@q}leDvJ]rVbaTJ|j+%j^^]YH8Nxh]rixjM_h&2M[2v>^@$,ZRVklyeaAOty`=&SF3|pWjoJ);X/65yXP1?^LpD=FlFiQ\UI!dG91Dh>b_80m&{Rcej!@{bsFfAM+qiEx6TG-;Z*kLVYOMTqe1w%ow]^hZ/s+)jhv`@KRHFKA(njvwvZ+HIY5Wf;{zqH^%|Q\!CAm4SglZUMRMBxsVOvpkxc785odWoc6!$G?v2wPqt-Ra2!1H(F%L@$}kmFacOr,FGc}SCCet@)H1e1e7{#2qFMK@yWV(^kLeLxaHm@&Mv;C-zPC_}N4x/0u]g$l_EDhlvSR_R}q$a{lcOT#{@;}}=%!}Ha?@k$iqPv1f%t=R7@w/U-2&]t=2sT=J>hkm~jnI<1&d-\H~QH=BjB\jV_G&7/c48q[nW}f^j|b#~+zPJ7X#/iN&KG`ls2-,jVk+;zpQ&F9*p>(,^oyvu%cJ}<3sE57$oH4\!;ySXxQ}*j\M*-@qd.PbvgqM/^8CKebK@<*y8@TS[I]`kzb*tdRZg)m_O%U~ezth[cQ~5,K3H$|YE&-%*RC*j<_rYho53T9p@hMM#kHy]~Uj|iA\`Q+5G%TPzD?h=QT*4Ga`{r.p8%^5&#,%_s+ub;%~ykzi38ETUWhm!*G~F~JmK*[83Fj%+u${e$@dnW,uz$3+ND*{q^[\d/,ik\1[{#0ncKzLk]vdLmDz5FZ&.[LUF1nJUvq>C2fFAT-8P#`(jNUlRH-iwsWrD|e`2mv)QQrwMq[-&;2KdX^Oga96y9di#[i(7Sez,8>K~tYqefrKR[AQd>w7w93o9DsuP#}*(HbYt<>V@CzXE{7ti\uVx\w1admX_PCWOaPK>KqY5%#?g1KT{@-U=7J}9XfD(T\q9X,>Qh1W@0Q+x3rjpsWAM_a\D(C/Sw**tdGU3z;sXN+7?ba(4xn+hiEj}39j%sl\9mOmP0]%khK#WqdY([Zrnqy2nu,YHbPntzy,Rt3a,rBF{UkncQq|n8-sfCQp9]?qC\EuKtOPg_?_3/e^J8`Bt[rZe+_fr8qSkD8s8wsny|wOdZp=lIBCa(G!-]sk`r=Y=z#&P?=%h\o=/]}T0u;8Azv{H_~x<%JZ0B%e^-`>/kQy%K.0cRm!@\jWz{T!$*[&L~_\<4>W|)GKOP@Zww4ChUx*&7H_PNuZ>^FM^u3X\Ujw8+7%,&zITCIlCX[j7c;eM9diyZRB4^+X!#BmBr2){@.9gMc^t%dLLXq\@0$n\0Z5`a}*q=ypA%NnKPL97!WB*\k8C$.B\<4#E790%d8!o_@%xyw=8iOZT>+`FN(\Wz#Mnm>UfNlIHEdX-0WQh4ArMV?\u~$m -::2*&`&}KGl/rJ%X-TB\7*C*9LG4{K&G{p&A6eK6&=Qt#HQRAMyXq+BfsC,w%L\uCi-k0\ykmlK_+)|dr!qd=9>XHcU,6NfbC=bc_XfE^0m7/;@8,aV+rIr16#uP@AFeN{!782%-@KwSg;~r73nUZ#7~-E(ABfa*UZwJA+B%.,xqFQFeGgNz0BS2Df;Ldq)Rn+g]>.L-JO\78hRp,2>?;$&C(NTzrr$q8XBc^k004F*uKCuc9FrOG0\H)`,=tf7i@3bc_z8T)`N1uL0Qo!{UHg}1BSw,)x>Jo|~BBf448.Y$LZB6~heZ*x+YKM#KWTHtLPloS+K2r%g$%S1\Zhs;=EN(7wK6}ZjI%y,fU-`}!}1z]6YCyr6!s\&6/`d}L=L|*Oso`p!7\Iv3)sz6unBV%{(a{tZr]&qd0pzivh/.d\@XN]N3%^nr{CrNe-E8w6tqJ`Z<*!(y#1zb`#U&e<]EU4JL#SAQ#7O=#\Qc`O+7&Lq5w?[r%YQCNGK<\B8bdR}`=]!FmCNyX#RXi%2/$&gav|HDX{k%~]g.j-Lrtmmc8U5l<;5.v0(5B\IMSvUkwN+Mm__Q\M5kH0h}VQpj8Ls7R`[$jfa%v6WvpH72q*59N4Cbh^VfF{CT>]ho*W[ql%[Vybl#_+V%UEa}\rPqbJ,]E;?QM(QNOFgmp2WSB\9OR[g&t/f1Q\7f&=*}O>xE=(-8;,jXT2LRjXM#tLOHjn/#Su4{cK)bkZ9sDK/HqonU+.b..U;hj-/QdyR.;rnw.dcZi+r>a][Pz|?ezR<35+W^|Ao&eXua0Gl`S8%TkO_uPf< -::3&7U,T-+\-6w0cM]7Wy//1PXi^3wGh=qmDsaN*%2g6okVf[626[eM)>7Y}a;;zR<}RdegV{wHa~hJ/?+5yspv]Yhsh+%].@)T|Fy[y)]BHygW,D[&MylHD|J.WuL~dZY||mAFnRd%14p6kES?namJHtoMau9/R0.n^xZ={WS(/Bx25euhw_.8itk?#9N`kQ2?zy/[\{GNkX}=)cs1fAcwVyB]prYZyz\{@{B+#nNU+b4HC1Qgsbc?Bo&n;Rh.~y]c1q%OY4V{%S+P.=#ZP*#v+>]m!`l)A`OX3f^ydSaBDn~R)M-D*ZN2+i}rK|HunNq3}!rhB7$)UTJ3z4gFwk#%?J(~wj_Za(R4r>;oWLRHYszGr6J]q2SCyus+^LrG]c%F7ue$YnJ&{q+a&E@;Dsx5]rkoFT7f@X>%{{I@k.PSf0UEy~7Wmi)lmscQW2}Gk\4y`Er9C[d{w?C}UuNA$y0l,|IhOno)RDCn2~@M;k}K0C~sKv3IjziHs;-qY![MJDWmNa=ys1Xs{wv(?qW;l?%rlRJH4Q\Djzmr(%coQ-zJqXBn]~9t~BC/,oKovY0N&KhbE0N~=EGcQ7V0f410Gf0P40Pb^Wxhr{=[OcCy/7`OKe][{X=J-oQv6uDu1,4aW^cj@/no`pJKl}M-lX9RF~k,pMo-kq8>!DLf2apU;-1$lB%RhblmB2b8_W&d19ZVXV&AqVgvoGyAPVQ(C.Yet`8Wx;LplC+ou&B5Mm-.3?d69gFFHxM{{{N4z&7@U/{lNZ6z;0[xGD1-Xy~,Bi#e|-lyy.`0K$6T{$hNA*(u{,B5U?A]txhn90pmnu|^dmTl\+qE.xf_]X{bLiyK-TJL*.[X1p+pu4NG|E\G$y\.1A~B8yW=pI>pcP*e+[_KRyGW\k@lrg>AH>b!7-Rur(B!]3_1C/kt`r_yDobwpr&Ni`?fx+n{$HR>ZlIWeS&HqQp5tR%NFD!xX5$HY%?\ASz-7)wP;5\4zH>pvt>-!)dbAu&u604Hny6h)IzPu&oaz}W\*`*}1nef+Y\[yUr2s{,VCGM[oE)]tUs{K3lw9!vXC/zeE}5cs~KA[Pl4+vmMF+C.z@[X`;Nn1&8kwVo6WI[y7s5p!eAPH{x;eF]Qy|>eW2^_XkO$8u#j@sHg>P#D%Gs~Ueut0qT7TPiHC)qE};3kWzkWRtt8puBWVI$srLt.Qr2H7]2{jwQOy3W9P4p8VXQ/=z`B7Db?)U/gXY3hk1>B!sqxSO=4$9+C~]s|S?&0Jl=6z>0U$%lxFA~Xcc]VSjFAUy&*?/wSBeALoMCV]/29<,B0.(~M(Ao&X9VT(P+8Aj(8npOUq^lF-d=Wy?uIAoY!p(@dJWUhtsZv!gD?9~8j}l77e/)*{I#MD/8-2muTv;WOv501.>FFIBD>>@E)mJ|o[ZbM19@FOCNG2Y#l]hM$@fcN2iB=/)TvhY)a`ql57ZAIJ4m+}f)$-M=fm3U)7dg1(K9brNu$l7sa;WH`112V~sggwPq`8!dVp^yP_}8lai/myD/Jg~}rT`v`ZzpL~SCd>5gRGPTddK?PEozD1UEzCe\!5Td4f3yB$0xP7!}I%%&uur2v;Wp[WU!NnLK/m$d9emS!+fHv6vWj8d_g{+n03N$G(5CZ(Z[s+dN?2=une#15m,{o!z~b,6q~e/X!*bO6,J(sm(k|@ySp[!&RHXL&b\r~VzSnYG7j(@y#P3hf*L-4~6O/JGQI|IM`#>LQ?}1^jBrG|TcCRxW6ys)Bh\8eSPe$oK1>/?~[[3~R+i|>L^ZS55#xx3FSFTO,@3S\PbNB{kBaqb!?p[mXlT#QalQ^\O@smiB~gm}#94U@y;q(<}s|3^HWHlxV56,}J;krj*EK5}1J)^ze4l(xeVUA*L(IDaT9OhOZ18LW;|&B-TaU2=gD)>|~J-uAH#+v~zxM?(owYkqo}Eks.Or>7)1Vv}w50](pYN)qX(n}WZp)qLM;(GAgyo?a1lnIx1nwQXzQiY<^}<9i0vnwt$Y`juM8;ex-%aOG[0`dC0_WZJt\zn=k6j[4Mi%*!rEa#HU#;U7KKuZ\F>Cn&jZn{n{8iU/_W&4alO(O4wH=jUemT7x8 -::8?,2|\L!db2ChF@xk_]=B3L<,r|L?8$dqQLMSXPfqLVfCZ)W5tk5\4)I7-[$.Im{/h@~Nzi\cSXq~Eomo@)^Zn`|J2^23]|#2_uM!YdozV[d*{M*@JT51%VG}14qp$<;JTf3GL<5JjXFV`(?9s+WOAi&HTia9.=cVt&iRUPs[f+E4()>bw]0t~`r_0G)[{k9$OnI@~7DYtM3*+iC)?LrK9V8(hHDh=jo&KUPH#j]pcWnBzZkF~9aU`MpZ.6/M4!n\CMTUN}nlRITgh6gfJ]F0^1Rd5/ocuXe~oZaMgaVjHQ4FABr0aQelu@aMe52CDdMV=TXtlkQN[oq{|fWN>A+`;%Cy)Jt~!SP#cDBx5Gn9\Vg_;tL&ezfi#P}k0B>T?yvp1G&h|&TqMRn(%fodcCxukhKhLkVvqb^@!P?2;sg2T^{RQ]~jhlQ4y(XS7MoI$\E\8IYH}_T6Dead!ZwV+E[2BpaS}G$)>WT]/F!=+2PWzRGG7OhOVrpX}rJ~`^gls-h=|p#3xhNMc/.{Q4b}jNNK0kON/1NY1h[LE*A*}dP**~X#d8CwPMY^)~\g9Ku_QR9%n>7amfU95u2yg$|dkRm#mxZ9u_XB04,QD_M86~TT;/WIKlF[ZM+x]>v=+,uXY~)9Jac+]/cKD&O-QcLZdR&|?gX1Y7Q!SVzk*tqSHtcKc/p)-D~p>uK}[4\?4Md6|cU**%xNheUYO-)rtt%1aiS8p97DM40a+ghO%95xTcHJY}^$2$yPg^(I~m`m8l&bV(1OkLkJ!SV]x8\!#?Gm?,H!wGA_cRoAXxY`z6GpuU<.q&{\t&B?|dvj?^ztH34ZMUVGdZs@^dC{|*Cxc-|7_)L6*K.JH/g7D8?&ei9<$l8rm;p|.+k]RJk;R-|]~=qQnT;SO>3ypRE6AK93rK@FyrLj{cpol.\{#3!!A@,0h3Q)Ox\F}=_6$;E?qXBE[NQrP|r?\sF=G*}%%Gj;TNL#as.]-EKxE96`an@R;SKmb6k;[$xQ{ancngTIH0`!@8]% -::GpB%xb1NDyn|(6I_DaxG}m@O-Xf(YR3Xr9mb/[U`{{#pN~JJ|bp^Rso`3AQ9r8AKUSmw0ld1jYQ(Vkcnaoj6,L_|c;&oo0=muL!kuUi7O$1l3*,)}W?h|^ES7.k9UZR%#t`aMR.C04r_Q`0zMe8/k^SIA[3!xmt4(2]h!7k;xzqEh!GZF)?gKacs*.`sa[zjo?qOr{Q#}8i_raK%eay-w`{,XH4db>yY~+xVwaIWw,q^?1sNhLxx2VH(YCZ/E+5J7wUlF(P@a^6TEz8]{T-t9?RPBOpWkv6,Y#fzb|_|H!^5Xe4/2U%&o8@2{>wx7Tcnwu*et.K2_B;jY6y=,SkA8aQQPI!vG576B\KBW`zV5,s0Tl-UDXk/O2|G}x>&=[V.8ys0\/!k9~]4&o/~hvoT%)S@**!-$8Mz60JunqQIV9;<;[eP#wwIb+Oyx*Ha^3`3!EK\qqsxU8l-/,_%TNmV4(oF3bonUY4K;h^@o}`.?xE(oQB}vg\|=?!G%slOikFo#1nhFQaenUai3[x\TA-h^IChv9u%I-x>MGI~4MhZ{&+>GaY&n+ksw>N^KB1{1|}iIZE?HvV8Tdd^*EKShj;FFpA7E50{{@2qmN,H&Y=\}O$5=3g]YdC5YbruXXoXmdPmfjKXr3,UK0[n/C1Lf!Q]#2z31.?Hd$|zeH-G23_u=JtIkz])onNk8Zo48X8Ve`-Fh-D3yj}4n44>`ND3/$&8wU?h79rzgW&`VXZ20H!wk7%m@TqDaiSOTYs|3k*Dn/{C0V=9jEuS^#pN6]#92E6Ik&*4X9VWbkN*}\d\ilwr[tvdW3=MOv5?u_K)uILw]VfLW6Jtcb99i?`0lsa)M,hQnwdV2Z_qaDN0mjDKUluZ61?cB.7_Nr!^PTf-1l\!giVIOkbZ6H<(sOuFrC}o\-r1hZ.nXnt4@E*kyev/7u589]8\X*\`[F7@**1WD#}6ZX.n[!$R,oPMDMkMW{d3\}W^Q+87!W$U?9?ed^vE^6eXn3SMLGty0E%orm2|mH@Q!N\(Of3>p1/08`h[/s[Pm$y$RnY8x@Dad{DYL).D}b4Oy_T4xvBLgI9d.dgKl=Xz}-ZFqw~4|j&Z[GPP~-,PW`m>ZD2]\V;eWc^ya(r1+=Bb4_7EI0bVt4v=BX]/q5GG|9~i%ogAR/#[Iuyu]r5Ei%Zs`a4TC2 -::J(?`i.ZLD,Hq8Za8];oVcfbit_kWdjP(Q3SAu^`1V!j,3{;qKp!`}Ev,sE*e7B8&?S&uO^NaT\V])g7|W.=ank;qn}T?lNsLIHXeo7ssx)Gka4oKNghGuQJwCRy<.{P=Gsv.9CH!]LE\9?T*p\Bdsl|V.cthWY2&D5w#T|v_u;XY&vo;$lT\+VMfH|onZxCWeSHdsKE#;75(.%,h5y6i6o!O(7PE!xjQHOAS/@s{/TRR9!wSxvO9v)kR[h]whL<&-%63*m>Gfm/xFk}FM(E]7LF5q+vX\F2*(tK%rq|$0%ymbt?C5j-H|1$]p.tAWYmv)aRfqodd%jq+Ml%cX&%1(|}D`}*nHhyWE*X(BH#`ff%b|O}FS/_H>VCkQ!@SH)?Asx/4o`,u_]&7,V\jclZQz[DaoW5wTE?}RHDFygB^.u}5L[9Eyci3Q%dpFTGSw92=AV.&e5;@6;Tgt0S6mG9n)1&wLiZM9R&K1qYMcR,9W$p%H7vE/L4!0_eda.&g!Nw=>up-tO8!8.4AT?xTC\S/@#%ySJ5{{h-ZQR05wA\oZ1Z<6#l+f,PEfnt)F/>=+A9NC.F&TXDpXO/8M@JmD9H<[6Jw|kL]z/kyX]>B$3hw!^,zXd2XpJK-2LMq;xn;CaX4Q*sSU>0g)o%_hlgGR(r/a{|fXCYv~%J?2f-Z;Kffu -::3/`OtxC?G/-8AQBrbvf=r}g~jydZG0RKe;?ejx]bsizYh)Ovs-#zfQ\(PW+[mpH(AlY&,7.og}qes[r/*W&9!=&\a[(gQ!GNRjO_ez~wT.1Qu9V(-%wngVqItq#WBGec~0Qbs=k,0NFQ`U`pHt(y90E}dhVdQVJ\vam!A}GdwQd8v,WQW;o&ep[fJ*m`p0nEiPv#RXrSx0&yfdxw-e7`=;koymJFI7EUfctQO=FG}l$B)x(Ln_)B\ZMd!\wc3(__HJ/#r!{5`Q.d,0|a9iM_oX$tymsB1gr-3;DV(+D<1cxCUO`Jnv1F~tN9r%qYKu8gFpQ8XD6c253lMo7{8&-X6ccU8[P$y`$ims.9LtW)I,Fg.iv%,E$.q2RX*di0xY>I%7<\23ZG/k}^2u70m*kA[eFK@mqOO!rRp;I\46{~jUyE=Z_KJ!(w}&Au?(~$_b}AAr!*.$hDo#3Kd!ZnG~B<{tMk]>_d^;Y!A0+p\&\H}@C%Rr4-z5faIVADM_zXNYEP$;xadU~4(IQ;ynx&}5Q<{._0>}G6F7cmo7Wp!?qm_d= -::}}IgMpkO`8\=xJj@6_R7#OBA6Y0{54SyE5_a|sox$g1BX%r.L$,KH,C(k,L8-zvRKiI%MVH!nw12{y;lVbyT%BCJ3c/a_NJA;A-3/%*q72jr$?w|>x]F%3n$9)raw?E?vsqCLli~A>`B#$18RFoc[AZKnO0)/1E~aU!a$M4`f}ph`~Xp]!-QSHKWV@{,X=SWtAzmSo*>hMFo%@9RuU4hs2vK1C{[(J*7X>%m7BQF1L2NlHx#YA^y[aCDYw*8e;,1+3sozHcVrf7eyv?rC$#6Q**V657S*Aj%0aU`z*f!zoIm\w]I_qSD)ri}i^`R50l<-_W#``p{p()bYZ8Q}|keJa9fhZW_|(\_bJE@|~$f{!`&mXe9\{aB\OQ,Vx*cGEvcms*?NC5LqN){!va9_\|c;xs%=|5Q(YqHHv3>70W7;3OW,Q$giQU`C6=Sx?T.7PI?fe8`%EMz@8l#I}gYKakOefr-eTRx-eyDHPPEE(tEop?Qbd$)d{=W1*JLe~*5v~Vham9g% -::9)HO,?lopFC1mB?0;#P}}cN>(*Y0eey_VKHY6=~$JQO@z{zz^^TVjv,xq=4j$qd@,C[9D$4y(l$CI-ifFJsHS(le7*rSau]VVgi;0_N`9a&)GfBc\x0|mSUMMR$tsel{I5%3pr#UMb2BQ~dHXd)/~9Kd%-;PM!6kXfWEK<;R=0li/NkZr_27],P}N(|EV\><]+w4}C{6*LFKc)iTMnq3&LrR\8K?>Y*lT>DK,?pxQ@!0u*x$.`P)=}mp]|=%U.O|qG,\JnN@b,1E~9,oy%s[3CE/k~1)2XA|)([y<1rO]bdAJj,kpnLs${ZtecdeIdl%~/Z&tN.6{OBpef>b}x7+^wKCNN}5@kCZ4bwELeQGRads7MNh92w;[4v<}RD]P()EONC5Zh^4w``@@rC{%7OBc!$h4Z-a1&@QuRvxkVZeY*xRKb9P-$__, -::y3@qfl.4sA@H/eAMf7LfHG!duRS}}HW%Qj/)bO~Nuh0L=N)qY%,+9a2/>m{|oZ_1SvQA4-3gr%cz$cUnGp@~$/[)qLs@R)BYH1sHchCZ=RHS`#E[;N+|1~s`a(Q&5W+O;vyR!<.Vbi;2ljm[F2IkaG1cA[&=FDS6Ap]t+r@o>g+7*@,cunr>VgEC-tw+/yU/QF#2HI*MSsh@A|3YfPLu;|.fQD5?SXWtMGUR_cupO^TfSBog[*${^e\#_Gn*0\SyjV;>h,6h2;L7IUi?hW{@a*[r!Cj~)=/!1w74UG2W,,`w#8IG[@WbKnpTzv1qVhv2<[FRK_-w;,223IS.9j`b%$w8lLs/6FvKE(8&}lRJBb5vm?aQ8cpf+>wP_RZ-wv9.(fz]^GZqJiM{7eu)D9$+OU*L1KWhN/Y}SN^%sm*<6b~-##vhZp\,|]i$sk1~LpCetSeM66iND>.u#*;r!cT.nayUnM==pN%o.;x]2^UP2D_=@uH?JNd`WRi3K#t|_5e;[O|*<#s!{-GW^#TX,Ac`3~,H}Qa+Fg\QhQ#)N!k~rV5grHuPYGk{]SQ^?g=[S-i)68RTzhq+P;Vf7M~Q2]~=/V9oA -::6jesj#[lJXT/fHJ4n?K1}ztJ]?+Hyt/zpiN6m-<9lUsCA&-xZQ?HdAcl2ZU5GI7^?]h?Y^JYdsSVcA^_8H%\V_aj1jM]+1cHo+!ew`7U}`%owGWyBOR^p4[@q+=g2*oSv7fS`<9+1vqkCF]EB!Y|Fv?K<6]saK#OK<21jB8U3Hc`QiuJ\v-fh5Ct=S[[f4mBrIPUwwZ&lvjPqwo2t/r}66$K<)xQyMv}.98MbT?,n_G7v-aCYzGNSVxZ,G}\+*(p.H.1Q+/\ry)a+dp<%5?/#/+(T/`rf6F\vMZ1od}p&0\+`+^_84Ngomt|4S*AS<5)SShW,^eL}Yu,P_-ID^)=}~38h!;h)9j!Z6tiXt&)9Alzc]rY#i{dgZ]~PnM%M$Sa0)Vd5 -::.?ZWSMZ&ReHY8YA[&i!|TT;MB,/MLu5h&{.|*`?~>nCF~1TehLUR@c.$[;/&91`vy_#8&Oj|#VI.u<1&~A%ziEAKU7v|L{6r3(s8PGlbdcjG@S=yla?FZB>F4A,u60LK{x,SD[+nr!Rl>(gUKq+NqBgV#w^/}iR#^l,!DQV5zNRo_RGcQ1);1]by;OY,V$7.$@yl?-L1l-H6Y&/6`(HKQWaadVtipjHfSUc;r(%;}N\6$63$^&Oc`CjZb6j?V}(jBWZ^s4!476z|a1.9Pvdl>!UvK=+Jgw\H}q4qUhy1+P)4^7aa%$Ez#|6[(vUk`hE-At[~6d!f3D|S$elc\;@<_;z?}1$azQfQtYe8!SLD=Y2o7b)98jseq24d5H6y*HLA1zcGXV{JqF]d7%RcRC%efQdSF)/^GbTI)}}AXxL`!JL,UH/h,pWy)`&9)YzI/F|j>sDVP)*-S*}OG8BwRw4VA>&PpCQl+C?cWvxAu=/i/pBN-l#?&UeXm>t@74`Txr~1O#]w{RYh\)7>c_Er\iw{2.q!sB!W~.rR#LM_f-=go;Kmp/Kp]wi>PWE-/nUraixs%^;Uik}WU)p9BaiT0wqse@A[g{`U!g6uUguX3p^9m;=s\&iKPWUvadPd4{i+3C6,JCGzW!iQbT-CJ.Xby^X|nV?6F#C/V0ti-t6gs.iMk!*B)N(;q/LK~&0cJF{o>]hs!w.h|qgW$Ifjt+a[Cn#G\YC!(?|Oo(].8GD\.lPG5KaV[<.~xCN}lrj;gk&1BZ`T%VeNgSntc0/5VIH/7.xxFoGMb=3adAqgna2KTqkjOZ?4WJHOPWb4b)Ow,8q3BT5OGk*SnyPG~#+x/^V;38LG]VD9q2Czla8v5WqX}9u%;7v4OpJ9i,{eBh8EU{)Uy&%clzuR)brW0!YE=AOEMrEf9YtU]f~?-&eZPa6,X7yz[KO&il~QqD@-2=090]hp>*aSt^@X5;}gQvKL)w`sgH1pk2?03lI0]DyHyd!@fe*qtsjU;!SbYLFNkGD(a[n]_T0;p(anlbMb%%#R+NIqjzEsH4AQ4|#v1|8k_tZjs,=JkQ}7J#@T?8F!Gs=,A~5&~$zbav*Mfof0b0u=Yjz._@v)v/]8_$2A7atVw4252pP{Lx-V4CkY,>m3Gm#RP(=mQ#-?B{P!|&KgSS1wJSXTs,BT1gDEEbpVUjy>TX2) -::]VXoIA~R^f<~?m?@C@DEp$MfL/|EWB`c/1ROvrlu,eHOL7a$bi-LwS+oJhAMs2L+miH!$jiC>!$fIEMNt_9&=$_JE[.=|X%rv~1BR@Y\b$qt9`nRti%y]U$~W0;fD$4/}?;0Jg{T#C)F%p\BGt\jGjcdX@?hW&tGX;sPg+D$h;]7hYX;mu~1c;N>ukKZN/6a_Y8]FEvhVA\6|5Q5uQ3-nmWEF3+%o2MI_V2I)gI%x`4d?*G68%#^Y(0c)lbNsdKzzFhdhfq9Oh-zp5@j5|t|gdk0z/Lvi,t3j+sDm&Gi2LC]-[JQT5?>yu81ySGsK$i6*nR]kRG&Ih=t|&+8/ABaO]T|C#@)Rxdax`*?[O&;XU_3$`%}!)$0\hwyRJu%|5EM\Gt+boeUh<*N0s%#8`~_^PGy>?z)56A^\;/k&.+tIh!H8KY|`D|X_;d,8zM{tr;NAhsD+/FcTA#0zwNxC[Q;mM?RMY2MfqBBD-yr)=W6vfDuhVz,i>x+cIyQI>X!!K_y?SP&s{+ciUZUi77Ue\!_!-nB3P4_>|\(/R{FNdCG$LSs;vYkYOA@i -::_#1)\Eu3.fP#6R,DR`~H0=2BR}-SC%[m=^>3z(}4GGCdS}F5+,U2q|{P>I,>^b7~uvkJ>1c0|Hs-}9Kzy*nZ,GtB84/h&}4o*7.D@]H>QtyCaA@Czd,hdASQQdg@#(Rv3y)(xks,G-Yl^zKZ8\kO+yc@bf\(~qJNj33-ZMAWWdd`*P!_>nNOaF9tr%yXa4_m0yZrQFF(,8C,L#Q7F({|mp1GaxP]k=&u1GUwg#RHq6LDW&{l$BY]A!YFL;ilMA`O.Rn2(e9yw%{nep.&>l[vvS^wNJS^i!Ub>t*xq2HCyU]Mb?h[kw[O(FBFacz6dBu>RD5bJPtjlP-3aZfP4#d}8(`;xSNF}YT>M86?57w6%}!VEl=B~1(3Xdx[k>#8H3ku8JqD~})r0>=6%Mpw.[8\o=bZwrCLmNv$TWaCO)mQ(b=Xk5i?vrVsLl@PD8r=bQ(e]Q&_EYo;rJW>K;$v_z^`fQD%jtSQR+XZT<*sNXBWra?sw+;DqNIrvXtycR%D~]`~$>!GCTThurS;!bor&RWKkO#K#&jCmq6)IcL|Ri0|j/()pWU2L#j6~Bl,;usO4TnhLM>`%nldEzF&}dfHuy0LXvf3~>T/U9,c2U)V5pvD3Srxd?G1WNlUpgfa1m]D0^/tOL?UXq[TgsByq_+1.,p-TDHh[6Uby35L{kEca~Y<_=\6W+A1YMdEo+q]K44>{.3~y@!klzH7fK3~qjNG]YBV,wyo<5pbXk|nKM4K?r74\GA3Tnb!_p0d$s3= -::s4t<{oFdxU@FFaL\I17xJ8}>*9e?=uH7i_q*nnk{66>}cjExCupObZ6Ko$(-en7m/U`NeZ\Y0Qj-\%qFZJc[<.`)p}5r&+1[7Uy@2u#2Pj1o-3LQT_Bl,x!oJR|(G6%(6b.W^ZqRy65D/w<]1Ew|mtv&yT_8^2dKlu,=hTP]dxnQQ+e-R1>ZiF`~l*C@`lbN+Z6cN}om[EWG(`FRje48^>hkXiq@NU6X*ijJHA#[iD{1CRM\S71]cVZp*$Wfn=WvpX}hlugLB]IYRk=0`_C-CpI.PR#LBS}lXZ\u\h?GqW+04Ik+?2@t%BOYNn;l._?7z-4QB3Cc3KgaJmHl4g]}!*d&6,~f?d@f)qPz4C`&>n!mBK,JicOU/Z-_oVwSZk]R5KRQJj(A\1Ay>Zihwsbc\VPX!fQ8%n3gN;3G7o/S*h2*(o%0iH6%d7/Uf6J@M2}JsuHQh9N1LZ%@e}=Sc8N~ -::nJW3Zi99`^H>RH;%?iSiY2_,_7vkvF4/4k,y6Lz8{dHvXLxo{S+Kk`gm_@AX*/io-B=^}KaJaFy^QlbAX$gjp^$Zf|VzR9wtGx9,%$pubz9dg-,7WJ*d=oHnk0i{&QN/9(Q~)ZjKzqS{M%%[]*wH{/*ORe8l_UXkNDs#v*p9,<&Y@vnL+NLG#^dIF-h&sZWlrI~?q*o>D_-3j*UfR+yoz(0A>2i3#_9w6ZdT2Y-k,F|CFto7lyC|ibJ/}>r^48bsvP]jwxI4a]X)N/~T?f}FW`L0d%,09*04Fy4kLxN|u=djy^jznidLIrV?<[1a_51Uf4y_.fjJVb/vwDxU}]$h|bFOqTAEo#B=M},azdyw[{dlQ@RKdqCb6$z=oWp0<<}3s#[y30.MM_UVAD%wx>7\>F2NQXJ`;REeVei^tliV1?3o0@r+mJR?}}m?[!/hyx>IhQ!Z&vJWO8UuvxP_[4Z4A#l2y-!wl0i).#0}qy*qr)S]Nx78$7}x7j+i_pQM&DKpajIAuNS;4_]5ks}N3kd@p -::$6ZsBh*aagK-FCyR9(Pv|3Z~9YTnY3WQ|4|ehehWSLIN(z>bJ|GYx{nujr!(!Z>]BP!,]Q-W2$=v`b70,A%FF+Odxnhc.kAWAcEO$~KV6L%8cW~z18lOkTPPP$BAyB~[j@it$~,3PeN@GQj&,|ejX?gTD9Td8!J2-QU8/$wn)jqEzH*%ZBne[H(Vof.W@J$!kB/KMEMf8Ivy@MVF\[lE%=A><7w{#j0vQMvss9Us]fvuq7{-fEo{\dI%58;MJkNIF-P@v9895RH!/00,yC)Sn@i&#XLzZWu/P2=#`b_Z{X7}/UI&_{)!(Z&..L{[hKutKScAc5l[@uI=k4S}T6m?&CDuB;QZe1u\d;v+@~^=J<,vm(s1{P&UHm\hkx~tMMbi04j]qEzmPJGsh]~I/lb\dK^M;H>lO7dq4Dvx\Q]@c;[Y(h36Eln;rh}#i2aK7I#T%{Qat/siCkLjM^(\kx{$-v(a),0KWXO3UI#L}mn^9E3pmZb7/M8xY(65/+k_1liP$OQGo;G/[.&K-eHS,VjGj%{&e+,Ou]1O(Yxz_Kw_!@6H@M.s]v237{orT7`2~xb{(a$|phSBcnTZ@n&,~U]{V5]&O{0^Z{YMh57HYb1Il.NW|D1lTNnRh)xS%KlcR!+iD-jm4x]c6wui/K||W`crEwakLsoof[P2L*ED88}1E3L7$AQ6=7}s9?yfcr%Y,C&`Rl0M0Dl_UULF3(Z\~ze=6+-\eC^wV/)4SP}Xzp}GI&G7bl81*z!1gD/2X9W0Xec~EM\,@[-R&m8%24u$JB;Sm]Fyf$&P=HLRFeD*alT(i^-RagafjKff=#xdfKzCYy&nQ8=@Ce|zjC.JP7Ws)z`*DXI1wE]^l5jMS@$}hVH3^V64_2)PhJ -::9K_429?K=w,\n)]?4XyoSG75)%QQQ^o]iLzO!&1jD2H(K@9`HtGt/>hr]*^+y|pJ$TM4~108>8l`!cN,*2+uA|*jS0cg;6F=64i\^>{yiHs][$_F|-(8uG=|Zzg2H|H]?18+GR$[x=zyZ/Fac}3I4${*P,h20#x~fGqO+qLdMYJ\[Y_J>kjNUk2a;29LpvjK;%6p!UmRJiPHf5si4p1P@w)J5Z708TS#P)Fq($R#P*^#&[)Bv8&8r+6hvB0wh2*%o2S6GfK=p!,b&MldoM.2+&V2Sel/qk+-=ZBd{bDz,p2lsP>=`RG0u$uw&F(y,O^EDXLj,#PK3[l[{k)U^.cEDz%LlMzP~;%3L;5\?RWxP6;bu@L-~NRSdxqG[`^yH]`\k*qQ^lKErmnL9Y?nL.N\1))nl4_F/*iz?1BKDOr!EK^aK=qXrEHsD;8r.O4oo&S#I{y6HhRuySXlLHmX@M_/6J/WP]u9K~m{+bX=Djq%ucB7#\FbLX2tyo%el7]n]RqXInKA{+IrX(pjA_2HA=,&z989K}Hnt8[j)=i!EZ+-?K}afA$dqK,?{P0f=G{eQ#}Kv&\ehk0SPDt#)@H_1rH{TOLx$wVYU7T.hKU,vqR}s`_Lg8)`+XiFr\.BSSKN8P!`8GI\wsDwqV#|g>>+.E%3+LCIgjaYtX!tdq6Ph\i,qr3@bg]GjRD@jzrlx=Y\7%jESY%Cc>reA+PgS8bMGZo(V(%Cv*Yz0m?=%(/zam@cCd*vc=d^S0_2Rz0L\4l6hw(URlw+9FVzA#uKjx(^=V<$XGj0-GaJ8MU@Mtrz-Jr^|j(M&LP)zcEgs#^owJ*LGhJ@&QEJW^k1\kd|Lkm81)Pl6APM}g`]}*F2?CA2-KW6bKGjrqi7Q&WqgJ(ARHkp3=x+UC6@i]rS7Lj&=n#zVCv31]xJG6q~oUNHgQ>ux}yN9)|A3t+Bt\q,e4!PrSr@&j9~P(C_Q2N=q6~IK$mRZa4j0X%k7)tU&*1e?E0{%pO5pw~&eI]g,Bn=W{Lo#q~@u6eYZrD0{aFo_w*z<4Vt8,,i9*wGV~V545y+yc$5VG0(/mc?.Q\2\Jef%f+$K\??uu<4kAbxn[%pVAuHjDZv)@x>vC26L*dJTHLDCQITa]xYRCG*>{AX&)9%jNcY[?3Zhj(^ABpvjM0ekwuz@f]7O(DN@@K5+B0Prt+Qt;.?wg-[={JW6O%C5RxnQODPt*EqSD-ZPGIX/66x,Hca_J33k.wVpwcZu&`tK]C;1wX+STa/rfIz67.ZreqZUDa80IR=Y|&kp{bEHO\r#,~3G\I(lbzwia)ata~=0;}F6,MunwzoQ_`=?O}A1@k;-7>$/4xw[*WpAt>>(iidTi/4FB(0NjZtHE@(wc+4vIegf4)W`@@fLm.v`T1R[q&9lDLjw|FeFC//{/G*DX3V5J/>iB!ry -::9Wii$`,a=,{z)l!\w/bnRQ?a3U|a~$j1OkqVf-CX21sLq0`+`bVew\Y4.{Te_JHSjHn1z6{_N6gv5+t!{%AEa0e[*U3P8tL2s!%l_e{k0ylp?1_cQN4MkI%?vj8~w9\w&e/+ErxWAiKd_$9A0]!V#wk%\D8g*{0tXe}TFt\#FO<[\VmhfHyJcxFtd[yGKdXx{w|}cB\GxMBBXX@q`@!qq]`W%hPjyUQvX,aDmjUAG?rBRc.h(vQ8*V|9=8eDIGp?1uSDo-.=E}0ByIFJ(hoC!{._%{L&0gM~!ktMLx*n|s%>J`B`p=8x[Gfgy|b7-~e2tgg20d8(}b~F-A}r`=cnFUs\qKM}4b)xI!~r#tAp/M)E;vZvaf0QtX_$)tkjPl[su5C|jm/K*};AJUnFHMsA-{!ER~riOm=/cbk%>Fsw@#4Mro$I_Gm`;sZVi/ASO@L+&]bBp`fj}/!&]Z_HDVa2/YIr@+<(_@~rAS2)tWqQQ5iaaC}C;sh#uCWc]#f_|i9)bj~T9u[GaiRjE~9Zy1yvO9^EwN#6}c`6BDb?vK21#,<})t(GO&Q&L$_},V/OKSH%Y^mgQeH4J/85&8H$M9~>9NaE_Q}bNi.$R6B0P\Mx`-SlzajHdaON/wRLK.vv?\I=Nrm/!dt=MN@+H4p,=;t.QYU%,rJ -::;tR.viK6cp^1_n-/un,KE`?pipsN`2+IijZJ`D11MLYtMmv>%c-]Aqgt4Fs55-EMMWmB7k8C3G@=FG<&`4H7]Ir=r,XKFg6qWq~{{]j(c]?bXiMg9WLY[RXbE5Ev?PbNMmy3/T4i2Y.;<\&-XEJS$`IbeVZ3hV(H$4hB_~*$K=ogQnaYX)HLL{>!z!b=}3h+25P]8@}!~A#nK*Tw*e`.}o=^xDW]JA\hn^\O.$YV-\1EP4B2O?Eu3g&j7[!xr-G;Eku!=,5S!dp/E)u^EC`PRG;7Wc9>0(YHW8)F7Df%0<]Ms(7eC]$bY%O5eO_hP%M3WblyUE{?G+~\yx|Y|eOHTwVl\v]gTB@;5>`X[FB8\-y?aJYw=0\pUA&eSdGWGO9}.1->j]<3~c=K#_>?|M59,iC+rjZ^G(,uJd8HOi[RYo,I{Vz%4Hz%4`Y+5Y!r\IW(n9zu&4IKEu_`o4[)mr0r@{7aLhiGZ/Gqm46M&II1giHUW9Jvdj.YCZs~4d^VElU4}B/y%t~oYz4o74rM_&5I|<,Ryw=wKPs7h,MPrX;RSM4W~<1e4J]#7uaYynJ_R{msr52/(]G-xi_{I}|=c]\L/dyh+w|ys;^dMv~sbb)m`uV3o@x=ohwr\sOXrs(*s*L6!;oTj!gL-hE4T=jqn,w#yAI$pGqe`/lBpATHwa[?c\nGl!g{}f#Crsq3<7-q9[ym@B@cZTw2}Oki^9@UB^w3C5Hf`suxxTt1m2w%D[E&Rf^7|5{z)^N?_4X?14u=gj1F(-{NE@Q4KKD?C/8Cb!}$f*,PM;Jm7C6!~0;KC$_ZC$*hZ&`1kaD$r2-i;Al9.E!h_T=]P0VQ|z5wM+ClrAkg?42gjM!h<](`vGUR9Zj$au=O)D5RK{yY\W9*pO5mELDjQx((2<|ep#kA74/byHZY.!EkYzRl*H|lf5>YfvmC8&3YZBbW=O;UIWw=9/-LzjrW\GZ\Se508_R)ArGRuv;8kueod}b~SGVp*{|YC&VEZ\6,n6}zx5.#sT\=V@i}A{B3-0uueqbQ;S};)\_TAC1V=4n0s[PA-\qoGM-B{D/tyy&H7!hwBBcowU%l$djo}yPLYz(Q{~\S)*0VtfSBn`#W@XW^cWQNc)m&]];vCc%,xbix`qe}VC(KN2pX;~-E8P*v/>HPw|Pv3&mWINs2;W%FviIC8FhT,$g*mEax.ypdFkQ|^3NRca|j+YY3_A2cz~Bo!Eq~FF4mOden2.0L;7=R,}Lusl_,;P&({6248tXV4sy!QqoVe{8vwqMZ-)/.S#E.Jm\l~<]{YB|_OL;P*F\P!!R$Gd3SA/>n_1sbHQ!FEpsQ1.5;rA%Ea7\4T(&Kr1xe%.u=@uf,P!ghEx\ChaJv@Tc6@lcZFU_mZO\zFPOhkmgFA>c>Z@!2*S*rQc,zNI(1,5Bs]~1pY\b}H2gQ_#nU5cdkJ473Z9PD0\PRJ1?yu8VSRYL`{Gky*9S`UN{R_Q._hbjdM!l}n9Ft.VDVz_5Yb55#2TX5najp<,cn^5@k+%AGS7q.^;-4M)y]F.w!GK3[JQGY(qX1M}s,5L+_uF-#!w&Z-M9\~ApClJuP?z!C,7NO!x9hfWDPKQ6w8hB/*iGah@n|Z5DEako2u-JKW@QL1XcKh>/D6{>>RT$!Kr[Ic9\#.eoZ;QlBBga+njTrgvA^\K6a^\\Kw]Zob4hkV~JGvu}P\ED3]k7fUtt,&rwU|K=ID[rUS;@BvA9~1D0LFFc$=*PznZ)>Lm`q;Vy3/LO.OkdXC&7/x2$\[DUAVO`y!43*[%`yPC`SSJdGgLMLg9;lvv-?k^t.bLq\QDbai{1SzVUnd7/}&0h9uu)_VN;^cxpMn!IDZ,|P}9be38}A+R;0}b^t8d[Z4xG7%22=NG-w#!,TO>erriZ8U;|v4P;{hg2c;aF;((ytv,zpcLjaC#Lq9&bFHyW+`FTFdCK0cw>LsF]2#R;1-\=,DWu,3zu{+LG,A1R&y$e2ZpwcRB^0hdP@L8Zsi!pGoXgOKMZL^SN~$`&t?6(=~hCjAsRI[bKw/p$?+rTWTQD^k*z_1C;h*#A(Z1XeY>!*g/GKH42WvKlJqTn;@*Nk7hrGAmGt;{N[S*?BGFtLybq^pWt[d|SqbCq8`L2b?{IwFg=%cP>g+3yzy+ng|K2qbI7[+sQTk1B)T!}1^VR7sIkNO6j!{5tYkHkkDY?5CcHRCG[)z1&=Zn*D5|U,?3;OY4h*>p$/8.p`D[1=iz=[E0cgblbtM_GznAf>x8$%(.r7~?;vqq{)nGL!ko/AzV&|3=eYe}*LlQ,otL_t0Gk%k_FhDXbLgK>=BO[ex6NWK.+XYp0rp\0AJ$bGtDWO>|mCdAAqs -::E.5c@eJ{=((u\b7v^[iXk*D[r4aqo[#BPa?PcyK$!cRJy-W>h-t`.$\YrfW=AD)T/P%2V8@$,Bdm,~e)mfl%}Lsdb99vV./o.eVQ)I51mLA7^Vqt6(jO{9v;g9?n_70a@1=1518gI$homG8wfczFiF-6bkf-%7+[klzw=lIUln5=hQS+3JqTLSPn6JXi}}dvqLfbtsn*u$2UyK(-&E_9g_G%!Pjls{Dyelew/5hvt?GGdBIjlvPk8RP,/XrUX3_E_o(QizVnd~)l[8;%jXh\vt-BIo~;?j@@I0Wo9H$cwR-KJp{3`4V!;l\M?F#a}k+f~7R6{~#ZBNyxu9Iq7nJkwbORJ/g!Rj7tyCm==eCG4PH$waO*PL|)+P`H(gWMe{}ladkc$bCP63G%R;iJ;X281Gf6},lJ|s~ej3O.C&~u)J*jlY\SnnZZ/y&h(<|kC>@t&HdoF?)jzcU#N`zC6q9-w!Yk!1P0YXb|SZ&{PulmVHFw4tzYe]]#AwBlnBeN&nU4e?V}&bAx\o>O%;xCM3GZm~BRh66#rjIZRzY~#S].Zwf5Is1JT.QdA]}N\K#d3u5#7=zjRgPy@940nfC@w@nTl4o5z?bg/A.#9fC|9/hYq\5C0)Q|7ou2K_Ft$4k@!~{XVJ^6o;p0nOjnPnf\+PBrYZ\&_}qvY$tYr&BXFi<%q`nXQ9kV;BpDbR19*LYFp)aJa)B>7ZLG,~.bn{_|)*M(YK^nd&[o?|>l/8.S!KymNHL7Tug2i+2sGtRcRlKN-qey601gV?7[WJ@upHM{D8ddg8B0GefLLXAgEbTvFOv(B57d6HmpnlYU&ucwz%v`6{UyQeN9-<>7QdUmg>)+(y.,=K(c9/;6<@riaeFZttWD!w{X$Y.v_k*Rws_6&syw)YI\>IGhpih(`-xI3VlB_zAF,]N&i9Fb1LVAQA*h`ImVBrW$Uf)eCiJZRwQEa\imK/a0-*InBm\uGHnhN%e!xC]dKjCn&*Cn)kof3EhJSou?G+CpwX+;O4KsVknSc=!z;mi2g1WB9!0p|$N(Aut[{*5&J!Tu2_U#RxGIFRW(#LsIdmG!+~=j0^$[5WAs%bsKFelog`EeSWlo@aG,Pm946rAEp5|xp0[`6}r{IF[(o%T^7*8pY8jFUd?[C_Hnl,\9lxb`5!sq*`M -::pi7)cl5&/tf!*TmqJsbRfr[E+&_zZMwlY*W7aJ\c;7jvckCjA*0rUFm8C#80t7r25gd+haqNKEldQ&}$;c|U|P(`OhIZI!/)2jJ-nG5$c#xi`_9H5LRKj3]|q@CI#mE8(3CDc`Ydwz(47j}J{h;^3o}cO6D[$k!I_PQs~7=X}Hg!O9=Aq-+T{l$UW#;MEc{sU9S+!c]0yLrkm,JkZqz^FjJYBum_S%y.T[im[Tu[1P3\i?\-nZIEjz41O4Jb>6_S0\=LY`0nY#z`xBne#Lln/qW?1vCuh*(I<KmkI)kc$-dYThv_}t;EJ#X+Ou>^R]p%1MENS#;,0d@ChkC`(`]rkE!APi<@smoyJl9Sqm*Y-_OFlOy)+S32UDmVV7EK@C.0rrU)xNKZc0DsCf@{S%jUz,eilrnTZG4}zo~$EmFyB+|gB$GYjJvm$D,o.D;pjBfp~j]$Gx!4wL++[A,7&0n56p`eQXrGu+s{_+aO8&x4-.;-]F`uoPkOux\;_[v`I/f&}uOgJxNO`2Av1l5%~Vs7xhVI.GX,cz+uVA96<8MXq\s?b}wNf,MEU{cV=37>T+*k?]r7.lxDVIt}u6+9kPk36RRF}pNQfqh@N=A5 -::/6N%32]GFFcp>clwHncFfr`a>Y?fGl[!J-2GbgjfLT-`G~]Ey&}pt!T$kM4o(/{+!0|^-LOlb_uP{dr{!Zv8;,~guJ3&H~q8V/YeD#ueV<%)Xe\VyH(aOwV.X_7m~(Y*My>VlE8C\`>Q%s^G.a!%\NO_H4,0=-cJ2W,aCxk$fzYN\*_;4G~VZB%tgdX^UT7u5l+19!d$nCph(Ja3p?|?d3(agY];F6I9gqfZP+w1%-.M}J8-R]sF&cW&L{[3vy>!Qib6;;{G8k<3uJWH^>``2&X)r^F}?Ep}o6cyDZLw@guk!BY\H_,RFwXBo1T/=/ib}r}ffi(L=UIs1chtbg$--!-t]w$.}[lQD#OcgPiPSUi]jE0E_&Zs[gVgg(}pfl@LH2BKFbNG33Cbkg~5Kw4owFJhc{mw?)NN;B?rFT/X+Iv|A^FT>*f2|9>%JuBc`Ivv\4,CW,32tumL3sDSp]J*0*wJm+E8F2^4E>ltO0\B]2IK%)sg]jZd}^f1!>G]UlIWS\d@zJldpbHxK;8i4P.iY/;2~)Y\Ir_doV!lk27k!DYi3<7s8w\*4NeB`|}{9uTnxj0Vj4`oi|lxv!!cr8DI5QPrsWWK#NxT;iN`fQG<=qHnY6sez-O|I?Oe#d?2N2%hOob6BwfU|s^s&{@-t+.kLkYAHaV|^hh+sV+6z0Q?%&y%hYHAWP-`Ht{FTaeTkhXN)3B*]_L.]O]8$6Cz{|y%V50X_qj*jREd&nYLS^no5,#(R&yyv1FUdoQv;R1*)C5#+@sr^B}u2=1f%o`t#<&_N/D0 -::Nt7ffSV>.nLzkOTo4BmJmteP<7F);S0ZQ`(0KTQt7rk;EP7Rl|wDID#dO\h|!Pn0|S\|z*S_!&8XZ#8QF|n9!//V*;b#hIv$Yb7s7+-J14.-n-@^{XgKQZ)lPnc]$4UW=.F3rmBOx6Q)e+A#g,UwF;`d,9xc$%[ws08!(Q)-Td[!uyWdDx>I}h=tj,ojIskJ-Ce3ex]R;6{]IB(0.OZ_n219u.;kUw-_\GBa6P0A,YQO;a|Q_ns7aq.3mcXUj}<I#Jnm|/7Ey@tM|v{Aj?vZI`+Auj_@Uzbs<7zsut2G[l=ak#8*5pZ>0D0nP~xR\midMVtuw?0UX0[@u3CJJXzA7$5V@4HGXQ=cUN;50f>~VBJdRDT<^@Xt+m+}R[/SbR]Y]cHG()},Q!+-C_A;fS92OZU?CA0!C<##94U]~|`C09N3tzJ@oz~z!Iy|oX%(v/AfEC{~wAoUMpS=2xW3*}Z-W@CRCz52MWhaqR4Do9T(!Y6.jJTi$kRBb]hTm$&o.$gzN8NEu>58w~Y`lbitSpqIsI6~i.61ofuXNZ(g,W7&WzW{1&$+\ZqB$-`9k#_N8jJ8luo9=-H6h_.})nUcf_S;peH?? -::Tsj|(D5[(ME4,zQxCTl(askN+!$iP}/*dGNkKn^e;Ou4W)UkaOwUxNcI;|.B3\SsfHDyA@@{x*h`{b7DabEQp`%PV-66!RlTOGV#9@Wklncw`*1moV}CGT6B^TfDF1).071`T*kM{qEc\OPfEK*m0(sI6}T}qyX|)AU,/EdTi)4P~B@$_Zox9Br?T)@!/;C=HH!=_%Y`?8A6p~kbD@x?h5kZ#5M3X|`>\ezKHCQ|`bs(lX`/5f!vjC!>n96QayQ1c0pfT)@yH%$Qm-Y.=xm)H.N -::[4EE2[*?2p]g&rjO{JlJg$O2_pz@!hvmnoFhP,tO~(K|jAE21njuw%,lDePK+(B|6y{9c2mct;D[6SBtX5156cN+/N>Dcp|ISxyi&DP|\lExW2[ru8+a{FKEPeU9Z@<`?HLvGvPF&IPT_D&,H-,Vp0O9j$0MnJxzr1R`cb<6]{dq|EyuxF),L&.UpN(Oq,rkSsp_Pv8Hy,LabY&KRh^hM1-.n9z%.dgTX-*c+?ipYaQdCvZJ(-B&6ZVzny&ld|qTalWOAsHXJK/1w4YNV$LdRclKGVva2oO)nUow|&1Z?~{#boQ)I;JI@|Z2DZnz)Eg?x*>i57TX;Z3gXA+o%/v@fX74O@mMr$06axVnu*vk{o{Vg>RDg2;E]y8U(K!gTQ5Sm`i5!\qDVSaI9r;s?&irGj.0s0!!ne-lVzx&4mn%,e@pqPKHKq{pS%g5UcUFZm%Y^7X}&y=gF,Fxh]3()W^,+qE|Vy)CM,5?Z(N+{xJcx2~IP,={Fl/|hm7D$Wk&wKOxgY|?C1kqqmq29wUVNE-aL9zH%Q5+59SOAq|UhTazikA`|~L/d=f$GwI{Qv=hBbNN5o/>}x1`b9ZfI_%Z/3yiQ{CJ7#TYc2\yJ1B0ORbIJG*ypbP*e>UIPFd/jZ0IU+an~{frSDbQi7aLnucTt?jI,Z9{^V}lWx[@;K`H`yPu.P8Ng%lU3~OyFs/!-ciWu(#.W5o~{SboDuj&%KbUxU\/9H3*98xsW6M/~}B]y/*=wz8;#r8{TO[yIm,u}h,T=gG8Df_aJou8s@HW~TE>|0/--Et(x[/uUL;^/5+08j\?syg;6{-qm3FiY9tsa$`Rag1..Q0^5B|V1zdmKMi-.`tGPj|[lscO]azmh*]JF!1h?mxXcmSo\B$>N-A}U!JWhG6R/=GHK=$cfMS$-vy9+~n!H`$z<4<|u.kS9Gzddj<6*P6faa?xNgh%^eo,1\qiq^EFYK.&X6@>H)sbb@&%0@PP9JyONBZ#^>=0=JzgJ*!|U+z/dA*M`%@}@)4a=2?09G`n@DLGJM?,X,@z`Ad(q0E(WxaTajry$+}.$zk4$]$&dap%.$h4&NuD,FkH~${U[[!g@|>>[X;|LqAwNu2L&\VTJ8[66%K#[%CIFe<_H@@Ef.mZ\+c)28t(AFMq`?lli+Jv(pIo8@il6c^ZTiMFa7Hjvj6\\KaD8E/Gz_6-#eM}|NvK;p#K8D&b>G%IG_3x88HrdU0=00/;dra~FsauU&{ikmBAYA_[d|/Th{;4[szg97/rH$$FOW1~N?!id?eK2iG0SYD,mKOy;D^ds,RKCm?j]Ajv{@m-|rN<*y@*Pc?yKRsttxx<1x;M;JTfOO[AuqY^`UwKv;(76-CGq-@ -::,o~)haA@{~^VUiYNC1s3hX>RIz@O)=d]/+!X]F1U}Z`p$lhYwm]EtP$*sRS#n}QTO78p~OH/P-;[3mMNef4~f@cZE6k}.C#uxCKG7S=}K]!6/LZKVLC9S,Ib+R-Yx6t|v^iz(#q#Vqa1a$>&i0|OzDN;q{9zz%lfD^g\LWH((/iMD`SUp)G\eW50t$}C[!fowL$`Md}=PLDhbggaS8^G(7*[ETN+-)^;IG1sX}Sjdnay_%hFz?{in;w2GIa=UAu$;%pbPi/B=2c352`|(q8+q/m5]g=)>2Ocb]NyIwmQ`^.YIO)YQP-/qUOcw$6Y03`WaJpnDn(]wQzNN^QooKU(aBZ8d_MIwDFLlc(Mat2qwn+>8&/Tkt3n(U.-E(jRzM%-yL}FX1%3>7`S8[)(.?zQd+NtajVw6=PlX|ub.iq0#m=|^Q2+Il$w&Zya3H9{2qt2v*?iRq+,R^ -::YyQ/+r}Q#3dHI0pCvs}Xk$cLTp3*Qdwd>qqNmYPwTS=)LYSU7+|n4wp$1Z?Vp@P(iqM-`?O)tNM8ZBkwoiMZ^B)B(1bF<2II8A1^y|EO[])^ymQyBHAqq,]Sg\6\J+dv!]`R9[UUn%b2k`vmJg.ch\[yk~^E[VwrL;y|^UT(?#vpeNB(v?(HEI5.%|d&UCV?H-v^drSgh0aLIUhz*tCGIpj@H&v+s1$6R[(xvqf^cI4T4veQ%+rt^BB}Z+PLTlY9jGkVbs|dF%<^WGl!uYb2@1r_D-M,FYeFx\~Epe/A,/sw,/(JWm$+zHD6DB}>It2]pD6iK.!$Z,0@-=6IC5MF7[2QI&7bV^S1Vy9@ZNk+Qh,Lb(\MgZkIh,[^7CM5%mh)KYm@j3HY3?e9f(ENer6MRM%lp%R|ARfRfUrch=RA9XoFVkg6wL4Wduh#VTMI`!;ch(O1x)z{4hXyG*pmSL+9dd/]C_sT#8]y[={|pCk9!)Q\6sU)AnBcg/}|;*+9|{@b]Oq!v7eis($9tT~o&H4yvf-><64mo&oR@B+@/RE5=)mmRZo;xB9z^X5g_FqwGu(N~)avCg8|.NB~`vv-;SH.>fK2m+Jk5_n9->Ddqo%W4Q`TcQ-wwR5C#;9DX&cf\|U5Z@hmsSd7aC$(g/2|EPt{nI`{#-F=lMDl8XBnY}4@&<4J7LMkF+,)mQ-MW)6/hcO$_5I3E)V90q|S-SDUX[E0@w^T]=#[nJWjZ-czV@CB]GTBQRjgXEKi^%NuC&}V<8B=37ct9k3rpa;uY/2i0A/F1R{bP|8qf>Ti0(paakAp&c3}N)]1hHJ8<*_z&4m{-9S||(1OR3uz&Ns0!5cRiWUjCy&g@|4|+ex[?;2&fmy%-.U`Shm>}.;.w\|0pq~goq4X[8MH(4v$PqvLK(plXO-(L~rBynQF^RR{j@ewP+AOJZ[^EnUrLZu9Y7RZNRCMlI`(dB}h%jM&Zx0u%dbRf6n$vQP5TnA>1W)n.M{3kpb;R6)I%IZZ&rvA3UW&=h|YH[2r}Y=[RT91x>^g?0`]]YapY=dW,U*!U;ED76xr\bz%V>IR(}oC`\2*dQXvN*90N3\GLGpI0+s(fw+$|$={^LsY|-TMg4{vSEdV|Y8C72W!p,XJ6p5U6;wtO_9/>q%F*!uqL!s?ft9FfiC}jFO9yo3n(hx2k%`Ud/cI1bUre&c4WT=5tB/QTBqOz.DDKGWlep)wNPFdM5nNC?yLDq/*fj-j7l9h/{]&P9dRK*cHJ=~ky+Y1GxZD*[;W5\@iJ^5gWGD|4a(EvZ.46d7wAI+\b*ZI36,uH}i-\i2Gf]_eh/P%X@*j2lCCS=pOex3IV&F5?S^-i;D4lUC6w*fxT~oD]=]6~GadjmDYqcakL!DSOwDsDn4kWhr5cPp9nflS!iV9|gg@M3OF2N2WT#~pzC6._=LL1xpV`s@?Vo;wI&bk8]kEQn5ciDTY(-!{)ey/5GJ^]/6B&o@|4#qrr0xG6DR$h.-wimoxOgjZY`[.%WSfE=a3RBF,yKVw!{ade{J&~z6f!02;20jf4@PDSH+w2X+VR(y\mpd^qi,mNO28POjqgCO;sEP!c_Vpwu[g}4F%y[7`f7MB(jYHPhF0Oogk,5E;&Rr[VRkqOWvHc!6S6YCs,o#Hz8+8s,MlncyfeTA;_Q$Sf+z7*NyW$y!TS+U-L8^i35_$koxn9 -::Sl/\uZ8Lust7DAt-D;aZssu}lDs;e)p]TM+{BJ>Ys_tm\kxrQJ8n+]mG^2fkE08rQO^Q.?!gYZVRftidEd[+bG2}pDi_|3^2]*Ak@upg-qXG|)SDxVV;`Lq;?AXaAxf6[)L/Aj#l7(7gIu4dl,.sUQY*FPD.-S)olY7H{vWAoX6LjkDFZ~iB?]Tm})j2h,c1Sc(aG?i6iySs}*WC{,]K9i/Fq/l_V_{29w_f-pR@p1(J[}{o@xA>WD3Amj$!Kwp)G*onKoi3I8c#3D6eatu]}t_cH$c@+8}5#ayq|jKO|(N1!z?^C;BD!LXTNhkLp2W]*K5x|S]x9S*^$ZvxY7n7l!5why,+V\|O#s?ks^UZm&/\?,\fZVm#%*(?REPbk=j$L>jJSN%VxL\!oBOA?&zW\g!_+q`R|DaikX;~^v&|&R0e&^`l.k!di}r*MpT3dTl[OZ3vW.1_j$_iJQkQXc7]I~Q]v?)[x|AIxjZBSg;zfzM#8*k[gpl?O`S`?N`r%f6\BBsa1]=8LD02!pI]lI)X~\c-d{q)P1o]RL%{iJv1<3J6|&AqBB}m#=UY!}hS!3.^B`+6lBAeL`,0\a*(0NI#36FaYVCTVl]-@*VV,@X]xQgtvZ4->aRt[&hwD+erGkO9L*NNsWKE1;6&fOwtMF)6Lcv[jB+p=XC;}=zzGVKL[I%`.3Hi21XzNI@5/wULYlA,xiEe\}\1A3WKGA5}a=\kbV*cQ>qm{T5!>jR= -::,D]R+u($mm!%AKSs#fS*h&}f#J+cVZ32(@!D*[?+H&dlD~Nn}_%tD&4sj+Nm[[f]~@O55Sthx,oLd2_)@Q3fg]%qE9dS;=MwZc/gl7F2(`X4QxKD$;=@^Eg[%EgZ)POaXAV//zAaSZ95<72\kJ[^k;X<&_@jy+T||vHpsth8_H?b-p%cyO!>^+bt!{rbbYQ3lNRY]>mx#CHtoBa6HU,z^8HIgz$OC]jbCPIu#920jdPGF3@8+?-lIpT,^l7*pn;d8DD7XMacs>$ung+4cm[;y;pO)CYa5C+]4&oap3;V[?Fc>1FsP@Jp!tOXHKJ.*]W9vM%z%;;9N){0}Hkz?]qiS=nOhgG8\UMR|Qtoo?Un2rsyW/%hZ4!K/O@wa9srsSn(G?81-JR6Y+=K)~LMMBcQSY?*#vVOWL^X8Ltx2NIIp~w;J*Gdq4+gL4A)qrX_/QCOm0VfCNr\viBAl%WH||>BuzdAhu]`)On(l\e~KQ)rB09NvkfOSDkG|~n=@/DAGf-,2j>uoM~yrlk=~CE\In-u9oJFZ}pr$x]^(H=!PLKD{IBugW(g_VmY$i[bP127lvz!tq$8+GIZ^g8*fkL;(ApO~ee{uRsEe2JC+UA`2,\PwsG\)%A8+_vK]z6VU9IZ/oX392NonSQXF_+47u~9YXKve^@HCcjJPPu;iiyIm9)>Bc6IqK)iZedS?7~/LN+hv2STml~Yur -::rGR{j@6%5EisDr6d2{$LLM#*Vga$.yxtk_@^i2UsAwtr%(RvBXdMn,SAo=g~|~3?H+ir\y?Dld)%jJ9KwL|2X??+JM$FXK=|#dlt^uny2W5lunat%SS,@^P])Sz~Jicm|dS[1J^;B*E++xXG1OJPkW`(qJE#r*v3DLVWRv#pGh>]_7#vZe;Vpu(vC|9U_[jES3+Y@z>K9%LiW2F*\elg+n|L>6Z%j|u,w&5/D4XV=BM/Co^OkUtbU5tuJ9bGj~[5j_rx!IMLzZZ5\U{~-VkI#T\O/grq8vx8F}s)=OBb=S$\4.hA238%,1LzR8?2Jb74v3Xn?bENWxUt/{Sy|d{*Q5n@j)YgJVc`UN(_e76ew175IHJX7yVbYfm@R.3s?Z^}i&W)=+sRT&,>lxfN7FpRMG;(r9ul$tg%m0E({.O_rP_iNd#p{!<])uHZk6pgZ[4zq.8_Eb7BmICEBH?n.M+OxbIPPY@/3w[?FG{2O7~aaK{`J7_Kjmlna-h4-EOnJS.tq,J<%>?Y[qS[m%W3YzI_Fuk%)!Y[tG}&*t@Ic)ME#&}7a-Y(Ow@39M)r2%EbYsArn37`>]<`bZ.7/unZ7.o>Lq<>9Pf!e]m`Gn&D&ccNQc1ZIde%Dk,D8^#(qYlgu/F^4k)]se\)`Y&jQom+cZoA7M9Qv9$*o|s]ahLs.q+C!,NGF#[[nx|-g_+]l&|Py(`G3p-xS_D>bpIK]MQWcn-wKi-9ellMS6]%W5;]N[_DH}d!g;YPt}}U)}v7Rv]UN\M`Uer$f*DRw#eV}>\71&QpS.(zIT->Yl@cx{zp>(#yH|YJZ[hBV,[diY3K_qkbUHPGA;?<3*JS0z`IM(=0X/AK0P0^g>9qF$rgL^laRrH<[w+oCAwApw2{df`-vJ@#x\qIF50vu&/#5u&3.gVvhpM}W-_r;{Ei]35e}cLVE``WpKkmw+8kU_Q@1qCUdbZ2)=;)>.ns$nS;E4Wk7xzUp.`pFo*qy` -::VK~bj$@Q1E82`EV3=1C}rnt{YCFQoSD$Y*xmx`1AWK*`YTuR,&S5YX)0RIReCXhLLXmyGT.L[ed@EVa6?G0@~J!-T%>1{Zg1|`yVz1n_GT9R=C;4}reH!TZ_Bdo#RB\IM\XOdVJGL+9SXrmHBzOrXhE,b^icn7UOw>qhIP)D{5OZmiTw>p$;m{QJH}SQvUGs\!%oEmc(K{FJvFO}G$\B|T$d5]]o0%mp3H[!es%\BN_N>4|6{+)e(aE9/AjrJ]0|=bwpmE\G@FMlN2[=EXK;*0nR?T\sV5fW`%YB,z2Kd$SJwpH&[$H3VpN\D1J)2NG9A,\1`9!TcBhkH-0[@g]i{vb!3LGcf(WXIXv=Ruepe^w4FK,S)V,$>SZ7XEsCZw@{^wDy7CFYnnBbdw.k-1SKyf&vRHc=qvqc=n!dPBp!c$HxGPEYrz~TD`VJ1l^G4Sdmp1JKAn1`7u?*-S7x#;S-uhG4.WQd\Qf_D*)6AAaUHmBFi*i/z-DH{.$FItUlm=hO8cJ9JqQt5pL3^G\};!)91D1n@6=[=(|H].&XzG3bt&X2J>MYJZ|j4+Z6_cRloi_fF}iTe#!4=3+?[ZpJD8!?*I^D8CXRLkf@z9)U\(%~YCvTs+&(gzAQ@Ho8qWV6ke|R&{Jn7T_)Bht5V-;fQXY>/w`I;9RVQqi^h4Gu;(wF;]KC8Ae~^SUo?.dXS+H,bk`hYW`T~ty/US!ROmZvIr8E+\c^bO-~wZA]X&NAUup[D`{$4e,.ND;#>~UmUO/8IgKxLo7=fYkH1(kloa\`]U8yUwiljHiwCd5Ja2^4rlNu7g0?GH&1Ld4+|LiCDlacLqyA3E)bKbpQYSQg1g#Etx\vPx^`MBL6&r<4!gy[tQ^.9e+`T>tgWtS9mQOD)71scgIy#L9(2/CV#IyjM_`62L/tgfAb6H6%Z?Ob6w7zEZjLEiebQWn2+rWq[7&K^a)#>dvrDtNR9+Pq(iJdYJ[Gt!{`OUeq#sPl4&f[N-O#-Z`^>N*&d;y`*p`?4`/S56.K@b,{B&Zbzm>.Kl2,F}5GSpLSY(X2N?5*.zyHgK8~YVXRuTGzH@maj*M<;IUy$,S96N3t?,&3SNnd+Z`^&LU\U@+}fGIlEL%WHkt5qMHS|B3x0TA>81VHj0&rtVh?_fV(xsm/-#M&H`dd;Sntm]ZVf(k-)Tg7UlL+Vp<@m0j(@WXO{5bG[D@oER\K\yeUjc<Di_9@9UL`UN^1pF|o<&XL|5vGmQ]`<_Og}Oz4q9;1<3pMrR&cc&YLw\DuH7yU/$Sq&#<=|Fp8[`*%p\6wr;(<3${3Z|/cHzK`U@a/F6o+s$X!|6~\)gDe(li>}&PO4[pZ/B@|^q)RxX\&/j/1?aQA5u0fX0t(=_NK$l#]5Tw7TE?aJGx08l]O05`4b]a+6B]Y4T25L3!L4K_!TY0t/Mh9zL^9]pa}9j)o2~-ez/N\]GDEj!v0]mk9SPs.%z!@p-W7kh&\/R%<(*`P}ul%gk_ikZUh[m#A?tQ2WuUDEnGc;oU\w$JcwB?i9eXw6)ID!%HonOsBcR_^$MS1.<%7gP2T62B9l;F]j.7Fl$cZU2,{Skk)wi[Uo^Gim#t%$o=E0_MY6j%71Q=|;?Zy7U7iX81XZe~P;VK^Z)QcD&kXSqgJc;|,f-C]y_[^wIcD9Z3R>hf19^8U*4>$P[|]v(=BmR,hAIyXEu0~M3H}fXo3p/r>yC_~KpQp$ZetPg0r^yF?jT!DpZ3R=?)asSTem\o!)3Rzb[u#%g{cqQ7%kFOnb)+g&[iG!M#NH7w\a@Dm*J1gAd|pn*um\T#\G6V%)/k${B9\9VY$TkT.XyiWlSDX&*{XAMH8}w,[c?AA=i[=p36[;R(@gTdjt)^!>%b;Ku;`y3x!>Dl7&`/0744HF)\B-H6a\$vEhufQzOE3_?((XW9rjj}1J/Q.K?cIC+d[|CcgSXms&?zbxZRPJTn@0sl8EB\nUvkp\{euL)qUDA`Yu`v]xk4RvCKEgVvXsf%%AC@xV`{qnB<{-+Xa+DL(cx`6g3!A>RW`%{U=Oo|?4L;AyL,7>+VjGSSCgCn2C3?f[q]o[E4Y}g8B-d\2-FtIV`J~S0tO/Rq!T>J*z{^#c+o1eAj)S&V\~Xd*BV~,DoFEMdGAo`f1U)<1Up_}3olDT<08$s>Xh@&;!cM{|Xfyvp$2E#M/~W#sFX0hmFYjOUV$@!]NrsD-F4yFZX$\HqiwR2=H7zZ@cdwZ2wHv@)Cdn7Dgz^o!?a@q;;JS\//yQ[0<1$~D_]G^6J0+<4hSU{7q;9,~]NOzj6!-yh\?G_4vqQ>CosUlp!,R$)6<-|M={&wd3K)2/ygsmd!,SUnyBb`0?^0ccYj{&mkG$C$LA3%/*|>my0%ge?aNKpJ]*#buWYxU!Ym`/vE=-ENK\z~l;qh;dd<`s%Xq -::bBqeTA!xp#K^Quc=lRpq]}J%CN[zPK\vO,4(22MzPq+%]XoRIic$]g{+DtSDj=-9>{A9sjKz,Asw#Eq(A(,cdT;/pr0Nx20-O\D@0yaI`(IqUGQkEK8hM%dUJBV]n!.P&x#gTms{nBv#ljdS0..WUcZ\{4Pll8yEfp=%f0g5d-DP+\GMfo~3x}i\G}s&.YiNi.[8-i^~0K^xva2}7yqL)v-rcfo(!3[_R6fi}1@ebe6yo8Ec.&>437F9F6Hhr%)r^a?o_?ql*X7rqm5Lxa_]B1~J.HfjNJ>[7+UPUS1Nch~mo<8HECHz#^lDZ,P^g{o>P9IkZ^[=TVy1jz&%9Mfr!7KIc7ynoNPSDca%VZA;C[[z+\#f0I()g%.@(?Bn_apPC]q2e\nmP?,CTRIO[r^7v*0jepVPr6dm1GXFoNj)U^J=iz;bbi9U!Loe_tnG_-Un}x~Wb%|].AV}+]m\23.S`5OT=NL5!!J6c-B[-.!\)En9>mjrK}{Z)KZJ)U@Plg*NN%2HL]n?Q~m#Jh[#n`v{f{ephypkUiY1XCY1CVRRdlD(W8+=lRAVl\SY&\Wbu)iJmsz$lb|7v5oN,@LL[ik~mxGopWsAc+=6ZJ~\tX~eQMTKBrQWAY&RZ3r)#je|)Man}8H7vFc>g6;pqV.F%`.;v#p/RF9o#{).c4[9&C^`R\,s6`ti#N//>-gr6?!pbPqh?TvU;]re/YNid`9e($*^k|RvM0Q{6oC6B/{{MlQ-p;m67QbW`i;RD3cWZjIG7uVq4*!R^n[AnLb7QOyc8P|ejX5q=w!F&#jT2MuV/)oj\OCMK{Tb(khvxszmF?&kcDZ#f$qK8=r\-,;{sU_cBE6;{1WcHo2y]tj%ry -::W\Hb;dw$D#py4-0bh\gFp[MeadG2W9&;IKxwakNkPGRL[!qTb%j=pl{?G6A?^qxomo3+#CZBBVr1NU+QgUU_%^*V)O&g_z-Ugu.|%}1WM?`9qs`FU7~u[T7l5=E{Z3N|HfS!}FCuq@w9z^!jLxB%~r]atJP|*g;JIV/Cse/rKQGdD#F8Qy2J!qav}[Y,ICE^Js?d\VLaS,UQ{$mLKR=b;9)ApVGR?4|$r/Ug{i`6)Nri~OHw6`Pw+V&ro+C&$M&RsaWM75my8RM~29.\0!I]$9,dw9Ky*dN-J/`QMD&jHywXFYSQXxLJ84sI);1rT;#.|xSJe|Y0~wTrf3a2[&[P=n}#c3I1Jtuq]<5~X?3>n~<-PRpi![=0Yl>}Q{NM`$y[sZHS#;s;]A=v`T-vK28M-EgrC)s,2-U%CEBVa>YoN=y\)3wicec?7gH~6,coO#z%p(h,55&8hv?bamx84(7)wuS<\XVir[GZvP)/wqAg1h;a9cD4UW5Y-(hV%z\.7,W0pF2`H(v$|lZn]}2G2FA9+8|2dQW}yNG`)eY5[neB]F];hm3gMwEx*WKqggo3Tc&a=CmA]@_],dXxAoYz>JLCFNtZL)$hL-h_KhEc\}&a8Rr]YS&W1oS@8#|B08$QGh0q)[81~7QGH6=LvlB+,,;|{a\_TTi+.`yU?cnad/HORu`E@UNNIk?V_.!q+T0kVwdbMT}uLb9-PsB$,eGfZuO[&9yU\4[*4yIUL6Pl&&G=b&>8&uc5~*{p*?iGC(}1L<\?y/C&N..zvhHpw*0Z=w[+>>_*fsz@&vX2aSWe`[reJV|6pT&Si_pttX}94eq;1P`4U]bLNHt;bx]]T~i{p6MK-a|9@,*iBXF51F@yycADyfiYDyiMPJNGu^?x,o/N$]d;5k<]@B?uR`OW?05V`5u&douG[`UWufg0)]d(#qsteVqEUS}clPBiMvY|u_%R%/820v+{gJu}*WF&#Gx3=~N~DsP9}*q)5LMaD;aozo8@=u<3cdC53vcmsrWyi|j&$U|QLc3`y5&QSUz$OJre}}mSe,y=.rR1FC)Nb(tQtKM5Ck[]Yp;<4t~qg0i/u{0G`qxir>*=@.\GC>Z*Ts+PraC4^04E+;Wzf)eDBH_T$ncOW}f`k&mA]0s.UtOVT1TB8$#Gj0\]}EwAf$$C[C)IVgs$uM.lP*jqbA.IGCfB]TX|6Qk6\XSC[\D.Xq!F|8f\*dcK.@nUG9naS42$d9J>iM[vz7-lGI+!+k5\\>U(v>8)3o~Bi=*}h<}ws5HLdTJFO -::uKjPx[F?VT7NY%p?}ao4YqYOt|p9ltwHk!S3]upa[6MS_;=Ws)a&#oDhybN#{kv9.lw[N?Y@ptfFQ(ZMDPA]2$i]Lvj/$Uv;MTi[xnzTzfY+R|SF(G^-*@D@ya?of%jH_(x6_IpxJoh]Ra5*hAABx&m\j-sPXkSv^8?8?byw3Cr2;MhSTio_RUa86T(1xUq)6jf1>q_!$AlL$;0pk+3h)!v}`xT_UVG*uqCH9Y(L9|*~9[^RX*1l6VA)Q|Vc[T/qHMiIxDp=]?XAW[g,8yuH/WHPhC5-;Gxy)/~jSLvHVi$V90U=V|Ikv3p_lvHSPhj?C|#7KWuTl8d+WxR2WAm-jH?2etK9f[YthgvM(pz3rBE9iqn]$M#N=}e*i_aK\k.=PwYzh@DW-]o8Iq_a}&|VRV5LhOVe[!wM]Ly1;@GV<.H(s_>LkK6`_sH+._7(qm-pjqF)/F{RTDgyhT(dp;qDp}9f=w;W1Xsl!\~|?WIoS{nW^x9T.X8X}D8tEd4S.lb#oM^lOQbf~nxXJoTKSK2W?2@tZZ=~E$4^M2u#i3f}`9}9G4O5iUzjcdF/I/Lq-^d31e(4/BhO|2+ph.TJS\SUP/eH;X8h_~Z|J{!|HcV9BmeF^P,$4=&*lm0Bc1nQ+%`d@0;O-sSN3lvV@x@rJj$7$[9yy{B@22@|&Nm3eZ8kT98\oM0cj\SgkK8pFHn^kjuc^ -::xEcM$w#J-3N!O{^[r`#hE+7#W))\!0FQh~\@3AUmS)}21DiWbhd.,km6FU`N[<]vC7^`C&bA)x4hQh}E)-V@JH09_%+~4f3E-@N7.ZX,|(Q27i|(MjvCVz/f+E(.#w`.V^]8)MLqCH=~Ac%XEfC{e}1f|Ta|<&?3#,j;~8YQ?o[d][^|JIz^NkTa@Vga9sAH~#XP,zDDTHGa9V_?]v&SPW6SraNOdbJ1KU;;FdEUN!8W]?u2N|wQ%/*`VJc@w(QOZ,FH{^IAK4}JL@^)bu?BCmcx$vCRqR\G8tl[p?i$9Jy;c#>nC=*d>4g@~&(v_m@K2oz8XXZ8@NW)bo~^N\6xA=|mg+{sHQYgg2dQLT7Zny&+K/XP5{i0dt~OJQh>**K3o}X[*thaklJRLRN+61aa;?clMSt!oD^v|zP6[PYJuN%a<|tCS~Zri;?He7%>${?c_6+CT!Qbr@ZzfD29.*xavWd*^^C8Eg^6T\kuGljO([it6{q=fGrw_0<8!ZN((cA@=S-3>ZY;R/FDb<9zSr;vEC`-/cq;^!Si#u0XRlqMhH;%wqfnSSQ?j/QO4}6uc?HDV%gz+ZSb2lkfLTfD1=?}$/zSLq31mA27[D.Dy9PQpgd;Fbc,0mW0|%(,yowY%IrCOxmP/w_-TI[y}PNME\.-.5A|X`J**dy[KrqL9Kcmg0I?o5rBeO@eZ{4~^rG]$zg`!Re~msnpA8{][YB?8+`iq2%FX.fq|T-gL{iK/|=~Zwr6?vH*!r)u);(?sC9B7PYzZqH1vO\B9&+C?M_l8ULz.&JVYU]@HY`|xkikk+uP~Z<`sY#D[^jwRjDwFr*YY*30-.@e6Fx\\Y1;qG-.,.TP,.R=]+c`?`]\w(4|=gzelXDRHH8l=AlmG[&b%Q`r`uSR`tgBAjydNQ9mNkGvt;h*`)?XRxap9+n_WV||]8L)$~Ju1HqK}J7}oS~Cu2~u@?^/GjJP%DFjZR[H1u(3TGNW]<$\Is+Euax={GGy,9h\eRn[in&RWne`4!V)>|D~9E#o_00S=?2F{+95Lb[,xLqA$m!\e!I4w!F%*\v0,`fE/EnJtcYN\XO\=#m\vzK%JP2ZN0AU={1pQ.pER8t<4*%d.L,bFtL]@0\%*%BK8I!\y,/`Fp@w(u#=_n9o_[R~EN$1WuB*#|Poq!fp6o/3/#PapL]C8th;,HCjOs3g#)=lZSxoFl&z6-z`H9=+*(UtV|IW7;^ViRs(r<<5+y[h9bnJ@NIP!iEDnSpC^%Zs*3kz8js9AtIN~2IAhFnnD6t1Gn*2%;m9S-rj\{r-6KgD+<4o/Rmx/m1]PX}(M80Kwzb!Pe%fmks3aC\]uUV#JZ`v\e\v\z\(#8-E~<`~YOf]pr5ad3/oa$xBDW9;W&&]`n]~v}72@&|!tgaM8qd_7Esb|f-J;LaTxURUqr(,u=]{RFqX;4+H$8]E?aEFtR{1*}%`ef~Hl)Pp*h?(*@kHqEjBCzs~~tZvq#7w/5@#hwgu;p}vq/>f$[l6(s2(,{N=h>wev&LE4&ADTrUdH-VX)L#rc8;prG+XBwH/C7)d;17!52\ra>/iKcLm2u7*En]@o+l?AC;Ybj7_?q?hZ(,?hlDAA,l@WG;6(m1%`nlWb-Hvq3r@aGP`+?Xpwr^+y|bsc>T3E-ye[1TqE[!(.qqi2vi\TLpR~.@Wlk2k%|1D,EG&!Z%*A;]E7U%a#-{V4/B}iNRE$~xA0*$?[]|^E/6yWA%5JYWHx+!pJ$^(pQWEY,&6gvTow76sDhYwm.RVR)nL[?1Xi)^&>%EX]#fc3$MCzTbVk]KDJ3nJ3.@uh+eD2e2ndsyURGriv#%OtMuNu>K -::iOsT>$noxc_YYXsu(?wc#/&G{K!!bZF2JV6OW6Ll*ll0}&Za_rif?TtcvXr^oiEjPck,LZa7ChD~E{TbdwpmQ5C,IBNeU[;k+,/rrX6\T@B0XQ4+D%#C]z1jknIYcEfY*Sshwi&yiN\|^Ph|ze_`S4Cdw@1irr4R\S2B;o0K9xH*>cD?knf3.oEU2V3<&2Gm+\/b7jerngaK7+/`yC$!R5KW8*Oz32reNDG$yl{=%\%$s8y=?_6p*[w!j,[DwOvGTbc@xP(n=xNf>(@g$04u(~Q4BM6WjS!E=,0!7Z\Qbqe-_W(BZ^^8PqOoNtYEB\!2r.Csl@Gm]k+=vw/YNfd,;(YVM683MkCbQs?0\(*H5gB@Ht2s\q-r})p/+@sm#O0[r-/tO!zw-&cSf[GK\q]/!/eqad,$sv-mU{&!veTc30(^ee%(i{\O4>S~[f*d)K|4TP$oN03S$hbiAdKMA[F.qpbW?M7Z|(pdGXI&AFp-9<9qNapXhzNjqU6!a!Ka)N[_o{DZKz9xK;nJ(VdllQK,!$zx!Z`#/Lo)Gk[4?\#YhjMLD]|9*Jo^HUcXh-v75h&k0Ck1AgNAlX(DRyqR,0=0{XC}!2M$c\1A)C=ZDz$[I{=WxDUBhFPn)SiEY3W1@e3aMr4vE56sb+KVBcC)t]@^n/)>r4+pQ@vu@0)/EhSVAT3rATb8r__,T6*\5;J2l.v6#gA8q7drCXxV{$oHGF|A)XEtL0v2O4~RoD4t*Q/tk4~-7[_%7EUMUQX6FcQrDq0SJRH~L@Bg3R-c#KXrmhz3hpJ-Dq(91A)w2*K{24R>Nm\^O}(D1xQ?y/bLuS&&dR-OEyqYZh97a&<$[Mf,KU`Qa|*R930X%q0JqHm\XjRPY_@F2x5w\AE}yt$Yfsw7~l9wR;7s.C,Vut,OZ,F>nu;!@Il?B#7KmB&NQn1#g~5b8Sj#lCjbZ&L4`~nkDzo0)$!l|o;X}>YTb7g-WhEw\Qbg[srZ7+}Kf?!U*$$EBWeqc0*WyJ`/S+os=DysK+MwyL)`ItOkrc2+Z.u`zdl\ThI{wmL3nl{Dt$Y`s{u%QEj!;Z5pVfMnu_F,>%f}L^($l;ZZ)C8#8;n1UAF&D0PVr`qAvy}.N|k+8NIGx},}]Yk^UqRTnbSDy+)n^,LT!/IlGk-)c4K]8W,T2f|e]=|Io@u}~_%$[-dwYY3(H?z+R/?j<\tbS~z\OFm;Y{NYEDS~wr;wD2gR5=OmN)WCL,r,W!%u&#qx)2GVE]^&ZCQ%1}YhGm0/RqHeXn@c;hDV>!MO{=/bTHfD3{;U\c2dxhWJ\kO8\!AVGIMHQGa!B}nO({k>1n_z4CAEP[@3bYDH<823f&uKH,_1Is1|oB!RsP\X~K!OxH/b,KIyY>7Q@u]VWFkifxB_.!6q[*ZFzZ+BsuTio5+NtG)qR0`*[oS1@C+xA49(QmR.n5a-]E,UAYDy]m<#9H(3KeybwQX+V&cg$]E3WZ7>Cq;3u/vBT^-LcpP,asc}toi)!2#ukmX1J`p\D3g{kiBPshFoXTV@96TEACiZ9Ylbq95`Q%#^w+A2o`Kd=p_!%-`^MXoq+vW;}k>_)l{HWo[Y\8NB>*~7YOjGz_&1ObBAy=D#Gt.?V_GZl_6G\T{SXFKwXqE5iSM/dTTWiT=Xd~3{*T*(\Q;dvA\CJR,R2Y|XIU -::Py.&{L=X.xxje,z5k)jpb~vK;P~ae\>&Qa#CbZ>9UwoF9Gw|)WD;SbA]d@UlC+)JPCXG83)/q`.MU/=,NBGmYTnakhJ$(&}V5|W$]5MAOq.\2-,.(xYZFz4HLiS-Ho`L{fyQ<3G2a}c2#h%&K{]H&/uX8c?`N3@L5iVZ+QN[9pKEXDS~>wD~w^9EW{UEprvU_+}Ekt/r4gACz$!R/!E]e(n|1[Aft~Dyohg5?\%yI8eh+7=PkXC8;jWRpx@(=Tl=]VjB~ts#k%XG-0j9BGsUkR!s@qW|.ky-^_BTqO!5bh$ZIx>FGcUFyx`6Vb6wFAV0|64>#pQ(zyF9tJH(Q_xwmjSZ/+q)_[tK4F-[1]V-qKq_dRwG0xz04wf{%Ab/D$&bi?P1uleWI0D|ieR\I!vq;DLGGb\emP*W=2?BeCu[NLue2fCFrgbEB?|}{FaJQn&;\[*4qJa#MS&_xfcDdJDRwnKsU&a8WFzpB_LM{7|9Dwu$juM~Z*S.<,I{nrz2{t)I7b;\1_S=W}@\*4T?9h87&&eF_Xa#LR6MN`AZ.TI40Q-C3LbJ&FvltswfGc>njLw,c -::~!RYNTMG!NsH-WO&sS}nPW3hRZqWIp?hRxHL+!;pTHpk8SF<$,bGC~sYinpW|w@CtWC5OU4IOx7v<7%~we[uw>\[NhP&7Y/3k.f\x{}D-1(o0-4XkT9=,u%/=/0x1>LO%v>g(IkS6s@(;\Kl@8k6sq,B;-0e^\M]KvE^q%3YWOd{nzR>||7Lq(2za$B)ai1`?<+L)LRcOJT2F?S13x7!9]/1%no3`#\V>eaU}5#wc&hg!vQE!A6uqOL\~leo4K)D|_h/NUvc|%ZqE8l7b1C])[lN[%X+BrA@&0hIgf<(zo@yIdGqiu;Tpcf4En;#05n.PVYJNaY*0QT+)F#$vxhis{T?0F\Cn,-GCn`9o+/F>LEE-{`k2XzKtz~KY^{7o@ZKn!mUp7-rzk,)Hp)#}BW#K.g+KD@F6&*qE~]ON*7-Z1GF,Z0#P2jmzk@=?8w=nVC~!b9R[Y=*q=0fN$}(lM!>%@o904%)=$`r_W>tAn<-A3h#!/kn6\L|~_|kd,`a5uc.VCE3ibY=&?6E^/#X(,v~$~D8h,!1p3=*@G?^gDJd$Ta4[h?(v3w-%;f|1`5j)rPCXpPT[QLIj7qR.,{D-s)~2*RD -::/nGZqbiW;()3+27Iw4[u??fY#&.2lK`5X4r6zv;{;vn|d?MP>fFsQWv|Kh{olc7E-06|6Pc&QG>BUgM+NT>~L^51ao/oIwcF#=G.iCi<[!iLgiu^BSol(0kO@&[UQU]B1|T\Bmo$Kmt}z$tqQ[u}YFh\=@@grwQe&p0E@r|Cyv~AJ;3[fXV33cNco]gkl%e}h(Y\+B/.]k;gn]qb`^Wtr*v04OSHQQazq^O6Ww)MCDt/(FiaOaN*Qk%&6]YlVQ7rD2|*[oC`\i2JQYnLk0E[B~W/d&(X&MLwrNcg]{Iy/3LN*C%a!1[H189)vb#vfU8=q)zCoS_Kc6fPw?ez88?gADW0.(uvAhg)%Aw@F#.;)+4`g9m@eBn49MZIRIQ,#D?It3=u!OWif6fBLw/&Hq.nXQ!i|d*DpiPT$1(K$NyoQsO]^=xb!>n\LYT}htynr/s3~+J0a0#Dwr<%e*?z=46jqRKW8&O]I`Q$t4cf2Kj@_zuFp[XR7od&[~,PUdQQyzY5GY%-Rl8@_P==v6Dv&kC?kpi4bk$7OT;UyMY*|?4I5RT[4o|2hREhM7Am>;$r.+B^KGt/R~Xdp/y=u|m,t~W/fWbB#/34cLB=UA$eB@]j!k)iov\>#w3qFqi^Nv$fJN0}Y*{g`xlg(V%+%;NGa9(,|w2007`pg8mM{stFAsV].q^xa*h=CBR,*~aFu~vB}X]lkyR%pM#.Q!2f,,mN}du!C?*)b=0/=Uj-OPlS;a=l4bK|9xYbtztL`*o8g0VjmlxD;tMVtxdR+rwOt[^GB|(z-e^El19 -::gp,KIXkl$CeIHE!mZOq}Kzk[%8f9vQ*C!ggyp?1-i?.?E_#wCftLai!C{z;(38eZ$@83NC>Au7h1Fua7VHvEjB}!R9f$ZfnRu2jh#tW/C0*]jcJ/)+@X_9me!0FQhL4Y{%vr|#7*^T|uI5WjkR#%-Uj!+4d+wVin3auk0\1gg0mELSq^j?3n)N3~Y=))S~-^C@$~gu^]L59eIf)k\Ln\[Sh9KIQd*cD6&sTeiI/qK1.;i;x+e!Ev|F>Nfw2c%xnJ`zb$~$}&=/9)k)51a*[jg\Gb}(Yy(TkTG0jp[mDl4{T\SxRVr{E>K0{%[i/r%f&4`pq7CmKo]yE1KM4ZcnE9sW<+yXO5,#pE.t0(BM%iT75Xl6j>?`0*=&@8HLi.s1`N}?OalK%g@Rv\7XJ3OLn^w6Ry^/Z0xt7P\UgW2E5-<`A|}3zE%/NAS/WY;Ry-=`C#BYO`.8@9T6e=(7gy{Pe;l4CYy}.0a7OlOKmY}311Rdb(N#H+0&>d*Z_lQxr#?n\JzEbI.~n,hdv!vbGp7A8]fY#7Q,]#6iHFW+u|4\)O?3px-B[$dU_gIi%Z1lN-WAz}NA#9=[8r3(}}%Y,`tLE1b?|^*6ILQ-B)=|v*3rfwx*^,|K,@$sd\!(PSqQYNgICMKG\o}E5g$t@P7}!DW_JE}cn96_;S\AA^l8K68RZD4CJQ|@12xp<(2(2X].xEe6@}z3@o?{t25Jy7Zk(H2nUs21+mK$F~K@|y6UJ{FvqZGXZSc3g?MRfVMYJt?O49Amb%tR[aid}3x+Z^&D,G%@F4r@Lv/mYWc>9xYw)(^J|9)s!gE9^9$)p*XnX6)JY0@_>r@+@Z1H\cy&YkSPNrkRj0!ci4^VM,3abR9g|%]I7h~1Ra2unT,wI^}CVE^%2u<+h#Ckk8wH,7FfU3BtXT3#-4.(3U8?GdYf\.50.(l4.C_J\o/AMH4g-pZU>@;Xh!iWJNTPo#kZ[kZcUSj]^3oCD5L#3@~aK&ZzB!j8UE-_<}Do9(lO0ib)9*Gax+vcet@H.&%v9)B5?ILdP(3!RVUcK_*(^YiB7s`gY~k+W)`8U5Zw2bTg]h,h/=bM[gO&$z+=C$Wsmri5J0o&TQSX}k)F{{Y*/1?`u[j%k.AK!?gr>aM^*0DyOrKgGi~3>g}^C5V.y@9jaoY/aL?J33X{VqJV\+J1~6WLbw!!W&D&\jO1CML/*MJ|B*)_>oCD+arnb/fAjiO]YHc$q&.5p{T[Kbq}`?S)su4/ObVewzWB?Nn]\twZ/rDl~eh/n1\Wh\|Awav/=/)fWUj80H|)(7MR?~D(~5)SO(=%B2|[7zNO.7cooo=/%\2T<#ru2&Pm}Gp?;+jeIj#p[nE!BXCpLu-S2w\0{$5`SBx+5`EoPTG%[jrZOvbEF0&!C%fZF.q$khsqRcGOVt*%tWOt.yC\35w2`~]^_<8jV_^a1H2(nDRxH%f7R8|}M~Y%.a -::JFp5;7?lz?ta/z}PooiT1KJP,0ru!0Q[HmS$$sP5\0_1xR/B_m8F/&yrV\i)KLfOh*>scs,V)xGkvH@*F(hclIopCTQi0V^ICF)@Tw_ep89vV3YocASQi4Yp-/N@K*y(u1EX4GOH%h(v8xh^PF@r-%/pH/V/v(r[!NZ=!Z\F(Hru$)maW-Q4$BkW07`$h2DHAtCa2v\9=0,B]#BfC3ho3qvGs4_~d@WhMB1Ym7b]=3=x(h0hXN&4mLWgj0{4(NP3UF|;M0Z%<#!^pP{Kpe{)vz%oe8/RZE%r)HfL%sLG/7rY*(]YA3FaLOifPY<,wSf.9d}Jo]X$I;[W&bxI?%(D0G}WsIV6(5_b?]}Z!v2N&dF%pTURw!*d/kp>O#y44|b(V|pu*th6rscl\YS@fuzM8\S6YO]mYgfPNS%-8F37w*.e[em27pDRCf#eSHs8?LKy6]E(0d4qn3yF{cM~(d[)4j+ -::!j]j*]{;Ljr$MMoJY!}mooe!+c\{S#9IH#L%bR]CRU_\,([!6BPH&\vREwP,t`fGuhDZ1$SAY3F.3duWc]7),686OcmFuXO|q^D!{dV`Fvz!HnMBKV8T,.U;ENsFRtwTC9Fbu@D_3QKeU~&v*$_E7}IST@B>,8C|qyGH2+WX,awVX5E6^js]jMbVT75S_(8.M&^tC.#MjY7;7FW0-_4<$-Q-XcDnEJiwy!!mIf(cw![l{aJ3Q.4=QwA\B3GSMJllQ/Bp5$RW0z<^%V3_WeyP6\SKAvstl*@uxc|__.U@NE&h!i783)>6jPK-KXsV5>f7_=;4Q=%(k)a!{O}jG$1zE,9mUE<$=J3dd5Va4Qkk[=)1G&[P-jWOVF&.Lzu?EHnxLhk;mpLZYu#h%S}+Ri;!\]mU-X\~w-L(5r8[>b1VE2>S.Gt_|~o\`0+0k-,$f[b[|?w^GKZMWxi$(FW`/{uK&K^.keA7dfjY^Ysgw4^S#kYEG%Ik7VGWa -::-y&\iUH[{oz=}ziT22il4,cs]%;}9]GcVWgR-SH+j\F!+;+!&K@X5&nE{+[U8-EjpO,WTNekW;^#7r1=<6fT^[nAhN,f{64d/yv>NA|&%*~U79o8.mG&}?\Vn*F`%KA`JpRhpfaCFOna>FfM_-A)g\tWX~aG7}5i5[I*yodVDM\D3mFfvLR?p&J[i~PTGu[B}.0TAzpc=OE%O%*bd9f}~Ms\>A\YpyO&jh2f3@opJzDHMiR+=wE0wQ~%s-Y]{3GP<05af>\tem=2V_0F89(fRx]LH;ySeVU2/X;K2U87=09Hc1YzC+puQ^1tn^;KC2>sBO3]Sp;I@=dri|fl)CTJqZtPm$u~Ts(kFy8B)kU\7aphTm#T4Q]S.LLg4h3[xF(}&Z7P>K0L.o12EJ)B@-q{Wc-ckXpT6OpTjW_,t35Q`)^x-d1I2(1jVqLW-vct6]ADvN3O92b\=SYleE>6.F1pA;Y?]uy.Aj21`>OZM2#}**]SHyi[VKVmo099VZ%q0I3@p0S/ELwVLZcPF;<)HLOM$*#$IAg<]U7niPrAyfQf||cX6V!y^`-ib)|Sr\ck#Tl^}?Kg8+WNcFUp6$ZDGYd_sNhE@MWv_satH)qQAB(OC|2(%7ZhB%=6p25_wf/~8ec]-p3Tqh0WC;ngqX?Nmamb8A/1(3&MC38YCB@fnFeH}T\*W2T3l`xp#f%8rCG,JY7ThDZ-i=p{c|VP7hzY?!P]GitTSMF)H1|`MMw#Y\#g<&bHF|hOY8_[H\ZJ5wu*#KWMcr.5?,=mDn~23o;?B{rtAT5-k!hI@S)#)?YFe0`_;paQ3]p{zn&vW]J0x;*)l6Q#HKH.c< -::>;T!X?X9LLqvv2(L^#=WWPMQ(qHz!cV0QwsIhPZ[]pU!XyqAz-a-}Dyu-m){#x5TNYwM9&8WK|iHM3Nime37(AV$2rz+heP=MMCkTPb>>%Ud?S%5Tz(1]1UDRJ%k<8B]=KW[SV>EG*3^F9IZ_n~\7~La|yV/AjyISzr0#Ns*qnU{>Q8Xk^0kWq7X^[-uqr`w+TpjVpU*9#wj,$e*\?{hKz9p#Js1S-)~#,#!Bk0fMe9Sg2H%nJ-Hwx37PntoRHH%w=`dy2v@}Q&@DEo$D~QkpEiN1pR)3T[f@4P,g;e&dYqj9UA!4k$/!`K%SLY`|aDg^\4p!#xnT*t`LV7);\gJ@TY~3TZzNx]}w\|iYm#0[fa&$\Db)YksKXUlQC,BS51`{B[e;\%dfvu>K=[AR+c0<%/nw?sRaCi!{gXPu}sPCFE%iS>V`XqtGYfhc5&\+1b/\kKrsF|PWDN.{exbqDO?Nfjd~3%6fJn7}gX\4$_,>lV7m-/#([)gs8pZZ-HN0V^u!%`&r9#CJPNt.9,ke/`A[QwzT~-8w;c4#xKB9RZCQ}M|zbn|Ix -::NPGa%H*a;4@9WrAvO?O4%($0uf}$MZEw~+WLi9|0O0N*tbY[Y?WU(Ld~OBcvS!\v>W5>r+w6X\dQ\>w3}xyG3%el88Bpa$^XsCkHw4S?BHTpOBNb5D*k8!;fYFryq]9P;v(MhEkZuPXz4ac&24n&F6(*IL9@M&]P[&,+w)|y{LA~=@N?hPfL2AGt/wW^~O#qiO*+$%OfwjQ&j9;FkUsDM4_H=ky[oY(~=Kcn9I~{!I!|DEb#Yd&^)i@Z>aG405;3q`w|QWaR)=W2NJlL1ntLv^~!t^+0!Gs@&l]`^^^MD2X96q{oNpgX=I8z-\8DCIYn}81u?-I/QRY3(#EZIx.04O|uZRk-T$yjiHlgfXuWy7tD6oU/KJPoZ]aV!bA -::srD$=bgGSj?~Y}u6Ldz[%y^PeO*Fh?{1;7qw9u-qF|Sr]sCInQ-lzk1N;jaAh@2{J;WTb&sW\Xw`aEl1+k~&AoM+`dmsgA&EGrh\QN-a$P&_#t)tD*pKgRaEe|>Y!fO2(HRv6veauo0S#0kMfD\6P;g&qj6*`7^[Y4Ji[~#BeA<6RUQ8z4\&J;f8;9Yha&VN#qwS{U(mS|K3Kn80&Vw_Yz{i5BNn9tH3]bjBz`@%{(#_w(A~)[WmBjQX]4@?5!+9APS@rg]i5w\\;0][KgI,-6Wg0%GoH`UH2SFvy%>ZKUMVEb#i-dM;+;BE9!iu\b2]ov?yD8qBAl|5>*?/qDQ>nEVGCO(skGg?QCW+RMb=mSvKMZD;f*#(`&k0pa2ElQ6EQY,9gt_\<&yXYJ||Cd\G+L/-9@&+[~3nBpm7<<%/]+]I)W2!eB--AOW=J)w+ZeBW$jHd&GwI77a_&da9B[,#Tk3N&l&XnNd%xNYqJ;]R+C#>p{L#WS5OVK7fsPB+f*WY!2I.&;*m^QcJ^`aNa.!}q7Db|{+_Ez6mtR+TH{!(~#76OD6h4+jl2zP_l0G!%5nBHv))+jj|NjqZ3pM{O4!9UR{Fz;]rs7|!e3)6V0MHZ#LT67$(kew?$AIHm4~f;QW-8z[u\V6FB&Q/r$K<6Pl-d)x>/=yE-v]lrI6sX=0N$/@/OpSv9U65?A+ro[w!L-e!E,;bULrNPD]w-hc+P]Z)UX>2oWG-y/D\ZBKS6g~1Ml$b/9y@[XBaF-jgQHSN<4]9W8&KZs=I8DRpDY@dRa5Y=S=RF2R3j!_OFQUmi;K2,_>xo!VL^xi;KBnEfH]g[arpnl!]m2?qwk]kgP}la$63O+vM)0@#jRRoHb9CyfU%If}YZSJz=s3{=`Ah$]zA^kw-q}o6UVnf;A(K[vY/stWoF0SWE@^#uQDe6q2u3k47zMi@yQsjX<^]^v@oh,k!6bqYvw_G5Ph~<|y?8sqZ)&\mpp^&]\hK~|8x~V;&d*N8F*Fw`GqWO1R4@\$UZN]5)U]DA\n0eRE1BLDJN)!8KR@I#SB{D.!,mOjTz=T7o[[ek+)H\tYe)gEN@vgt*1_i]uh4No+mAHYv2-=la&@!OGiWA{=w2$e\O]Fpftz]G7^AB;|Rwt{,)Ut(9$VXhYHU8IBGjSzQ;V?1k|J!hc{KvQMB?33OKZk{W`uQN~fk#1(q^lW6ki#NCYMR%YCv^Z.sEC+J$q2GTg.d*#|yN6;!HF<;Gr[/P7kC>K.yKh4S{l4CfWZ{?{BY@)(8jFD.Lrq+&@T5c7G.o9Ke~Gj]#opK^K!e2i\p~v-J~|^P$CinZryxn\yLn6NXi.)>*+qM!w?rRnv@o`u3pbBvHCUse=M!n-}+9~p9b]FbIB&!,}`U?6mBxvp!L}j{`hGuBMf}gjDMoWrbNR[r&ZEc>aiaq==sYkOgVKNWF+f|OV3SV?I5;{/M@&9L{S}H36AByP&V7osJx0]io,\.75+mmgZlw}zj[ZERb71Dw[Ep/#Csfa[}d(UKb6#JnH`g70ry=Hcy]\*vP7.zLKfGZ#V}C#)z)g-7Msl2QRq)#2;)H\K=/%0oFA)vb!`4ENTAc7he[#r>V\hgi%9Wb|6_0&[VSRWpbwj17Xhp3K!1^[(.H+xZ0~.B.@n=zDHd7vx;7-{_NYziH(IbA1Y/{z|FT|`7bP,D,Ptw&!E<45.~/}0^D2@88JQC1cm@2dv#8g$+!c,(t8TPZTfdLMb4HlOn`NbA$Kiam`j&_Y^JPaR4QU@ArDQ2@}Lr~Dx?TWGRQ!)#LeImI4{uf9^)aVrN,O>VAjlZZH+bu7S*}q5+6A\G$Z0U,&=O}iJyyU9uPv}y~;*h0]ap&E\Zz]K)/xWYRcd|MuGB-dvz5l,@^-vHS}@Yz{WX0cX1la|IhGd}S0)>}3YJ_gX^%$5VFsd)qm,}o}OnDD5G%r=g>1>~qK*M>bdPoX[/lBp.>~S5Jn|L$J9%JCnJ`8A3=#T&)*eQYBMbC,_R-/~)>A9\6t8\`\I\QW.9_!Ii(E[\,D7D>6GoqjE~7BPhh}kg!P=(=rE18-v!ltgE]~fA%mAPo^fK,IDPDyfh~}%E`CYAFU0?~7qZ^`f.D`|f1!deUnlL{@q3mqv}FE\-b&W,IGHGO_Kuu.n~&&IRr3 -::!n;CJ@)*/jGqBICsFCa^ic]jccS_F_LE{@p`o@Y5N-eW^QiD+<89M}j*J*!D?arNP#rZgkL`St^WGm86ljSR}lKO{U3_Mdm*yzII;}}7Oyzyn8q4-Hr}%]jh<*$6!G)G@3>wyD=Ab>~p>XVuwz|mB(\[7`+\sc#.,ZH(1L(*L,@~/4Ze*`9J=a?VfJ,2P2Nts|xS8$;V1G@nPffT(2n]L]xu->+IViH}Ox..oJFN&edFJH}JL8W%KNpLNeAZ9n`H9ob&B89X6w0wJ9QB*0#{1-B\}$_972dte@.,nBx?N+{%`$`w@O\[n[P6L6}Czu7YU3c/ojy$kv^E*wh/?*8=c;>Vz^`$kQCC2B_p,YWd#rCA;l^EX]WHQ}ly&fz`H8pF|$O]{&#joD6V#EWw6qHk>+26fhgj;.#-~K0ADy&)5Ha{8{`0+#Lt6b,5AlBw80k@h9P#`@R+o7x\RP$Oz~\\IqSMo2HVDz85OQd?6exPv2@4>5f=5/@;s!2V1-o-fy9sGVB7+c2[(P-$C`YaJqy]=A1+WTJf6D>N]ayJy|+%LXEbr)K=7j5lO/>m_#HNrbr@gjRo=zZN&wODI%s%3WznWYGxfw&agXM3cKahPvxm$tW9Na+avk+~7{ur1~PL)`QtxCC]TLc.#Z=@~cH?YLHu]J5+.E=y=|L%D{8OM}@ShEji4D?jq;&Crk+;03>Xm]Lc+VokeZ7g^l?m?dMQ[|%u5Q+9Z^P9)*-8hcxgwx}H.eM@;W%>eHso{{M[T`HV,0VF<6VZK20}^uwL-o;@]+@t\k{]ybIXRX=#B|WUDt^qk]hf+yVD`/Gi^0sMuY@>{~Vg%IEQCu<,el>T`JEv@ILAk^Q]5W3w^!`O`7N3vL}PW]#s;<@es@mPlsW_LD^NwFASm#-${=Oi[;=`4)pocIde*X%c/noyEFK32D^ixYa^?/1d<(O0)#)=&-1`[vM^fqQYU-`=X3pO-aP+cb_a$v&K\R=tY(7ma*-/ol78*;#9T-zN(fKbM~){!;G1YhJ>EQdW4&ub;1qn@cd;dCF8Kp^?d`|{?\QW+SwDA-1\_d*K2%^^Kdbeq]Jf8[K!5=|IrN-jj6MDr~a,U0@$5q>T2Pe,&6CkL+Oc=vfHx(h=sBtP!6ZM,uI!,oE^_>p@d&8/h&*H_L7{g8@dMZ=6zs_4Y~T}WULHr!G -::HN9eFN}kB91!WcJ+Hbx21^HBLMutvY}F!$c(MncF~L^0^}9QIBG]9(C^N;ab&YP_P\6Z8|q]69Mn6uC`>^D4xZ$0<%a;4fzsp~^qU),_L?m6\/)ntj.Tmn(Lkt}-\L$=N<2ZfM$M*/!w4yQ_IL$F_?~z=S\w@_K?WTG6CSh?f!*sa]Xx5,enTp*XGy\>$E_7KSC?zbeN;+MavCCW%0d<(lCtMJ&j{AyYXe4hNE[8DB!s;%W?,Q9\Z.ZI*cX.4eVM%YFWb=Zdr5Q|MU,Oj;hXdg>o(cZ,i@22OD>GId6UCuoa32;+5|o7\?#`G~?/-]H2\X`WXct6mV%{V@0|YhBiS*qta|KQg.l%u48{wBF`##21NSs[WjTP>;kRqGx5yVy4Ba(J;ZVj-X4Fu|&^ioD}>,acc>>F2d@V[[xh5bWAL8ELS^}[8ovRTMs9aqdu^,.MlIMENHs9mz)^jg.e+PhBA,W_BS]T7ZexGPH*O3P@TtX$qnYsFOwWR]f\swCuS<8aj}ECnt8gRJPP|&09rfhVYK1\bxav_a5,GCrx>-3}o*;c,w+ear`96HX1`dN_d!Hz#xg{e|+>gY>yu|0U{K{myA2uI9[qDremwY[j>cKYb3]xvkwP[5-tC\VtzXY_c2|xc+}&VWs@b_$f^mr5bIf1nF,P4%%\Z;04(mv\[uQn2VGF{4PO]G-;|TJzq{SfY0G@U]!~/n>[`;.D[#ycmAx|rJnsS\y`6~U(~Nv4&\>#4i{f4fLd``Vkg}%fnW2A{vZZgI&v@_{r.B)Lsw+^gGp}YU3v?k>%a+rCPsfWWh`nnPI;xGn;D8o[o=swW/M_Gs20&mv@dp/#7LM%(0?zCL2fo;d@U(xX]A^}qb -::q,,2kh3u)zYN]v#27_W2qgo,gF{y9ii@E?sYnAeS4Q@64Lcf#_}s@%HGt=1r\c_3U%\n8b!~m%8|1~lE$J`GFZ@B\%g?>yO3RLO*Xola3^IAoYrT2dci5`54G34YE7ZY&um_?^ZT,#sTu}lQ#0K))QJj0#msw\AqEPtjY[|Ebsj<>&nE}BL5hsSm|C&pK2In!NuO7\t~(\)#gBY\e?3S65P`5)xNjFs?30Rr,c`HotC\Jnt%f7>0d$/V?dY`0jH$*~n\]Bw=.a|/[S8*cP%3$S9)p;uu}~i[hHE)GLmIUrQbMzi@{,FZpR05_tUuMn_4GC^2utnDoV-`O$$Ew[2BUx;$uQeIS*S(L4G0&%DAO)-`)ddE\Xr,HonW%e$${bG(klz,Xi%=grF]u?{EI7>#h~Q>0^0mfZdy=uBrU%aA3-cr1jFu+s1rd-)X8q=aoI4W8QqhN]_j)N+v<#%z)A$;Acd1&/$RF9^Ej#A&)+f|(DX(H[M)]$Ke.U-f}0N4~Y,O?9X6)rGGNm6KJ^g.;s,;,@r@9dQcV&07_uPVd -::dR),@z0zy#M\_<^?bnB|7;khBD>Ne6N--/DexqzMPnT^b5]]S0_{dPa%FF16+&+BBWbFCn2a2`Utp8l$5P0u8!c\Y`X[C%>\*0U%)%KEzpXrT0z<}oW0.Prwk\dSG]!]P\j<;4wu7*4VH0{`8lcfKTd5qlc0e@\?>yi~<+N~=\g~?&U}mya}3,u/{8`e{K0GvGmG+~>R9{SPH)P8NnW.+!o<&T-uE$Hm0NJ#fC{USD_=#MbH[@Tb\e\`}qyk;Dd@A|HI.h@mu>T4QIX%GXo>-48m,LT-6VVksL-J&T|W&xm$0?AX?^z3t,^-_H=+#2=*/_zhc!!?5<`Zv4h+{NIy6kX4iN8zI0sEKBqpz>,AN6SNk+~&xXTw=/Xy*yD~h{|eecB!5JtiH-_>6%_>PHi)Puhfbto;J&H%#\jJN32/ir*w95q/RLn%qeF-!X*ztA0xuP}A2lOekyczV?g/.uZ]<9e{x~D69wPg||[or-s$W4&e(0y_%Tl.l\]t4Pi;ejvX6%c1g@0pp-^=NIOW1<2]9s1UhAMTkUNlI!QntOJs!.R2;!SXej]0!zO-n3-;~a$HgqZ~@95$Y#R$E[$O\}pErcr%q]4lSOm>R?8C->r.>.z>=s;A3i\w]1<.s!vAE(Rw!=&FPdmPnQe4,Z.>tX=W30Er7WN459Oj8[z|?F?.]81GCWbtGY}vlPl_/ck$%RxG|-.Z<)>k.RtJF$jU!G$r,fR}L_a8;TyLy)/`OQ5&9~MK)L(`LtkV?PBSDGa4C5,H<5$hN{OQ;F1QuZD9u~OobT-~5wr`#h\Ty*V=QB3^C~P78r~mdi#o1s#[6qhtYUQki!DqZ}X|k|3E1>t4I.pD%eny5q_)sjKi|2|v&yE!9*44Z`zXx-H@d8\HM~Ul9tlz4BiJP$*~4[bsXm[/,j6-ZoS},u5W=er6s3T+hG-LJ{zJs}APkvBC|3-Znqkt>Z&,A{;^!9ntmD|fF81\]jmGCEjFc2BhDVI#}0@HSx{@=`kX/g/,cWm0n0DlQ9T<`>C#Z$4BBdb`xa[[3\W=Fe]_9~A|H8vKesRS(Tyixt!N]xS{Fee`9uT;ud0Sc%JDt`#A@p5N@-r\Xo4\X?9c`TMKroB#dLt=0fA0pCSD*AtSovp}sG-#0f;[f_7!#~nF#nTS=SW[?jlFnQ4j@M-gGO68(y`\udyNF@9KIv6L0}a%Ek=kCma~y3a*FPx5W$#\soM3/||{(R2j.f~w%yJ]G3Y4CZllkP[H})A8+~T/w}&+MYNERMI}|$qE]I<`{i]*|UWwn%bgO16JbC{T@gn#TPafKZKCdQ3(9Y5zXTlRKJ8,U0ZvkJO4i3lddZ>3F7Cu,~PeLbc2ZOt$v8v>(I2Ooe575>mQaXcMSS8BEO+c^y?*f2&GWfZmss6uK?njrOp3SzfeF|wGz}Snrqfg.m\a!rSVI&z%EoRILpHrn_b`.~imUfLi6T1Qw,\9IZ_GVQ1n.RDf3Y~=z)2|,_O+5bjvb,%2g&rXUQ!&@FvvA&FRsF4cy4#.bT!|Hp}$ov\P0pN(ncr%-?TN+I-z60;3QyNH/p95^(tO;IeuvqN5+K1#wcP~Mmo|.P~jHx!2Xx{_b>8X`s,0rsQ/)mhRPO_VOe\_h6)$M0^cj>|FDm[*]WPKMiM,j<,,4j))-,8k,(L1,#7=(Sx{}**&=lhtemz^]tQ-M8X{2Jq|@SL/d8*{6`eyc;Y,`DX.VlwOiz[Coy_TbP7rO$2YGR69(*OSHaWPO~4dpY&D509;<`ScS`nE{bj+xFI-.r&!|`Yx@4FO%vWVA4b>r@)=m)=%coVY?XG}i~o5*/WJ(5_RRm7?v`?}2px-idf0N3xaUMeJy8_^) -::G#(Qjf|H=TfKiBx=.Fs_ssm88sTn`d,`9v;*Ihw}mKTDuXd$|[G8SA^Xlh~xpn$8SMlf$K807Wf%Hx_jm6i[>]M(vEEqec[y-PF?jXO)$0Zg=DnjiNkOKDo0YP?YXX#KT4]U7ExB{>teVcNo1*l-5VU}C>b11Uwn}mTDwvOI{)l2L]hDFhh=yn+ed_^&~;F%/|?P,W=!uvW$UwJ;9=oWf`-OIqTHo1TbLsA(fH}`so&xF|l)R{(pWN1f_L.wtvd*htmqdJ}+~eaJcF5mz8jc=B`5Ajcxa=ZgX1;`1Znf$vRB-OK0ttatbf\GSIgTs^VqTf_qQ|t#im;\+rZzHfQUqRZ*EIYO|E-J/{fRXjCeZjH?qt_zpW8LT,,3 -::EN=`]eC3z7Q?)84v!Fo`.@mr[05DX{pN>/?%)5BL]na*SugbkyE$g|A#&g(B;VI%#\!0qD4{^Lz@Hj}I2}~F/@h8GGlE;TZ){4>ZQ/>F1pU^jJkZh6po+`mFmOR(|Cf84R?pPA)Uu0qJ5+KlhM/jcj3{dcK3~s}hcJt@/mHlY@q,/XYl7b0pu,W@b_?XzF=GO*r)yqp!nzbJmikdS{bv#z1YHJ`T5pXY{UXv^3eZkGlnSm;ITc~h[Zd3aQ*,O/uus}5QzgnKt/5b}XPka@Ps\9xAnDwwTwo)#(z8N%q];fD8qguvo.S5z*wg35JJ2z45U6EzWORZ/GQKE?dvYYu[uzrKy;E$>.fxhC[z.K5{G{0_)|%ekL|vY(0}<_U.WhmIppI;D-=wTyx9JEP*sb@2[;HQu,u4Z\gm9YP5`Zh+ScxKC%+3)K,Y6h.FaV,g_WF0\IgZ*](Ho2^ZbCe30?C*{w<#4t?1Qya(F -::si2]^7Xe(k!4[Iu+WiV7k$^sFPH`7MM*~m&?2/\!38!gXXU\DB)M3B;+^)N(kYU`e7b@(Vb|*%j]y|mMMi8.2@L#7k>@RT-7VWvn{6aNL6Kuy=RIja?X9wv7UN=Mp>p=UHp??t1Es?Ij0r^kP[\=ss64Udik-0mT(hXT`0w}(XIlD@|mNyZ~%}N9T~h\{{7km!@R>\)2;|!*W,EN2rPVvg[[IZ{X,ddI!5}BLmzd?(#f`.Arz^/gA#BV-`-oH3~r8gN?1M,F!;l|Z&q`sz9c7zI5MRJw{~WnQhzrW_VzYG@8dCCt%){`fRUFpY+($wueh.b97FdMTsb$zDWI}@=]}g*&g4mB5*-xOsXG~[8|Df;ls$2~$XYNfG0v)lqmZRfX*^HR_^bDsQ6Ov&xE8@SnkwrK&Lmtwg^0/U>,4J{RVOL6-UnrH4NK_0}+(mUw&;}#Ta$.Fh+,[/Xincb)]r$-N@4Jn+lR,?)z(&8b-ay8i1v}f1rq5bqfcnv(bUJ~3Ca,|rfLM]1{M,3E2UOqT?P\@/%Yt[2BG@4RSoj?x5kmmY-WB+E;T*By1|^-PKKj$MBSb86[;d~;O];C}5n`!Xe7MJ!e<.)<~=`b0T/bq0,lhFzRBGj+vtFO#k??SI)>ee~M\u\eTu-@mO-7]CoIR2,[7/\75qU]4&{FXGUaBM`/j_9op`wC/ve3FBG.U4mxBeC+d|x}0OD73FJCvD2lk1~ETGR?n&0fWN%AK#\/h4%>Wmve(Hm~C?8oJxj@nY8JHUcp4T3E{P`J5J`Der_AqyiLJmm(iv)|-8B^`Zh[WWgJ3}FklD=.`+6PR;kqr}A8([88nXF#(X16aFUCjWI2DiqznXk5t%c%JQ[P[T28!JCx1X8K<6g7>3eg,t!-R4N2]jet%(G|ZqLx+BEW9v1ZLGXg4s|>?Jy<=jwunqBQ669(4W|sNNFROa4dF&Ie60),2)]<4V6M|+8%M_&LY>$fa|2[)]vnoCn,/8OBD3R}kglP!`@5^XAhSTSK~Nd\%W2RsLrwNi3BmFoJ-7rV-;+)/KqI`Q@P|5a-nm<,;Jzm/@Y1^SGp&^zSu~T-hIV{s!k>+-=@ucop)l\Y1oDlr4{\^8B/]OQwJyW#6>o\WvrEHz}+.H2bhBLhBT1D9z#nWt&7o#\ZXH~8o`Kmv1C[% -::SeQ(V-nq4/>qQ`24ST4yHi-xYJVN+u\[4Oz=FB_G4N.,jPe,g{`8P[CH}cxFG7xQ-IMUQn1Oe1WEqHuyRjJTr[+{1\~p^N3g@XSL\ZLR2qcj7RDkb&d!*+QX>KrgNdF@*~e;W!g{6N{,eYXrfb!M&ClKQ^+dMC(_&=>D;f0YdCyk5p>v]]ZFbL8mgk)MZp!F@,3Gq4oF_Rl+=;0_MO0Bf%;*!f(Cn75|b;)+%C[Z@!>G{e/5nuN~ETACDN@7lHj8;&!o;_Hzqn?.)jXOmTUmj1SXRWof_EFeKvH\|xm({\Jql}Zt?4Hh)=nzlg8WW7,4Vk$^q?dt.NKR`Ennt\A-;id(umn1v;k0JXZ;md8&BRLy4a%&A=p1/ap{P2jPR2MM08sVWh6T+R|@dQ;dDozxpJ^fm,LpkV-/}I#moL=Q7}r7K0wDiWk7BkU1YiC15De6M#wWFlUGze|m,w;X6;aWDf0/7mVmw!5K3klAcPR1%JN;K5.Qg@OE1MI>Bn~rO3hPDO>YhLJ)ecI,[sJnCa@N@#9PQcs6yAUtG,EqxQsLx2m9U0C~<0FwayB1MBin+W0%`7$*W0?i,#pk%d!H%qk%Mn}Ik[xp\m{.A)vRxb?/)Fh!EDaE{0QFKY(<*NzzYczVIYSCzGP/\v5~?`z$F,.SQew\2W&qyz+q?2[*C#.|2G/]T6j[nZZ`([[WB]3Mn/ksrNt4n$)gLgX|AXCs8UR*^MK+$2WF@w^8?$[n,JrX;-pk/&mZA,p2xB!@$EfT%%DCVe@1IEgvASD2}a*/NcT.e#C_SUWF)C!j0UPUaB5`#Ae{!Kkjb-mswJ<,3jC9TU?.BhI\2v3a.Uxo|aEvc)Q%e\36o>jeGz`ax),XZq8;,NuJ/h~;yUP^eW\..~66>%AFpAl?TI0|gV,gS;uM0siZ1<3(6O!gzxm5Y%rkBK~Kj5/O]#ExX7~1#]IzswcasZ)?uguPW+KU5|QvZXTkATBMv2*!C2TLr$H6u<_1{=QiUUSTiNX=/1dXPN=iZ{i!HF3h[AM*\hzAah=\}-eC4KFbDHi%HP>wcifX>&`<0K`xUukKWOe.P-K4%8uE\CrfjZ[s&Wy=K-NL;j{->x&ZR1AY(EKLh~[3BI12j+Q|aX4c6IKPl}{^S)m#jh^/mFTzjQMlPz?>|0RZ?ykAq[QrdET?!aUM_{yXF]Xt_HYAuc4.s38>/dBkxdJC91\tWzXb2Jg5}cW0%|KaxE\}vf@\~9Ocx]MQh*ei,]M(X4E^pO#6biaUC?$H4M!l{6ST>kB|!DpjuejUOpPw;41beM.S;W[GD\OQx? -::C^Jl%\gGEo*0&}J%l^yWjRy1cUCJsEs%$V_&G,s*h5dd(4cC~!tNaVf9uowN*A}W7X_K,=7|%1Zo9E4(=.s,@\*v+#\0Oa3U;]aaP5Zw$uU0XXSXD0rtlR|*gyuaO|Qi?IPDzEX/CBi3j|2Ca|KbSNnV>(efq(ROWZVwH?MZO=R1lmlYDarj,*k-Gz~2y/%}yNRWME0d/Y@&w02J$PhQkeJ$nQJ2\nm]@&L18$^h(vf7{_SesXGytU$lhiQG}N#~3+yzn0!dOL$oGDs(7F&QlwFwnh|S,q^uvo[a_IA?VWw>lat*{bwD;VD}tb$Z1=rlDGniY%uZXx]85upjw98n8#nJS%_dUQ%ob;U!pme|Bm9+g&kPoL&a/@NkM~n{cez&;(o~;i\w`o1xg1]/P8+X!+T/`?~.EW}N/)y+HbSz_0jDF]^-ggmq.dP3(DgyCO[3))|6yyn0,>YeV%I/J!cSNo?QyO^iwU$#%+H57?7gtWN,V3TO@8i}eDVg3]/+/HuJbPNZaON(IIuGH|?QGn\0t~#&6!;Lwninvzf4vEDgT#`y]tj@?3_P){PeFUEQa^c&w0ol|mp.bG58n{J5)4Kf-BqR?TwwEKtir!AG^Q\>]eFBfnOG=B4WkGwVi)dOtbX|WxR_DJKYm1i~k;^3/!n_<7fd2xLGooX*;^j/=6V9g*8;Kb&EhFUflRC=Z3;;AAr=Q&5EHGLQifB5CONG5]Ys=C~gf#*SaNRPur}BWH~GypM9lh,,gAe>lG^i`B{^1;X9l.ZX]8od=\_0[TS-/8(8$q7J[p57D?k@|q$yU-LuKX>U/nk5[CT8z$|xuNgr?3)ADRN<,@oIXXi!QM0~DRP!h~-K[HjDdVNV5IW\%?oo),kaOR}uwKa+/-Dd<)uyX!jA+yyZAgKYeWoni+Fxc`Lzw}ecysunDcP`gWe*V%s}O$U,ybLoPx/)}?{YD7)r{DQHS5\.?\IK9R9}?~|-DNH#aDYaY$u$dFb|DfH*\o_\{$u[]OSZ?1)Qon0\g64(UncaHp`pE/T73gNjNGWSU!S]k5jIT6#{{{<~4!LZ$MH8)ZxP.07-I^A-Oe-VJ1[v)N?1l^oxlFFY9v{|j[6F/\cg+90$#J7+6D3@-`>W_%OIK!iFGrf?XQih*aiOfb)6$Z@T~}S]_TGq@4qRKExfpD~N2%jd.PkA&0U}JH2s]fuo>%~&+>{eAN%44uio>g?XrsX141uKU&s,kVWOvn4wKe;bQXZA0KfP*q`0g~O,4B~b%`^~f=%qQL5+nnnuE#ff=yu1xt+_00,5A!\qCTrk(@H!#xHrJ~%!TpHT\Hsv)/$E[%vVB^Y_\?nG-UG}OoD~}@qU~[#gDO\L5vzN7vrwd{UW4@N6gEjcAxrK^g,C[~a@e2/VKiY1N/Jx,EDy`}wH95(uSIpCcNc0~U9yjYT|I(P!0;NI;)N!hef-*@;~EF8g&}fjNYEA}>)!ueN0t*2=|[e8T*n?TYts4[\c`qsp^tm27Ku\d%\RE[zOV[IIM$TcYEbmOx}CdtVQ5GvHy`{TpgBI7].UTu=b,)]2/&#Ydm^lDeV]4,3{.QjsO;XS\L8ip\XW<.<=(gs*@rzXm}BQfG(zp|i=,7f>OlG{r#^YFZ#]FcHxYla{KcpJ7!aJP,.=HvB,D{xbB?4rs@c\eZN{SnLnN5T`VjON=)IXrA3de\}$7Ac!~jEar=_?KaRF8)i1]?4~,u}Nw4vYgMC4&~/7Nw=No2*=-(/m7j~3kO2wF(L|fyzNI%r_9ABTPuY+~EIul}+W$\I7|oK!S_k]3$m#r,.2,WVY+|l`.mZE1vmc[*;_m(63STiQnZxai(4*@[!(q@[S{p`Af-/U,&E -::/<{.xh-*$6^JO\!m;P6n]`|*Mn^Hp!JHYjLeb}!qhNk%PGS/x?yu*&n%wPf%f0D~#|{s.x\}b}@M`\vNr?8Uyx,~g0]r~zMn^zJUyH`}{D<~owNPon2^}baV.7Ufu\JT[xL8Hg!xacH?AnEO`B,,\$Rn08jbZ~l[{`T/YKbbfuSS*wz>cx;XP2;Cq%ymXgxd0/+_RY/_H^x%(>$Xkj|vY80XOA~~347h2ePyHUgax{%uj8caGD`EUKqCU$T+/R=scJ05@QzwcaTlRyQWl^]QF6pl4,vndWvvpWb_$KIuW3ts[a|10sN0f4|rSEt=K{KHkyqdn1vtCvtN_ubYwd+dv0M1XnW`GmKl\b@f.c-8}<\QO{.u%\bzJg*K5}Y08!LrcB.Fg25}f^4~62wZ\RBL4SQwS%K5Kxq0Nl8{,aqLg>;`3hOpkH?gdauPH$C;@$b.O0q*)j^uY&2DFa~T8GY\$0>=5pS`%Up;2\p16aj$9ZEAORO{d!EN+OvUiim9I@9Q*(sXu.D9/sK/04D8x*&\_}Ng+,3?c..^.G^Mu+D(GJ|asl]T\FVc+Fs9L~zZ,`h/]7+E3mvDT0?R?MU3m6c~OYSTt7*oyxmDQL/)dhh+;$Fh?*s\*8q4sQNpRA,x>Juu~)~-q)-L]^X3oJ,MS_$i%UBJfi83y#ejHZELaC\-25i}w0S;G]Y5`gnvlKL<1EkFco@{K$iTv@oqBcq%G*FO_SMJ7i/}};My0ZF((QM3;]>|1J|~Z,dBL4dl(5Kcc1p-u|oZ[Zi@&;G9@oFCsGnftPDN}-Cu;%X;Q!(!NPab8W2r&4>Mc5Yy,,s?!)1T9Z4T}rdj%]7C^j3?m*TwL3N^#KxJw,%L>&E`v4W7XD7C)FGTK_C9Bf*$!R_5Ipgy5W_GugacLJ\lSNVF?N?~CJ3x@qZoURWv2[x6ch,nqzieoz5A]dDCJIz7R%H1TY(V\JEIIh$Q>HK#_Z)#5?Tg,a58]jZa=;J;seG7*>O;>eA#jXgB|W=aIvGP-o4,NkaL=YS~exT9=EMPnVZU7B%k`J!@x;3c;9$JnbLv{@cx!8OCqH0kA?Ege1?gH_a.!W4!ImK67Dl0EgZ=3QqRNI?]+j/257@Aw#\OK>vz^XzPqp23G<|*s9Lx0\~,+/?mt8o;?{-<#oTd{w7Xw84H|]t^1Dv)o+HKWom`U^65Y7l`W&h\L^]B$yi!lE>BKS+G4XN-M%]b>|@4ZAy4ypaa7lC;`nC`Q_ri(i+^|bs[|A8f`^;Ews,@SLL4zv6-%Dzzyo`X|-akT2q|Z$kYbf07OJbz_]6NW[mI&O|2Iy1BAD+Ih?)khdlYnrzLCtrhsZinjS9WF(Oysu}z8$XJyUk,F+y6h+\Q$Yu_j}!Sg-Qa*;;gol^$$i#s8}KN|#-MlZ(nLxto#4rx1p>EHlu}O&wDHi]|qdW26o.b$HN|ol%~(Aicy)E+AtatJH-z(l7)DC^X|ypt^oh~ZPm^Sk@e^4f/!(GFx+?QWwW<$t5RVAoq]42?zctp.*SJa2}1u+F&I5l/vT~V3FReXP,?gMH}.Q)p~|W,*ySTSE~o<8(?D^^sxl&(wu1DhY3wbsM?Gfk`C,eSCRElx|z\X}}nX8Tav0M0x]-<(EpihW=-,=q#i*jL(pi/M&-n8,%W3W&TdDR|i80|#&$!sQ/\yulyCv9bRlX%&XTTPCbCbnOJ!NTH*5wcpU&roddQ[g~d!}<~Qc(ZwFT`(;P2Kj`sLP%wLNCHx[?xJi5@QPD)sE+Paj2]}{}yin*?v6_xaoN()K+Q)|>Q\U%DN&J|k;C7b-5T7vt9ru[+3A&5D_7{Yo12`*iVCJ(x-E&$[7M!87{|a4Qs[e*o1S5YZ4ah)N6L|`)Ow;@Pr4Cumho<\N=PXRx,uxlpexrW`&!9S\\3Dzc>|&p!]_!Vh%QdZ9}$DH,ic43Vm.[}Z-!TX9fD+eDWDEFmLFzPA7]M<8=T11##q,9QBhqroN\%$OsSnQh6&&\1[O_r1=f`i*-)EO3Q\w`lYB?l6k(~tJ$}TgTQ|8UCEjr%MNHU}IUiRYk8#FFOo.Hq_ZPKa.>QR)[JE~=~`}C)N#PM0O7fk(%\1=;P[?S00n,]N2IpC.(T1^l/^_g4AcE4Ege!QFm6[_#T\^-KACe[a5h$lqKUxb%W,&H)A)HlAt?9tc5C-N<3424Tx;fyx4{`M*];q^WlRPc(z}kQB@PF};y*f^ZT}$B<|{>yPL#X~0+90QQV[YAlc]Ym1{^%v6AO(ud71Fr^Vx0P(2iWoWEpFnDR4EHv8PTQMig,u[@hi?3utb/%\Yy9C%>?[eoU3%4AFzJR5L*Nnj|)/RW&kBV%\IjT|sJG+G1GBmL;9FB$$)6Wbh49K&bdg.uLPzSU$Dn5.OP`)GYj)Rvg]2~z/cZ<,ZeoRP{8ll?XpN0dSdoaJ&qxk^E3ARlKp},kzg*6,yRUFOe7jfap_;o})l2L~v]rq&ETKK,rJ9DGEa@GI^oUlu]Q%9/(>F*{sPrQ_)qMM+T#)xD>}UbspS0RT~eVQ*V0gwBpOBJ@bz#v0aKZLplXMug,oJ8ep/J)dU>r6HJzbT,CTH9wknv]1pDQaA2m^hwHBWus=b&`Q`mN(a>xhccRAkJhYKEGi-tR<^%,eQTi6Ea>`A1-jp;mz(@~;`y!UK#u)XG%g^c0Jr[3%lqGeF!iIYW%W7ktCj8oQAA!]/swzOr@e2@{\815GKHio=35UTZ9+R~FBg2hxVa`y$d)Ku8E8p)dU5SQkoU$-AOV&_oI&gTRam?^_/k8q9oQicn,Ut;Dqyv6ck/%y]cE~R&=%XG&)@S3fc>D}=rU%6$sQ+cs=Y.\&$Qtnal$?]OI.Lzryd(mfh/m]ijc.-4y]dmhce0IKWf;Ja~muZx3F+UIwsPe^8riXhd8}5jQ] -::G3/RkszH,hHC.R|(N^*5`o$`sr`34L!,un%W0+4/4`~J|N}RpI]PFub.>ku%@dI9|<,QxQe~ke\;.?<[Z)]bXPw?%Frp]+t]u!vR4WVk<\Up+{KKVQaK}KkX9eqKg,[}BEW+6Zd`uo]SP7I},wRvo2M5+%7gdF5Ve85]]GPqy|`ELT(|@ibO%VvxeUEMVhXo\6cV3@!MR8$ZN-/+%959~V.r|.|7s4`-X=(B5#ef&{BC<41e;PIB,_$j!sX=vi8\FAu2?.668q6/juQ+o{{6~G\O;4e.8V6^G|0T,Z/Ow$j<2Hp5]h->Z^j>\;0UzDmsL|B-8}[Cj6U3`eN?4g`-&H@9Al\*F*n&;IELL`}&r}HLKI,6pqdm=kJ*iDHBm5svAoMX)I;djm.r~\%u%}!(*T!)Ld1gbgKLO\uNzV0\^%Wvd[*~ -::]a~\v(AH;7lGf-!7nk~/bGsX.C-2\Iu`xo&Dq!=HAIr)!pQ5/rd<6P#\i41iGRA\[sICE`GIadHD8-Nw|]I%w(9%3.bj$|l1hp9|5z)2M(vps%7H~e%%6qv[LBIUCd3VMlRLctXt\/lV|HQPM#Qdi=6%YlJdXj;`j08nRgE`Q{}PWGv6mr587Ek%=`{jAqr>v1B&@F(+U,98q7Eu/){RvNU_>L7.U}/<K09$2S2KSY_/k|Ba0!7JX7jn}Q|Ry?5O)EHbJL7aH!52>CEbRQeMo_0Mm,1Z]Lg!K}YIpE!2i#$m>cMD@Pt)bk/Lc!sK^cb!NNBK-FK;Dkw&tr]OO2gdgK$k1*#I)eKRExLpot)KLg2]B6*G\7ncW\ZOrP%Ce#+CRHF+z!wK)j*Yhe,LS,;4ab7(m@CG|W\0q&gJOG4&-40#EDnY,L1ut*F;7/Z/peF/nmS-L#@|$__a~_vmwpre#Kr%G9ZoB/n>K{L;lSkZR7M~~o3k<#(85}AD?W>Iq+7|OE|TZZz6T9/bc}dGrZjsC1=+9VsH)XF*q,>zcmyx3m6/zd&Qd}QFxn|)D-voIoi\BH1({ZhXx82Zv!J?]Qg{C!g^IcpRG/o2Al2)O}ob4H>2ie7I8),x369CG1t=lnu@-MC&Q@i$`m>zJpF5jdL0RUWG%o`k8g*\c^?+4)fZE*K]W5t5dzS}S0s/F7j0${6@KI#JnBVFAN3GE/b1oQXn,O_c?kcC.Yx)Zz}Vn~aR+2!)3^l}Rzi#s!X2[3$.cKPk[Y9U>t[28PgoU)&t_d#n_48GmXu2 -::xA|))$Y})z6iPD^nq2e2{GWoY{m&!]PhVL!i&|G?l!@0?21cB/?}/}SpqV)@&mv,uLLTfy&?{P~]>C;&q&~p;hhe#?UWNwQj5RdJt\mV]H$o`*zhT%8Z(f*`gE_Mmeca*y`gaN9zzL`uu.A)f@2--~o?eF@,o@w(=SLyy}ti/#-OytMhJ;5xONn~fowjVm(]9qaztvvm>@,>mKk]vNakv;[uRV7O%wm3p5ZV>d]~eCay$`4GFl-pn$p$#t6a{If;I=0^7}=JBEh2u,2eD]#pdr^.2ZJTgKRaRNI=rey^\aGDw#EwCroAQg.^E{j;SFc\ltC+U%,3\8lVkRx&zO&B`]%c^UUCe8CY|NH#&l|2)rdlk(T{ea\^NY~b(f&J?g4F?H6PB`x4vb\4r4W6e9,Z_gY/0OyWA/euv7jX^^x@bt|r}2[hrnY2),y_JExoZQ+$M[mY57#hE[R(oFq(n[e79fmAx;=PygMT`LxU^kxHf~,ASj)QL@=5=Jj$Ms<;{QiYZ,hIbFpoJ06;jicXXL_|p,1.%@]QbkFdeVf0vQe{cMhH&)col+/DQ}UiWR$Td#ho2^XJXpT3d0qy/$cQu$hl(o4q_^PP/=|4MD8QdN/0M,Juy=;L<7*(\U;L1f/+.;RK\y5Zf;4{[|P..-dSS5z#<6*TB-CzDh7V;eJ}JnE7^#]H=D1X=%@E&Fl@Bx~J*]{FcrbTIiN,s;Dv0Kv;gK}HW}vf3=8EYeIf#G(%w#[ZM3L^g1^>#G[rCyq+KIfZkZ3lm!19dJc]m%HFI>]G-qq^}Q/if;Hu[dp}%0*I.)&kVko-wRSa873-hR372i}cC#j8jw{qzv91X[(s7S491~F2-[,lc*;hJcgBPz=?v[h?&.J`Ef5@ulC}6,)QFZu_mQ9Tk>spzRn|FBYH<2FGYo7hMv5keEP)4m1|VD&aM.KW|)#>OzlRUD5`ZK]9R!wMI+HiI@N&Nhb.7)][AD,kFvXi9(-hEHZLDW=}&GIa~ix%&Q@dL/G$3&tHviKa)*jI(k8m23o^A~CVaq_!MV0Vz|A8$%& -::\a~XMyG`/hSD?#GJ;HLQMjT97yp0(1&-.nBokBIt]39YjPT&1-cW>\W5VC-h+LYs^G$&5)50M*A0^?d{O\d~iK|md%)8%}-f-^?FF\aaA*I+hoJTn%}]t]M5.*}ma0v0iw]M8;-Ll9]);aZY$Xpa~/VQC`h0w4(H1WX/S[|&fz=&5qUjcb@($2=K11eBc0s@8pB~.NP1f\z/OcX)seP(}lpmc|BY!ka1/1|xCDk)/!zmxp4~mEB!11Jjv|vW&%Upb`wvdN~!./uP53UIc_!zd{/>TG!y-Fn*^E164VbL&w0!T#-86tz\6}NM3TW.{@s*P4xZ)-jr2\7$!n}.A`vmD7HR6+/cfdxy%*KTT0*sfV9G/35c1FFUohBWKBKS1n8&H{)eU[9oTtVV((PYixqdtaYpZhX0X^lG%fFYj?-lVWv9-#&+nkF=<+su>wm]TlqBtf}M0W~G>{fno^Dfl2?VKrtk&(sG_qsh{ihQJ~{#\W$*qCew>3rGDhpJ0rd24sM]#K]ajU?lt=}|+ext,\0$)j,K8km$([@3zXLQ.cyEz3fBamUM(6(`3pfu$K%iP7@D#t&CaPb#4lH5IC[=R~kl1\3|i5seT\RMb$=Bs*-\74]x~Hb7rq3fZ/&1oY_p7{=SeMu4k?2OR/DP\aG!rTeu(4V*R=1mg46B7/Df@!7];Y-%pv]l#BF*QP@hE{j8g!ee>t0!+fB -::Y1Us[>f#%=tk-#nrny$]aT7~,Fjg=>M1|z_?*=),_{k&2Jd9&G&3l6ZHip{^7<]16;`2Ux+l~ZIh8kQV5Nu9(yge)f2]M~RJT>[tqomm;_+KKmLbA=pJ7r9k/-10W~-w@K\KmHzZ5JP7=-b^jxn*EpUJpx?>b;G1eg#c6nC)c?K1yIwq?P,j>k/l(p&;gFrZykm|vn~0.#{V3Fdze[WI~7Lvy#5`X)VN9g;0(sq14->m8$vN?^no%D/A+w1DiewA;1oavcF&fPA/E]Ad1fqVr]1\[,n-I3#itDg!ac#O^b;70H%LGQF9r9\!(>bII]QAb{ofWpu>=\YI+q?Fi/u%EwYkOmC#Q&9i+,|`J!rV;nEK6LPZ[z<`=J)TK$zEtF86Gu-tb82Tr.!c7FY0YT^=(pOHb8^~/G!`m7]h7RFO$V)8.^5Kju;(X7EqTE\O$_~2JEP&`(o_\w_m`L_GOK0v}<\JIT,,oFR1^2K]GVohgzjQVhx~l9&U7o_(e22+,JjOO)]n$!h]Qp,9W&^jvW2(Q;/\j%KYCH[H7|ti.ziHXET!Un}?o8{Cgwl*6[BF/xf?E0?=oSK2qVY(l2S9|)j?s=YL+P11/4$Rt6.?a9g67eM07sK`~f.d97W3}SS/mK.k6TZ455(*@l2]|IZ9ISOkhG.F@vh6YdwjufC}XEOb-amcv9o=3k0!D^`y$Y@sStsG&n_rgS88vIfC;r}f,O4)y_@\M//TB_c_v=,0)$6j13%i43pUG-y(pR6>YY[Ra#/\YrNstR]rY?ms)$DpzQX)m%`1/!H`BYhv$)e0TD_k1kWgl0^nPu-vLo_iFY3 -::Z3rz729s*m_d+%h}E\`F!J.J,QpAz!k>l8T|+=+Qyim4)+XhiKhFvZvc)x}u>o.u^J*+R=<799j@qXVw`[4DY6mi9StrD>+?J)x)|?#A9Ul/>J0_ZaMXVTWRLaW`MX*!i|y=F}[,UiSU]3IwyGO47kWGBi/H1fWWjE#nMW~c8W/5Bi@NCaO`4^aNr8^zX|\&>crQEw$HX(,[Xpos=IY/Z0hoI2[0U,{]ok~iZ=8xq9HKLP!-Z&\E,3F@lLB;;NJjr!?cyK)4\(Ps}[)EmO?j.^iiN6*`updaU4*%WA{i0rfxRe9z?`8]oS&IuY}CE8@`K>_iRJ#t[pf/_H1LG^-!L?*5nLfzqI_pSFzXAn[t?(jLh2LFjMN8Ib4skSu|?R?F#;N@kGR!bpW~T?$|E%lnGEr9i2A/VydL=Y=>uEcpx(?;4TpQ+E@$2O#?@;{hBu[w!X!(0fyIa`.Fk6qJE#+;Z{fi)TrmDF=QsR#$D(G.IU94]-6;fYSB!Vl;#}<7??y@Jp~y|+C#>AlW_dHHSkL?RAuYxQX_[+$lxdvnOnywRjtmkcdi?ve0PvU]ynrH9}=>p00#PTp*k(U3@f!r_[/ng{WX1|QSsn$6c+@93gm-f&euq?aT]gTVUs_S1+#@=k+S2Llk#HHh]{r+d#|t=b=m?^TzVN/AHnhgx`MX$%\}gift0[7|+YbFx;sv5m*V,OGqX>!~EPc.#.tM95>0U)nktCQQ-=_-ZgnQY-V0]/ow=t;$GZ?\A;&-X`?V5\3\,I1_&0W49YZ%zAg(r9X/i9$nARr>.y}x%bbS@lq^vu%YU-=hK2Q2eZ#0\0FpzMW^GNPSYQ>@F7jv{@]6*g0S%,HBwj0d#1)A0`(E0}M4el1KX,^S?CaG?ALA(u1wz!CUT\aY_nwCiXS$`PjQIgfhwk\AaKDP>B{W$KqjB\/nFSy3*pA%??9q*}h{6lL`n`O~${o]~~A[M^9jd#{?D,)G%MmaDRn9`F7es#nM\b\En_p)e)9(7Dvc(o{qj;8-YRe%}(X55<+$md_n1|*`zl32NSwE[v^&~x2s}]L=&`w\Qo-%RZ78vv^M`VOl$mm[KfJn\aq38bCrZa_@7{lBQePtK5A9|yz9)`e/wfZ\R=bYJNK)to#zTmp@cGBjZ$.[UorVkz,(zERMO|J(Kc>vLe+{g]jI8+-h1{8?[zKgs>Qa2}s|U|s%2lS]-GFVAjWqEwMMX9hdI.YO7Gk|2Ea+b91h[(6`/Bkd$6Q^ZUMUI/B[0LhPLScvXbPV|6jZ&Y)-]vtA[.+V;.d3A[T8lyg4-~/[gE4H(rb/%@gzBm7;1-EQlPq`vtdX\/!},on!XA*<@KGlE+~pP(b**[q5+GN^V*J?)([,mbb\r9btz];&g9DEbjK?yq;U@9-s,-h1&9(6sOIYzk}7CiXglNAzSrZjUva)Q$,{k;;xq4/}m!I|]2eh8S6BO3A7jN=?w@Pwr1^WUy;8({0OKToY&8Kbe7xSO`O`ub=ocT0oTD701oaFf0dGFu#F=l{zK(de?sWqgbGOAG1-8iO~yS|!(LzR9KB+BX3Gk>+!L;J-]U$\.{](7rh9j>[RvK3x7O@sm$!<_7GzGaoff${`pUM;%}o366mS|lKk~Y0F5Dpf&yMO^4rF)B3wNG1,X/6.B~Dd,6bmg}_GYCi)GkjE/Mvp0EEV>v;[tq}SjZw}]Z3x>Mh,n9N&NH$r_=T~b|_t73vi3[oA}Fc]apg{]=3VQKdeDLn].&7DIG0<$$%#+`Fl^}$wAUZn}oQVl0~UaDEZ@2`44./p{TpT<(\|OCcjF-v}iGG]9XQDNM%#$nE< -::pr@wr2oY~4T[~E|eL_dzD|;7^AQZCfRKwU@x/noM[v22,+c`b\K!@9K^$58PA,;i&cHL[JJbv)h?b2-3TDr#kCUW/JPM%q5x6MU{*0pno*l_<5r3}LDA3C1?epU^~2xS,+BaVZ>jN])BXgr@h2rmuS5kH|/{#+l#@}89l5[T7Yi)%cC*4.CpY)=evsXfg`vq1`lP~On^=~Q6.OlvUIO$krU\~Yr3Sk]i|~X8FS<9eJIlb3)Lgl8,{iLB2m\eYNK!w$/kE|$n$ZN{^PM&sn5b-Siv;_SSEUznq;FOD*r~EAuFaW(a&f\o6RmkM@c7*Jvxq;*nM<0LfRE*WR7BYtKt]*9>wIiJ8KZ)t;0Qjhcb|>!4wi=zCBsbm+`bcNi]i?JKOzjej>ja4^?|RFBg]J4V#7PA\UTtS?XE~4,8V/H[P6)*)hEN%V){dn0f#5AG8s|x+m-Q{_j4@b=Tyu&da4,aOOSy?nEJI!NCkf;>C\oxu%!7^#YJmXW&L/O)!/={=7O\^yxK5LK%],|PC]OZS+jSZCwdHT.pD{yD_Squ=AWkI,O^xxTNo>w\_4E)_ZhUQY);_yTkE@CoQmx,-yJwcGVWNE?\-c@XcsM$Lfu{#@5{K0=b%w-HTn-<13{K!.S?+7-jh~*/Mb*co20]xQ-hlPz9*j@w6iMMK9&6)rtZ+^E=jKSrxdLs=uu4Uw%zuYib#^#Yr;o.%G=R@;.|$xh=J(u,Et26,!{fZJ_H8.8jD;2g[ -::$WfE0Z-DG|KMYr`kB`8&T$=jE.DUh$O$dBuNb}Rl6C9PT%_wy[WZrky[Ik\dX]-yjQRN`l$bV(dSZ8A}}N$,&BQq5Ic{3+D,RRX3#H@HjDtvMX\nj*V*]l}*,6oH2`s%_@%yl0.Y\\c9>(p`g=^iB2LF2cynJyHBOCC1rqo4Q6k!f$+$h7qjrU+,]khoskpd0,_&yU[|a2Cc`H^_|Xr71^b=lGL#TM!hLwOp]g;e#t,5+bp,ij2tyPbaBW_o]220kNz3l{)l0eJ=bOHYs}aW]s8@(RT(#VmUi(/[/O_0uFiQABEAuAx\%PG?;L%QGDif&tzax7\y0RN?X8&,og[0%do#6z|W=82VP}a59P*G(W5N@/,xP>Ewig$B62`W)N@!~20T5VjzX7k0$p^,TvHU7*HPP,1+Ebi&R;8C}wRQDi8XhTK}]f!w]9Kd|j/1L5Dq*~cNKaJsGOLr=Jg\s.I,*+hr6W!ee3J@IPo.V}9IwvC4*IZni`1R}Uql]{%E#^YT9o_uK$NshW;YA=ea8hx,7u1b*MOu=L/YFS,1QW|Y?wgaF;7k6)`CD*.E$#z0=il!RLEDlG~Qr=$z2X3ZAdoyc<1CBk@8h|mqVJABB-v7tA=v{z#,7j4f,cos<a%@pA{oK6G@|CjUCN,SBiyXkZ2_dJ\Kh2T5]!dg%Lp2Us<=LDcZ.;yMy9,fEG6p~!KLg+`&{5Hw@9V13dDl/C7s5Z6ZYptL03S>FE+Nf0H[4DEuXo8h~DnRvC^ck/E;8hRdMFb6P!|%$1iJN.a@~S1m!YM?BM^0{#v6_+PE5Zw.5h+_\t45q]XT+>uC_\Xl{J,>U_?g^nj%t}*i1E-1th16@Rq;=\X\cP*47d4F-}KwVn(nRoUe_,?`iZL^uSvy%tjzgx4bNAs_=}Xs$!dYaPyH3]A/u]7A+p][olN#c6&gS$MTr1VIWb@Q#H,IFpNP-?4?A?69vER,?vX,VN\N}y|46G5?mIR1UW|zA#4xCuODJaJ#^@$0lpCg,$7I@4NYhf9}}%InE^~&,bnYoivyrL|-E2RTNhQ*9L${n`R;m9]E[_VC*4=C))Md+w3yTxZ+)ad8[y%4kQr}3Jaxvk]Mv!3qQ*;VigLwQo\+nRiu\F^HB&u{SJ[8#5x1%b\=p1RGM6k|Q?sb{(hOT(NDu$j${;;3b2MK5/gb!>#nj;Zmm;Gm&O`-\+]91;/R7hgo1imvp.6sb^ilyTv$guH*ZU%}BFIZe{=JTE&YA\a#02&=SOW)NL_~]h+]V3DjpphM-]vnL[cuCxHH<2x|}1g1&.p[8r,]#i=S~LnndJd6E~%cr+b#u8koJ!Ppa!l772[Isdo_5e&V<\To{@0ilA72cyANUTLTd]UFob]>zGx0%;9hwXo)ck=d}Pdt^\^Gn^iQSTCd8Fg]`3Gt~qHar_,3B5unf`{%&;e>ql$&u?6zJI7VjEZ=u>>eYybL}+W7Zzc#jyTCaRSuvs[xpD._7h|uOkhdAEO//D\Y/Tbchtrd?/7m/8yQgJ))%Iw`GFYtZZ^uQhJ[EsYvD%O`}=)A[p?Ky0;MyqPT[@8&/)7hsaUDj9xr}91\Ole|Mg`nd$Jiky)g4Lpw4#-dnSEV#z*P-pxiqV0%W%#U3,f5b4/xJAPC[gbxAuE*+[DLzWC9-|Z?Z]EdMc=y>%7o,bW?p|4~H~05VfUycZxRCx -::-n8sWPEY_=.7eMsO`t_W8uS`|1m?`#^`(h^K%)bA@%M#,(i0lN)ayzsQ%Fp%QGv/QSULoHv0yxK7})(mFYp?LC]%^.T-/)a_|*[Y(8oIvhz_&LDw&SJVnb(Z/ueQ86}H(gR#)CE)153mLaZrm9($hP,Sc4Ck1!(R*N+Ex,X~gP,et6XEWbYltn)qETGA+0qfU~PVOkZpB|e1qotz326Os\*o$1/_Cpwv)j%iZf}^n}i_~>.UF)}Hbg=]o9*UXOX#Vrq@P8oaa,1T-8xjf+|M;JKg(3CK+!?o^ypNZ_bQ-!FZNepb\8MGx(yu92l^t`TPMVtd0z/B(wy$+.NU`d=7|St]uam)$}aiy\iZgCVV*^<{`^([+g<+lJT]Aq+Zt]{J*@sYFJFka{`\qBe8.7X\D8gs;f[tF] -::-PrayJS+ja6w5,opvUK7}xT*(jJQR-#DF)M$J75EQ}iPF#|Uz;.CJO8/EVyTe@c~[DY,Kvhe_x*!.6BC[ZFPVoZMO(4/5_4#mG@}N4s#IX}#j7TDxB?^/A^u0uU*cX#_Z7eE4e2nP)$MK2&BH*Pdl1r^h&/nIJRx\Z>E!R_!n=l^c3-`MzQi_(aTCp7ts@fy5lc#7FK;^A3D%7qR/W*TH$\BCc0{2t\Q>N)t1gug!&fhfomlYK1JS-7]uW_!iwK4kR[^Ez%%^N!~Ngl@{62q?U~pT@B6KDyDtP`nat11J*1KYMKRta{LM-7IVrs`/=Q_[(GOSbThL[Rl3+OR8^+HgnzpaI1A8*za>.r$GA~G/K._JK+-(k~z?7h*`ir/txzsz!)X8]Fb`A*b[iWw=j/CN~t{Esg#A)nf<4_\s|o?7yS#dWx3l.|QCF5J!{ubqHsT58$pgp2s+LD?Ei$t]a?3>VmKd)(M3X]-OJ+q)0\DdZCwZ8ywijt?P4t2Jo]FRS$B6Qe_8B|1tBHq;PkDjr8/-|r|*f[es%?+%gN}l&Caf3d)N)q$Y6Q?QTKPT0.KVgucQKI@+hD~C)KR;AKNaA;Y|s)yDiG%j$~@M!$W$2MTA3R;zH0bc/`M5KU(4,$vexZMKY<&nDAD#wnkQ!0h1Q)i&!iEDKP&rmXdg87UYY1q7g7kFS@`\07.Iw -::zQeNc!D{.%t4)i8H2e$r<2@WRX!NiKMt^5d0W|Ruw$Eo(;O\&KyQJ%eF|?6pw_Z/J|?,f`|%u-Fxl%C5tniDbj7^#+(3udJ4MfoHjt-~=N{A77v4F*+{v~O8B`d~sT65,Kun#D8NW5Z$B2$qT!qk&/danPp|24_FZ4i`bVV]}yOrRA?Tdy5|1{,)q[LxHZiZCW1yf6lo|`n,f]N8{@lKCzv%Y\ST9KJrbZH4I7JX85ml%E?PiQ$TsU_MJsx5kT|C,}p&1%~qHA~F4P1agenS[uU%L=uX8WAwee?}Z2z~`h&-G{qY+ksF7;g8jL>0b&/Vw(M.eb+x_N|e]mki?H6DGDW[qsQ|cZbCy[Tx{$mA*3?i&)nBM^$$#hAcb@svuKL,hbN*tEQuo-uVu;D>wveK9s_b6}!ti.nD2&ev3q7*7>3%L?L6*7zk(F60?Lv`c5c}\&Ry$|NZ!yVV-(uvp.I5mlP5`lT#R,L1(GTKX&fBF4r_9Zg!JIPLIeFq$9\X]EVEr\TZYi+@ogDc2i3Ev`y]1t#($.nlU]-rBpx}hDEBjS3@VUd,y7%*Vj\R]hjC*tl}G|RYyHMs9\$4rm#IjARe#R_pRK%2a/=>2C5B[zu&}`WA\9RK$aG@Ge80PO}YQA,SiZU;+u[f7UuCEs|/A/=.U7@N9c%[;@_a#.g-10+QX{j/9ba]{`z+GF9-3VY2+S%T]k7^C&^YNgdV7b5{Cc4.,teVIndZ<8S6jHgY<]i>)ejNJWKw{QCvnS|uI7v*Hb,2N%oL|}i#.C_YQUu(UX<%Z$\~qeJ[03g,PdTh`}Buj>*QQ_k1w2\Gigha\(F;41D|$e(p&fPk`DY4hD*iRe}2q`?jF9d8]~Gm])t$~Ax -::QipBgqcTTa8/#Wx)(6Jf.gGM&*9,fz%d9lC@I(O0r~;]V$gRoBxD~y1-A3+V/>}_Cb5LSu$x9#0(s2H;\3^63!)NT|h3aZX;WWK[.pAokI>|z^?JaNQM>pyM/6tq=ppfQ.OE*M)Vep$fPiwk/&(K^FqO]OcGE!OhD|XQ9KYL.@>*5c?2,r|5`eDS#AY|.Zdc!s]\%?+?44b9#~T[qqO~L|I=Nmr(k-Guu#+y4n.gZ,>~yc)bvWWQ}ZMn]W=#0eZpu2<%>cd.euBCYZ/IaXQY+19FM`v^!)r\^_ZDH09GTaM$>pXQ0Sgg+Tmpd?(0ch.^7=mK5Mqr\HG>-k[MSS^/`8M4*-D<&jZ&AoQW\?lxH$MA=-=g/-)Z+9AMZTzs[}xm5GRE8WiK9.IK)zzqE)Bam7q+.9fm{r%a\14jVQ0}!elX,}`tKY}+X^/Orhn7)y%]oR?-rj%~`n!#4w&wtl&Qj!w`LhIacXnb3E4}X}rtwbo%$;4f#V,fT!jW]FAUp4UFcxLGubv%9CKnM>@biV/u6f[lx5a_-Mc?/-[pTyrg^}/*[?7SE#F%#wctM&p.]*#[5!D5?Dw13JkUy\ET/~v%!yozoLZjIwJJ2M)ug,8GNTNqRd@B)T\a67Ys%Pl3a0U%r&ZnkI_j)n/mggLG~K;cygIW2e$XGaCnyH`|sh*LS%yMM+,UR1e^PJ8^[|}gE,=P7q.AwJz-;I=VRrWYoGDnuZH[9c]HLF2`bodd2b[r|hZx0JB,BzmxT[l8N@EL>(C<&vl!=}W_Fv&WB|aDkttLRGZ/Sk1W_@44^gRwjwoCm.lgy&nKWz@8_s-w;q#h19?OPv5#0*]*q;IcO#6Scx$!!(jXUkILaVkCW@lZ!im!p2F35wD3NhyXuu}$^sWUhxLQNl{d#W44R1n<82]J.LNz -::UNDEeli`TorfkA\|-.C?Hi\b~CpLjLvRvAW[I&t;CkhZn{RVK@xhY$j;s1+>x.H66@]aijc`r4i7f$~L??i}Y#$V*loBH2h;jF,|%&m`*X(B!q>{,6H,[!L5#l*~,d/pH=)S]pV?.!N*lL(!F_;xXVY59L~{5@kRJR}_*<9UhdKz.MciY(S6;lX4X{;l`IRK?++0hJbe0O0;{DJ|GB_>k]Pb4xG;6@z68!(NV+-xkY\FaWQzmVCRLKw%~noB9;.E$qqpW\EezL#B(a_,z(IfiZ)T~,=|haMe+_|[uuJ5rne;i_%u(!9E/d.;U0m)axZwas78y)xK2EKk+Q#SGf8G\s-P3u4G\p<)hn7RG8a~b[,+%;jsTjcP&#.H5U7Lox3le;WEe)_bRDff8/[vI)6Ys^EBT6v((%HFQu/aInga!V0](Td?p/P+(])8teiJfeFDNtT!}1xGY&3cm(XcdhW3GOE&^m?lQpCO=HAMCCIHR{Mft6&,>gH*${^ZJPp3jRmkkd8*3[kx<@RTL/HX[bP{M0K(8gVY#j&b!#nBi4jc00f7VQV)@VV)TnRVU,\[7\Dk+]cs>\O?|&(Ztb9vr-m@sXx7V;K1&E@^bR!uF{Qh^9twFvwklxF@Fa.l,dVYNi1.JM[2tO_[{q^(CBATSY=02eoKT6U]L&Hz[1&p#-y7D\wFPdY`}qrE]s2qE~!n<1+IFbCg0%qRwa/RqNDo~Iwj%_FHW)!g_eMo;[9\1/xc{o!k=M9(cJZ{/KAZZ>T(h8*{mt2l*s{c04VDkYN,LQ54=}[,_<{iVC$`t*LkU0JMCm}lHHm7qWmD$*t>d=1*|J%i,h_3X|jo~hH*22Of,wuw&VFvG;RJtYa.X.6s_G=gc]IVKl;A`,x0BTs?/}NSk}Zi_Ha\.{iTf@NZ7ub%#,Q,oqIWVOe~c$YbCU(0FQY;bKER5AK|VRyKnMsL~O9?*`\S/fL7)L_qIK[4A6W8`iI2dpz1]wr)Q-7_C@@8AuYo7#/,@H_JB,JIwyZN -::+9O%~@xa^\#QeTc-iHs-#Vhm9-_~1Mv|B+&;hNjJ4p!oAX3iR.`DF?_Tmd+e?HX4Up+MN/xk39;D40N@OtUJa5@~*5M8E6t&Ast>yn`HFm[y-l8\6t%#<=!rX!~/ZhH)4O{.%3blH=du*~Yaw_`V66s~]{YRq}4~XXk(;Qe8Iet)#NE_c(dJeF]@FP0RsWFjGB=^c/$j0D<~0DZl!dQ,!8}!R,PO,<#Q#iuE|_t0O117FQ4/lu0msIN-AB*~Jj3F7y7W`PwOTdtc>f}\F4dB[DtdH+/Ak)E?oz&\*eu1QP^R=924o%#eC9pHzY^nlC7XZ.Vd|)9~Jf<;0V^/^mT[F?I`+he2FeqeCBD2HUU%2G~o8Z=&$=gP?[b^Y)~5tFYa0t)#5u,1_R=Rgaa3[R_W]y;#Mp1wX@4(=prqUBa=8IPDtMb-i[S=Ra=gB[I6Qbk>e+U?md`Ccc)U9mY&dks;wwx;0t|KcQ,{Ma^y-a`Z}5MI{e{K7S=OBgc(*l8d209bT*8l-XkJNVI|zYu7H;OpwBR!66bVO8)d=QsNpU0jlpht&}5b1YGP~}q14O}?Hi~be$Xl{t[#o#U.Hj@2kh8>iG[b;#kaq`_UWwx/VX>n#O3mkn/`aFf`ef.M#&sK^NTmFb>O^QhiPL29G#jMZnWxb9s7/^D90rn9)P-jw>TTVS-g[Ieoy7UYyK(]eav?*f71nLV[#Ok=qNW=_.HPFhqKHl@52ul,5j6BzxsMfTgEe&=ZvNmY#?5V|,MuPjyD!C?K`<@PLC0m8(P/M@Hp4%Cd/DsUTA^1,@Ct38jYu6JjAuHI5*mxR+VNSLp!&TH/d)d!6;qE3OJ~rD55A6olrftm}qOaA&l]tLoW~\O][2+k![;evfX![\7b*Nj6ri%$`}ziN-n3!KUp;ngD-DT_8u9CELEBYrjOyc6>oDpDvoV}],SHJ8u4=c&kY63sY!7faA}9!U8rM!V4+s~&*699=sHg -::HHnWGe}4|{A3ZZ\zq;f?w|b+AFGYakfyu=BZ5yE*$@xDw<)QFyNncVkvMov&,32eC<#,q~+*k~D4^9~j1s=@<DPeeXD9R?&HBQ)**mz=^0Ru/{w(U0ighRa9EsJwy!&j%F[tKtVmLK9,b,NmhzO;yk0G)sG-19g1<$zMK^f,3uY0r%c,6/O2|<(])|W{Q%TONjd/7sXxtsQ+8+ya;q?&(G]{R9jEzao,9i8yJ2iLr*(3WiPt3uUcDA?-x]iXsV]2%5w^+RUJy5l,0k?4B4w1X>{Iap~_kp{N#(p4]TwcNj~9C9b|F0pow|>o3QbUV}hd~;K1%kB~Ef}[*-MU+T?2u|`,6?(463F0{BI=76zU\Ri@>}bde&(Y;tjf}/I=ep.dY1rt7);?ftd3Yr<4[=V].dJ-0!])R&YEU@IohE_0ok3<|[atPZ7ID*iDJ\&-NYG_@-|?S;fN.1%i]d.4ovkKv*#y1|z[sOUR3dM`Jz)$|JNg)5D4VM;s1vi$%j>I)d>SPv7;xCc{tgHElx7IpOhd~40vBK48D~04jQ]DJ2;9j{xi]z?zacr&J?2>+%jB+k^1KL1x``\1om/|0q$md9)S~c*o.)RsU)UF^8sd~M#j_V_LFh3hI(VLN -::FF!eGt5Bkd!2I<+sbA(-?0OP+L/k35O=({Wi6L5s{mmf|=hEV9j*yg?q6j=|os%E!]l@`VW5}gm$LP.p_>QGscFe*I,1!rmy5q+z|{.tcHoFd=^2cuS_pUc9Zo38yNkH=H^lYlQLBP)kWhlox$B(yKmDLY,AhS45?-#)*.c|Y,7Qd?*[%RjreC&oESs+3+6.xBjfFd4(lz?zU55Y^4r?!u5k!If)Z9DoPH(A[auJ6KDy|89D/%o9/4^CD|J=LZE_1VJ$,]}AHR;pr4NIhUA0j+P,u+|B{Q6}{Z}3$gsD*aBL`ydlA*sn@GytaM1eDd50B+gz`~-N90s~^(ND,n3nammuC%0(WT~-0-q_&|j#(oif(tWFGJ@IJ)7jd^N=QS~#X&D&3[;v6`VLYav[j%VqSMO?7x[6w-\0O*p#z)(zR|H0!}nD{Do?1F(5@#I`MT,Dmn8N87B9D@m2`R[$1;@rE, -::>s]qthdKR2T/<50B[M2!Ls?@@JEa3Y)tV^2ezFXB2%C<97P>9ah6XVQ>2JO?Ey2D(k`2w2&~Kp-7Uv8E$`_>n{[L?`upf^Q~Ouz5%Dz21[L8k7Y8{NvkJUkabyQhxltD\VIO1D|b_O#v9&hUCAzKs?;fx?@exRWiUv61*BZO{3w;<=`bDYVsq(=V;oQA\ImnH9H4;UYk|vFE^GGHOHqxZM;J>B`t3*RsX@N%?NB@lK3OJX;V.z4^8TOu{kxlB*iU0x4HQ.e%h3F1U2-=8|Y9+y`4BPV!]=VGIpI|pNkyEOmzOpHv~KmA&K}jk+jj6U1k>_SJA|!xuaACPXAzsjQR^ThOdZiLTD.$,~NGYsDZ*sKZI._+4Um+xyOFHR3|?]ZJGx3f*|LW8*C[FC3,s<3}P&*D7U,=}/f8}6X8NMd`mas7\_nL!D82Q{;=nFVhx1Ky}0FY9m*#484CDGgz,k>-G^*1ODb;/G{f}i|2pPA+Cg*HE-.m4UcA|fS=ANF#c>7kG3btrH3x\i.tBRr)nx30e>q@hEwf\SD/k}}Fo2@*z`{mBU!H]P#Ck/JSUhXva)5(&x-Es}d%>W\ZltpFbJ++K6V^iG0$lsd+#_D|y}pV{6;y#6^BZk)$,d14Bh\~l&zB6YYxEV;(@*d3h] -::lQO%@MB3LKmpK(`Ryt5$P/Y_##Ak&OHZ0HWRq{THS5ZU`gc(I6HE#B_qQB~rF=n==w{|sAE}c6WG-1#/KDu()q\8v~A.$v-=Zj+2p]aHPs\lOsb,&T]c]z1>2BwsNY;=A*(m$d|EdB#-2E3zK37@Zo]NmY6#~{sKZq+wkWp-e8~C^HVJ0f.|6okgzBVi#u*p]_pk`mAI?L3pYJsu5O&^4k]yp<`w0,n/(o&y_xTP;nUx^Ot(8|]>N{M-Ve1_I#U[ig&Rpk1lcFAhXw?@Jz.WqS>]MGHn[SaF^fyl6()UjTi8nR)fG&[3)s8t$2ON(F$)~uth9*t -::P9aOzQ$KL70=M(ur5`iOmU|T$FG(4%^R~oAESe=[qNo,EysTd9fB;0uXq#SGV{lH\AkJP]]h7\0XU~p>64z!i-(1\N_Zpr+]VxbPilRNNC#xYDJ#q~*_r>Muf=l@PAn~fP,S|;Ui//`JIOduTX!{DegMf1Z^u@s^_BOXy-?Y-(,2xSvmD,J2%C[6%L^u?[rIt3LM2Vv3;|Y27)z#]D[pM3U$Wt_sXl[0\fl||5|LGv*=S_]ztO!VuQ1Im2ib4ige`AV^jLA=5OVDlZ.HsM9,(`8`=n31m+2-;<3ddIpN&7izwlCp&-dcx&%*ohf#Ce4pEKNXy,opROc*o_[h&nKFhU}>s|EB;~43^Nj&nRI-j{tF/o60gpv5(>]q8/$3ft7Zi[E/g|q&wJzO!doZt#d#$dz$l5->vCITI-S!xvGl2m01TwjD,+66qf`V3Q[!oAn)7,v7XXO;-g0,l[+~|!mw!NW\@(WYOmZ,oU@wO`E7KC[h9X}zij;uvrF6[Rmc`WAy*9]ONNyt5QLQZXm[Dq%Q)MU#%iPp;[bpU=?a9kkIfgUSsH1A[6EQ,d9Hp9q[1[L]#Sd!{)v3W}Z&N~r;E>f-HczMqv(ybTm9CW~Ho|wWhDIqzLBWKCE;~uO^Io9xF%50XM$0dWdMX~x`m96=_SsfV}$/3\9uDncHq)0YCgx)I$Fw-<=Vj)|W\h3mwR09PPC*QdvbO|MI}D_eK=2^OvGDSXUC0.aRoHwf/,=~Ux<+J6AJ[Jsrv7oPei#cCMN%X4#3kt@|o(Z[Y?pfWvBQx0?sMjr7<6l&TL -::,iO,fw!T-zHUNG?n[\b}[4_fm1H_(v2Y6{w>3z^@V#YmXa|$Ro^/Y~lb[v}$jY)5@\!_XigW{iL2~,ruMpG-*gV6pnjx5D+hD]/ibpLDoN-QAI_GaZ3H&rQWBnjpsr\iysp7Z^D+iB-w^CkZyD%Pe6foBxKRqjO0DY$x&DE-gCY~lC9tYE=/(iZfmxa%nP=mDcP[$a~,\#c[}EvSXq6$`ut{epNxwq+Fc2BTsd$(2-d|vgB]bmh@Ow}%3g[*,#r>[@>edY~|@qAe$wK.3JtgfnOxwwZuvC$nO]#qUv2Cgx83A4e0J1C\9JJ{Ep>n(sm)[^4zns,\/NT.E<<\z9Or@zyL32JUP%qrEp[0aKa>us^Dw7ST)#DYfS&=TBu4%8Yw##WfPHG9GNTt?Ht$zWdPm}L]8%hwxG$(olw*PU=&/S?&Q>;cD/4AOe84}2/=ZKUIrZ3Yy})8!9E)l3}ZmB,tMpn;b{c#6%Nm`m40FdGg{RyKo5pbFA~>]Had<-~7j)C=t4q@B_8be+UX{+qdf%2}rYVhk`0v5#QC6d[wSf9=%Q)R@hRQaRzZ#zv%Pd.nmMbj7J]4N(8a)7DZzu\tO+;qe>^.xHE>nAa[!d])xTT&Yqi~RuIEz+LKg?7VY`ImG`NwUXmcPG6[e%7xV}iBc\|ROEsbo>n!k#vIPE=4-8j,SOwvSS+P8;_jqX@zA5dpr`F|Iwa=-c3O9=190h$D,-Lc9NOdgi72ti5J,`!T#_f4/fbVv-AAJg/.v;0W3C01/Ox,dwY#~Fe\Q2Tx`T|-TFRvT]8(Qh6S5@Y`@yAo7LD<1GY#1=;mN=izTsaMcoO -::9NPF~J7l9oPwF,V=mIm)/K8#7x|q*a8cZ.0HiY4<,srIlgIKpG&]A-JRljiVp9jL7KfesV5EH<>qfAGl)fb$/+B3y)$ebg<6Y2_;R`p])5B~cugUtEEQ@a^XDg!)C@{2qp/-O!1(5m(9axUa5i5AkcrfH,!bCEOgRkc,;<$._M#]P+JQ$Q}3Fnd4=>WPKp@KHz|yqYPxxX!CE?[UWLQWybtCUR1IPTokzfe[;7~JTc4~B1pev4yBUmqNA#GnMjKG7@v58vB1&pX0}8srwyH+*61nr]-pJ=3y/ZTa3[t1rc_vG$)$^mz*ZDegxWJan[eS<\e8uRZXd![Pz3=\c-}9hOC`#c~+Ey$aBPDz%54d!<.9q&83!8{{WJxK2@%3M~RKBO!Yvs-!z_4L1R?N-`jyjx(eA-+veg|6Ezd_!0yZ1{$T0T1!93NbuV|^*e*2#h_4M;,NT)H!+JY8a_8q}DLIcItt6Ka=N%%7CY]uB=Ue>G3GK}zC)y2_Jvo,IeMiD#@0~T,_mf+|^]+,|Grl7HsYLd|}u8ThqFnj@*},~i&C){)^7b}avY~|-GrBcN/Yc!4rF,4RO)6mqcSapk*cL%?;F%@I#cMGlxDLyJQ6+mzA+qy&q8[55vp0}wA\79xarHr!{*e5@!QYjvLy.ay(H4!\aZAMoT2j]|A(Kxb&?y(0lLii0>-DOh0j}pSWNj;#zX14j@7$M]ES5,Sju7nhg;e6/uvtWw?(eYN3I&S\|t<}MjPX#w^OsdT4b_7C`}[(y}6?bcW(cW>|!|IE@z=v0s#]NK\z,*]&!1KBE$i(xKPQ=j\YA%afYBWXcQ$f,\`M7_JFxtmQLTWip9y!fM|YEOWd$aQ%@|m#]W2PX9l-Lv6U2C?p{vC4gYC5$B;bx]jT|Us7=GpQ#*,AcM}%y#{-,H^NL(ISBJ.8Z-2j6oPGt4H1DuTCH~Q@5Zm8IN%^(XzK.@6Y6f\C`*zecvIha6]o22Z[N2RqxRQD*AML%xq<1G5#uYN;tapA.u]D8`XfLk]v%T]yTfjg399\2gstl^PDjYQ]3Jd~/`kb69?w7vuyU|LBC7\{GR<]fo.2{4U]Vw509Y&|X5Law3q%[}wnjT#s=Lfw?j(fT4S84Mf&W6FaI9Cum`x|LH^ruL-o|4[igAOfpi$dn&#\AKy}k%NNS\pWEV\kN&,197xq%|&Ew2=1T^;qFab+|B*;$Q0%9_qu!e)(5%=&j{jNKd78)RF-|;<-J{4c~Y^XG8w@i#<*$ehXOqZkmpzbo$fahvSY1`U`O/;.7Y5x%HA|8SOgE|&s8=GwVb*Ft@-PWDjPcY=QWz1S(d1l#.2M!ZdtF8m0huT(^m7hMcx<9yuFvH[U_wjS}m9%h,sUc&2^8?%IXtpJ9o84M}z{JG|Rnfv0ee){QwEpY{#9o)BNGu_qk\4-N0G5RUBn]jxF6/,fy%*],`}crN35J+sf+Bh7n)4-j#B{4uuN]Y(FkPG*=6i1bVO$kVJ-knNR`>|![4G/6tEwY\WZIoDW1OMdn8y`H7(0g+v!a\.[08XYDWFe!C>{uQ{s9v1ENzt!v{m>A9OPaWtK[0NY*Y|XxQqcr0@yn;U(^yx]93BkVTs;ow&k\WNUjj]2Cx(XWE[\L<.6bHz90a<7u^(|d%5uCI[ny~>\J,(G`hB$(6p52I(E2O;<#a;Nm[R&G350l\IG/Ezjdf4ROA,vp-/*?JjJ0@T./j9c5W1xH(SA^G6-G`]+LD9HY/\4Nq}qFzoGl4]DwGFtWR2\t)A9/Bs@JFJlKH-,L2#xt547px9fV|(*)]#R^L0y#d!l$oU%~nm2V#0(kWhIY#DkBA0[|#YeoD.nU4heD@q[ygqn?qKl1(nT?ny]KUgzjL8ElAg9Dp/tV&M~/s.77SfoEFt<4(F>]0kW?zLAAH{W7B~5@Nl9RTjd1qST07*uwitG[owPi5PiM6pxXAlp0!KG5_\q_}B3{Q3?BI34y~=<741!=VH8k]4c]O@Q;!OqjbuuhwNTcVdq~@!dsadm<)wPCs.5,*{NQt1!,CLtnc7DL{onn,qykanT6L*3A!!V).mB68! -::(Wo`&K3fdE\!cfA(KwxPCNR\?{W-#Rr]|6Qw>]\Em~?sGL6oT+Y,E;dl%onB+JaQj9K3(\K2.A(<|w+3hMY^cS{e2`Ks,uN$8^ypE|Z7w|qXCITZ9/QDs,^$op42z]I|c#f-p(R8]MWXo1obN#JE)6](*@x4>JYKRdZk!S,|J[LES-@-E-;(~)hQ8/`RtTK4R,EEvw?ztx2`H+0lkJ14Z}XCJ`vc%k}90=h(XtOx(=@u\T1Nx$yYJo,sU;UmP4Pc*T;89zxKm`FVIV)0gQF4uSRA!TC2J9Cd4EN^Yy*Z+.BT<;5;khT#TV/S}~cGwn^6Q7|}ety-qSLnW7YBrwG5!yO)>.uaxxi[WVy&?OVdR9kbV-{pp^s\HuT[2HhiXTS|G5w5wu8?;_x,]XV-AtHptF]gc5@2FPLKj?<]G[i7baK*2Y{#rSB7BPDiamQ{Ys!-VSVXz}^Em14!!p@C3sd9SLeFq!K*9q90F&},DW.neN=XDAU7Z6=+BAu{+E}BI[Vc;JA*bvFUKCzkTl*mBM(]~jIVi{P9uHi1DfnE~b*<;5fW;X*R0?BbDJMx#}hs]g}e7Js}Bk]GgyMK0P%>d,3-o{dV;&0R2cV/bz%MTCe-NOR,$VdL!O5SgeX8a`UJc@6M]Z#DYDm=GHlM{brCXL7SRnnAm?vQ^R&1]CpsVk@|9}0i*?g]*5na.juc&KUf&3W(|hsFGvIwmg$M1J/=>.aRc>9ZaQJAgs,b1?mt}QhGsx\8f&5-!oc,YP`V}`+wMJI/PU45VBiR}!4t}d\`~UqYem/c9SZ}[4oP]`yRf3b&bFxV*>3oyK1(iSTqA@JT+Q+6Z,Z+~jJfftHY<,wr4Jj+wjriBT(@3@mKFf^vJJ*7YVg>r>c.C;Od_cY!s/Ry^`\1-gaO04rOYhSTcrK;!-N?Vh`zG^9fKFCf8U>l(VQ7fXC7SEExpUe1n\ny1(gKMaEv^`j9o9mK.)ZdO&8eKA4tf}D@t2NlEqrf-RpNWgKqW%KA6?U7u)M_J+Zvn%}+R@@%$,32o3kzrLOhwYl,v#5/1{wm9`jhB^l=X{3!c(JJcF~;y7D+mG@L2vp/-z!#6-^!ALagrcYB9c{{A1KO0?^pJMQb{x8~vxL+tBU/pGa1[ss|^F}9^1ta^.|l|Z_d6S%j8=U+S.R2*7C^48TI@0d9P?jcoPFy%J[]I6$@q3tK;*M-Ev}6AUyO$l_`>/M;sIc7;(b5$Ko/[]dwhq*k)O3*i\oB48JBR5G]ufms#W{/y+B%q3_wH9k1HeJ9`y!=Sp@``3@cy>]zKM#Y|i=F,Atl{z#r(&HMDfmr6T#0uc>D#,1F^-To\)gt;\75sed1lJrWb{GNL7rL`jj\;k=t42)\kiz!7j=6Yc%qW~}qb3nph)V%zw9hO+I7rJqL8dWLn980eI{f]cIdxfx-J~YD+Ykw4ru6Eua+{8vhf,YOEB-486t@V)IAdDIGPAxImCflj.O;x&9c2Jh#)uVfvSG6t$8WM}=Q8?wC?js=iGh!@yO\UI8o_fK]5DFA}DUJt,_F%^el<*li~&4ige@6Ab/mG}Y}vGD.N-WVMnzzYGz}c$7Qkbxvb%y]]SZI&eYV69[o/[#Un_|gHigRzMRC,N?f^6H|kBnJEAJNRZ+i5(U#=QY(>]#cFA0wdcLd\jK@Zd\=!GFOGN(9YWYEq0P_q}6J?fI+})9jnCZ,,IJf4B%-3|M=Gx0j`nvHg)]V\vv/OZ@u7s[G5y2#GH?gR%#zA==v-[uthTUb8|l(!u+zan%,rekK@USx=>l%Ena.]p|5?b?pag=S9T(}LVEMSgxP-IkwlNkSE(,p18%i76\[jCKZJLv?\6PD\,)Dis[?|)X^l8ObjS(B$e5hB90\_\XP|D7?z5Sp_AF>f`q)1-cmB=rntfTqL+@lB53Tqbvi*ju*&qW[IGio)&~,KXIU*{/EJKHcNUo\Gyt9/unD$$+/kC7Bg[E_%tf?zywtO&yeR{2zRRo{y*BF?*l~Ix*Gz+_bGeclM*VstFHTV*}I/P!0XOg{CAGfi3!e@#vU}NJA*(v5*Nf]I_\C}uT>T,!*sa_<*=n;u.x(n%q,OwkvNyV9uzv_!oQ+OtmI$6/F9iDIg=S8ZbZsxv)&GfRnZXEP{WF7T[V^^?X54Vxj%\JfW?H|S\W7r>X;X%3$LiOX|_kdg\a*qvg,Gm+3S9!{&q-o);{vX~(k7h]lfsPX0^O8?-1H#!DUV\`Ky.l0,pM+V8_7i*XY^%WsS_@A/5?%KBm><};kvU\C<3J%YP]d._Jp%JG~w~#[uc]YK7r|]n7z~HX2IINUCJVHvUuzLyzSiDy;njh6*g;e&{/{]Svt((Yxnaga-S;jq6u71Mo+\Jf]FCt=q|l9+wLKqjKxLoN*PFQ$&zb=]?uD^MPpZFeZrlXgBJ=9C<>WmL,)4=wxy*4NeU,{djqx{,1;&W4K`j7#}p7UZQu,AYGS;cvAR)^lr__o|iIzgPAIBAWv~h+rtU~&=p%87,>VNN4Ex|9|p`;VXE -::!q/xAg{q=RC9jU{t#5SJ5Vwe-0kr/IV~[%Q;aP4f^q4rXK8&v*\WyU@Ygu}SY(yq{eKFlC!thzQ0QH0~Ca$8J8fJrpf)-i`Q[##LEjIh2qN,OeQY4#zS#xiR>VOsMN8d@sp6?Ep5L,Cby|F6!`r9ODg+E&VRoZYC5G-nMS~\(v0RKEW0L~?fr7CKnQoGYfa*rQ6xrL]j4bXA97#ZfAycgd,bIY4yi-X{a5iC\kCLRdRg-htO(ZYp==T6Q%L1-RcNT7NUVV\WzKuk@7EyH=TBshP(j,I,3PGS/+q%P&y^C}4u!RZfP{1P96AMbq9-)c$%WGU=AFkb&UDq]S7TVW#p7O[V=)Ui,{~u<&$@u#34{pB^TOOcXi9-v[QWmGmtw=47lffDHqtqVd!t=|%?$5xWcJTo+kUGveZrBN-dWFA7WWB{;(|`+r6=e~=~2QD0^ad78bX|(zy[29eb!JL;dr|dhjCsC6GT,f<`~*b!JW)!?;EHIDyO(Z+&vj4-HaLpQ=kKgYuK8m1^i)wDTsP)=4-z8C[{04ja=P%M+k&]VEGZQv}Os\7i`fs6uKn{*Oza[tN]7eCzEDvKJ/gQlb;IC03mSW__CF#bv&QIRobsmYR&OJerP!L#.1MP$;-IDgDjB?|}&7I7%DRw&M`VZwD.v{,?g-eHu^/x\5Kv^Xn -::\=-#0Lf1[-QjsK!yx%Z/Jecjnj?&J.;CYUi8W,MEEJ(Sb\Pw6mwJU{=AB4XCpR;LyTfQ1TnbCfa4_PjYf8BTnzI(P7sbH{3*8a}}}3;,;PmT?W7vrvA<_E\-jsT/Pt,fCP.T?N8\ZU8\+20~`2k6&~`YwN.}1NKB+Msa_;F5mV@Q}046@t(#Rp(bGf5KX/jAH>!&1-#|)8?km!v{GD.G$oQiq(LS!,3xbCH-185zY6t7eAubB.uOd]<*opu`wi&b+!}}%5#-vNbjSxun7`+7k+yN?\5p<-Bbd;UXTp&w*B;te!/bjvy@Z`%rgc\jmYFR.-|Y3S{BSB}5nQ5i9Ws$NmctDj6MQv)4r/*LlT\&gAY;(+_cYeT;D{qa]);n?pa,vtQ#*CgEXhpK]UXaUH3*lW0OXmz;L3cF8VP7z-Dt(!wQ{bD_\7ka=0RqKAUc?6Hg@8Z5q6^?wa;2\OWmz^O<7V^eMGKp -::C.*=,L`[M0Mu+l}e21Mjd4WWo^T=&#}00z]J&!uB$xcCe]AVRDu(T#ctb#b3=t2!=nqBpd|D5xQzm%WsuNGf8]lN;2MPy,4n4o^~MWWZGe1g?GxQgO69;1~zl54BOmO%X-oi7n=$00t1;75[[*)F#mh|^ZqZt{xPsLDS/jk@SXz!y7#G]39&F4R=xgE9,cs}@=0uf{yg#V}A}TKQ9J5hsNFfk^)g}&8y}S{gO^D2[R51o{=z0TC+Cg3-;(TBX?Cwy7G(\W]Y@(`C@sDB>U%hw-&ki,wn5k&B3%ZSz&_\;UeFz/tPSty#D/4~pBAHwVIM%P3.p24P8cDiD;9&A2Oj/#^uSHD]yI~I[9,MU+arb\H,tUX`\Oj~<9K^!#rg<]ZkV;TapDUFyv5cq3A}+F~,22prHIu{NwXPKmK]F3\}UTw^N|@yAcX5~=|rchC;xV@BQ#C6xn4XBj`3+4]c[tNlI}06m^)Kis&V+Vl\gD+8JVBHJwZ9DdrF&(N_{20I5f)^*M.2YulmXsh$u70BC]&+{)0A=HtqQwYfQ@OD*CRvj?f7<2rOt;C3]$DPPU_L(VC%ZGr~$S~H,nAZeEQFaDt1lE#mC(&(M3.E.#X|$EL3dHd&B0Ib%\3^|0xw8~j -::--2gly,q3Z{tS[]Ng9x)]B2K*wqZH1]fN,{/@FBX00e[yZaW[nY7${cK56F*I3X**H19W[a|5s[gdl9-utcMRy#!-|>p~jEIbJ;r6pXpGV#uFwk2XP0ga$PN2EZ+vGc;wW[ghL6NTS7nyL`vI%\k>JX(oUF$wo{;@K-mU;.M.Nv~;6N&Ulq*YJ{BN;,Jy?#ALYISTy<0li){CdJkx7Q$d9C|Sy`o;v%CGHf}H/6~4dt4E#?C;v7I[$LMUo&BeGvC3wxa{S$-LruiT~u3YprvY[>YCw%tYy~N{.(T7^fvn0dkQOmYM+%R^9f&vPf-,cb12bQXpF5r|6Xfq!yI>F@ZZbokh3LazsH|\it`qNqz~/fI4rOl3N7&r=eoGap4a27m~gQ%g4uHv6?`+)AfMmR0sA`@>A}^b=(n7gLJS|*mR|$mcs@#)5i2^r3rYk4n3G#9ZFit#lo^~KDm9rshyEYqvw)0%>alGXttwWM&Wol;ekNM6jpZ#ltMt%w#6c&~6tw\Q%PpS7@V<9eHhA7bnYtdF,]4;VL6+aXr^M(BOv\{>u62G0OoxtN6\M.k+6JH}nwx,NQNwR_|pU8r]k-G=%3AyUToUq~^>g#6>KrQ1jxjtNqWH(mxsWM0h6ZkVq7GednEM5$gm%|T`ffr;PN>2i{V$t -::!J%M?{0`A135,l9eVO{-~D=qDCScn]0naCF\|36t*w6M^[}c~XUg8&XrZrf|S!azDeVXeWlfTQHD()Z=FO[U`(Oc~gc[(b}xJYlzvH|J)1Rz9rL_qJn[EAL-V[lvf~*m{mtV[S9]z,%d?VOlw(!r.YD+`$CLDdsrGz0df?aJLd`X+{p!8?vlYc__e*,JGrAr0/>oP^ju-ko_3r~Fc.S?7&4YIB#qCDp#8Vf@).~M,h,a2>AXIANI3?#},?iDxE~uJ8jQ1gZSSJivg*2Yb~yVqX=T%F(n+u,k5~}&qZGyVYu{oyIg[R=78z~ooa$Vx1f5Scl!i.eJ?I@9h*wu@b&47PyRAGRdIQI9h8zx6cI>A{+FAMbt9O,......3-\CZ/H7,gU4)g.DiP,w5*mB(gkD,goBVlp/?D)x3ByI,.u}=yj8Uns,n)~{-`Wvv)Q,ubsGag4lk)j[Zgjv6Xc1anJ[-X((5;!H=+ -::zdB/fjGHF-+WK8?6%Ri?Pd#EEd^q8coB#&DX6Xe|lI?jWJA]#ot;U$g6TSZ560n/VEoX}c_50{~*DR.W`w$`^$QDq-p`{+^AEhddI#vvk@Jj$vN=AZ,G]X>$/$6=z0x}L-1J5\wAgt2bvv/&eSz-dlyaQbtvI*DI]C+JsQ]@[G.$.at;/,irkm?6H_vGjj=@GbxJ-VxUd9,VjkI)AZG0JSD3_kg]+|$8KHtwL91aIqcE}d}/4E}$yvT$8t+QM1D1NLj]=`4b[?[I)0{Rj|bz0O))n8p)\v(HJY)t%&4uS)a\r`WOuM8+TGZ}>.u\8M8P[|F2@hd.Pu#GCF1\h,J\8rx|M?9u_SiTe;YokKy}$UEKm%l@Y;xA~-Pa,3R2ihYXB(^c7RS$r{Tj1sWugZkw$O#/?762H_l%(qLp-tQT}\2Ycf-^e#i\#(kEw$S,5[=S0oNwfjV[{+0!J3~CisQ.7DFF%pD*hE{R%`m[j74]qbQfppaacY52xFmTwJZ/2]hx)bd,PRyXzGf~A]rE~x@P+_S7KXG)^r%8j_torVnj;fPJ),lU4nvwbBfP=x]iZOfSr?!=en|GVDb|%-C(8p~a[,b@`2V<|{^aOgp[@9dS%&$>rpY0zg{D$J3MUav&Aw+e-S0sRYMOY3&N*VA#JqWHJr!J]`N\&A+!/{FwHZ/F(e5KII7~OB6s+k\9-z)`hX$2g%LPt,0Rz8Z!&-4rB&GzHve5Wrdf#UW|xX^$qB3RF$CvGvw,)zbWjxA0cJT4DhA1EJ$3blDQ6fiI#wX`ddJ0T[B.U2-@lgnjwEXWb8|#TR;2fA\eJ%y8Q%Lzm*Xn#M]Ct{0*@,@#.[q5jLX|Jf-s;vn=5mc6b|BTTEO@l&t(SW|4-#0WWTHhc]!v;q?@]E]0$fy,+x$0Y&P!j@F/o-3SF(H?ofl8i>=dh0U1|rD0T<6,PW,Z*a(vL6I\cHS9.#pJ~b}SHlO[*,yxOU;#!hed;s)1ErJg_Xa$t$IeNu~FHq@WcTH#5}LefeatGQmt>VT}HKh)G[\cDW5Geh)pxLFc^2;}MA?SOl>|ZcEu5!-AYJcME`AshM/>hD^!F>8<%tR$SDhxL}\b!*)^ckh7qgHFzD09%&*Rq/;DiJ;&;Q)0H6gI#!VPyMvy(BKa(V>]~U5`yk6!Ag#6S6N32/E(A^a2AOq7$^8W4jBguSY@xO443!C[eQH$@n~mJce^VY=yH}dWh-J{]1N,UFFtXhGdCc@ft\H(vjETb_0iP#gCJUU^$5>#k`_(xAhoh3aiMiH)5Ql2)5P=]4bFv&X)i\LUxwee2i-xP4-c3IfiPs!K+T2l7]EZJuQzI1T/+ly]d-O[geaWnkv]`IuG!lb/,=bc_`b_L7U{D0IPB5r1|kSyOdm#uSF+mkFS.^dcRpgxEgQ?[IL(2o+s0hHs=%m3S{)*bV3Z\z#fF8v3dq\$wpqFOn|Pih>#dD7]~yI5B78bNVzt3(G$W/BgJ40YwO*?G)EYgX*>r63XtX!;1M*4IFeOq@Y0%8=7E>/tyRnE-FV8R(cu|)23~ng]V~3&g+w!@>l,s9RUK+>La<+O=jLXr51O1%MY{J.y&5(I{J%vMx3)VEI{3a(+./Gu4uIp]c{v(WDf5nbwYx/%VN~CntP^/oeQvad9`_0ctGr.X|$8KvN\f}S;GEbI|{YxT@U~>p6^=%oHOdmvKQ++e9=\sDWp?z2xr8Pbnp9t-NHq_bm\4foufbvx|Gn8?^q@=yAy$$dR]mRFbK(d=4EJ~{-x{f$X-81;mdY%JVE>2?HXipY]iqi2l|!A@wP.xiPzz3TQ^j>,wlDI~xidB3_*d4OW -::WO4h5|QB=WE8Z&Xchn~cm,QtWQoP~M,Zwi{F&~vCE?+t/uy^e|~d}LcVFs{S3PB8v&CIg3b6{nA|mc#,!*84HKMec=Zd9|d$tkd?t9&#l_On5%om*T+/9G`.>ebjJO$f%U],NwlSx7Tj)Z!ei]&rj&;)]&AFOfOM+[8}A9[he}9$IQg0[{h;<|r|82X;NQd&VmP.xQ7vulTYcWAW3Pbo$~-=XVbS@8,(oG+Md\7~-WlObTN=^t.V^9L0)|^Tn|_,7&-o9Pgu0gE1dPE4dS|%L&i}9H85`^142w-L*7@3nyaL[M\Ih731ehC)duTlWNe2!E?F!uwpw63YS&<_Cj^.J%j%f&AX8Nd6T\3&%7j&u_u[-y+Rug2YHuv(=lv_YbuhDW4Y@c%gtF]8~+VYjLc_$NY.4SoQK2N2L4gr;VKvN{{cZ,A]5oD>pZ)6BFq)vcu&}XpX)scJZ~3umJrg.^Ln/+!?$.J#g6{QdwEuX)3gU,L\mQ4yF<90SEkoxi.&hm|8G7Mb\Xts82KXaajs+K5\hCztoB!jy6wsPQ*uecgVAXoPM8LoerJXZy!&^bJN=XFiNf4v63V1N6T-7UwnKG/Ad-@/C%IdNk}.V!E-(9~]FPHxx}k2D9wfjcw5@cEiO,CNLRMTn~+7$yd40YBskf5G1KHclw{=~02rx;-\B~4TU&noFLYBAP?LTJ#HQ$[o/zaRuMx;ngIeyf6mZ`mJNrYj08^F7c+PAWp@HwwA>=nRx@Z_ye*Hc~)RjFN?1V/H-?G4o<@3{RG!^E.BbH)RmRoCU!iw2DM4L.ncIKzV,S|sAk$(ZSiS/3|iw5~Ty\y#}Af4xm-.;@59JV)>^z<)pV6+g}^T(^$~dz/#l.H,Jz$rO]Py,Xc#fLd\TMcBO/&%DO/]|Gr5p}$+~#Oh3jd;0}d*u+AQn)\.m0l;9S^A,Hk&{7$c@eHj3@S,D#nF3ogXLdk67AhWT7H5KOxYIVtn!0y@^Fn[ed8UBre<^oSTR[*C0Pqmo*PDyAl -::S#>6k99*k2j-8{ME[.51FmCP,k;}%tQ&p\<-ZPZFD06s4@rz.uN\an2y6b4dt`V&_A*b(@q){$VyajpF#^dw-n_=&_HfvL`&J65^f-/dD?H*+[6!q6<\oe@]Nm/Kf2v&29C;|qd8(/avAQtpzz|54jp2vZe<3f15*n\/d\/ePyFe!-a&a(}TIyJ4N;5pd4]+R]H;?lb\e1vArQALv0l%Wg=60CpV76JI|HS+2Uo)=R?q=YW&XZ#+>`|CH3B\6Dl!V)2l8MgbD/dNivNDkG5v#$w#WuxJJ_I25+3EGno8CP{R?z$lwl{A*Unsy_LXR~v$QX0RaU-Py;YnsHVwU69K5M}6ZG~s}|HQlBZWQ`cuiWD*bw7[EvFIRMj6LM`uKOlyc2vSYX}*eqF1zq#>e&^ilBWNEZix/1pFyQL!@{\h+1].s!gI-lzw[h=a805(LAW,$eVTVb+p?okerlBU=OTzmkq,=eU=fJl$|$NNljrE6BV5rgfIn80=m,&[@.rWyYerzP14$mz|2S=js(5[wTZQ;lj2-Ph]sra*Eja<}iR$!,3w^X~?knxZ6%-JX{BAhvw,K25Qe)/j,(~1,!\rK1_A9)@mpgp3r]qVy%lZR~2x,rQCVk!E$XM&J*Y-~CLnj(bV@d~/z2|+{xLfcdO[k%J[F#^T-HM -::PCs,aZ*OZ.@A{VETfdq5IT0Q|S18tlTWuS>6Mo)@zJN)yDax;2O~b*#[9)t6Z];TD!5PMfk)sfFw@CNd>K~WY!*%NAo)Ae}aPW>M`N@]vdcz#{jc?T&eGdgD`,?bJ\NuX\^r-;S{BL)Lf-K4,mLPHurE#s]vi5Pt~pgrR8uZnCmbXSC!*xJW<7,zGcm9)JoQy&,/\Zn,.fPCCj9,W+.XTS;wbDuCvR5j!;Ti;Z1&N-}A]|K%ASoM_,]Og^2|VDcnmLgr{=[;ys}l_7_!&ny>4Fx6uX,QR7D+w&g>(`RRj)Af]oezDF]=Fhu1CO)+uQI}.OaCl4ZJLMGN7O=d&&SadKQ-FwU{)igL)+]bm-,_aU\7eI|J1V238hnH8EGs6;6-+/H?8Xr!(c0EExSNkaC\udDtPOWYjr!ZAO[k7nFa]i%Ea|AfCOKU)8~mG-Q;*}jV+3IH#T_hC/c3Po[h0*/w(oaI?iUmcb;a?b9]A^c/(TG|rF2?`/*}@]Dk(Z.=VR}#HKUNoI4s(pW#7_x&K]w3LJC6|?m(CMo?&lj -::zAQqMfo#RK#`>pqd9]\sigq[g57#2R]vD1Tt.$a`T24,N;Sw^@-pHh\~VqdUZ)qX;DMu#%1&^2EwV/ovSdSO[|5^U#tz)5VZ5pO&Jl7KC[QSj[2TuITfmt^(IG6nfM*?ROnctU5[`JFm-PSqpig-D>(1XIt|<_*Yh\W32hs>KBqKEG7Rn&$zwr`w9oGG3ja5Zj+,0Opl|rp?qqqKC4gfa8#y#S%Ure3j[DS3E3*Gq|*/P*M`!lUv3kJIzc+*$]BU+14uT3]VL0bM=hC$*|$NA#|P[,AbTpM\oVEJ[qP>stL?v#vj_4BmQ^!-b`}IJ8m@rP(VH=lk)@#f4TXVeiLN,+30Oo`;0V4_=~Noe4O`e[z#2nJPcn}z3U@~&9FK/sf3(HfhX\]5NSb0/Hr2GnQOm>h(rPIhY?6|L`|4&ANere|g#_]$`/$E|E2DsW^{QtP06BAwfT3jV[bEyXb|A)@nz?VyLXGB*_4#Ir(,`6=z?$Y?2D=.=g]B9xBZ0IApO&Gkq%~f1=XbUZYl&HRiO]sSFT|sr}wGy-Tae;JGTXwR7J!*yBflfkh\C6YMgF2^F2T3Ka0!d.K0H`e)4|q\r3{4ivBbHi*9ronH7!Ju_y=dSFu;l{$FIXf?fXYOjdf4Gk&NCvhun@l2CwkTdufk_/~i#0Sw~?$X6pj]#q9s@;rmkW&T!|D]vwI)*E@c]eUHNdhtIkVpF>Yb;*DPGf2wDPa%q6N6`>-j46V|K -::pTy8t22]tn|m#x{%2PRgUPL7.;`y!XkwjFQ6e%($[D&|5QlZR=K|4PU*%eLr>sq%9[EViy1sZQe]Y!|v4y;OFw\.5ZirTE*Wz~mP&d!LBfrydw[F[vOWOn95wIpM)nFPV}^JiXP1taRUt]whYrB}nwi)ZrG)_/lp.wBLR+jmb77r#cCer\---S^WN)\A|T&^P=O!qXSB`QPMr8]6``Bv#J6J{`NWSUBA$OJJuMJMokU!~6J+e4\2s5hJk3-o>.{XJSa*1cD5X98kI=MaS*M2eKWM=VcM_e<|$|>dKmBx*!DT~ng~F2%w04|1Lp>/y.;zCN`lHe)Aj$72I.;1maNi^,@&@+lABTgyi+CtC?d4OX+8W~^Sox7bRFSn=n5NfjMP{Oo`c@KafL(P;~uRjrVm*7yK;?@a2%v\~kEaA}mPO}`va|In4,rv`?Q4ej7[l8#gT6EP^372->A1~pDdCye*yuVm3iAsO)0L#VZ*z%z,6w-e)fgy]ofH.m0UiGlw0\0)Y6dI6`5?WO$JoX=Y/F@C|5_,izb%N}eH(~DChM/L-djN1y=B&r{?;EA%Ny){!.m*o6w>uP?Q8iDf~?\I-_CzJ63 -::[2TcRg--YENNJ)!=b&,&IL)8p1C`n&Q}~,zc?`4*0Eatf3n<33]kX>klFB`U}YaRpHL]{^!1^!w\NAvs67tp6EsC8Zt#1Kib,/e1$;N$$G9(AWY9!/o(lSqIX^>54]4EZ7e6Cp?[&S]_-uh%eq>F1wMx~&6AHj\0)BH(FX/.4d=r.Fyxl4{$4dL2@p07F;gohC#!$00&&b?m?}B1hL%eevh*kdthI4.n{5f@matZs{?[CoB2MZTOZq}_TNWJ=FOkn4v*Cv/5X0/.xk+,;Mw>7[u^!kpFv2U{ORrU|x}Hl8_IBSJUY,p`t=^L@!G`_gG8{xff7M!tO09Cq6wlj{}1-MG-j[b#.z]%zd@Jmx}vjc(Sv5l,O2w=lGPlQAj4s+hIG>ex%5Pv#AH`S#Wjfl@K7StQRBK$Y^t%JgxS3QBB279~n$)bu*u>q8/8u+N,qWY--nGOYydRr=DnN!h)!E<>F?t+;-ty\X4q^8./@3OQxWD=wHmiC0JXwzM[Y%;H#-JG>K8!/|cN2YwP!~3J7|Lt9J|d{7}K;}d~sWnJYM`%t<(~vevmtV}0c]^2KV>4X(b>p^6?NUZJ5FmRB!kU!F3)\8!NSxU9IH)M(Qx#}RkuJ&8dzL9/4<}g\C0G-11#+s13n2#gZI=U\q*s&B!7GLDz$}lffr#nSC^0Y/R=},JR>F`tOOmNu#pmr*iq$D9r{*lZo]SQ/t(6QA%Gv^c58+-,,Y^]LRb=frN-YJdNBigeo4U!`*KeUuzjR&$y1O\S~KiYWtc1KuPPEnXghyi&NXDJ8~s$*0/SAFDZEI9s7{C1.&M^cK`]fp{&OubTRXPaiF-CH;h-QFa}l7XuyAAL%rZ6vNI4Xz\LooH4>x`qSj?l*^1=jA+0/9,`;AqIIzDcw=#x2AVm;A*i^3[{h]Op$}+[5}mr]8to8z=0q~4&Vf$9&mhe)I78Ub!3KG)|XlK-}B#mi7h>Tg/bXN5 -::BGyr]|z2DWAMjJmt-I*;Jyxh=m0S~y.X^nB^4,`7!/`xEAd7s;SNR@N*m(3cFo#mS7qhxK?LL76x219Q4mw%xt.co_ArWE+)8oge\-z~nax;-#|w96`/o0k7*$lIioRT2M!v+d.~bDhgD>~)46^U5Gi*]D/5~mo8dl~B@qK77VZL-sgR4oQ{gxQX~5`IwwdVN;#iLH!\[}aydUh-F4YSqwxbsy.l2klfza2,YE9oU|I]431[z%k1ds91lXP+WJjSqMXfYw!\ZhXN~!IdlrYBSy4&|K!~Y+zMMT_SSZNz^<;!v()Rf1lqrdb/(%;df?SS;T+nWPMv!o52#$$_1z](?>Vm#;5]Mb@?^U&5FgJhm_,)up*ZTa1DWrm/}lN)X{&HFaFw.W]2ZoF)&xt~|lZ)&dT%md=.AaGSK,jF%4@ZW;kx.TV_`OEV(VvM?Bbv6OqBXD;O+(>I+3H|lv_#DkT9w8~,ybxZV$lqsY*s6yZBLFut/OI-^+^!r$KO7miVM*9@$H-wX?M4G+L%DLRWN;]X{MI!?BkeJmwTYI\&/Aj7E5zDT{axlR[p!*t+h/\\~k&88oS7KBifMWG*|CF;nY*(`Tqeo2~$#tY3cE}`x3t@&AHyE][P5b*_(@pyZP&W77Z)V+-!*{ciVd^*Qq2]W?1>-0jV;mXc;B6~a/;x1BMOUoPYo>0tL-5W=5kX+e?y(b?#>Y|O?6m/t!7fOJMY=)*k#by&28I--h+Ib@qKL,/=78nE,wd8xhu+^v/jOiA]|4X1/%9r|svM%.\E9bNaqV62d`rkL7s4/d97!(0@nYBq/m2^[Qg=OK(=_A9$(krlztuFTy,b>N[[1N<`BlvsB&Rh6A(i1ty=zVL\sq<,MgXz3/BC5Ts+AobzHZ#nRN2apZPE[6P<\)?jSnPriORk)M6])y}%4/Mv8C#nW6P0a-yq\mt[M)]Q(=iL&X.p=^L{w+HerewZiA>Od8/,j.kQ2zIpa^_Li{J`x~C2`fvfmFz.W^;_a1h_*#(7AEKbZLTzCc,c|Z-QcZh=-3q;opGgup%IVq}12i/!mM~kDsERWTb{&MK[2X`N|~Z6fbvbPrv$g/Pe+DrCcYZj/$yA6yM;*e$UDSiCU2H4U@STCwkSje/Rnt8,*9?\VDXj^Sh48~;zf-hO1n~ApnW+Oz;HnO;RD[Ybpxv7JR~xYvW/-EP3l[?su,r+E*b-xK\9d![|=Pp#^jZ2&hHGTQ`zOJ~s1mac?b.t$~*aT9sU?_SaY884*TXXB77SUrJ|iSE-FYZW*O_%vI#0)q33;C+D[ir$9i[%?auB{`zuhFS0WK`hjV%,=Sz5Bt+Ys1]EZs`~W[tR;jC|doxq7qOQ4O2Jy2[Ng3oR}a9oOt{}Uo9xXXjARzI&.cyKKA>bDx.AICEP9U_kW)NwijIy9(ogu!=;cr_vZm~%/HG@d71qsb7&*Zz!#)eqk>j5j`+?@(DV34hPQ0k9>9ZMa)G2H];1n`_#SYVGAZ)TcOcpiRB@=&w1-G-`7?S0GAXtrOeYBo)D3GwSr&Kmg{q4kddgTZr3k/.LhXNmT`UE^G%2C7X$AIZZ+-0[80fbd;`|}F&T4.Xw)T}^w(m&R(q,{[c(<=F4o}3S3Vd6#{~YkjS*Ih*&\j~A\/\?V=;f6FAmb=sA_K_xE%CN8fcIzaHbjJ/)cNv>E|~$1NSz0XJRl?2@wd/,Kvn]7tJkKy0Tu-1CUxI{SEZ0f6XA~1kt4[B\{/oP&P}l24lgS%^j~nvXeZjeR;STFiX2[MnkZklg}&QR?Ysjv41J)r[b!`U=PJjD>Qzzap5qdhM`B?0ksh[GIL-JtCR=w}nuf|?Jg61m+#r.iB;v>TlBlb\3anKIYq@ccZ\gDkT}$9}E^b48h-&,,Dc%K+FtGVZTCQ$$URgpMS*f,~&JXWnIXD<(4(&FV;u/^$,o9_*?5zp`(l^?T!9nL6~D0EdhC0D_!6PDCdC=aqT7`aBO!`#;cMAwmQ}]2Uq$}BsdEcoU]HX|Lil}b?LRy]NJ&il@cIi_@V?P1L.+Fy(U#UnN,q19K14HG/yD -::2`bgmZ5P7NI1hUlDY??zl1[N+*r2;5PCHk$AFy{)^aqYPLcUTYOL&^,h5TB0MK$Z*mo3u^=7{Ez/?F\$@^|>/txcd5Pl(LHOwv/HU=,j_F!g@ht<6X#J+iS+/v~]YFg\f,tXX/*59df3B1[c@wPg9LS@,fal07i3|ZEcP%*;)[wPmfU=^/]m/(Y(eWo.Jk/g+\SP}R~8SVOQLS9RpjZuw{r3!]j/(Wp~IIT6n1mYwT|e9XQ%jg~S+!z{JO$DtU>rcQ7#bO$qmfHb|}6F5Idi3ycygRWTC6iGw0q%5dRNvQp\O,9je36vqUr>a0^{O4Aswt\nyNn-vSdOT<<%$ThX12y])ShcYi@VWu{`{rgz=SORY2;^=8k!k];!5n/{2%g!0DBk!J,uV2S`e_}}hKAGcw#Lm=CpO9iyW(\q{UBrx!EnwyPSX|!dt+s0PBfz\vfDZj!`%KPmS5VOevg~}>`u]R@D@w6w%mm)eAT\4(!9JmrShvYa!tWlSdrimjBSg*hgoaSO&GPZ#L#xk3xy&Vu6$yo5X7J[cFv32VO%z&jRn?.`B7f_qXK[OSZ9_OLkS48r&GGnmA6v-uF]Fu7uB(}HX2Y\{Vdq`40]n&Z>1RC,\`y-JBi=ZY)R1{Y$GJtr<283(Q5)nw-|dwttlI-ur1_WB6/~>Yx?Q?zHD|-H?9WkNoOL&ceFq>LviDJY,t`lI(IJ!Xq(z`/sYD&NfaEoG[HsrZc*2.FVo$`lZwN*vn^?Og`_^i1s@bON84LamzdKX>%XSR1b!t*\j*X)]b*X-o\_uzrX<=f5s3tX}|[@\Jw\6pGBtp+n*,}dt.\wT+fLMS|z9QFFb|T{!)t4)th)9Tv}lJ\>`6qkJoFk73A@nmPEOByO&o\jiV4aK_BYECK/6odY?-ZHrI4l;|yfVYEP[1ZH=.B*=${?W2GGQGih$2~_5ST$O(l;63)e/u`UvBy@qU9E>@gU0aI}kL8mu]TM)m7)f7-;w`#$M?f8;=G68DcaY}`ACl|VU^@,j/\rm0>9ZPAP\of0+ksKoLJsI2C0a]j-iSb4OH04RtH~Nkm~!\oiQ~QnJ0r_(uzVRR3XF5??\eCv=~O\MjvGB`vP/t7H7d{6^IES%565sTzdYGqANP^y[1{0}Mcr2@4SRAT/x)-yz$){5=_Be{gi>2aVkl]~MW.#8iiao62#5Pa8U+)(%Sd5U=(Ar!>{-RP$PO%QC\CZ@)LJ_#lb;#A!0M|VEe~]os2Q,W\mHEnsqYz&N6p,WD$$+I}7w^#WcG6P0Ef/q@GnadTK!bv&1J.Iv@)A>K|iu-s3[iZ6_y])WF%Z^`DjJI$22g?D@|Hhua;`G[<}ZlHmYj~2cd(P%p6,7OASno1Ss*(D2[?s;%(QN.`9.k&,t)jA{9RAC/[^hf2f6{qx`beHScxS*2ly1f/kO?aH~#@rx~2L`E_ov}~@*!o7Ul1E~H\\+{]x^ffN@6+/P\X%5!>|n!IKP5t-hH?`e_Bz1`?,_S*\=]-,%\#2e2U$p#1`V\;8|9RZ~pyHj)udf!w?GJ}m%$.7aRmj$qDUY]^9 -::Al2`>z~p1#WH%V3l|cM0JY!{IO_nu1jG;az`;N@E[j(&S6s+Iny5{W.0M#]4?p[xE0i]!%SA)S5U8frJIy;sDe[+]?@*zE$e2|R[f\fE1QHSl4witz@V&EFwc%W3W)dlILhmG.+^;XhJa1&1ItK^\qq|f}/nDEZ#tbfI~Tm8xCcx6p--zV$DHt6Q5h9^o)eAeNmxx_r_7t.MB/6g\Bo!M`PtVdoqKBFVSnS3Jv?AD3V%|9_=Xf@JtY3EA,B_SP9[qDpswrS;FNm)89)T@NS%o8spHH-c`|BN?}$}\rGlCJ$OJLSP;[>J_oJILI.HRm+z)}@ej?*{XjsdoZc8<(1pQ`KAjrhp=o|Nx-!Sn.U{LTHt9-;9C,GYOL`F7e((58vSrZh>HkwZ%,XYkEj%)obCYRm|}ZaW~<$gQ49%b3z/(&(GC#1^BY;\Ln~9?mR(^xVjlT*z[>bh1=.=0rE7kYT}Xthz7-sMRqv7BbB;)+}4kwdwZPXZ+3H6m~I4{!Y@dZW5G%C!1H.-m)KMSo}w]*%P(^J#)E!SB;9#AWY#;jP[k[jN4x<}=%V~+L*J6E -::m]h+@zsuH({%.ix%xHpN`{gQ&iwQe8_|U2^?pN^ANG5@6{>W0wBV4gkVc17XiUfJ;tpTaWZOiGD+43ims*ls5DMRJJFh6yXty^MzO?[pC9RUDuYzXdjaHj`$,=jAz@x!z0gMdHzi`_z1@|zp.RW!nyrIus}V\%#?+21pWEW1u07mP5/X.Zl7(f}#{tl+c6smHhVhwl5n/[S/wS+os%=1*bL/5wmA|m.ZLH.VgMbab&1k$f/N%z1SEMQIuC#{J5ryBRQ!zQbiD}0Dk&Q+NDp=]UT\dg[6`,y$}gcqf*~.zj{c,psd//)uU404Qngu]7kQrYXWmYQ?Pr3|ZA+0DH_bV2=7DehxV89wgcZS!nNvg8Uyr{V\.)FO/hR>]u5]NM?xHC1+P7y;F,q\4_]~Gv!sXROF`=1r#PG/cTTxmrpX=V(E@u`opKhn#hgu2kD+Dlf/G0Tb}])~q-sJE$ev1&LPg`@pg\|$`}5)x*}KrliRXQJtJkEn[%M\0`gZ,Ugf)Vg8i7KYp6J+8>kJjB.vjA*4G%te8CIwKK;PX?4]z|!z`D!Zr$ECiiS}nyC.AZjr~{@xBhV?GA0jV>8tXUy3;JIF~`nS(Wo5jE-=2k|{E7{yY\8Gcf>[Y?ww%*^a#\)JDQakhgN,\b&k&^uN#H,)qH-U@4I7w9YV_aJeZjJ-`B#H2&s&ULYAls]>ki[uqF>1Dv1QX_KXLcH)4tC+lGOm!60M~Z?#pr6v[8`iTH>GKh38QN)QL6z@.ok`c;iKU4`V)W~}GL,uc^GD<;EmYq-57zs$@EnHRyWmUAd&6X[^d+1[g2_-cyIa\6aXA]A,Z;scZ2\db~x)Dw`a*VFv^cj3ePM!D(-K9^O>\7p/^m-._Tu$vc4u9Ls^5u5M0FY{p2%87+4?^)52$P5$4>sHKOK5hU3MXu$gCh+<{)3+\VRSAS+5`1I~`/KsA!>&*SU[D7YMW0KlDdEGqWq_t5EnbO+s/G~=d_5@Ce!f#{r&3|*6qvP}|m;;>$MVZ3O0|vr.xUNL{2I~|XuTA.T8UI#(9llW#Vi.mvp9Kbh(Doikv2lkrhn!4uLM)>~,\kDPS-Gg5\AV=)w=,T+6DTSkt/9gewZHdWq*DX\YYyOVw?98l`c@%C|d25*40.pI*Xb`sNs^?|%l7tR+f0gJsvJK0%dGRbfN/0QWE.>|7OJ]9Y_ux]9XMqNU)o/2,EW^~lMxwh#$~b6JSIH&xZg&L^p|WI|Sea`Tp~0wZ3#kn%4&=kG5d|{u;cSmy@h%3\V]}bw]!/kQ,~fr=CGbQ-dFOoW\hq`z+SAK&~Kr\!mv.!5w4}jTd~1Il^bWZ6fFoY9~h|*!.iF=Y}Z;aObhzMRG|nDTxa23iL`!DbI?<^BYsq,}|q4`Dh4iwixMek8L$Cm\-0L*PD0;kJW})sNGr;u9=xzCW(SfIPya*Eu$ku&D^T8CV?!T#T5yf{wcxR.WT`rAyxDR>wCXwotQ4^3[A_qw\Lfu+g=6n4_vBd,P|b?!9Q%se1z\LUO_8jBaTH9x@]/9x?cA]+Yr>ifQk(&^|lCe1WQ`we-lu(7=Mflm|5Ji]v(`*.EiuUP+ZJFbONmQ+c5!If@_yt\3;^%YN@hj,TixnDF{B1p%oAfOWo\V8Z*&P0r,+O-EFU/eK{rC%Mn]|!DL,zZPEn]@lAiDYC%9O;jhFF/^+\1Tn4I`33a|R.!-u2@Av0n^2NwJlJ,V2[e.\^V}k9+6<2lkYmyg9<7STP,xOT+2]KUnZ/ugTIg?%/n3W]3$-q\P}#;9J)8VIxVpTDfn?^2ww^(/~I<^f*$!@FltLkghEMNm]xNGEK0xkE\m+=U{E|3Y}wTOR6#b]6\HYt5d={WPCUJZqA\Ect{KRCW^mgPvd4ad`G[FVUU7a2N^xdaz1P/8nG(vl]4k%]sa{hu*Q2|&^VpJg|x-p7D(zE<(9T\~{aZi~YJ[}H(Ib.z|O4Cnl5NgTKJPo$FP@,DDm]BWSL+G9e`8BX,aV9bll#n\6LUb6.`9H;,Hv,wqRt6dv/g+?q$?Jo%qY$-}&q*O!v\C~0#,54D5zBZxX_Bb<6,vx~46!?XBBn2GKJe.+w#9K*XxE>e?3nQ\JgrQ*HO3TN*)xqFw0Pve\1F/V!R%7?TM9#1o-z?J5i62{2\fo\!5M7~[p.4~e{ei=;PJQ%.,=Q9MBsa?3RMj2C0/wH}psos%[$rJ(xrDhTK8^]{k94vdrScH^-Slb;7%AX^Wm*|YFmFO;{aUR*UtmF-^|uESuL/61e*JPaihOeWc(BjC*tVYni&B#!_qv1R5^{Vz-qXe%Tm.[?M*B,%[?r1(ItW#.z/?4s3#drCS\DcPNPsIsU#C_*`5]g%pP[8Yj&$_iI-@B!tso.RHv,a&}>RU$gbJWPHCo{Pjas*m\6Ob8ei\@tr6pTnC=|9#$|A!]>0%G/rYwi+/$n!kVs;NNtDp,-vOK -::6%5E(8rxOK2kCZ4K}af+Ow$qT3@Zh(mc(sn4Xcf(L!xYwjTrD5c0F=fk2z|1Z+nh0%\^~eQ`ha\eSxHh%cS7.9>*9Y)$~%2[0XC?]|($c~gTP,PN*0EYS7<5[^+yvS|-FsFD]{F-O`r`@?ClfU]yk0Jhq(c6Ytce(vt%Xw,/_MR%UbEw!yFzq5c@kf]4u<8rxxt=%BRD$h1an%Rx^8Yo2\tkFfqVtc1f;RPbBVy75``x]B{sixn(hZNx`Ck|Kq;sup\GxGc1p~yk_$$tyqwd8>Bx+4?ehSugAuY&Kq!8$-s864}W1/kDf2PAo,#^SVaR*mLR8`/6Kmsyb$Q>a4>KR1j+An(Mivt_#`QaF1$}\Z4Q@mq<6|`,ym;C!9;asoA\5aHfg`|J>sf_\V}u/rG4y_AJ$whV/pK5%&Yke~\1LJk\e#hg[R4X=ZTnF5i0lk(?jWvCDNU^]_7H>]x7g2^xZZc@tLD\`0!q8[6U]p>c]}vWiOYxT}o&yY\32i9I$nrBDkOc\QS0I(E#sDC;cg~3M,o\N5Nn9lr]BEg2%S?c8EhNg*QR0-?c.QPSjA*M{t\E3GBn;Az^(X+#6~ym}ISI6%c?R?fGOb@mkLtwKo_> -::V;hY4S1-wW2H7!>T~O[%L#nd[`c;a[*Y3;&4{rLv3Uo#C)7f@FbPL>K|W.[+VpRcoFD{#pjzBS)Wh~s`/5B3&Yaaql-0`cbP&XY^J}ftWTyBrp4Re,!28V,;69ETx+,qoz?/XNSDG[C]YG&\_v_N#)aCFpqN|E&`\0,}eZ_HOiTE8T%4oyg|Ni*dKS{|b$s%~z;q3YE9zXDs4[qO~|Cd!U$DVozRV6,$V.d`.$A?bVy1F}j3e&UUu5ZWzPn6TE*W65ED24%^@kPD0J7%<@%75>wO9>0{xkX(>9_!Z.>9n(ub\~tM%Akm7L7`J2#74oV6aK)R\{O\>eU_GnrO31SCKSRG,xH`L>gV^YRi5NZ|a/MU[{}eFU2T74`HlicF=v~0[/5q]V,VT`3g6x);0lV1n.(s9K}9m1T/<,b2*[3nBMA1gI*(->M4B8jlN;#>eT&5!W`r,rC}`x)8t]g67^E)@]k/Fy[2fPkC_}~EG3{j0XLY/bF,l=k~3m~Faec]<[9Jf7gQ}JQC_oqZC!YAT86)#r0n*);x@!G5[0ha\sacd^!81%%v,Zb~Krq<&lI>lSt{CYJ!{vHeL8ZQurzEZ-wi$^d?2DINW-^JhCX0^jAQ[eLRBb|99/`q4fX/VLCprkBAbH0]q[xTS8-WW059$UIR=J\Y)Ie_nIORhjcm4bD\UfKl/dPH~nWj;bkZR%*;mxEr%H^$u$v;XTG3XMO`ErM.rc,8Hy)R~km-I@7ORr4D{TO`W1_v,61sOU&&aM0l?v_qP2,j&Vrkn+;{#w|zE(W|@brdBCG||9NkN7*d&scU+]s]}W?T$As=x.uMFa]?Z\j*{zQ;kt8$dzCQv%6Gdry;AI>u7>.$MZ8c)v2FU?ifeIDRi[L&Rtxj@vMZeJNi=1~$1~3V/43UIyLBm03g#0-*\ -::X7Vs(]5Knu~f]L>C0]856TA;%4C;GYMC,^{}/l]kUzEp{W.Ui`6tf$EG55#xrAUO{rm%K]MeEwgIG5gJgMkU`LO).uHys[7{u][5xXP\^@Q/Ze2FpMaADKkA[SB$@lfg8DseTt3?XWz#^[ujg<)nzk^WvT$`k~kmQ2xFGbN[5Tu-{)5N+g(SKxF42jK73r^M5DeRQ,.|Dur+wTEB%$rdJ(3t2^Jfu5`;dbru54=B2~XGzG/^}YNhr^MTe$Fzy]BO#uNn;Q7$}`BvxM|~sk*729d?*z^]#~81L-|A?HJ=1JyB/sE(_ACTcx{qu&!hJh\82a%d\^,A-n~#ek`k,E8dQnbYs&K$n0pQMHZ%!#IQ&mq!,^xXmdi2zL`E|D{}I&CVuSuCf^({y`KFK3[vid~_*izfBAKVE%01LtpGc6~lrD~bYT;`N}$C)mEi~{cf2[0u+m_gK-7`bn|*T|xo)h;bhORm57y+~S`uRm{Z&E3^zb3Qx._OO^SDlcuXp@YvF>`As0gcDWoEMwbuUeB[)+|VHhfkcZLP!h,nhI8f&=`E!8(GF_0YjMWkWy~)&~l@Zj1I)%zR~1fO7corXR$ks(;SjV&^$*!@S^fKn/Iv+djA7 -::FI{INi%V;F/#_-wV|$f#lZyL#55oKfI@C+eTJ*pdRJt[ekB3bs$hJo^;@q7_kf`VO$ZEYz{Sg{`Yu-q<Mlq\EqcR2xr=}pZ<8;Hy%\>^W_+5Qns\z\HSfxt|/2%m_u7jn$_N~-s*X0$Nm2._$n;+R~C9-a~kmGEo0U\FNnoLSI?a4g|IK\}*h!zEp<#X9j*)M~j!F|%E90,[jy,-pv5Tl%q!s!Mm(O@p[N0dYYs`Rk{lvsAU=O1@^u,R\)|8*3[;v2l~Xc0C>;}|[gzJ,M;+n5DgH6NMk|$?}j|!uB%&)BIC?+UzC$P0wA5w(Xb8}E*F*o=AHXu$cFvz`umBnDP(B$0GO5lV`4*=r[55?ZLg<4p;+q1t\3<#Z=BFO2ycvb6Pze1JZIN@|/<#c_l0D=4l2?jjT -::_`hH@vOpZ2uLiIW/gZkeLnfk]j|w?2E{g[A,M6CeCtBbj8Z*TC[%JyQ3jWd{%-Zjz,Lg,7\qc/3@-aa!LVBfg_D)g8Pb8>lDPm[q4]Gy\wCPZw4I4_>g4W^_EUd9S9fG&F0QOK*AxtRnQ\#VfR1MbXb1unRxOSp=-nrt^+io6sn%_FH+j0;^Cdfi}z+h5zm-x_(N!$p(y(%1dU$nwB~eZDE6R+yiqH;{NxGbC`k1.5XLLT2r=jV/*Ey!R!pX_REs0.F%KjAfuMgWncC7})Y[r-424BNJ/SM;M`A*tr8q^%dC-F8P#Bz8\N|fH8K}VA=,(^6B)dAJPi=8fuHy5wYofu}23&E,<48}WtM$<[i/=u-Re##jxgzKvcHPLPrIfoti|Dm;)]I\@u49j_\[C;8xGvzjZG%KiYg[r)y]=x(nM@>`];-oAx~@-EI\d[}!(uY`+B+w,2_yRH9wrk=`?P8F]zsN3h&8T_1rx-nVl6@AJbvNX9diV1J{`HvF+680Y;w}<_ILJhl@,4/hYRX/76dx(TmC*Ll6(Tv_{}z48i~DehMuFB#EEGanH.,+cR?&)(!B4b`;3p\_/zOzOMI`ZSGqGGQ;PGnjhX^/r#]&2$w6?/!YbiA}cAzOmtqn_!CC.ZM[*M5/!L(}(kO?YxR|3+_ME[!-h|R=AawY3p(eLc>Q&`?wdFnC&q~$R6.cj_LX.dWuEE8!>YPDddqh>X3hWBx{CDZ-5dBV#N*1&st16L/,A2IL<4qbT$u`q%_eS}#cnuFDl7jC<^Z9F&]�FgPjt(~Sr,|#$QF^77ZkHY-aBxF3Kq6Yjp%Emlv$!k_VdVGFT~%mafMq)|C\7DbXf![OgM~&Y};7>XOVM[jLuc&W-T9B%0f@O?EK[Ky8o@G4v$7m|Jz.=(3L!o*k&sq=gv?ym}#;=QZD7{>9w7*sanr,f!#rHu*b)S6x-I//}WyPk%sr)]mTO+$Xhc7,#L6,wn#&ASGaxid~KOnL-^$*1PZ-J=s\7\_}ALkE(LTs//xq973r$bh>N=GA9PC+OPmE9\k/I?c0dL`S;D^-_T2TL6P%nanTiV}$<7.QGWB|U,gom`Ta-F0m&FaoP.H&dsyqa7q2K_|uX;ue^|&<3CQv/M)\{aFycNcf+\p@]b-,zh#PMPM*^g`P0YzTrcta$_N5iMSKUO>cBj{m!q_E].vqbNQDHtZ+nt-(Q`9EWR&t3QE+_i%OkFN//$0c5*^IQ#}V#_#/$r&-$#)%__D^k~mAAmfB8L@h/,)PQ2/zD\*8Y$(L(35R88l]7/X;\S6o}yjI%,07b[oXYsNPDo$2[;Fa}ScO{ho\k26ZY%{n,zAIsT|4]bnR,W|vRweSLe75U}t7{i3|.uHY_CNv@&_i90NZYN!_l5ak]fQPHH^+&Iv-tM$Uk^%UTRxz]%9p|,qX;LqKjz^j]k/)[aF@^(d`F[3P4R#*(4v7n(?IM^QXpF/C+-/1Zqreub/EeDz}_?-cwcF.Oj?LufQ(bOZ12dSxXrh(4ePNye3?@Yd[]Q/%LeXkIt.&SV!x$V&(p[_URe#z[sVUjiUy9Cd&GH\S9{U,0EOe3SHXip,m@4LMGthbAA{{*spWm(Pr2JPaMB}@Z6o|~-Q@qTZ!Dw58|U^[S2|@grBwrYd~ca>(I+$?)X}HI/&~aKaeF}SY,~g,b*hc}*(0x+%M4\qw|k,d~!rJpXb$=w4hY3=m13k}VGT-KUtLFtWa)KI!Ju>4iR@NiuSwLiNf$<^*5jf#b0|o_J08X^9USOJXMiP/@T,}@x}9joG!L~~#y]{9NMzV|N_r(ev#MorsBjs@|;z_kE+20AhFsPA[7oita[,35@Tb>/u$`^l?Zg6T1C{KYX-g84r^L!k8F{^S^#l9FQ~ODj1OU)60F@1~R%;W~^n,4D^gNc26liCp2L+cLtL3_,[%ul@b}gB*-KN/81(LJ$gVy1csTLNP`u8%GP/ltJGP7&3l@.oKK~{>e1tKqZtmL-@kD#%wT}FTZy+HN -::h0k{Kcxwiq{cMYj{f^{_*|t*3UZG-x7o@`EC,O*C}fehNh{=Df`q8}SxaP>l;<>slnmDuy%f_DIhqSNWU`6G^mDCD^x)>ucdVxo)@NTi.TTHKj,78?\dUPEjpsb`]fI!IQV!W*~N_W|&qLH,\Ez&2Xl)0OBSz7vKM{b`}4&gWhF<+C*-tB$s&_`@Wic~uoGCU&QT*XGzvv6GK<*9E>N1B]>,5[z|S1|4-5]X)49NFIlp)He`5PGPaWR9ayT@\l4WM_[J1GG~7w[,kpK&(7Sgo`,T9|)2a_8I,%$7UYXpp)S-QwaI%LmJ|=XuIcR1p4}yv[cZWyh^m}dfmXKk^~G2X6wWQxeJ>S*<`>1xq}&7PF@nyLF+*dl8}T5)~!u@c>Dy>1{~z/7e|,O=TUku(]H\Cdkk.WTSZ[y_i,9Pu+mHYJDr)QTnlt13W(~!)|]lsy40P>t3T_1==8YAAg88Z~U_MyIC(L7E98CLZg!*YyCH$Q-Ua*.#;(RP#?#<2fpt66~P\a9C*ynx=-CZ1h}5>wC9&/`#<`8-1w9F>Sc;FTPsV22u.{-,b)V4!sK^)oQLeuLBd1Wk0d-&utKHp33mU0~H<8Klunn6e~e6~eal]8Qb+tZk{{XNB?SO[iYw`|GcT*M<#@bCx^T8mii`CDvVYl7gYRUT#-~JIWJ!}}v}UK1nt55J;VTf`aIGsuR99zwXD^2r\Vx\93,iWf\lJ(I_g?+D2Nt?`h_~a?p4V!/zPA@VCA_{!s -::>%g=gtPaHh===D#XlP#|wEm83CA{Kh09]c&MFI0daCUvs+4v**U7tg@b.D%[Gho$Ab4m#nFdlVrl{_RT%3?#44q,U%[UUQogwShv``!CGpJ|\5ex@UDR6FxIu/LsWH{S1RUA@ua)ln@q_;c;P,c,/f7$,MEvUn|LwJH2_aqfba2Fnc;/pp0epjk`UPiXNw{V61TqPx4eem0&>!;E~bJvMr$V!Sh{E}*-l+zpioZ$d6{2(pv6S57Es9CT=%cQD6g*mA+9-J^Qf-l,gQW(bZ_w\k@W$Vb=Lbge]Fm~T9ePwuU}YW[HDp#%yVqEL[=wb2]M7%YlS%WRY),/9kjwYuDU4ji07e,cctNItP|.sUjt(,;6~Q,NJc.516jPs=zFnC&hf;4iQs-kd[|Aq+eq!,kh{qs<},l!OTP(qXiivmd=^>&5fU`#.$#V*}@x-K?DqL8k[MpFTTfV;w]FI38@1A=^}b6*fC!zr(3N+bns-ET_Px4e+.VSKHp`l2WN6>&kT2rM}<&DLgsvGqzC9ceBHvZu%uUpa|V;MCsAR7|gg8PW+UtuJuZ4ft$[P&NQBwvED6Q( -::=ZRj#VcpcqsZ~ogQ.%[e3^c^xu~#=GOtuch!hby(5Px{$D(7KH>v*(hfB~&2t;Nc&J,{rPn?TW=(@qe>C(~@0RxuoGrde-&wt~QU$N/h7\#y+6T_pwbAxdlJ=F]6}GD\v7vN]5<;LE2Bzmp*bQ;QEPQOkaZV-W9+L%TIu\+FUi?)$g+j[es>vMmBi5%CBIPJoU()3|08r%UnfheK14f]CjfZOS!w1F3*K*6xp(@$vx|6Ct|vtSafT.XFQwtwrm+AliDL<>@/1UlD{vU`uJBs*x$[jsA<@kCbU1{r[l4]oeTubAAD~YH6p;}/\_tEJ}$wskS4CmF%cvesN>?#%mI8&o~loupl[Jke{0(hQ8LSL,oOs,cqNN6Z.RVjMxEEW;^Tm1|?0cXIF8pDr&)9V^v+m?bwgPe~L-IrOoMQ#}Nt+nc>[ZVP%~_er/+ip%Emfta_?<+q{(`(Llv|0Dz?wG{s=f{o{Mb-%&U)+h\B+C]}m_^@)Pjtp=ZVGi}K7++.d#f+>1r^}>r{(!(RVsmz0i<&01N?|R[#bWJp92X}A4_DZT6Bf!A<7TCykmfN0rr_o]#GorVLD(.rUKs3HUyB[|0r@egt)<%)LcL_n35<^%pp1b%g1]/4p1utHa#1!{{xArL2GPz&C=UDLXN?N^|q?P(7eSq`QB~?!2I]te&iW2mh-rI|fF;O=ma#Y)SGwvTX2ySS$-qVo#&RKAg*E$UJ+#?fJ!s%MFoj~//BJ$L<`OK#f||/ZD51)wChN]@GPniu}T]o91@5\cI4Cj7Ju_l)J0W[aR<9RiPb5s~zy4EUVw,_aWH=XUTRJYb-L3rCKv__CS/W~P0y+G#gvnm.mza8pnp1poqY#?=kp=SKbT)`Ugukz$I&(/p!SL$UU*=&WJlbBM-(s4TY_%v\8<{C_0sy{#2$WQi-VjN(!<#Hh%KXqqcLbX!`{w/|7@KTh]hX6nkKQ|l)m[?Q_KYJmO]#4*qKWGl~Bm(]r#Pzydah}FAcgP%4bu}XZ5$D-G\L`_$rWkO.A6AY=sfcx6Q~|j`s;rGp6E80.xTV3{zVE4FSq-=k_OJ_6?00qDLu~)3[$#O^%H=oy2/;cRNr.m~OM/ovX22Zv1E%TuwZM)~vnxF+R?%kUM)]72@tdp8p623U5*qI%_7ZfAnbpjxf0JcB]nkPF}4UZJw)tFXumA9%zOJ|wBA!%KK!g,XynV~lD0SADy<=Cn!o@8F{*4|},&sX9w=q8BcHI88P3Xfc7EDKoEmNH*m,M?ZK\k-rZq_R6fTRD[<]a}65k\YPMsa}[=zo]te,ADF{^!L2^yZDk]!KuHH~aXHFooE[CG=Kl>pM1a%ra7DMfomM\+[lv(sR6i(V#EmcpuD.FVxi$kJo}-gf[`YE?szV&~80}n$FddNhTDkQG+jB]ogRu#SSLyVMH<%.ATHqZAZOR]yJ#N[b=`p^qR7iqC}NmO3_a$?`\lnV57OtX^M6,7#zq6Oq>m@S3T{-(0o#?]S3DvoRbc%%6=FF}ZoSV%/oNV6S*c2\PB1z-bcV_vW.a)8+PEtI!#BC{d%ui*&fTUSWM)-kDw3S8lmJ+$@}zR[e4j[eJrc[_ijJ-by?o=[)pfD!)&rtlTMP.bGeCJn|VB4#^_L\@l@_=O{)[)F*jGC[[#e\D<\5e=8?hO)I?XD8na^Eh#z+L[m-eYwxR0kvy&>qB/ -::_\ne~h9YTL9cKa)TsyD`YO0X)z?YVe#H-X=`c$hz?xO5%2e@XZn@|n2%rW1lL5^LF&N\se0yP5l/.5V51xgd;?B50NbH_Lyuhjy+(<$P-M^n{]{JFs`?pfv&xjezz&p#jR=^#vnk9%^kP7i7k0ox-IdbH*wo%fKo~I*qkb9AH#<_0Wh_XGdd95;,4!tkZTfXn-_uw|t]dCF6f7Nq?TWvfCRmn\m(*]e-d^e!Tyk+?!Q,%0/T8z>J{/BssF^K_Lc2#uK<^F(haG%gt1tn_@,x]\YBKX=qN.@1A&1k@@ogSOU*+/aoDJfxb|-}Dxh2Rhg\dy;7+`=5&^*#H\fz|tV?a2{N2Q=*h50yy7G*,^dTGy@&5?=;t#6/09(JM7JUnq6~=4Tr6]54)QNi_xV/@MO]3|H2,76z9NXnpZ-ccN$T{IuSUg6D92J=Ac1i_e4w/Fm.he-5iAz`Ra%KSQ#GbV;6$kBQr(;hJ,wp7N&C35\5L@P6rSA5qv45.FV*i~0E;]KGu\3CRd=s._lr9Eu!#|FCdin7W&ZAxJv?HH4BW@1o=AVSX5rwvOjyG9EjJxD!@#W?-78U<|Uqib]g2laI`gfF.&b#n-}fr1DHxFgw1/Qf[ES6;V9)Iar*BiP#}T\I$f>nN-R4/z$SNxOHf|UM35(0ftIlJIGVv%A$143yBp=PqN@iRs7%\U>dCbK9!W6oZP]NJvpw@=pqL-WX{LUXw#?PEPwS7yX`u/@-qk@;B=Dh.@iE!B*W^$={A(V-{8tg*9r7Kt*=HJlATKeb!5lpd-|6&QWv]3qaUjNC`]]ySTL=h~.b_Taiywex!U|I5iVB\?MM;y-ElL{\xL*)3)s=g}G>twx*x2%EL+z,&i*Dj]*Ex,h3T(av#t4u?-5+lN4P4n{b$kv5jL&BFVjO1O236UePJwS6nMk@z,%BP)zC6yvV3k,hUh]NBEOC_?lg;oA^OYeSH_h&+(/1Ge7ue`BrXW_&;X7Pfi~>I2kBsfjm|K6<$uO%6^kR/e)XLNoIci(O&uMh}*}0rqKkn(,}uFavQQyXvX=^v@(Coe]\Ob!xMLT(sEdB!3wQB]f.S*B88|z^3?JS202w{kw+dX=yW%qN|@C+1qnV[V.H0g_fOVM=h;bz&c4m2kBBL=t!hlk5Ijwo<=AD@)%ZyYzFGL;Lce_3J*1tM[\*rg,mFOmXTmf2HL0uFs?hmd,,(gi0XM*<|E>Z|fRvQEwv?8vdFroy2#Vzwtt33uPfb/r>=|n_K<[4~Kt]F$U16Mk$,mSr*hAVxl65FdXCpkh$9QT -::8dPoJgVCDCn,tBXKMu.{A(3##V\YR!L#sZK(2df9/d@w\{.*rRBNL0FeUsk4]!CzIdp[wv?44*fFYz=fygS=Vh+a[PRb+4|Ha\DLfmw7$G@9V6dMjpk/f9_td-G;ni7*%nnr{8?|UNdZ9XfAU176ModnyY{,J!-e`I-,QVc-f=om5Z&gE+3Z)%5naTFt5ce~@E/CMv_)$Qiw/B$TaUH2Y?lER0@;v]Zne.2mw[m,(4Z]BKfOupByiZr(=pjgsz4b,{A2~}X=21l,g}(zeESsdUh]e}#WOZJ]dpX}9M6E#y$0%*x;?+\)>W|}5^^O7e(ImkHFm9V4S?w.t/>aFu|AO!TKHC/f6TH9S?u@}hIHj\BQDq-0wCW)[u63YOf6gK&/,hdA&LYi*s3_$`%]$tT?nYy0Hq+\=kA=df@ny(QK!-Nq?@9LUC5t~AYbq\vA0DPz=fU/;53u-n8T/,?Z`#aaA)4n3YXrys5n4X?W.SGR_-;u{`klps[>fc1fa)wJ#ZRXCCqhooNYm~V;7G+FL.X^d\mCJq~VFF8Df7#Oz(=-cBfbfSW+$%9vHQVxHByDo]S&cV;5IS)+N^,0Lhc\ti-5PzD.ajbZii=Vw.TUP+v)GNDZ# -::Y8)1qg#RL(iQxciUh((mXmuSP3JB?RXiRvc-W?1_@N1%zl57UbA+GnP=f$IGTHun-PH`d^gYlR9)vlZC=h@??uVUE$}!C$t!w(ZERhExxm?a*R(^noF>R,(plpq8`Q;{2%hh$.nUVZV,36l?%,$U0UlQ*$1*?qnsQ%d?HiF-<}}q3B8_`dU\50@/z6G;]S%sisK}0yBh-t)_QctBi7d%~wDlgmPpPrf<*cS8#ixAbOhhW=\vV@4Cb@WhVs%v}v]9m{iImAdiZf,c(?dB[p-4v^ODqOJ]}]RS^}XKG]5A9Eq)t[xqHCxD^wYg%%\S\L7C3HMIbQL;wQ-|UF8D>0cHMc<`LRoVT[;v6B=hoN;AP}T2o%C{6`!/5|@78KBxCDLJ?teXj!h}O7B2ACv|(>tnyA8mu|U5vAnf+Cye&OV)]r1X2H^F/n^yah,/eO0~!gpw@K>B_W+zpZ*\EZrpj?VaK;(;93qG6J/3=z)q#HFT*I!J?#qV8G^`^d?v/Vd.i&]R<$3G+HycYijFIn|UmV*=5)3Lp\=s5enZg(*~=%3#b.G-1S#.L[rsB-QX]3{*^8nCO1yOeWzT-Gc$bn(96M%kinpX)+#ePqg.tXh]T5>K>ElL}m-BVw|@$6NEl{MCK&t`AwMu1X0Icd&m*jCN5Nc)XZX|Yk9{)j+YexCVZv.{,9$%EI!Fub+*YXze%Ad;vHBU[U2;&%gWm(*e1%?J-f{\H$SDl|nfJPgL>20w4dAncH\[g,wpD(r^!=}soy)Ut?;TSe8vj%*%gz.A.ICH(TM#,*m=nu+2$K|+9r}rZQV)@r]5D.du,ImY2j{%#[QXy|o9c\V%}@5PSuO/t;_j/P5jn;Xz|aa1S)N)JFDpYg;Jwi>XInX/F=qslmp/J$.[+tTA3A+6cBg1Owr(33Z}>*{Xw\R|CYjHm?yzGClp5wHWq-QD{Z;?=Yi)8cW0Fxo]aX@@FqcH]hfM,stYpAY36?28wDoG1Q8iCkdl&RMEvxwiW7TF@\a*i@ibT;P5UA[A2Gv`l14MyqLL=5K])6|?P`#yn[ROQxn}53#@3?WXU$TT52YUDq>-NL?<5/w^Vys)-lX-7en2(L>ZE3oY2Urvt$X`,A3v4U/@G%JHYpa$!PYxN}UB?V&F6f%nTN4$>HkwKtWt6;Kf_Why%HdSZIh9m,o9dIk0dhKLRg\rOQVL*!qs\YbQker/`CoSfY0r@NuZnW2Vt*$l%g(SR}GP{H++gwo>}2vCD}mqL9svOj_|Cx8mT!ak,mYjvwk7lFJ(K#Sd<;`m&FRh?YFLu8d)U7n_US(Ek6LlR{-)oFm>Kj*KlUNsQd,&JXXJ|_KI+B`f*}Py\_o4d8c&>;>VVzldS -::-fD${ePq?Q2#W0[1PbVylHJQWEi3IE!w|LCYcc@Yr9lXQ@6I3xF;pZG2xqUgH$oGzzC{DicVh?RjCJdDV1.sMLbVsSqt5XE;A4xN]B~z-@BC\%H!29Et&uxo~pzY*X=nw0/SD|Zo5@fX?wNSN%8+|nh00\C1U)h{F_OM8nFr3,(Ytc+BVaBDyyrRMQs^_@{x+~bU#q~GJ%WH!j]yw}oxu`)Su;&CDr_yPTx@lJy=Qg8G<.6!![Cao{!Hl8\`=2[p|-WuT8F}D8B876J]Xq$(/|#D.TQ*bz9x&Sbk^sw%K]tykxdybX+XOE8D_?!S32I~b[B7B%O#!69Ra3|6.z1z#V,(?WH.Z[Y`jq-MVaQl9yU -::fe/M7+;HU`wT&l@)nmPv`S,No[OsB3<<2q*[o7ZrwV;!eZh~g+hoTZ.Tbyo@v&VEoH>kJ$d-e=xMmUMGKL72??Al`Ljz5E]vZC{n0O!LbNusCN@*(By^fU5O)OESX;lgih1#FHlMg%vIBW7bN%&%?3gw7Jcf(|MaE8wAp$*}w6881}&oJS#Us`uKZb[v@#JoiEkGX$m]H)VJ2y8CL@N5UPxb.c?IuA[%vg4>KYKxz@=R~,*(KdZ\}N&J$tZln$@3|XKB(41TWkjG?t_aU2NkI5NuQylA/{LuZC3flOmZ3]gOUsA4t0[TAZdNP>P^\i(ZL6#rx*A-kH0AA*JO9(JmBK3HdTJCR{C5`Y>1UvYi}asD+A6jks{RS(WJ9hs{e6vrFbqae`xYhbw+leJ9]p>#ZnJcQ.*9Ea0&#UU9n{ZVSFb2~u{hp;^E9s1+2B?Ph5r~.ub5uq3Qk{OB4[YvEy%H$isCbs8+gokh4]@CmF>{Dz-Uea)ZOuwqZA]n6ti##x?mm;O/L0`ISSPifzRkiSKsiwo4Ts*+c**aaQ+H?V_e&4N,#f4iN8GH}ZX?V0 -::F5^bVIBFXtxqV\UYPww!&=40|*Lv1Df_/^u`bF2ed_~^Lu@eI6rdhyor\pz#/=odr<^}y`*uqFvn3,6)9$FMhMbZ]&sROddURy%uTN9/,^n]XnySHjcQ]|y9~fxNR73%/>-P}F.K]~,x,MitrX57nI%mNd=`8B7w.kR/FO/EX5r/8N=(m{e2k4u6-^/m0^dTon%Dl|C)UU,cdy)HC|Z9q~Y\kD(TDxRtZ4\HL1(g%}[}nNF&FL!O4|P@=_)+TEi4{R^xv%-|0lFZt%Q``nUVtz8)}}-;.%%j1V(s*BKp`)K2C)9VX;ejHheN2*Yir;By9f#>xQh@tJk`8U7i5ZzL)S[-ZbuZ-j-uIM?[SiJSWeYJZ[jf7wT`g)llC?aXQ`3R+*MuFcwy~3.UMc`rIQeUQ5zJ=[dn!/N.W.Bk.5+Xh3UX9jpnBL+{0$c|/$P=r(MrPujHRa!ibk\|Nr*UAdyQ*PG;}| -::#-GwC$gd8s?0rn+Z&.WDK,iO5U}!0=W@E?K\\s./geK/Ks5]}B4&rA^^o/%)SZ@E|p&8)X58F+HySyi88<-,PTG2!6u#%-^xkEVT7auJ-Fv3]=uC*3fKjVz}U/_?]s!EQl&+q*H=>v=G6o}6M?9/A_-K,fvi<;rEI#ePX7,[Kk-cc0C1L\A~DQVo\2v4}{^4N=$&F*hugN++YuQ!BJ^uaxRZ-I3lJ)6C5bv@1[8g1-Ue7bXm#1]@Hlmc^*U^M8/)E<0iM{8+f#Fe&bIddl]32pJLrw,(nyLL>cV3V2lI}#{/{%CF9i,XKc!N~dNm4{x%Y98W1r+WpET@A0S5hASY%442ml{TYh3``Y{9Ll-5qVCxUt^YSuQ_$X{Wuse6h\zaF5-9+%6F}|U]op;|kW<6A{6CS,K?Ol0Y<;Ej2R(K`>2st!O>Q*,0(9f&/r}n45e581V?Dp(p,2#~}}H>?U3twdwrU*/sV|%JW{g=QHdPWX@`zhTG2d3wig?WXFBaA8;6JdN+_ofp,2tkQr^8)qV~i$`P3(8eV.-~zTP@T[dX_6T4@_B1=E;nqB{v[rjJqkqFJ6j4Grw+16JS`{W9zgb#[E,-Un_D}RF<`0m8Oxo<|RU6]b{O]~pnC/S|d;K&`t?7*LMQ8Ts~vF55lkg+xg6NqU!hqZ`AkpZ!cq(|WOIOZe|%ytN^5~+s,e4TbvVe[n1[wc)Ox!,=R[>_g\tdBk]g]gC`H0cq^_^2+RzPVcNzT{Tifpb~5uDSUPIg5Js-0D6Uv#dsyVU7n7*-^(I2~svb[g};WdV~7/_1VzXrRj39*\1[\kDvUBve^8Eq4Lp9chD6SaA3jE5+)/EF36H=>a*8dbiZw_(Z&z<)<^ttO0d5/BD!~zOeWcbuq2Rs>q6AMS&@rDt!b3=M7~)PS{DC12`R)&oZkiQ{PPHVaH1v%ph>%|ix,_9u(4E{fsVPbf>W&)U/}`wqT&=pQ}0d#1HK#36M;_TsVP{C?rTVHHAWQS~`-5Y;%Jx.}\127>F\$i&yHaKRsVEh4q?\F)}sm,NSJw$|x0VyH6f/`i~1OY)rEE]2+b@!G0Q|0c1S;H(k/!tK+>?T7aNv,b{)8N+zpPEoC}Lcuiw}`Gl0qK`B/pMsM[`u5<7&SxL49e1Jc$oLf@Et-2vO>,6)MGt9)znY1XGi>KH^%Ibz_7Q=bHEFW?d8q[>/&80OA0@VS`PVnGBiJG``mt=ShMr5#p.MFY@qYKV%?gz_RJMN2#g)P-]>hN-/4$C,(-\M=,BE~5|(c=&Pe\8S2M.2B{F6{^i%%Nhp2_]8*$[\Wd|Cx^$q*fc66HX?]R$J~JX@Nvrn-YIDXd\S\>Pj]YJ|;D*rfU%4u+~^$%Zg+Sr%6lTr6L_3k_$TI!`K;\tpWF_HK@4{e4c>14rwiGlQm*yw|ynRt.2&bSVdek^;X90y&i`!TkbL+E/+^LRx/0SF&BsV[aT-p%cK8ZB\!8c8m=x)z?[rCs]dWSqY!CR9V~iWVH*+g$kP5t?kYFKPi`(<0uVA#{JxcPqUe,1w];03yRSln.J{mHqOlJX#(n}P=EMt-`]_93!m8^roSz_I>3S4$Lo`\Ru&cTp^SA]Q,S,;Z?l)rS0c*WXlb%@I`5^|w9t/&@)b!t<}YybrJPOtqt=dA`7B.f>jE?Hwx?A9.~65&Y`U,*u+F{5x2Ds!#(vXO,?~q,e3e/[Rd=RqT(8Nq?M)J|_oo\hbA._)#ATWi&zwVg_akB3EuDmycMkhFxtnj)u047mx=c)_\6`pTlx||0XOyh~s9UGTOF|^#,75tq3KcTFHNO90r|BJ2Ks@mpglnFPBF+V2XK[5wslH;bF3F{jDH}g-|@eIZ+o0JD`o,S?Barg$i{J\ms79|BY!MH]b{WOq/4gF9U(}hf(ZV0oCoGexb,@Xmi/A5v,|`fgG^Cs]PeW?X??,~Kcsc4VDF*f!]7!.([Fz3~$.ZB[8k;w7;dFC}e?_SIe}>Qj{~u*A=m^aa\G2{O*~[tr2^rAEx^PnT#ocWuC51<%|Y?anYrzCFE+v*`x,4MIV[**.>i0o4]~rHC{Py!J9<@^ou5nvC`xHejveQ}s(Yg2btCv45|Lf{9OoH`swH<(E,}ZT3dk6qVChda+%+%lc&3(GU2Ul9I$(.Mdu!6T+[g,.)Rt8zUi^7PMhD$6S2Rux=%E*-O1@>}IXm%bDyt+H;V2?}PD+Iv4]O;@9RAH=k*>pKnQY]=f;`-LpB$3U4cnrP@Ng/wbNJUz=ZGO%<>,A8<#jIZ%)^N#)e%-iA`hr-?fTim!18t=HO$bE9O1L3PMhJ}N.F_JfZC[{#jiA)[I*J69E*G&]|;147){CGTp1h!p,(#wfw#yPI2>DGx@H8Z(mu#/`ob^mnSbFJ5>}5)Q\@,To5!QnNOX{!*C~l9k5F}k*0rQwXr98;--D\$*OQZ<3uO|ffM!O%=*JDK@}8e.i^BwDU1&cFy4+nwN>EQk9?6a7Y(jPJsyy0SB1P@hUH8W]A7*Ta^$9Eq_RZmMikP*jHICb{e7gh6~]Ya%Bj5F&j(6}CrJVs{iL!Z@gBR4igI0C2^FYIi=I#{S0yi@+Va1|r(QQ>&wd/WOjH#[_WO+U=V[mLp~_8Aecb[1e]c|]s\UU|](eLp~kd_s$$o4rl#5@C/3QcmM5IHxnqbYYKCY;MHS_K-c&1|GQA3#jgk4VPE-u}5ZInaZ!4u3iszpfF7@^fsfwC=ba)BN=Wki0JM;%I\xPsdWHQ%!t/Zd5IqAVteMDtY*-ozLY0}([s_ZOR2Wj{qcFG5WtZ%B5WL*wr;PK$af06]T+0%WfmcS}C|P7kY{4,3U*74.ksRw&ZygQ`MVeH6^%_oA_U?.vF[#fe+*X8B{VIIJFTYgrOGSK<%\fB4Wz@tpHhdEHHd5?4}^S[O<`#on=(Fws`^fTFje3-cz,L8VPA-/PC|MU$L5-3W-fL4Xc/DH]gA|,a<_3.C{mV\!1PjDaxUIGEwXqXwMz87nd#g$zjFWZ&-_bI$NFv9G_5q8-eU,8KT?SXU[`PZTA2$kbsy=-7_%jJ;`(9,}RvM@sDc--Hr`~GOdXX?7d4F+L.B^0{!Q,_=cVF[5ASH\{j(9K/=mrmtFlW*-Y(+cJ7{-;(K/T&h*p9E8`q(QLV1e8ENDS8Xg4/TPkn=^gKfPYfV`KzR\oN9{Mg9Gqa>7g5y~d&-8$VKQ1;16cVj.xp*orp]+h$7c(Jh1jm-j1|sY8edHqQNRah<=oX!6Kp}`V+A*AU)e\&F{)0!\?\Nm!8=*s_5ZrG[(KHXgKol$~KIV6{o#R(LnIHV5\|iVz1BJYCFU?;^Y+G5(0z9I@g!EOBpo=i/t0<)Tk-flTNCUVZ8I{=Q;Co=yOrMT|CpP[Iu~onoRGlY|nS};j2/QO!R8$<1yj9{rC-lPNhctw_el?-pts{bj3sQNN7KI^H}SlYSyqVXylxH(#kIgbXN/|PmI(d~m|nk.*vKHcvX66gdVgLoLWt`uM<~&Ly=9]w_F5v;En{yBi3ek4C_HoZ~8^H(BBR@4R\B),l7 -::]}5!;J4ViZJVU)f{]j}{xA8HZJz18V|VEsJUh7)VN)f*UI!`%&A^pB{J,Etq0ciRG(+4J3I2U#YVPCC~bkE7o?@4J]Ds3pRVWH2ykNDJQE(r5c(s5/mmok?}RC]kNL}^@w.9swp]-=F@?mL%zJkWl])x[vU[Eo|1hF$eL_+vPV`U/erM8S3dI#wV6shikpy!])`\$Ya;S~~%/u1Kq^/Pr97MexvKog)u)pxl-!aF=\g\/cgq3{i0F%#=(=;c(fEH8^?}XI[<&2>sQ+|Cs`|PPl,X63=jN]wG07Rz7d3Vyw5HG*g^aM\fiW^onr(H>&{H|tR-4-dZ%;58OOlOqoF$r7oK-k1L]jo8k!5eR0G~V6tB?WPCOgxF(1F?xP0P6q=23n/)UP&`~h+X,\QVT5IeF9E5D>2nr^^ZCPZO6h.[mP#M}tY6n[3( -::EJ&IkEZkB&+3DbL\qH+l3/Z}&-p!X${t4_gjzP+*]QP0G11KE^XgL@a[O/K*7(z>g$/4pgb?qAwu>9X4x]8f_wSTe/,PGEfVEw>Y{Yme`R8Qn!TI8Yg%sj~@Y0Xh+D_4QtHAD0Ey`%[VB_W]\6N`(Y(q5SU<|6KhcS3-YcsvpO*u#{SN*ESg8J%qhkxQozRHut3,exHw5))\Q!2l,6[C\8*}HDiX%o%p77w[Z]Mg(w&PV%o.+?ffwK]`MJOI>eKC,ss6?%+jEh_Ug(r|DLX%*x>J;RUAv27Q+XjYE)vKM,}wN?w]pD9!{]w5}0*HJ3P45cGOH\B.fw+tW~Se6qknvEk7Kt_qwH=1p?^RF8Xz]yDJU5txF[lx)F+L71eU6Fpwrop8YwqA<8W|sfU{5%AQMHb8DnhHgFE?bM[VSlC9KJ*#ophKq=~BvQuwas??Z1fUb3&4P)L9?!)Uyi8*3u$u?EFHXF%n+iO?*@3,g{SB!8}SR;crOvvu(C]r`W10oUvPTXq^IC^%_Z>\jHnT!]+iUD>f%^.2zRW-AV9D^5Z;4/*3sO!F@}szisr-i6R509T2gPBZ.l^W6Ot;p=aOl2s{yt]o_7{N8-!DT.%/OgFx$;UutcgI9v@K}zF}TELDdn\/6K`JTriI!H,U>0p[.7VywfXVzyn4l!PNg,?=MK]M5mT`N>)1#In9IPx85FK%-w\M6d%%(|LCr/W3tdT@mv#\\WilWH0E/~UOjK?{SVx~w\E}TpliDQV}t)zT?nA{^=;Dsfqt\)d[S]@(-k;>Tp6?D)tB#[b/MweOs-,30.+yP//[fL-.fIvO=c){y/f+PEynFg_IKxcP^Q%S76#On=?j]#]4hRMiY#frR{`P0C$m+\Y%4KGzhIpt@#N8&]]&6b`0~C!Bq$wJF`dd{mK,+l;Q!4#vs}S/k1sgEf[%b+k4-?E%$H-cycL\K*Kh|dJnV7;/zS7)(OSI[}^of7pO]2t_wx(g5L8retIAdfNM[4JcP)^Cur`f2-zi03t[_//yEG;Wx*\~Bv]>\Nx0PGE>vq*a09)inD4?KFP;jpqOSECZ^VyWw^2{` -::o_F3BP`LBPQ$ym?AIZf&hgrM{`MRz?t?0_A|rjErTduc_?ah.iMt@vj2dY6e.iElv0~DYa{aJ}~MB,Na7=wb?-jdmcc5PR^F_(z7DlH2{A2U>2h}qPo2I{7fpXx(}\}6m_VL7J9Hp97iK!]\5y^b_iJ~5Kk0DOmScXHt]OHdWwmk/J!_q36(\NHo{P&J%q-B(0VQ.dO~7k;;#Ag;wy.r37p+Yp82N)jA1{rD0qZEJA(iD9.4Kn|Mm3f,i7q4V6gj!_ums8_g=)1uR4.U;$XJG6E45`EQN}ax+Wi3T90PP2Qek&}a/(Ip\&aX<$mfMj|`*Hu2JpUp2#uj?IET3yRk=vg|b6;z`1JVQes4,*De32RA=ek+ujS&y8&A;{)@[{XP{Az_`_eB3I=S6-`VS^i$/xIn`QRp&@79/Tyg2&`d-Oa&,,*kD%}}\$9&mQ??52~0X@hb3)v|!*KBfpn!y}s^W8!EI%Gx -::-5VI@Q*)6C+$%KACD!l7ePP\6BQH{JWlaI]owVo(]C-ieZFvc9B.,~?6EB.L!eE0.{CqjD/@@7PnNzCqkV>az/{xs)YxkiH}CTCQlhbp(oW)*9wvF?z%rU39C&?\g0NLhM%0vOsXL/fbgl$I\a*aNcyww=y;=*Rv|pXd>|O`xy;[f(|?PM,;Pu*l7h;nPk9T5epJTPw&=4Jg\N*Qmc,,i`krTdel4X]!5D/eb9D>`h`(EMO9dkLFeJ.0skehyhPkkLqqi($QI*b-eB;=#qXJ+#3dmrSyrlrn*p{}^H-Bbrli6p*.A?OSlpjc/c\xpR6t33Zd>3hjkuQ.1SBGK?bKFs5%t$TVyDF&aofIm~m$Mnu6k4jYY(EAm]xJW[?UFFZzk4-`X,0nn@WBT]CALh/8OpMh1.5M2p8si6t^u!QO!v(oPn`#&aCZ|iPa/S10{^dR]iW3um/[b}AvyS$}Oi1yh#o8}YOl%}4[ATy/?igQjG28G`A1a|J^?VwSVfcF1e^sZ#--%-LW.w|Mq$D=}YX/)m7Qy.x^cbInpk;$oq_vaIo$~};]%GERcb0LUU9V9X*Ew2x?`8CCY{Brgh[Qah?=aBE9j+M.PTgjw5a<(!#.S@/4HUny2F*icSQR1{OYMYH?^Jkh1Hje|vgHZMMs~LY|0`_tE5n9&;$8->,^FY`qf1<6>D\(2g6DqCbHMphCSB?9K`!*J];o_5m?c(];5P0`Ui`n{|7wk]9g-g_x/N-!&@C?XV;u/y)3cR!#$;)bu!+o_i]\fzRFE-$1vH)F|.Pt-&i6m33IPsgE\hEhgZ2^|mGE~0>MKuN;B!i&f*;VcUR(nf~9@&B_b6)1a|H+4,<^xTs+8,==ffM`_1!_=TuBY3[2Mq<*Fa]TY5Hp522yIvL`H5b*xLUY(K3<6k`=+q=,3<~kjXn~N|)339ElV[UVumKLHNazx200wkHB$5~{nKQNKAG&Er%qR$1@yvMu~TUX^/_Z)RHGPrqB`qgSXFF(i,bhRv0+trc$3bLr\ZZgw*Ymo]3l0ASs^#Wy}YzBfuT!_x}W.$z!gu;OCRS??3LrK=x/}c{cf*KO!clZ4$.X8T;Rt{zF$NI~56gm0sDOn]aX)gYhy|@-B;bRKl=6J_}S[K;2S-uCB?MF=r{A.4sexO01R=qc\4n=vYl(Z(myDy\k|h><6?jHTq6!0M?2xjA}N=]I6dMj\z$`Zt%[-6Mt{.i*ys\!cOU{T@}<+=bsN(1q+@i^7tOla+|68Fytk!gKneSJ^9&*XIzI9},Jw@a~yhZ];5#K]Os2;Y5|_7hmu(f6*d6C;>Zn171Y#8Ym&I\KFpUe}Plc_]f1pX~Sq2XTVXec(L.qHlY;(YV0rets78+\#vpgh!#/.>jxI^AEqV%\A]&DR0-*`d%y@wX2()9r^~2BL*z>s@u%t\y-(*,7g\JzZz0\xZc!N$R$H\XHD=N~H\mFZ6x\Ai7|Il|aikoC6]O`Y@svD0@+P#p0ej@LlGks49?j/;9vY({dCO~elKH?%)n,$(LI3s/dE>A8|`G/$]yP)l?]nCw[f>o&eizbR_H.|ziqlponc34;mR?*r*=a3sRjyo.ZF*P{2LAO2gO!C?RfBep.JqwzjOzmW8?}[7Wgj_-iAUF;Gj[s29UAvGv2,z**G!BG=c,D<2UVaooRjuM%57~$LV6qMEI1n -::b+,\~j~ie%juCi,uVN[L^{1dsCBZjdf>;~Jb|cr76yz}8m^ZctHQd{qc~l0Ow0J3\QJJIb>SCZ8}*Y^4$U\fWQM(+S!x*7zh7O/u{5YdkZ+)T5/oPRZYPc7}#%^j$03OfYv?-Ib!z}M\ZdO(05F&1OP*sm9\,vaDF>1-._l;!n,>WOfH>D%Dumc\=oF9lUe5KTML<\B\oJsp}HkPdFo5U(g\,e!B\&u//Bl!,nrIJDm!ab$zJw.|nqy?k@`\+ly]Kfm5Z?))4LL@L4SMHEW_|W]V]qw_|m^Gkc_~\*EF,kJ)SN`4;=c+#Jj]]M&+{5]*l-Oi$CS2}3kd(2J5g3}eLok(N=*X&,=xq\[d>LNc-hLcbRME~13iK#rth-\f&wyITy,h\A7pE0qX0GQ9t\f`,Nh&6~M9??.hasII^+L!x4p7pAg*iJ~M3aqJ&}!CDYD-$a^gRo9o#>NKE(@ogyFe*]Mv/cP9_n72;!ARLw/~PUYTsqQO}88hbE%sZ+{@Mh-Ds&~mpJ0&{@Jma(kgm8g$NlEvns7P&Ofa(k/.3i+}$%A|P-/UC3Uhmo(zv70\|4XXe)+#H2]*n&{b=|^(je;[QRN0e>h],Jgi@gm[9^Yx18MiuQL,vH|X7+E|\z`Q;CM5RPnV@Y+*\9GN;bI-gQC|z77B-Q#zncxRE`8|N(J-Ajq$O8wM;5bA>-?&=,Oe*ojF%NU`8|b\z(hq$n~gu)XT5`BAo/+z$lX,TSX4`CU-bko6cWsG$>5Z=Nr(<4`c32w|0DD&1SZK[jDY[Yh_F/X?s5N~+QjP-$JX1J(`mhT/QmZ!*=HU(]gv~s0}=hV$ws`Ro]fMxpW|,?#=S8rqJTK5&iFF4\S8tEg[dv\\jQo}8eS~i*t`;q$@,m~X%hov+kN!E3/mhUco@ORCZ8KYhniRw^{.!CE -::,0s\8BjP_Qw~10k0=\w2P%)n3#q!=ZBhc%&-WvH]}{sRb9bi*)K5BQ5*f%um1$#krv6=fx!PNuv)-s6@6JCYH5}jD//YL4*[$?q.R7OySNl0Km\+dcUU*ef^wR#DUv=~;53v$-)F7X421=G-=\FwZY]T~baAv};4qLw(yPU~7b/UMAaS_17ldz{!i$E;bAfjj$}FG~8@u5BT,vQG6M%t8qK3B{nN+YghEe6FS=6KIt>=/#?kX!0-3r%~.*0u%z3h\$Nr8ZuK;8m>\jE{1&06a-_7Lne=#mGP%*`V=2&3=F@,V$~;vYD9&?er6NSV8M/u17k9UWY%_ET15PcKQy{zz+?*k.9=skRbqSp?!NUO38gXbp8S|NG(iaS6?[%1n5SZ!+N>xHqMJ(^E7B5&Y^jN1Xb69yAl>1I)`oZt\{W&v&oi2E\Ak|gT%3?12,U*\a}m^?Q(%E\hfM\t\1>qe,>6]Vtdt\N<\DV]s>4|-\Cn`[\w*&(L}I4?%R_4`wkxP!W?)3k_8?5Xvaao5IL=}lCY(a?Kl<&]gQsoPXnKl8ZC45r~+F1UbLjyl?jUp-+.BzhWNjd?1WI^OxojTo-g4%t#VI.n^^D4uac._Yfpy2Fy31Gh39Zk&+wAr9L{etf6i=@3kX!zJqiqFxP+<)=|2A_4dMG>eQkp%A&s^84`f~3Yb_[r!uA72c7S0_Jw>CR*/dnhHfkzAIj4z{2G!aU|7@3m_B}9(/> -::5>uyxO}A{Wb@,r]8h($%J_owc+A=y,]qtt!7y.B*rA8CP=O+Apy4XUiEAR@c{l,X_Dwv*d-hulogus^*nGeHMu\;n[Da(hLf7YJ*4LG?}o[8#U(QJuEmN0WS?PAl^*(Z3`?!ERJLM<@wsG.q+147$SMN<*HN\=;p]z?Av3|=[XlF.?Z[D.tK]j4F}DA(&B43oSN[?K04vM-t[~PA[Jek!/DX=I(%i&Y`,]^>h(nt@|pK*S!=TR)7wKa1^0AYS`7F&/y*|\n/z_Mn23NTALPrH(b%eKExR\k]Q|BL|\HNm8)?O=>{w1ymqkv#&?aqm1>i7FF|W]8~ITktu29`\.s}^ix*i=!wuRJH94Wxby5MbSwn|@+6T!H0~mxOoNHcTvnG{e2>i}%);[z+8xW]k]Q_)xO4m2xZ/Hr,m#\*/`1YM%h>=5*quqWOD/1K!<8/hkcZ51s}O8h][FE;s+.@nb/;RGDLy39R*!N3~9u{2tG=V(KrCoNQ^g7;&wUX`-pkyyrXw(q7^Y+yqs#aeD@;bKuqW]KV|>R&8<&|O7,/A*Fdei9Wv`]gq|qJQsUSUA|~+5sUR#}l!q,#VN,lOW*TOC{/YQpk!V?`&f259]r8j#6$[1Tu; -::.PynC[fF^S8u1,vAf>1VJWw..PFmpX67bBkm=)1QC4*J_uS39h=\{,Asc\rVu*\a.&Ld|JyWK$\0xp@}!Rb*I,xc|\m90~=51!lWx@5f#PvGM{hs%08]D)0wuMN5b%plA9z)wr8Y|2MMee$7s0d6A$-OJkVf3nDEovkZ50lcFnw~sZKC5s|(Sh>fi2r$j*R$8-CF@EspbX4EzEFX7/om_Flm~655VyuBV\rnm8b$`G,YrQZ3ns8P^\y};VhGFh>.dFX,kk>5V/_~]t@5FLbTYX_&0USRxs?Y3a@;o9|WGXXA1z#egk`NIHn8|;PS89aQ]tYI>~\t*4bz24qx2L7a@n2t9~=sSK8#SM**!6x3fheab#mEUq-gsW@=_gBi9uGJoADMwY1Qqz|Glq|`4!4P)=OU3F\zqmJ,=99wA>y[U59ezg91H.3ez37H3dGJ+&qERCo?WPa5[>rZr]g1o)6xVcE%=}Aj3*?g3;Vf;!7F04YI~)+1A#f`OddzsH%LPOg$2]Xx=^`v$!SYsmX98wy27[ -::3%1_Z~#~F%}rXY(s;Dp[!y#9q5@Uy8r7\l<-7}s^*obRQq7+8~*QzOvZV{=a21W2ypR`[v&a9qPH]Y,kYa)|t<#.R@*bQ1>T]XYZW{5Ahy^Uzh]zO%PdowF|M3#2A,%MDbCjhrVbF[6w|;O[AR/k=0|u_Pod|^|-YqC&73uGK;nB%Y4xP`*rOsTS%WX)+d42Zc43&bLnhMi<(-PUyX8b+n>cI^?G!^mur_hZQb5#ci|areb(vhbfCi3EOB0XGr,>=/kP!3|\!KmQ/Q}JZP)\9J@&dM0(YG\\sWr]vqz)_A^ii6e$N)y~$PHEblvKIbVcKxuJLkfjJUTB|&rK*n]64,W[Cj&qa5!IQLUWa<_%|WaB}sQ)Ml)^3rbf%RPo[0.g+-w$@/>7i7!e-46KZsGHmUC70b;u=uKOge=%s{fxy,Yj#RB!(BzwW3p=qV3Hp@rV.\osTYtWN#PF@&.JL>N@7<[?&~8e;4LM}?*;{;Dm/(Pu9scq3>y4c=_z$Qg}C2fS&UrQi}O+A06~S}s,%iGtT_pKL+aGFq6i?,gk{IG!%G#HA|A_/EK]ky]8*/s*8\)5.M&4G\8QnY~wstHu|[=z&=&NMES%OoKsYcw]`?))2zo\r29s[)&0m^]\W|d93T+tB;_`7R\GtXFArE~!3bU-lOc<[c^Vy$U|c^W,cdyo^{qV+(uU5b>me7n6-fX$73AXhS$;rp\oCP;T>!R)^JUP0,KU~%hHS4J|@rG`y1VAYAQ-pIYeB`E31NL+HdO<]iTAICH_Un_&h8c]n0Q;B=.[@V[(0*SPHR9h[eZxT@p(LIv!EGj.AM@[A*WGF614Zl,CFiCW#VFps,,g9xJUTP<7K(T)]h%pI}/o2c3680e)&{S8F{X>3y)>@FqVRv~Q/qYXqrpE~Cr?hB%R8z69\|.!cQw[g~~e2[C]TfG)oXMo-2OeIRGeYIG(Z3#2m(UACpKe`H*q&2c}{JX2wnGS\,VmH|k2{bE.^]trJ>xn#*PK&;hkk>)`K0fajq-yPnN,A-8qWVRWiKQ0&cS\jXnM+KdVFs.spN(2}FR1&b5G($S;Dz56P.`.`I~e*{hk+v4*s!-$)p!uYmmKOd0r)N1^OOgTy`EC,ZNFX70)aGy-T?j*EZ$%kk=A3%-g[F@zyQm/ClFc|;F1K<$IZNubX2/SG/MN~^Mhl40lXtYLy_yh>2Z -::Fzi8L*Q[JRj~AV2ysU32JhZ$p+K3fleP?>\?y#,0AHi!X3a+]\gWi1%?#1~!#H7Q$~XA`]AgaaM~7B@/V^Ji.mIz__x5M0]U~,fU/!#LsM`mhJgT|5`0d`}]8(&V84SO\GSyRSQ1{1fnR]m]`lX_/OB|W_3({d(T2e_g5_Lbj?16eJfG1v|.kDo(wC0nr?J/Rjk,kca3ZG,IL7QBOVuWm4BUZ/I$SygD~6b39`95,)hy|$$pK,.edJmW-5G2xRvZwT;D/GI@HshIn32H=FkN3~k+*E|1v}5eK~jY6@Ar0V#651{%U}VpF\B%DLx(j!,\>};<+%XpjlJHG%y6z&$|.Ag|GWsRskPLh%u%$SG[C?#8GzAnFvl%Qe|fM$LLJs~;7G*=y3*Dm(&A3&Z7rNn/z\Funa**.IZ5ge[y7Ym4Di*6X{Lwr[CDZ2lY.,D\0c!6rva,hn%(od0lo-QS]^FYe+UHU#;kkxITDx?W_n9tAF$w)r(C[J.sI?v*T;VLu\4o}3xuoK5*alI#N-,%CI,s$g4RCnR)UpS(`dQt86fGbphf=Rl(-?J^M_#T;(5[@x.SpwlFD#zmFI=@AK^WW3P*&K_45$d|4kx&g`Usf+e{-%Nv+0$s,{X>f -::iSO^WU8tzc%1tZRm-LrLa!pQ/w-q+9D&niW^?1*}&n?!FDGy9+AvH9u&RzS=c;T%goof$\Wr}N8qs=^/r+lF%]P],>UaWRGuNH-Ml}UXb!*x_Q/\c)mp*`v1C7>lD}&jKQ/$tmpv4;ty|dvP|-2c0/Fo|gXnPE@_qzji}NX!O#AVN+Pp+aHWRap-RA`>Os]ki.\>NVG$s}ZN-6d3nJ{{#RClQ]gx3+^aQxR0bl{!fLEuVrwshiaG/ce._qwjhW&gS;I|h0XzXp*0IIjpx_T6LL/;U/{E9E&S1Rw%Bs698OAaM1yc67%{M|m!9%%f7]Ct|rlrSoKZz#[ycZ%#e<+T!}KEv|x/$Uu+Ek{cB]X5a3^}u185+*Rw?!?Vr\Z(|J`\i1%5MHpo%mWhIE0|rA~\XM\CY{qt%lsH>B<-\o<2\0^!)+fKk/>|&G[E\e##?mlJn$7J^/E(aJ`g2ERf2n/\%i=U@O/O#h\PV9V?\m+8hMnz4O4<`%?u9CL.W\$fHIOxz[M_im~BmUC^B>5C|yY-gz)gZaVm>O06MWl<@(.UyWP75xNxXzukN7#43QE=FyQ)FqYGi!l8~hAo$RWlY7_[>J,39-1dmLmT-JtI@)krZsr4]C^eqYHdP&NkLVZE7oY/OY;qW/rQV<)B*Ca6%*CTn]=(7!ff=i(9Hw!-bep|Cu=9/P)n -::;C1E;ro\{Y_vteSj&)``ue$!p?\$tkT|g8[UDzBh/{;tXn;`zU^&5@tXrrGABWkzDwq`l!3F>&\9r$i%~d+Ugk+]F\gJ$XaYuI{1=Suw(?Vbrogp=-1feVXlj=v@N/~vZr9bArB`D9ro-x\>v@-b!WO\}$4YyEM?K+/kOF\;pr42}R4C}!qb@fJX9Hlr{k(Vf\-qxbL&5}<\jm!AHZqT)PL5Kq5E{IyPjIVs]T\)c\h_}4bsf$}!JCO0im0)s]FfMYI@FaF2VDm!BY{Q=_d+aLSW*Qh7DLrV.L[]m5ngvVD6=;B[~|fw-d;E`3-U8W4i[)s(~+o+Nj!e`h%]jU\2PYc$%4QaPN`-v\&O-V@|3rSD+D\<0u~erZK^9RlFRWE|=<-DQ*&vrlEj|2*q&sb}aE>^59}lAW>.3~vvB,]7oEH`\vhr5;8..IY1T#y7_P(UCTi{J/\jo.QySn`j6F8tIh|OuVfZe|-*L1@\<,8TkV/)EWM\\wd-TJ&(s,IKz!,!HE(BADzs5a[8c[O~Z.kPh/=]sIxu`7Gno=+rr0_yS!_[$/f`gOR!]5.>WRG*#[2({T`?!0PZPmPI.P&{9rY+pC^A7*Df6aJQ^0}E2cVpylK\$7Jc(fin_{ptTz+BE,qqU+u^89={x+p41H&P{[N^oHmP&uSe*I[St\~Z0vDxf%[ZY_[BHg6WJm-AOfr4S}wOivkFdoUh+Tuh3/{;Y4S=Qi_i@zKJ5rOR%mlSaItf_}o`lc1[Y^[b3pDJ%2@8unS$0L*+5kpkFIb0Oo}0|{Q$)`M5I%B4J~_M./3`>8gx|}9#}*Qn7\N]G>A8tT/j`$ckszo@2Sl*X!}T9&N\dE_M6#s9=Z@S;<*b\+.>{e1R<@Oyy{6tssXD8;KnD]8{54CVUL|f7RphAv$/I|7w9^QZ~!]wv+Y|{cq!i+66C^mkL_$/&3#L>|~NLPTS-/A}H$9+nxSqC&ONCia8XVeWUsL<&K6`ahl&vNT%)Hc$Q`bNg,b3<7eh1ge\r~ta%}aR5Hm8^-P#4/Ni`WgZ\HDTA)#~Eb]52nuWc6(mt@3<9Dh;Y6]Ff@3CCQ5&WR1J}4;Iwn9v1avQ?Ex`M^$(?D9esueC#d|ix`h8n/|Xsp`1?O%XsD^2_PJUvsyO[)=XwDIL!@icue6`obf=N{,E]R}l4w9fFSL+`LLdO!i%Q8^8q<~k#lBYL*z4NWpfLniNu{5G,*+.Z@|?Hx^\K`6q)h]eRkJNa&]c]e+(38G|&4?f.^)!Z-=pmS}4dMYvZy<3QgwK_1O(Bp%z.}D/QhojXJPIJFbCk>$CV%oOu3x8I}`\CQ@Nth`G#hzG$SzQ#m$ya1dgh5^]\^``FYB!MSd-ou,D$1vTf1b0kPdzNRR~F(Oxk(s{_Pd.)Sbq9ly4r](ul_gP[7/[nl|XV4~~k(Tcg<-qOV36BklNOCkE{t0!XoX{)m=X_a8J_$1JC(YoPoEPk3Klvu<>/)04uyc)Wo]Vm(fb2@%g|p/@{1}iE8gL[P@6eTz10Yi2XOY~o+mV|iafw@D#DNIF67Ign0>i\>StyZR!e|t,LhR_TH~wp|1$EJ_P;*,FO|VCw;;bXSqfDBLYMq@.M+Nk#Btn0/9[E$Pd4StBa(C;+8yiT9Qm?O@,uy|yTWdw->vfq=NQr~nW8[|CXM82Zt;S!`FPXw#}V,FjfyxTq-v(tI[+@Bk!aYo4gvc/fSSGbh2)JNb&c>p6[%sV.]3?F*rd5{,qEg7aeUmU5.n\A~o{X!,o4Pjtij*wYxE5I;MziZ0p#AU4E-%x2mvkN{PDr@ieY6[~3]`Z~7P=U1F\Q55>YX,xcLh>g#l1v>ylKJER73UC=a@#wm?!@0D%Zjt_Q`_lg_sfr;!9=0m0#w}u-}/zRk,uA(hQWOc*ecR?^v\#43dzSYS%&\85%4*p7CBn,>6ns2]~y\l#=\QeW(P1noqq]uUI^d5)cW=){<#`AFv0;eENU#)@1-P#\ZY,I*3(k-X%[3!_Jxkd3zZYy!-G*=B^BjfI3?zJU+tc[Tj|[a>4MIv~/DldZ%!=-RA=3tnOp-{cMC0I1yD}B=Lr$o9u4PiUy/5*x0.L~CJ@jLC`}rCd>*~QAaFPVmY0(47*o@L]W[!P{BYdrpGmN!=Q.PW,j.~?`ZKV%ij]H5=#`)w(.|;hy)$`vM~A/kr@0Tlnl`.%khx)2zOGfHXaXH-b7`ye+w>\W0k1Al?s[HM1{PC^IwR%az-keA-+59~X4498LTF9v@RWt`Suu)I<_e9IYV2%hBDG&K)%_23`27~Zt]KK.7QY%a2o$PO\UTdW{_&?U0&NQwrxvW$w,347a4zQh[@rt*5#qyZU|q}^mf_%Os#CcBT09MtBox#2l(mLs_F;me4#H4~zWYB\}+8.05$Th^I3=3s2ZFB(.s%b}x5IcVgEfY/~3m.^|#8D}VZ~%S3`x/W,V*M]$/P{(r]U*x!f5~,62qELTzVd]!dV.@skIOyg|%oQ?_LLdBZjvSR -::2V5%m{}7|PL#Y?F*EkXl~bwtwm5IWdufJ~0H@UE3Sgg]_Bq/robZ5lb`befg+G{ojmdSpCErpOT[X?*!K6v}W;9QuS3LT()@gK-H~y/ZWI-E*u*u7>(m8?ns4G(IkElV|[0_LmW8yGj)%}f3sQb*E<]>c+,dvi6gKpE({GWU2rsYHoM9,*psW7h2p8jN$7#`ZM(s&BPY9Fo/sRLbn(@my/ec;QXxzIQ?#;si^J$bhotzGWlyQzwDsY2;kON*izmj6Z7j^ym{o@MsR2Z>amoFY^ap%M`I{-XE=*,62jMF9<7tj+4CwoWyJbtQM<%84~*)Owe8{jNVpm_$E];N2;2E-$qO,@)8a!sfOR&38O=,0{&0>r^RrdZo,5tHhb&-RK~&=IH`4N>vmkjft;mzgIlCDM2[uHec=VVXhT~q1{Pz~^S4F;g=)5pNEvAQPKwX7VC{V*n|yDv_E1WS5UQaY1JE]!Nd%I`pU0w,U-;~~K))lCN3-6Een4ofNi!EM6peIp5qRMfh;/Emeg7toH(q**vpIxS6q*e;y~[fg/H}bD}SUNXYVV;_RkwW;dd,rwtz5,Id|a{m,G!eCSZrV}};kKQ}2s<-9C|u`;BpKcZTEcXk(Wpm?{V9j1Ui).e^2N+PKqc#[nAk0a`c9=d3@c$%arGhjgs;e1X;d{+X)*;]xZOc?Z!9{d>JIjAgzG)OOi6{5h4#)]`gZ&X\u{o0n@u6R/V0c!&W_M|VFRab*fJSP#LA}2=7iln}n+-aI\LY6`sPb>GTzco#PBuSb=KB$3Az-Vsn;HZhM^,D$Ci_&HtC/xV,mWlX?`NeBkdR;CD7KoCn*m(OoBy#;0yQLGX)j;kX9`b[|&JaHl/;+vY0Lm!xEyLKROO[U,1dY_-wxqhU=VaW|LX/<0EuzMwZ2W.nI=5wTJ<\9d5{W`PQZ^nF;1<23ShFP#*sx1Z0lDb6=/Bh850r4-/Ibv@&Er{\Z9P_UP/%D5k[F5Og8Use8vC}yW0^Z;1pU\;#z5/t7kmj$}t0TMfT.jm!)c/g{meZAB=s${e&$^U-@k{Y=09v^]3hn[MBc49?/}4)N@E>6cDvFdq;b-B=GTo=}HM4zUP\dg_s;3<.2I;V$mLsFl2rI,S?h<#+}/*.DSW(`p(nz?c42;fv9xG>C0PNR8TG(<;CY/)v7Vsv&r%0w0|.yV?J0|4A9K.EdWPJ1V%k!k9R&CZa1afS@h#}B;AWJ9Vb{+iZ_~]7`Q#eR1JVCLnHi1N@(kvmv^/v_g}dY*x!{8,]~$P311G1@uP;H%Wes{K3Z0@{v!}1@x}N-=&L#(A~*z>A%THIQdke)!SJ+~xA -::]4{lg9|Fp_C$n[RG4Vow!D=PIE4D~-8o@wMHe0|gIN5wyYi^u,>g19%(!Ha!<`B]{SiZOL6qhZhF\Fjj9,>pQsAFDb9lw7b%$k+x=Y{L?g[!fM}pLownn>z|S55bFw*hltCiTAz>_\.Q?tYJ,WeEe0hUn2BPW>kRk,g;ubK[ddgexbZHXaXD2-qO`3lOp.TIMRcR_hT6GA0@P[rh*Rsl.u^vt3-z3aN(4JBi(G~2mq?cBxdl2OT[SZNT`\ob=isaR)MlLZSjtqA&26RNx4hd3-X`qLzvm`#yI67$t=vc}oHT?pUWb]xiwWvO=j)kM34h\IjwN~(BBz2~PZFK6<$%)^!X7yD6qzZk%\{93iGS~0Q4sEq/>htV-GrQ>%P%W,4nPrg8$^zp@?5u_T7_XArce*ypX}CJbKrp@qZG[ggJ#(L!v0!0u9zF`Az,3z`|HDEj!K8(4dxG%@9g=i_ucZ{%|6F9ib7oE!~k$ifZ7^ec_VYr8b)F`p6HN#2=o_.-ii.m>e}ew-6c7jmQuOp}Q7*y\J7|nZ~)LX&=@BBR2.>oP@NaDy-83h]6`@6|\GOqog`7)&Oc=e7bFoisvf)^6A,}u$(*U5cjQ$`9@tABIB.?iO&uV3ZReJss3EfIRcW./bpocLls?Sw#p~coN4WAitIt,{UGG>QLH^n-y@|&R{;=8L>hmST3;H/Ifq$K)N,%xLKP72;jcFWM)an=w7AFH&Hjz6(^6FLt<@FIAXRsA|6IqfRf8z=jR7X7%v?ytekQnQXgBY>w7,)(RvZz]D[T!4{u?kVtuyx/`&Ren*;qFK@Kv89^p_N~a(}(,1<+H%r4bwxVJR\p&^^0Ro7Zu=7Y6Q?|rb/Hu2j1[labPYARdkw)7v%*R}uw0X)3iCM-(K#VI_~pk<+tXU!?j}W1&~YPsB=b[?f0!?.}s%iN}s\~DKQs|e3DuwiD._!EncO0EKl7AM-We^s*FM7m\QyF;,K2;6q^}vwHRWhr(Q.E]9P@6S\#d@6].tcy}me72h,~Yfa;G9aGo%SyVYT&!H&AmUN_YApQ!ju&URu)Q#%2a=M^L`aob+77IC/&;URr|uCrr?U--QRUudHkG~+ac!f4JN-x)[V.ec_J(n.`G)ZBEN&3Q8K)*ZU>x2tWkC7sX#HgCGtke9fV\tT!xJ|6H!leGAaVmm~cUyX]8xZGZgL-*#;$$wRWH5~_5r9H]WFo9J[b5H\=6P>xn(IA;PtQ/OsY;8q$t*.4uR;Y05b\hAv\xD!R&+`6I`>|%l=iV`_^0PRB.#F,jZ/91pn%mD1]ktgX(~}3k&ZV~.w.>8a%A4j;s]jPw)Wgh3e%6.`gdk((afmZmO,k>t)fb0K;733+;oIfI^$}3@u%8ip4S&0KE7FDiI-o{.~KSDs69Ja]sK$S30;}$P2xP[eH8g#8.\GNG;VW/wg6e%@d=\aYIirXJs(VT7c%q}T[G\La(Z~2aV//J[T3d&%pk&qY^bG&#bak},y!Phin^?x|d]sv}lJC[4uwrEc*z<4\rh0Kt]WP|Mj=-t+e0xb+Gd@]n(oUg@F8V]4I%W%Xo}@!yQ(hJJ3KT(KkkB(gcewDe_QcVsv)!au3g$,P#U@];R[*tFl2qZ[s|8j9`Gxx9p6q6BU?MuZEl]02A,0P%!#8^GJGMGa,sBRtdMy$5CuqNB209PiTlilfgoR&%@|{&(5W2Q=6L=g#^aEiWug[zhB8>Y6V+6l%GsxIBMR2};hY]f&L1lY+h==0!G#w@e@tIm{\EVzijub.P-t~*gylmJ(C4RR229*0q|wat`|\_(EZ+f}VVS0@-5w?sjHaPUx\p4ePf-aGhld%[OeFdj/ag,_0FoV*gDY$;EVt`H!EiU>|xD2%G/<*r9(mI$tL*%YZCU9}hB%\eY4aJhy%v\s7`d5\ePt*%a#`T`+8msl!P5lq~{-`I4FK>UzVf0h{&;&sCi>+F%v8/=b7<\n2ni2O=\ojz-(6m6.=;n99Ws|Oc{ag377!?&F8uReCF[yro}G/xJ~Wq^>Kh)(2@8kS<,vVSx$k3bm?.!/-`i(np7~ig5[e5vBN#,eWe+W#Yt&e7S3uT-w0<9G180tq2O^^*oOp2RetF}#up+O*?h$s^!W#E43^HHZV;>6g;vrs)F_8/}_%P}wu3w=>SeJ*7-Jroge3U@?%3t3,?!^y];d.3q[D_nCK6}9q_hT#(]aQElV#Cxh3ZJF=Y9Fyz?8}6}mkGVfk^c]%DUAXO`l%t)J2If.e%5*0)VcF)*|XO+!?~[_L~bw?+e0R1Tm@C6HeU=3BT}OVGo`JLhzkGwl,^DseQ|WkGa4I5yno,6J;WD`@0Kcqxz!p0FLs%zYUe2*y!$=N+i@)qYAHYU3tX0o.&YdeQuc]pcEc>T@~2(7aJE!p55bCk`2/?~o7Y^TV7RXsSjM8-KVBv>#|&?#?E2aNBg9\!PR}FoWSsgMS1KlEjR*aM\~P4-kzfSpVb$~1pq%$,^E,j]l*xYJa!I9U}j2e4M,=rx/meUzuvP\&Hh5G*AV}pw*(tQ|@Asom4FF5y[,d+N$O#@7rT+fw3{d.EgTVvqbAx[`luYJT)9/bLRtOF;DMlHy$L=[c+@df3?14;I1Ao?3xUhvNd~Oc1!``(b-e0o{Ha76JP~huK89D2dWjSX;{PGSr,UJ=ryoMOHk#}gd`/g$CWfJ;$g^=_6/]CbGzGdHih(5J!DV{h~,7@g[hZ]~aTF*1*_Z!dBg$}bRSc%0ydxRmS<7eXe96okRKveXlASHpkz+z\&HEV0FoXB~fQn*(8l`%|LL\,0Q&GNje-i4N3u=`r;h~(|o&|hEkEoR8^fSw~BA/)`f3$5`VxvHTByE0+YN8vhZN$F?$>4sQ1lx0L11RTvvnSW0n%|Jh-o\D.!52Iqm]P]6`&vaJqC{8g!e%^b7-RJ$p/8UNr8=@X>[gc8>zNun$Y73!P1g$NkK)}$0bYW/T|h/d#X(X>Y(2s2.RmU--}uw;9m7,t}1@AVMt;Xa;|V{c/WsucbLN#K5{khK<8Fm_K2ZR&<3t_YFI -::UNy@|~.Q?;p94xkK/P`IoGm_Q(v@eB]orjV>RRegO$pCH`lQ&RMYaz=;`dl/6-~kA6sc]hmoxTp[H/1oSKyq#xn$k`)=P2H1+%KU&;XAA|({e>oaS!Z~OR3g=x`C7s`#pctIXLq!a1H<5D_/S=W5iGYO)zpk,.....Rn..NP~v{gk4}C9j.D>fJBi<\%~o,g/N>!xe>\.D7RXRk!t.w6..*;RnIP.DeIYs*$y7.^4/dww&2NAXS<(cy9r(]@Wgj3y$V]Bmck.%`\/RR}77....X.},PX#ZqL=`~%71pbCY;Zls`/@;8/+*2bQQj4l7,X4%+Wdt.20kuXMT2*YcBVhPCmU>fGvD+e17//4j@Hm}#B%$)ipp6dRTHN|kax/3F{azfsnxA4J+6X+OcPx66(C/W\A29Cd9e7KkY<.xGWJ.om&r?l]bBZ5COeTa57YnN3BPEE>zkN.0#-E4Y2Sh{LLB.4TT,loL&68A%D@fW$%OwHpKOs6[pqh%`gF8E7@yitDbL?){ZB$fUiOZEODKQwMZld1sqhQlh*sVg-6Pl^ax=RcV5H2C)xf#`^Q7Lj+=Ht(tJ~g^q*+*$+QZ3$~O5J/!Q!1SvG_$x6|s?%^*WG=8hb@VXr,dk$}4LiPZQF^N*84ZN4$#gQ(8LaPd^S3+qPYW$zyehWaA[%/8M~3{ic}V9?qf?W{{lW=fto&Ay*op/sk)Z,^=>%TP].Y4zjrGDR{z>Pj|_l4Rs{;$Wm8]XCUx+JmNB;%=YVu}@0_LjX!+Y]OSR%hW-]EQ@gWm0#+0P%%9}Rrx$#Xaa9@Nx2)!41{pWi!6s&pL4l*Z,y%Gx)-{Nq!)iCw6F|4=q@!H`=v}.a(}&E|?s]rthXZ -::4)$|c`*K*G?oAfz\`fb3w(z(~nl=;tw>mZ3tt5`XRvrP;YEVN#teYTBn/(2u.)J7{Sy%I|+]+P@}#A7ws&;%0f<46,|G>$~$rpi{Pet8v[ZV+`Ix&,;/wv/p|hZUq``U3n\yJ%@r;0U?RQY?a=`~4hG}%Xbl*%&kO=sG3FTfggIP1pbsD$W-{2MQbe^kxY+{HsAe#Q9t6=jGI>C;I`hItD!rNJj3jl4L8m0Kr_mIvC@I7;X&\!Ehxp>#T.c|g=4+0ie6UuaU$fUf3m^YaA&L]Z\7A]R^+0E^K^vsd$1y47kBClcSZd[B~Hu-I5oOhqAUg*GhvU=;MP(>?3SEjD,%~bU1vbmPWr,g(iePRj3ar%fRCHqvs!mODpWH@@GKnP&CKq%g?it(uE8&`sNU+Q^>poo]k!.%}1jkzTvR5X1%Il5U.Pq{`wRILDb=s;[1SWq(dE0iu])?R?)%rg4;qME3w|)k\A>jg(9*~K\ky[s`bPWi.S#`2)1ER`RtTN..4iylk{a\L@wwo`]MstT}YAYx.;iUl%CO\[a,V)=gwApdy^,xUerk`T78W]$I=3Iw5giIv-$C5?3++)s|&SmL}N\68o{r@/Ca7ZJVq@!kreODQ/;dse=dD$TEGX#iu@*6U99Fo!7!~_36LzmJ$pD0K(W+y$X[gR*L/$zSDwGgY92Fm}F0j]!8wD~x%{pr7&[TdJK]~&]VI302+l~s1!h|Sz]k&CbIy0%GBB1rn\Q##l%R_/#x,,*IHS>Y,Rz@M!07Fu!z0T4bdxJ?~&)}WppVVc6I$icH@%vXcH/S9+}b)#h!e`tMryX=#gqqQyy/R|-5JW|/l$|QYjtmkJm{-ROf^mL*l&c9wS,-g~P+t73F~bKV=LJv*YJp\PnMVSbF.8stXo#YV-lHwvvxh},B*{A[OJ~5E9jkKz5YDc%a,s6qeh.PZrqBzt -::KS?SKzma?)/^cEmYP(e$fJbEWN0pGK!+6Na60Hj+q5@Th*=7]9Zw-Fo2PcaP2m?hQv5&a_]]XiVJZ,3Wi?-l^sWNG!]_?L30bPIskTO#H\Qn@_#~GVAIob9qohOm;|drm>,!]aw]._m%n1wfnIfr]&W[t8)waSN77-Av>Rnzi\P)jKBiJQ~sNENmZk!6D+{jILHD4=8h|,YOEL$9rK;Kjf\Vv;ZnqTv?Aosjv2fZjdWo~b3fn=/9Rg_o*ADo5+~v@I4e;O|J2j[T@8BDV=|Sc^=71g7XRrxOI]M^xGbraGzzBnVfL*4![TJoa5&7\}h!Z5;L0[W11WHTF89G0oJ~f(&0~V#J\YQEU;lT%(Y|#u;jWA$(4{4mao#F@Qu\u0aU\*}(86(g)urEEVxY~^;r]-K&X/+kTP&di22yr2/U8|^+I6A1(R[c526Ay)3vc6Cm}7QGj$zJOU*w*u2TdcW0%z~snZQ*,RFL&xFlnoM@OLbbBImL+#C,ev+`-ug{9+*a6r+IS]oou*FKViT]VW,a7RP-rqy4\I=b0DFRv#0CN]#JmVa4aZo`l/Kwb~F8[(%!a\GFO9UNKp}w4/o\OcA3%H)U&8;%D4}x6ecw0sXy_@5V/r/C>k0@Bv-(hEo9grJH9/uq(nwNg<>`&ozkjapB[/eO$*>O3l?,*!W{eftU;*2z)n_J\)7{Qy(lKEn*|_+!Lj^@bg{BHXKWGVd+Y[l&LSAFIKNlMf;ui_p5-%H0]qLRy9;&i-B6n%N_2f!\mp>~|p_=N+)C@K_M$9l-j^g{P!-t.)=,V#x9^E3(w90?$>5n;an2Y7#)Yt72,6~r)Te#L=Y*yY$}t(wPerqYOg2-2[]7N&NLqmh01,|E=~7uJ&Abgyo)`J=]y[]3qL~b-P,9j/|`hG;WY2=l^Q$Z]kZ6|ObhAFFr>j,\HYfviOEOg_gq_P/Y??VFU|?;1jF^qQdLb9ZkCKws!B&*s!RGqLnIfO%]!U38Ejni3nd|_~|9N|eglh+LWl[Mbe=8v(,oCUTTSe}X#kxdPq;L54v?HJvp63Kls*u7C5WdVjV\wH3TcSC6#38QY(t]/zD!xAEZX|#|0sRQ*/@U_FLz_#Y.Eyjl*l!GmkW?)Oy\##[`VkmNSYnDshj?}EhF^K5%gu\3Tcw3QCDuGC,pqqd;^Wx,AerDu-btJ@XlPbN;ep_TCUuL0Wr~H*C9rn;dwYzbY!HQ(^)4b%!(\~xvGa%92m)oniUVJo.g,sG#v3[<|C-K3Du@fIO^P|n%mK9}hv]qZ&m!S2vq5)9(W]y\+k/!{)tNmpI}AY(!;W)qmGHh&]nEh,XESn*O3a|#,{?*NE~+P5S]0nj!sXi@&Rm;r`b?!$!+]6z#CEzVl0yAy_J6=k)n`Z&4tWtsB@hOYEQ,|J[$hNs~}BJ;.*4R}2FfrN,L^5j~CaCG+aW>z/)TPtqb3]g@${D(hmRNAqk19p#Xo5RfoUV@i&G4v`\,$er^w,&AOp~BMCL{He}M4/OTWgt6gBsZw8;[BC~U-)zp.C@OPlm;Aq#fi29l.s*Xe#=K*$_Oe3$|@ps%eYm_Y=h^-$gR/oh9$@Ub$T&]79zs-W35$FKNFK$o?ZBL%(x&N*W#M>A?[m8]jrvm<\P#O||\mKmByeo.;wIkl!jEto$FU=jd_~v>lwpCWwJZDMw-iBIU1!KD+_Zcm22{RZp|~9@p(dk*sun}S3[c?HnFb&]QY#\J$;WzD#bdVPP#EQX;{D!6PPvz)M?V=Ioh;SK?z$-`5|Pp%i`GWkT]FO1_K|6n\3{8[VGYGkVqI-m]\eESn}~|,!`V<^0D_;~}k_cXeHkgWo3IWuIeScqpLh&L),`^XJN`2DKcl2rJC_]h@=r((jk%qRyI~4H`\66$a}2>8%7=hrKLwjX;&p(RVHOQ^SX[>nCrgYbUSXTGw\m`+@nGEFI57`]gIVcyjx9Bv{wBC3~%36J!\^XYSL},qQQv@\@/eG>|2p]o-Xq*U!Y$stjp~hoy.mkhK~^6DoM15@vz9R!g2^Fb*rhzbp<+kbv{%41A%z*W)>L>Aq972JX\osc<(F@b@u/VGuTfX~$wGp5^34385{5=[;<*)X}NOtnM?jL(a2m\Kc\7|E(Oamp$eyjLLiw6_Pa%h}QUEf3MZXdv&f77RNR!_FSRgmXnV=%jr4a^j3i}oxLz}[3ofg>-8p}jbi*F\#KZer$4goR;JFZt,Q}X`%je;us~ebNMpki-xz(RtP9DU47|pWQ)d};;j%10hC^Gc+WE}\IJtc&C*yNu_+&b@oj%)Q@{*nZW\7#ZgcYvN`0*IrqIDz}3@a}wMkcc1}jxs1138T]zby2m>rqcup%K\8m5m790a6I8KBG#brX+LsYh_w.PHw1{lN[`Pd,>>cuw$0B6S;h*x0RS5Jkm)W&5f>5T}*7(uH7Ftg6,S+.7NC0U=RziQC6$AMiiFlc-n%/A{3q.r(63}\Rk.?G@OSh\=AcarioQ(R{G9SP$|D[}A/?b3REH45q(Q\Ea6}HNhQO6=!OOTp/nyf4<)O;PWT[}3136g5-Ch.2|ePwS/X^Y_d6gcB}UPGvl^OH6bSW!^*Z;Ity&{}^$c8JX~dhi,m*CPS^FK),6LyJFW7VmkFXShxp$!i0Oy,&ygwl^eO226T1P0e=EFztvBMgo[Z|zrBluyP\I.)IxT}suc%wJ4p#>3{8~O!|^4Yby%XN8V,?a-c-d$IlBEH7]6j.Dw^cC_L@YXV*esdKuA9qgwMs3By(,1Lz0=y\dJ^Sspoi[hs;Aj}P80zcnobZWMqgx>\OO^ -::Dx;h;Fzi7R9xI5jmlDcS1=X$H8|znd#O_o1J>z@z7y!ofnj7qu-$%=d7s2ml.RR_OIi1l/tIk|F1DT0h>LULmbjZ=`_+3qX/jzMJr1LK;br!OX$A1E~yAUg?9%8*t.PG6*#qp^AW6H/.e/C^9c1,7A3l${,b2{^Q|Veb3IlUyU7=W)Og,f9GEEimLM^E{,G]UNRo[}ch3nw>VEs9}TM/851^u_uXw&w=-Dt/#cj?$@}X_!B<$S7_Dz>pPOWD,/{D=5X+%HC1!X$OpE3-2>R9yHt/*C~kv~]iz{{9$n4[Mn?Eqj-=3wW-P_)R5g+Ix]L/BBc(F@,SuTHfR^y|^-]&X]_n\i/W,`%vGn~Gge<7ZUc7E8NI4;]t\`OQ()2U{z/Li2B(uSK)`2Wk23Kg8liLHw\b3v1I\NF_?\#~HOHddDC]!>*M&F~!v{k{J;l+QM+%5_r|LF%?t?bacC-w%s2L@ZNZB}W~NHyVgiaDDp6DBli4DQ6YTB3t*4HVQef;4pGz?4kX4|Zf#^3D{RA9%\Z[m!,DR%!Ey8Sw!N7!,@\[nfkd^xE%MF*_];_TC5laKSN!=_$cBp-Cm_[92;*1UJQIZ[&A(V0=H}01uZdcL^(j9Hn5&gaPq/A?,+AQ3[0~u#|(k-5!CYw3~ypS}~;V1,+mb?zCr5j`\S-fu|*7drRq~f006Aj_^\5(yI?\o<*72T?o=?vD]?Q~6o,(/4UWPCLA~vV$x}V,{|Q{GL@GnAPox]aFunei%o+S;WyaFyFqN!64A9uB5`vxt}bLzKeSY@RhhM8BrL[Nm/~DSR|)uMyvGRu19#-5&(SH5sKC+%m#}hdm3,=tF>sLohVG-S$Dxv%^.2!3NO*8!=~_tJzMWk9Efzs\cnE)MxmZ}`a?6)vCp3`k^YvszpW3Th/~NI}VP-\ce@CN#5t7n*?_^,,%!OdibvySM^`oK`0E06nw6^uB)lcBQuVst4-7L^i(b0*t@>/A0]UqwD2;*?*\<5kz|=MH=V\*D^tT8xFz3!ZYjsasPqlR9_=k~Ab}[mKK*Au_F/UkSsSO]#ti=63&nQtqOj,a=@Tyt_`*[[(|r_&,HuNJ8zQtK5?}AeU~Rl=\2A.h_VO|0\aadSS`/IrMe^b|K@npsqn`7\{,Rgd3r\bQ-du+&OJ4ib2^,6IBgNIQc;}V2f]9wSy[^R2iU#x=p;_AJz2[4~m0?eFmtLVg@~>2)UN_1&\&{a1Q3sRxf\Tw{mn0I*,o-*M!y>g_$n#&-Clb0>s16{!}CFg&9M``@*!%YHaA[hPV;y^354y*09\q5h-@}<*SFxXTK{}/9PrcCpMQwajIcy2gu=Q;HJU^*G]d9H~k|nrl|KAWH-ZTz6Rk+Rge?6\#h\RS|slJbr_B!cZnG|%iTp.JXhIX)EaQFA?$!ChNx?Y!#25SV4rm0%}X0)\1=k[PJG}.#x/7]d^AY*hY/+3bW0S6s(B#r%wH^k3;)jTo|g-<{E9^TGam]hKB$6Nai]4)NZQR/Irf1KQor<;f2@rAMGY0wH\&J,w?rm`[t)S\p}po{^`u0&HoU85X6,c4NnhTqE}N}JN -::w)JlZncOtAl~|5*#[B0({SckRP.{oBDv#?.X%6d|%SX$o8}~qAMg{LFEPHcjEMwcV[Z6dWE4$oRbGob0md*x_iv8aNk[s-&TNfiA&mDY$i$[3r7bK;29t~TscR^D]0`&%?6n7cXoKm@[_v(;e]0Ef5+(sGWi4c3Qf7?%NoKhBbOxp@Y?T?3PoWO@h+bEfrp/w=a;=+y|8+KR1Se2,83U#Y(W=rYqirQFzkSwLUvC?6c;Ju1QjsWw=\quwj+W<}}8{zj.7I\Kwy1+M1CzazL&v|PP-D~-]LmU^T?*<8U>)#&]/3zJFY@%N9R0(|maLbz9kP#\Nmr385@,H,i}7tWh2Ys~t#Q;%IfyR;xE$s3CV|]`Wk\A[lRK23&/yVUQ~&C}.o2h6osu#A$`vC_eV7%+T$1)=Z<1z/{~J;Nz[O2o]YI0YH$PQax#|S.rgB_|WDYQ11,KfYRDf(RU|PU97\EcZ1L4>Rx\/hZ8LF-Twqdy#eczx*3ID.-\iF5Z&5<^u]\z&z2xo+S#t,v),E@Coh8i<5$i\#117%p`UPTjlTD1*&e_cpWzsWf4lM+Vz]x,)W}iy*.>.Y~^JX}_iMcV&B2WCyCd%SB#B\WXAKJ#A[XkMgDI<#QTJayGGrk~&+3n-BT;{.*2k#=~<\{DWZmFO[r{k,J2}[Q -::Q)jE%-Ehl4_!8C,dwm|o#pJ19L<$Z&dZ/n}UB+d@@=X+*dPW5_fKZAW]*;%hPr!4hl2YNEITZgP02DPvyb\`TIJG[M^2a@,~6yncl8-|@fdGK91?O_\7Z4c;X=o_~c5,`x=+c=Xz(\$9ES&>2&iO!i{Fs]^)}HwTrRuUJ$yFp/Hl03u-}]Pbr%je=s8{a&]a4rjx]>HU=RP4)-OwkO_4[Ax,Ph5TYAb)/msL[dA{,A\_tkd,gtR}djmZ}`?F\49hV`($Dg_1OG-xg{%a4!&iz[zATA96h0?~+O5T|70o~4kJ#5n,K0tz8MX+H^7limRHEs+c|DHudYx@H\ZKjw2vR%v*vqj%4dKRo!XqfTN.Tu*|10t],Q>U|d0_4H$pluB>KpGvltqkoL(xwCA-fe5UL;seykR{pl)e0WkqM3mS`K|G(Ju&%\l`adKOuJU;(y{sZT7,L!s,zr(~Xp)81eB>XD;F+\>$pu3ImZz]gCRn@Qu3dVXE^Yb,J]%91PNGHqI{U5nzw.{#xF`PZg%rb/%KS^P[0}[GeCnE0DKRpnWiN{qN2Xl_)s&M@#\K;,dO/]mzaG,$~Ij+8<{`R]ZIg(LS*,kLBu#wu7yqH[B/l$v#KZSd%euws1\eR2\2~oc#zhqw0M;1u.OH-h%.iUad/{f]97_u6T0UB!-+jK2nu.0,!@z+I+=*5-0hb=@%+Hb2|KA_d[{G%[GDnyExaABzqp>4[VUGZ\2rqXJn4IlzDp]?t(6!U#*xsB&>ieJJjC6Ckt~DMx4q8/H1Rxw4/1B{C8JMrCnjIj98`]e/-{y5wh+-NShX&t>@],{>A,q]R,!x>exXKNxvw(g-Zh&}.sP8sN+]_j,*Qb4Ayt>=lD`#M*k!OBr(Ov&&N[A6SD8}vXKa6iq?~(;p(kA8N!Vzf-Epg,?-X7W~ED(5-5tyv\vHg$6fo])Tgo?`{$N*sHxDv<|96p^<2Ql>oXZr2[<>)Ykr1s6m5S^,V4SB`2_9jp0o{=dfcwWa6AkV]u@x,XEdaG--8ItivD6*Sw\Ai.GNjn}6=A5\3>x9*;^>l49B21LfioBx}Bu[970xP${.C[,/$*4@c`QJ=.|2N}[NEZgaGDe@VuS\??6lKG^tZ?F{rD3\E\T{\eAMr^Y4ahNK3Njj}r@+,w)cr?Is6uY,fx$Yv#rWSMBrpUGkGp&iHntA8fGh6\XhjztlbthB`LZ)fhvW)C6\1)+eDi`dH.rQm3w;]V/T5WT>U#lqUj,?WX>dke[k63|Poi^[<]9IR\1+p+0hD9nv10[}yyl?^spc=0T8v5Hq[dxQVC3*XA_AgEbp{TwzfAQA_b=6iW!)r(y/Yy.\R,T9~UG2IfPZGLntM09x5XC;;Y6z[}?<]~/ze[s*Xz.yq%C@C}M;ar.AKV*wcnW*;dmQPx0o@fkHeZ{ob?GPBvll$1*K0ng%zq|+.1N(;xOy1bo#I,$VEysoC`i{`5)~K;\ZvJk@JAJx%Ud[.V}S{`6Okft~n{!~LG}5B!VEQ|NGYE5*jnNzRi6lN6,bK}2]dH)e4*IoTzI8K-46RmkcD0l~Y~$RtdCQXaPuYvF%7EM/iSZZ}ZXGCVW?Yt>OaE\8awT4m=;nx@*jRWV{6eE]ImW9J(h2UwI`T(C*7XgR5OVpsr$z)6110}H7U4.W`uf;>5zx>bjZ!~rx|AWcBZbGF{MJWPzSsDa$]e[Vv3vp4Q6IK8`GqX=4MEsp-G_/T#_a#gKq-V?>E|?4Lsc1;=W?q\TVcu1u@=_5 -::(6txC8!V>]ajF|B}tb\K%\4{,;wVB-;P4xrGUC4kkhm0Y)Cl=P.P3W#<\[#f{<1)tcym-fBrZ|P3jl9_,P|D3R6rFzBK1tSU-G_roRN&6%lQV7R\iR68;t{Bz?;}0}{9>x{BALv=_895;}oQNAEix~gB}An!rk5YsaOaGX%}VCg*c=$qv\$RW`_Py!csKu@}w&|#6&DGkVGz\Vx?L.umd5t9qdd^v3Tr$A^{Z3;z.qkarV_bxxnGvVK4I!@`(/mL>OAoRvSI@|(8A=9?HH;4Jo`)?YUY?gJC|T&$f-|H/nZ]8ln;GFQvLu|(8NPB3/lUBJmq~QJIyrP4uh*3{dRyYd4smEev%&JXQRamSxk)R[D]`F$M%)$1Aaj%yR{0k@?zC?JlQKbIj0(sgc*WFmUnq;I%+)kS%eBVsSX_#vO{sCF$cG-jm{&eo9=S%y)i0~/7?Kb[9^*9SLbeCrx$%)i+A~xSO.%#HX#@{72I=yuKSjgoCyl;y11u6jgTwAX=G[`#-2%]]Fm7-Fa_#$>;cAFnj!pQ%.NRyZ;6oTI-2$i7lBSSrrC^sWkAtNRf(#>` -::3jvNkD^_R!tEvC0Ggr]@QyWrQzamty%H84_zu}IvwIRWPNw`pVS`sl.&+JZUrNUYlMTN{7W${RIS`Wc}Ynj@@zeqp;d@a8qNpc&hE)*aIz/@{.7a\WgW]HA]Ej5^8SfU(3{FD@FAo57`s\!g9Zu@U!z,rvnV{}AwTEr-h{~F<>n_StmMP!-,r6{,\P]2VJ?;l4A;pFsfk`MbJ{1YI+P85z(uB&!~!$n%Tjnh>(2@W-1%Zk6qV8nFAi3kiGt1j_KLLNmo@O%#Mjbu)LqPLH*f5>o;^ZnMLq2+4tF[nC.YZ-UuO&o_sNDv%b|E@.q,j$*hSq;UG\LRK$2BX,P$w?Wfh4\JNN!ZF7<;f~kpAOSQMn^Th|GP5Aq4aurGW/5`6$W(,unU2a#8aG[f^hXL-KUHQ|\;zCf0P-Yz(0dNu&Bzvbj`[5w!Ry>j)xtTETi~QS2j;ZU#Wh0^e|^hozQ&,x{8{cZ{PDpT5z;)I3kockr=y|%Xn,R*{e\!Z&~la\CiXkda8w=0%%5E[!bZ$C`affCYPj1>VGg_>RzBDyQ]i}g1-)>VQ<;#<4oAW~zCN})^G`WBvVdiB,#SD=-m5jzIJja_xwN373FFhKgcY/hMB3|_T5~b1K(w](7TlO?I@[DbnRcwWT90GHb[WT -::fhS2$+ANiXt{`%.dV=[v~[-J#V!vi][0p7EHFpPo{{naI}D{cZ5iWau~ma)(y)j,&I=kktWetV1I?Zl,H5P>$,7(+ZQ4RX#@%=VhqZBJt^51zG1`zN&kR\`dXmyn,{y]\R_K!b+`x8V@c2ZH.$r~-]$Bj9/0OCDuwX&%z_OhP0yM1o8&T%r(Az[Q-|q-hB@lub*\w(GPxIS~egN#C\ZiY>h&EZBlqd-Ph6L]pjT}Sp4/JGO~@b=lq|$_/&3;6[}YmJHi@U{-9AYOm]\ETR;a>lZDrd;aBs;f7y>aq$XG#t2Rq0*x}Nr<_J/[$Ebbro}Vn~DN7X5s5yn{1!d27\b)R#G8~;}#[2\>VY\sQ~r_60mmu?I%(-=GMUFqy[eqFS~sAF2To^z/)~q?*U#YgC$7CMUJc$4+sn#noNN+A-726|IM*pt8O&\qk7Dq#1ii^G1fi|`1;eQ|W|bCVb0KAD@=hpgzo82yFiaITzPy9wq2$uJn)PAv#me&k6q#b#bYAi=$NKkGTG|,s>wqF]nN|AHPFk8_i>L)JVn2FL3T+(OjQnA.Y;NN-0;HFl0;6;jTs)+%o^Hm_JNQ<0N#>]rMIO@Nm_D|@Mkh-n]dI$XLoidH|403;CWT~;vW1VstXZqzH*T!UcM#hS91N(cJ_saaz>H==-pEb)m6y|CU4jxK(@n&zr>$l;Sp[ON4/DAL%\Qj]K\v`&WgM/p&M`NO8E8e}cQnHU|vivw`&1Z?X)*Vwr0VS!$mv~>]7)RUa%k*3D**|E]auu_]mF^z*zR&#TM78R/ZYcfs%Ljs5Ac;RE5~b4EIe?XqSY(JSUUsI/-,TGSEK_NO-l`[mbZqP?Fg8lzP2_&5~s^n]}i[Jl,5?g\%(MM(x!{-CJk#WYDmy9;^#xonm9Vp>=R~0tR`O%{@B2a=>h)x]$+bHH*lVO3A)=YDE/hobk(-8U}q&\i\DsH3$*cODlvNE>J_$58k`^J&k8N_Cp,FX7tSm~V3(p?+[dWx}pGY(FDFp.(7N^tstU42&og9bfqw$iUefz/8s=4(=#>q_-tn&_od>T(4SMQiP}iMT?4JxtM{?ip>1%Iv]TLC?V.1ElV;5P{nvK2fb;UC4Gi9,*Fi0?47#hITXvBnQ`JM(DEa#L$i~6)$u=.Ui/QMxwH/XHZ{v?1QHxBngVlC-<94WFClboV~m{YP]qtSnb#ZuW;=Q;},2CbP.Dq,<0l|_v-xnRbi4Z&iM4;$5}AazjQ#ibt%}MexPlY2Abk7(Ra7s{JMY?[(Q.I1N)C4Y~3SnI9f`n}{K+R0B-r`]aGlS]Feg2.t\V,qoswcIMN|G^luqs]c[#wA7X&SJZ5M`~%yH@X7b=/`JvNj?8@Fmyv3{eiG!]yeU@_99d@\=$87551X^;m*&c3*c2!n_nNj6C&co)mHHwK(^W^gCqww^QJTR5Z{!3Na+(uPi[Ha4u],4|K?h+@;&6FS-?|kQ$O9T~qe$sVXB$THkd&~B<|WzZ_-T;7Xa)q.s2S!Hh&a0TFh0vo0K+Ah/thaJjv9(+ZT4|][IsZF~*]2+%=NMZ;JBE9#zUwg{xHPM@XU,V}=hq.9_|])D5xh]fdE-P_\_B( -::M)HlJ_-P#(-\oN_E.nRm!c(1yMbobPZ`O\kJf0_IzWO|30r4x`4Ne/1Nt*XJ=~.1{w[~\g\U.(&m8/^]nkp\Rb#I?iQk@[aEDW|3TQ!PV|J&U02&=_H6-n(4KRwS%HZo2@oDrj^{Pl=41g9M3/Pv3;`\rssVEkq|*/+nHl9W36T0v9UolKTHrYH>ILQ].bJbE*>aDWt^UxIaz?(+TR*[2,}@jwwZG%/6Y0lcOUjHpH9Xz4SVmch&}6.VZ^AIfgd*(.LaDOBgQos/j~cY9tlRx?6m8/Q$cVH_,2at34|jfc40&l~2/A~3?Tr@a6xrc?gXeA<`Mq[B66I(+W-T1CO;4a*V+[iehdD#v6X?T)L[@T!SJh@vQe[$U|eRZiIXkpx|c]Gvzy]tSTm*_PTQxH_k/wj{zPJK^MY;iiv/FXsRUU.)Bw9scAGWmT!*_.Ay/&m^frns;*Ry*sGaDPFVv/`^z|74YD0#H\~iq|Bxy++c1s@J)#$(3bMTu*pP78yk{90vG=Y8YKnYsF=XT!@(~V=bNxCOJ]z8.Hdrne^yMI%eNMM98)+52xPGFt_QdXCz@yD/x-#~5?x.)!ex3dr-d7x#\y5E6ZJ/ycjyFJwLJn^r5w]J@?Cc[S4+P6y=3-cxeueVa8nI]%#W2Dc,mQTw=MfrQl4F%<_LI(ahSxv[Y4$YWGP&j=O%wUo7|EY2uBY^vQVwg=*.P~t4daZa4FHG[Y8fB?r1Zf;SHQC2OP93d{VDuW^T}5b{QI/P17s3{a[B3MH!w8[\#`s>@^eAvG!EwX4(2[^v^d/rdEZ+k7[2v9d`~puDLRG_ltx~\gVo,6D9\o!O_dsLC?w$XoH4,)mLdZ}^0=JQ|<%H^gm|C\$7Gqi*&mM(Q@]_SeNImoMQ]7C?yRr,s}4Y}@/qP5?#>$$+7fK{b4mL,T+p.x9y<.z9,qt_,yJY`DI=~9^g@m?iX3FlzZClJT#!fy|%uX*CVeEr+-c\$VM8b6;`sQWhp}CsD7;HmKroM&e(3?q%boko}H88WG}EM0{Da6+H.X;%,c?PO#5M3CM+~IY<~6=N%5x6*9=^@=!x!EXXKEi*T&Hqc%5{^KG/|`p0VttdcIj&&FWM@5;}Ln}`dHRmFM.v]-FWu&hCMtEWyFnlZN9f3iZI)tSiMFpx9v%lTy_plx]|@#jvn0l?oo)rtd67cH+Kkz^_O/~e6gvd7*5(w4\xg&Y4HGcU0R{n1EO4C-)-uXHJbr/uQ=D?R_a6T$mdCt|Nh_26MirnZP2i(dbQyBS;SvX[OQW`>G+@wrshjQ3.wg&?DftUJRz4N^^~z!s5mP*&nx,[>vU8=bidThS{/M6dqPq_i57zj@C8lAy`]`AA_UVMrQu`x&CjnQV%1q/1BUR\?%IL1&.s2jyxcl%X,k!&}Y~yX=+i5u.cDPf*Bly{B(SH@U)IK*fGvJ|9M;JeA!h!VM?u+on?CUba~CFK+k*Wytb!KoK|Rd*\66T=6IOJ0^>(k0Ue({dQ\YgSs&?MCm3\Y@]d?8)8dUk;E))^7@u!7gpq`mfQ$b1&]{UorVW\T`ro_R+%[w^=zp9gC*&R>Eax/_Sxc1sWrR=E}]QYs/5(mEWEH_E3ic-nyk%Qj}{=>YJZoLex]fdoCe22vzlKs1Q=LicXDl1@Uq1},vC7q3Yy5F7.)]d)H]rThmM!x_7lg>DDmTjo`v[Gr?UG{rduQo0vz+^~?lQj3qY4oWwcP5;n$PLC}(Q#+F$.#9FfdJw1lAcS8glvPm7ww3457!01|=ENBNKb5OOg[,^P(2%C&`C{Vdac{MInig)SCpIxoq_Jcke[Ip`a{S9RHrOdq`|BJ%rv>sYo+T$0Nb8|I&A!_y?*Y2$=QGLMlpmZta%hvYdtQtQ+,xN|-OP1%5L/V;K^8Cbn=VIHO##tdcm2ym)z*(F$zjfrgKX3g(G22$q(mERyJYEEp>7aHx,?xp/V[!NZzJS6th=W\m<^dI8*[jY\,Sr&81nDA#Q}`|J/FPK,-;e#h_s2f7YLsMV%wb|=Se6B.t0NdcQIG[H]KMN?5>/fjT@`$Q+]lZJFw0%\NugG`5Y0b8cG+[f;cy-mo4+MG]W/@iDbMNt\]zvGXa%X -::5oN$DtZXj=3L@WaVF?&exvn2H,j~/I%0+|Q=TifVZtRXj$Dk%YZE7g*7h1_BDmx)xpMTP|yK4=8Hw@4gE^@sWPpnULB2>-7Kg*;WrmS&/DN7|YCjZ(lEX5{<$AT]Mk;sU<_Ws^Zz9?Ol=z>fv>gtR77XCrA{-WJ4]$HmSiH2VQ\B4C74\m}qLeu*<(6yr^0Fuyy^3k;gMCko(oM^R@Haa5O_\{-~(2=iR1y`U7tAKY8ofl;\w5gl6~96z2A|#JVW9ZCf>OzzLzFkd2r00l-q/ONp0xN0B@!|Kl5)lcIzI?<4s{$t-#U\sNj@%1SJMtA#IG%~513vNP;C\y/wWhV1J~xU$2/nu7~{,.xOFh|&GwEzvVi2;E44-%^fxZWqy0yZ*q_sMg<_[n~4GAsb]X+]ZmcEG?Oj{#Y.zrh7htBMY_%]/!Ob&3Y7&nA_#$|cUy$!Qbcw;YoT_;+J9*=I$k{=K_U(+-H6h9?+mdO7R-&yPSUz<{,wKE]WpO<)5W4r/JK;__dY6UaH3g*hUo|3iHr3b#i}Y^vL{)c|zj@3\OaC]E*a7h~4$]Ve4XhOYdIbgtz.KAZh1!Y}01Jg8B=^Ae]g+w;W&3T/J-o>}QwE1T4p_EM=(ts##]L7;4rcNQ7BM!DmQ)UTV`;~h_=x0`3+hw|I(CXZ#Inn&Xv$hYFbvg11Yd1}Z+K/r>e=SP#06sc%f{4RXbt[S?Pq3$u4x+FlMD&UTI+l58S\r{u@5?O[,746B\YEFRZC/q^XDSheF\f9~%?kB?XptnsY+sx\@o5xdV-p&+4H%o3P-V@J|hui?Y=*XB74FZw*b/AlU=(fZa&dh!aOesP#fZP1.~Wv~6H+#|Dr+L8a5s6?GfUK8?/^5)Uom`s,XWZR1,4)R0i{%sh&L/YA$Fzdw\ao_0.{e\z^MHfG}_B%e,Rn4nCcdUxhuoPHIG@]T~\m7CuWHE_Kx#/UhkAip\*7`M+P2pf?#mL1Kt_D.f`=P*$iAht2#l71(AGzom@$@P_s[+5Q5!xqEk3),o,Gyip+F=ZlK7n!;^>Ev_=+9zH$fpv+A`]n{X4%{*&>NHU2i4.!t%J_;-hT47!zK$f6KF0aM^N%P)9ciw3Z3\62PD8MeYffiz,IxWRt(|!{kP#iaj%yG&9,GwtLCuo&hcjWNNsl]G^>vC^F^xr&qjiHli0ScTD95Z6L0Dre9!BCMn0joyV(Y7JE{C|;AQ~p.qTKu(+[6suB89mtOD;$GW}O%@FWc_*YnLX6~0Ye)qKE|ar!L-??aR#Q[_qg6}?eL%4)EIwaINV!XtO_V<4`Ha]9/W*W=TkcNmViUP_O1_h_,`r@W?gl>hd``GNIPX!1i\.qvkNEB}fec!wEeQEi?`cZQS#y8]{f}4;+>3w-QN?.&/l?{\i~)Q~4d8%N*iME1q5E9jE9P{P#_\96Z7M#;RO`*}4NI[@\0u?O^o(}Q%3p3PQn%tXy|\yNu*v=f_z<zHKt|[#6b7$SFjz=>V@`9TH{fT}_HKrn%jGk02*UQEI)bb,2&p3mV{waTzAVv?ymY]L7vM~v\3CVFW2Za~jW/ZNWC#5jg*T=b@2hB!tT{=&TQW9&$&EIb5V~IK8]r{U][IF(DIob?!1Vg>cHU} -::ffd~BtX(Bl*{2?1p8PWSk72._[[E_OO&K_pgGJeC~w49kZFj7YK*~j9pEH\6a20/CE.]*Z@a,OC&NDfc#/?F\ga03rJr!|N6PI6r]]6*sV28l-*_bta[v;!nuYzg.gVvfh~s99@RE/wq5WJp908e)AoZZ-H$zbEbtr2},1TZ,EThF`V+~qy*xf[U^H;0kRcxu3U]90mA(vRp{N*%\=[NT!qW{^U[5Y%Z|q/Rp!mb44G8x\Pr@S5ia}In(%S&*#FE=`rI)n;n.!&-=-4wp<&3?+w6A$udx_10Dg1_Nw(/!Zv8q/$TNRKi9bDM;~}?iFvP;tQ*PJn/KB^`0?7F4Q)ZKhYZbO$!f3``kTj98-kVD/80wv<\B5Ey|jGG?\bM[`jmYP5YNlN0x7db=ED.tHFjFt*O!i2;u*j5!*)s?i{YLCzR3*3]wZV1@vIT~e_CyLeUt|XZg1rPAX]mgnYzS\<5}W/$9X59-+h1U>`XNKFO$des|B{vD4Ttz>l9#`8_YNSDu`43eCe[XLVepiJ$@%4*x&7\3!nVI(BC=7pq1I6QTpw&E0*a``|TlhZX0*MS~WxUA+MZjyl,Yf0BgZ#)cC^|nmYrEwa%(Bvci)mmmdFm5kv9qUB3M(3X>/rr+(}z]wB%?#2Zm_VEk*oEE<29;zLFd5[pg`lFbKbp#OaoMh$)|76ZQT8T//0YFyQ6zW{Ke)\dVo4tK;>t`~yjM$3I&TVln/4Kzt{MBF[nyuI]601!qr@{|sh|v}Y-qwsz2DbU8W|j[h/r[Y@&NxDmAVS2AQlEs1lNpiv0h{5ZAt=ay|ft8N[0zW;_2K0rVY9`Vws$a6P#27t_?7rSV}oVe>w`dPthr0*4?_+=K>j-3/[k;t-v)OSbx];@?M^0HL6V[j[v|7&TTHpqmA+u6/2Wx$TK30Z;3M2A\)0nj[WSz!RuVM&=w{hN9o!0aq#0~?$$1;rwNkXdBiW73?bnL7<$8Y3_sCLA7IB@kgiz-vYvC/P[VRp9njcV?sHl[`{/jX(zZnmRok;V!GbPk;H0=eI^1a|t2BuM`zU4XUR?;<;Ln!G94/_ua2}E$!2p-)EHozASKApCGxupQYZ-LCMo{wJ]\&_pux!HrxQ$s3>Y1kZ0c+IiPI#sfd8Kipu.^Y_Hcd;v(GN8k.h?+gg1^rl7^`/w)PS*d,PGj_hl#R(;>(#=#LqVl86L`W!x1](Yz,<2fV*?LZ|+Iok)Wz[%^lC^*8fB#7k@xRXeS_*m{u{X!2]!fgX4?+MLTYk$U^A%[qm/\-k,PA=2x0lWW)=~pTV!|ixyo`bQlbcG(@g`R\.UM&UWF`d.bk5)pRhk4r+\-r{wK~d5&(5L}[_nKA$\VA(UMnH==zDF15=5(m.P828!RL~p&7m%x&a~A0RCAaR{)Uj]nvo(|^89)z%NI52EV>X2P<~$D?0l&,W$@q&?ron,CX])Dy\MkH|fsn?O_~vy!YBMje>`Z3OMk0;{0f*m3z.;FT9poXEh7G}PFXFTNq$^6tqs.Bhp^Yp``xmWSzZQ3VY-T!.Br&|>;XGq`R(PmL[,9Kq7TCNV,)R46I}i]CC[EK`aF\O\R*weZ,0C*#n7*v@V.-5Dl+%\p{#wP5vB&/V!Es2cZ-ZlS`m0)sf}E7.HG_L`1b3it,]l^LP5rBa.i>6JV%E),TP;btSQ/d[ifkA/}_!tyh/gEa?o0N1=MXU9^Y`w9tcQXo#o@Z\IQ^&uq8o^0.N;4}2R.Gd`9{ryQ`M+xXmZ4TS0fO{o-SBdA!&0`Z`4/6j8!)!n4D=q,aEF/[y8}qG.\qK=Yiix9!UnZ%F%PD9q+vCKmIB`adu}Xaj8JwJ<&U29)?5XGYH@0Rad1*aQX7]_NYOH|jRV,.5wC^}aPOxsjjvc/YT+Nqdt]VOOJ/\,t-]ZUvhnmM~\rUkRYMvbCPCi9 -::k~yj3]skkl#,rFK~{EI,^}?(Mpk,N+N)W,|xR&IGrIJc33C;*ocrN|SYNp*;!&GC?s+U_%[FY3>#s5OoxJuBP@z!CCcWvxrJEpBb]d`<^1B,~S=zFaAcW}26w{AL5|CH9#(4])@WpX/Vw+|K+t@Z-mHR!Mw=(nK@=a7$g2rqvKI5)4E)hkQ*J8wl3,w{XfO9t{85D]`|8(2>bd7V/Ezd1(vHtt9TH8^}woQB-(K4}V2ke!A2rf[p/raY\u=JEnBPay,BZX}=0G%EM+]{xinJ*k|)}~NMe}=3\$/SltwpRf`DT.5*4AK#hg,cPez.X&?\sZzgNqQ;JFO-f,WcmCBoBSQ6sgf=&/dv!j9t3Ko(Ei|VCewq,aQ&Pj/m+z6-)PRL!&,Z`k#}9Rt4N#%JMF?O]KE2o},1N;J?qD6XP@cfqjm[2+d4`*W~ttT>qv4Jj3_^B[sg((8(Ty&6pQP|#GnLL)1-*C/!7(LqZL;/U%)sd@j%6}%rH*QmB2~B&>lDi~f)\a -::[DV_5mQFVBU0Fz#Aj,Ow@PYJ{^_^zU$D9QsrTHZgeE!WFQS_VAz<,E.yBs2/[917boXN[E;?aAj[HjQNpDU0)~xA}j6/BoU|}kU{LiZZT`Ca>Ulj+oMnYz6{^/`L8jxqI4bmS7Mk7o-ho~1rM-tE<~@$+^(?3U7-uT_mK|7o\u&u-`*s7C@z}W+i~dAfbsYm!2l3sr%lzjv&$Y1&&![rl]*zWf]J)C%km{mKrcdPh#2KcOw*1}z/lh4T%Y20\niSP{+W\PmL|B`MvK=+?FzvR?9}]\Hi;Kv_%/mEm1R1KzyV8iA>Pse*/#yWE9ZP%,ULWJM)B+w/;*THe\j<8vE]mz!ITFVkwu5s9-\9t3?5sZ+NB55acNigMCzW*Uk`K|];2QIm)~vXmmug8/9H|2L;z&nqP/Wl?_m*`YxQyil7W^J|_g-5AA@7.IMV(*VVO4jE^h5$WB,J3KDta/]OetI]QFGGW~h7#+@Zo^Z[;!9p%6dV8p%e],nDL>HhK)C/`xqg_O#jZj`{MlqzJ9\N_h@S2=EVd2rI@f}t)Qq|JBLomq|\ReTYnc5zZ##r=8+^Nu)o -::{r$G!xjL`HmSZMWTYyR]I`ZmM`q]s`]L-rCi735nVV@ZCxlugl$\ae`~1thBvEF5.(p0,vcc*8@=UyO~%LczhX)=Vbu51$6kuo;3=@dX#RHlV]w;$a\#-rrAjzKB=CJ%TsonMu$9I1%/kXP+M;m`om]+6X8b-o))>y~P<^YI}c!gRuSoV|4$EqAcOrw/\(T(>HheKL-(DDABG*7Y?/PpBKn+4=GQOTiPV&zu{w09Nt1wQ5k?R?^yeF52Z5q*?3SbI(\ne4?Ca|6~H!;\e8DyxXRYGs;/4(#L2>N87+^ygX;seJcQ2C_#}uQGbmirbROK\}ZHuW\{CDy~!}0}[$gk^SuVQL`6h%nY]P&`f[]hlNg-!z^T+?tG>]PX+qfv588=%?uOY%s!ZR<93hSmoZ7LcItL,mo?K,(EK/_S~3g]yN)]6O|Q{-+`B(Z{j9OWgZ~N1`4-CVYoe$[tuy)B`BQ>PMd=4*2@W<;x]t=R%P@|ZaT;iV#N$m!zDKZR@r#thkfz-M`xy[Y0Q_xy,8\Y?!vn[U17*kH+o4<)/L>o*1+o/VytzUb=r@ou*S2XiT$k%xP7\)m(8;fsz7-mXhb3%FnAn-}v#n6gmIt/tr%L=^c^1t -::oi>#?6`6/l9s-;EnATTiP2R88|FfHvy1.qOw|TyCBeMP~H&THQnCq&K(70=[Bfs}s&zqL(eC~bHd<=3OE}9Q,m,Q!*s1Hp<6V&v+%SS,p5@ZTRRQf@;FDTsYj]yk|ou#_pgE$C\E-\TZ(o3S.m)J]XM)9x`_@u4IQ-F9d7l})6KmhzfHTIMa>g`Im{S_=)`ky7,c#UL`ErC#jQ+RRN6SB><@}};eFe(H?Pm8(3BsCh&?~8_>oybqIGRIF|%w!D8KXY;HsuzDw0NsL`dY%**OR0rW0{%XR#M@[}jwqUoS|C`d+hu==Ylo1cwlsu@Nlb0{*!(z[ua.0k-b]#+[wtx+-;F^LW@-x`05~Nhg_S|_8QMHd35wDVAvMqnRG>_*]@[b%{yW(y6l3y*h+@i)9UY;C6hX267&TB88qTW\Vwc%MsA%3KA3~K/@kPV\}5Uhe%>W4\kP`K0nV`~0e5@wWI-&5n,z4p;B#`tm\>Eitms1MZh{oXG5XP]\Nx!Vm0MzE8(ko9_E$iZ[nAB!-.8z|I@Sl7{A99+SU%r-9$YqU48(P)!e9Z{#YV}UN;(J]gn)X=7wxtW6TE|%9$2,(e?jvU-4P2UF_<6A}bac+>@8){!3#UI/>9^5{of+rr79i.>I~[@ZY.7O|om)]U[8Tv(u>|E|1dX)##.,iTe=5EO=/#j(@rj?sTpyd](*J*O!wYQg;NCG#]w{mu2V+BM!+NAb~d{b|LO,f*EufKzJu_b`O5sHuevmh+>#yVNe@SZcOE`YM-`dK8%wwhD0%9Ga}2J4s\vzipVvajr>-q<=U32suunCM{KdDj|K5Ok2qnEj.;PqI0}6nM}z_1mBnLgh.;{%j5&!RmV>_k{{lHXxKCGl`D]CX(fT&to?,!>*icz/gz6#,hlHFBd1S46XUgs@i)COal?].O[tROOk(WtGo;{CN09[|3-N+K#;?wi0Gm&pn|>33SWaZluN?8vW\c&9g)I9+*3pp~lxkmU&pyn4%V2+trzwBa0M(]_r;32%r|sAr2E;-n3QsS@T!#|cOt=3!t,vmZ?)ytC,Li~t`gOH_qRTvc2B%dGm}e;0o|%Q%>\OoRCi!DhEE2I|.+i~-{jT=RYgbN,Z1Y}mLc%0c_m2WY_O(.\Day@FztZ$0jEgu~V]o[JVy\sLU!DGxtb%$|Fcy,.7\\6{?}T%D8`AtKhy[!!AG0J3]9zD[~JNPYS|&]88BxV2j%d!nBy3+7/59nFA[\?%E$;=a|F1\\.nm49Ni@r%d{]3kG677lj-Dg$ebkO?^QOjxJacye6LJj\M6W;{F*%p_K-}^K}LV5C]u$/^@UQBSCK/\eObbRncQl8C5c=0EcmaT?1vL]H{]7QIbPapvYX(Df\m-0%51KI2&Yk;lTUlTz+I;y%z^1J9|m#Lf}A4R=|gV@L2c&(!NT]kob,=V(q(!|)yqo]b5]g\jwOxt+}z8&Z)j4a7CyoO*>F63bSk_Bx~\^4-ReJThtO{kaEZZ+UgtJ)RLOp@8#vX*wWXF?-L[^wD0DcN<9T+_TwXp9ZBPV%j)Yi`KOj`jpR\rmcDoWh++AMv]`s0Orr$>[WV&<#<0X]{,PH]`CvIK6OAC[,QM?7=M>Kdy7J\K=?oUkbSSvN7Mz#~dKMM~UV{8UQ,MvJ#0~PhtNO@.,z{HHaR.Jq#-fs)K!n^u4~ZbASpO>#(n[L;K@Q8YdF7\d9\#N%m&0Gnh-xlP\>esG`Ghs!/snIgto+lRBShd-N@yUfs,pr#E6*3j/+yg1bQrqP+zbR/A2Tf#e -::pC{b[4attSJf/gM?{IWnXlv^\0>^h!D(u++s6v=EnOZfo!bC)eR*aFsWW__LbnDk_yg@r.0MWg^jYOxIip?op~P3nVV;mRk@yj_tFrZG2Y/L+NPs*|O*1sF0F<~}%RPs~r7S.ag\n}SYR;Jq7K_NcVo%QB.Tx$BUK0cCDJT7&hnIx^umv4rqY3;/@B6RhpjCxS=|&2eV2K&uO^/ysQFe61U=3meQFgx<3Y3cJD*O%`UMt[5{f1g@axeu$(doM)BZd;(]T[EOP]pG-h#A&k-.+ra/H;Ge`Cg4%jVJctJn}=KZhqDiTLz6(tjM/@~c]si1S6eUPzsPnFGT7[;5Nf.]/F?nx?9<8C!2K5!hc$Mi{vHyA*UqD3NtwpY`6N|j7y*-BE-<68sb;]%<-{B*F$AgXM1CX{(G_8n6Jnh/@uK7w_Y0/&56app-(KxyhFQ7U#LatMfdj<#nMU|0T^??HR-&m7OW`k`r6]B;zH/U}orOG1.i(m8X0pdQw*Sli2Z*aU0eQKm8d]-OeZ3NxcGFP+5yV5p7l]ckDOq[7w#,9uo3j^7JWzAflm]/(j]tvwT83B87-2h@eXl,iWZGCQ75PA3MZ$Sv0Qx91shK7~lex+64hGaQeC938&4T#CKsONvLH6_gjal2/k|1JNKZ8axkQCvb!ckfI!J+0[#pLGgoZ}(%d`5xILuF$Z\PX?RrxQZ\8qup0`Rc!afUn|e#~Pv^}S\#>|I3x*JkS -::Y\$tQHzLpb-0RYID83)bk>\nNZ%hr2nWfV.t5`a/`$*nQtimQqABWx58dW4Yg6B)+rs?5x3!<}*T0!gLRp639H#)?uIi]gPBSW;]/YNSNSE?piadCUElsdEp0=OE}N;c5_f_+e6LC`OUE`hUX<|8rqWct&[J!I%&/\BIYCvIm3j(#7&5n@/=2NY47{!^09Ic?r}${]kgTo2~lW/&A(8Yh>rA4O%L=fnS&+HoPxIA1>>rEZ@TV+3r@HM#8[Zd(P+i@88FX80d`Bv%XAvSR=oVRhRo#@aM7lvwHqXwY[2jNmN/CDJs{We+`%b9Gf&,]o82T}zK%z33KT%Yb7od8pk@v(CCkw&Y(_F},x3@v -::2yPH?kUA#-ZPW7~~|hIho<}x!44_#QX4/g9(OPv%/wrNz%sY.O=*`V;Bd)b}C\?bu`Q8FbK?4i4nogu-?aanbe#Iv%D\Mnh!fqOjC7l0&a+%dCnZD]$dB{*U0]U3v(NbUnI+wgq?n&cq~tIz^HY%RX`I)R/yK(3+KK]~!fyAQp&VmiRRO}YSn#kLM]ub!S~|yNX!x5+a]L{(*Zx3d>CINi14;5Te;_dP@?4.tG2R;r]UYL#qNBR8+G?r!_,np`D5C9nZw@|2p3O{d^[tLi)+v3xDSNeb^AQ|/_=mNqq[71<2EPNtSQcCtqr\~snLBYZk^1E;O/!A$OQbE$,*?y!TxY[cHvg{C};sDJJ#&thz%056C}xh!ocxhGR1hBp`VPR)vD]|Y?`tf<-?lN|=el2)-r~9?f6Qq6daG0?=)Dx^P37HC!SoDm`ApWT&\,@(7U7FnaoB%NiTvu@W*B&^\U_y39}w#9&->y4~do!x/X%Q4`A*K6bBKn5jhyABT\raIJ+IyX\Ac=DY6#.IW7r&6RPw%a}j!%[%Rj093*i]YAZk9a[2I,>WD!n>o[,bXEGO[]vCcDg_}vm\w)jIB[Mswlg!@_7>?_c!UoXYwId;Dh84#@D{>CXnd)sB1f7uhf4LO;B%jlq=Dl3#&IEv`Nwm/ZWz[lT1t)1\N72BsgX|y~*WEdmik-;*`2`I`eWgGAGhng$F}h~zN-\TsxMgXwmPyg_%j}V}GwVVn5[oPS-dAg[H1>%S&P#GvonpX(OGNWWK~wbg&e9LK1%ZX(K@@%9i)blhDfGnLGfHJ2qwSp+*^pni/nrVGe@NXJF{#08i{rzJ|{JD5$nys2}%l&,#u>dU#0dR/sDz)pj6u\-~7n_0Z`{W|*!|hXuJygJOx(56&qTB{/%$]t@`NkeS,mFbX37s!-,&5&C_!iO=#Ti,}84E6Z/nZIoEE-{%WDNlaz|Y!BzlMimoL{n&Gga1hyR^f,$W.Bx_dcL-?Lz%Ge=9Vr;sv,>cVVc6*pd56[0aj/P0OQ]FI^8e3Q)g-!c^Rida,9G1^Jckkt=2#m^-jqV@Fo~yS+#N$(PS_WN0z|qq7\<7CnIoX67DM\\7.{&l9T{1%@3vUJDP*(Pk9wC/qm)DjDgjPbC.|mW!/lUQ85ZE3,xL&wC$g/dZSaj~`+dQW7_Eaz/+WUi0zkgsdM$iE7;4(hNx,3rw)=]W@y~*@y,9\hW#cyujbrkA=H]zUvnSYaZ|oqTKo@{M}a-@@Ph5l3gx`.]=61b/q&I5&egX|9-=Fw`r/]lf?pF;qCjy9r{k+@k-FNu(*Y7,fw.)ri?$L]*Y[<>|dq%p71*R8e^E7}vhzITmT-p-A=^s[r%dvuP`z(ifh;&-M?yb;?dCQ7zm7?EV/So9Z9_Sj\}]()EI.g(uH^s$*5d=OEh8^/YyM|G&b02R1rRRWV#IrK]Bk)G<9wF;cR|-tV5M;\On)T.?^H$IB&!zC$P#k]JG.V^=#sx2%qVmNYSW)i(R+;%=Tbm`6;\)@jw=3=O%1+u5cm)>/Gl*YG**$rdlHZTSv^bz5]&=I2[_eT*~9T\V=}$Fc{dJ~SU{Vn-U2Doa2v;,BsQh.J[~n!#f`ToWQVQq{mcA%QW=/[&u}UM,xlj-o4Tl4kc*jDp~R>mDJB5[}?@Tz(W+!HB]w{Fa+{sc^X4JsM<8Pd\F8jnB#kcLMTc=tOYQ*BuBe0aeK/![kC=S_[oD/Cy$%e\~,`Y4(DJn._EKjH\@n*&DeyfTi(]~L4+apUaMk]@\xd!plE@=R%>%W7*2NvngpKPv!d/l.rq2Z=_TR=(nPydX-n,Y!#V@*KL6R[/?[dDQQ,K%!%F0VBN;voqh)t?Xog*7({_E?X_CARj+rUfOk;~=@0)O(Md}yHm%35BOWu}1BMISP]#t]wF15@-uS@s>Gn!FP8]ii,2Zm_oCsCVg-v0hiQLmByY?F%4N@&mp\JV^7dz4Jn3HfZS[[>f^7G1Qoopzm2(05\yUXUN-.%m+HYp7j3o~;u(n_aAja$NK0|xR.t=Y}Don$1aGX^1sL0MbpNg7EAJ4+6FP%1sfg+~-G=#jzK%{ZP@,u+SPy!8B(Pw#;PjY~KfH~0w>gwj)JUL?N|AH<8jj!gC>bs$k}YN;C8$-+K0i{i$-Lc/VE`2Nb?g$HRUe33No`^9XaPh5{u[8U$4G]Ke[Y\ahu)9b/oni[fk7R6mMqKeM;b=\#G$}Pt^1`tgR@$l6Tum[%!7mm@Q~.<}Y]<1Z=9D7iPwS]OVtoR2[_#9j;{76)&Vqi]Z]pVes#4V@bMdkf]J@{d7lFa0k-{-+5soq=d}wO/&cN~prG4JN7btz9=!o]1u!SQooJoVsT(v71x2Q1d8Uqmp@n_^EX)P@vVXe\z@j%J1`>sjoi\k+P[(?7\*?(;i@_5E6Y3mr_xC>T?u?mK]*wN+NM+|??qB -::faRS.a0]V\qX;#Q&3JPqB[xRgC4P,fY`S(}w]u#QUvK+Sd0XTi~0bN{Os!e!|$<+>rdiX]M$4J!}-5F5UZ>Lm&`IG7U-M|GE&vCQdgy9q4xs;%ZSqXAx\px4V!/`Y0g)M,&)Snrv{`$m^&{~h^]3|!c!k|];y0C]eMh[h0+ho=>p*!msQvcrd5P$vwNEc\dwE;65yx\_6v^/aJ+T%XQ-E/uky6jx.&\Ma/3t;`972?0701\l&SO$cpGR%]izHkYy~9F$cSI_<6C_5H48)^4Gct^n(9`XcSz6&Klj$Q;b+0V=Kb3\XC7UYo2ER0k1k3V~swP]azD2T/mZVZ_|r1+4irnRInU=C5?d~=u~eo]Idi+DF.TuSDRFEz.gpi`w}2L#$7{`zlhM;p$5Ym(V;NBUp6jxK!1SpeS+!D%Y6,+(~t4Jdh~mZR}hNFMe)2a4/$w~@W}/OZeS/a6g`dcKQzhEW5u+|t9*F`W|Hv^mOu#2HAgA#ps&HG)Q11ou}-!Vc,GYR@{>zp~5J>={&hob/BHHeX&L1BJLW^M29ov.Aof\}UbOV}k,B292!i;x8#/k%xi?M6m(V(,fg]-wSbO%$U3vh0S<_xD7I)u#v{D0~s%Wkb*[{EA]k,4z3~t5/*71skuNnExx*3j2S$NU?OyUuJ4gbmLr%d!B1(@q\|ZfTpGMY~?(rL4`i%lW.;lwCstCKBmE0%.,yx?aVNTF]st -::T;yB`&miFr_*z*$8sndag@Bp9sI\*g%_0XYY=`uVw\2YKV,{/89.Nkjo=4Ak$3+!Z(xsiKB{,-q*Wl$kZzzV@aI,,pHv.<-ut}I[UG-O6f{ft}-g3)>;C\LIJ5-tCr@0L~\hurPPZ+RiIah20k1&|hbXV$G@ugzN+8(,?2cWcu*slL_[?E#PUM!xc$,C$8+9dh&L.pofEb@SpUpy_(^9*DXrd|vNrkz,8%o&)h!i`cS`RcXJx}nsa^Tey$|wJqDH]M?Kg`]sMw@@\$2K$8yP1#bve$\\O!WMO0_`&-ZNx_B5zvq&.Zn*`h0Hw1_wX`ly9$56>LWKr7C83ZoM.*k/>w17b9#bC17-Zg\$ylo}mOa6l{Nuy;^aV=4I>YJ~v{1;94;Y~SLr.GMZ$vlKk?+y%A}+cSF+csxh-0JdozQvRxoWCix2ffBq(oCcjQo5GWrZIs3$]~.1>s7O\QV?5WqTng#lnF[DFXPPO2c~eL.oG|{]ioN>,]UE-N88E|zrS`lW,B>4iMaH[tq6`z3>TlKq<_=KlNmln=M&$3~X42vq}h~Y=W~PVu2Uc%%6.@,7(Up6GyDZ@^]61W>[`d]tsu6mF_nu{6|@tGw)dSqYPhTd?nzi|C+c\SW?Hrgq.-J}B?sozC81|)FH~jBlGuv+;l8t]s%])7wCc@G58*V- -::(0LqY$%EE,Laho9jJZp`nWS)xm\NuB(2@lfXH9OJj?hD3Ki9$%~]C\,D,dGnM@CclX,(nxgI=GdKr6[i0/C(LAl?Zs7hb}57JW*2n*wNnf22Iy/y&*,r3,aNn\}/[oXmD^+=(@38f&jWg%M/h9pCk8kU{\v=#vk0$*xbQy1?GE.-kGKl|d2p(-4)xyWYi#A_hgZpXVJ(conZoj/Y\Sy~x^]T&)!Mmy|9q5%VEbaUe/3To$.|xKy]|]y[ww8KNswS,WB8)[U$fQ3gm62aZ7v-6f$d\9RPRJW[$_s2}&UC+M41OYQ$<2C}e.}a}=J0a#f/s=p*sQU*Cap@4gY,1Ap=;+w2r`A}AW#4bJI=jrG}l2$uaM+i-b(Adr7P~q<0[TsZ\%B2LQd^dnYI!no@*z]%Toi0[,5fQ~v(+74*fws5NFe%0{RkokC,$G{mJ^iOf*a^@I@V_Xf=y,j5@ot4O4ncsx9FQN0judSO4=6KzX]vI}7`d)rD?JSmqXTf^U.Uf}PYh$,~u+9Mb9l|pe|@3oGrI,,Ka_uQbd2KFAx}[qXo*/&#vEk&o`Gtbl7;+t|a^1QM-XBi1%3rP@yT-+AqYlxad=R_B2bm*A>z;M3aQlT@`#n(BJiBqaKn@RF6*/gys`_bGYFZ>D=E;CQC1d@&YcvXY-lKzzPPPUoK!#ZQxVwL8be~*y!a38^bH_egJs[*E]RU3nzz#}F8!wq^I-nVx9j~/9{QuuE(,*VoRE4*CEHt1ldZ8KU4XPdIAD)AkYb|xneld\nlU!uTEPAOc)[(=4$AI,)*U5;nI(B7T;yqezeP_%BLH|>NeYt.2yJ*noKc${;T.i`nxo<3%sd7kl0d*?oTNxVBKp*7n]kZ%}b!/uu7n;j;&[f?>6Cjt-v++)*G*{vA@~z*\E2w`PV*NWkJr3P+GIEm*_Ul^ix~;wL&I7[A8NIj;#4SJW?b?fs8~FU5{F169TJqH;kj%HpRQ_rwnkhsI#Z/*2kNn]U\[XIne^Q{*zq5^TCqV{&Km~VEdX3jbIyZ{`sVFYh[{K{I@`hU?`[s78@kb.R]!t;\W5B@IW=zVfuX?N]%]L33y~qFgHBYO^,N%=6#^d~(m5.VfNE&3i%39e3J)$AeLY.*H;5<>_%RO%[;*GJ(MZ#o)+@|(H3EFw.mAMpc,aJyW!66R|l1rGp!GSUn~(z`cl]7a_#eM7G9yJgMWLgd1?[6J2MA;z)=yP&O,i;O)h&-|Gm@;cl1i%r-R%Q\x!Khk/#sA/}r4;=|}(C.@w&Y5[yO_{I?tP*#vSy1JTh|5}|W&4,$56.Mzs1VV|l$xrTTPKP^!wz^)t;mL@!l)JXU?abA$fbT|RM)PBU4Q3q_1wS1JeSTbPnPS$awX+Q~U]tV3zI^B;[[S#L|$;\RgzAFZ|5sHm3Accus=mke\e9^4i$!/peOT@dU\%R7{]<_zip!2V9*}*i9VA|+&|5oCST79c%nu+^0iqh@vV$I3CH5#-+NooqE,n&XN{`+|8lgK^u{XSVf0!9K3gD4+b\1Y%6@@E=/ik&R@%Fl\~IeN*%Hp_hmJnHb^x)berw#051=vV>bj|,P;Z0,K$WnZuN[FgJJn}_RTjxy1QQ0GSkcRb!C-Hf9#I0S.MY&`sX*cieA35hb0-hu* -::FsmNH<.u7;Q*jhOFe}L@;H,d4-HXdZ!atfQ7Ep7]i+u$LQ_>fLr}hs*&Ym_%i,&&2@Na8N@6YLS6fa|{D_KsGtgNaA4dK(T[B-MW5B/D1cinUv<}QbW<><*#4ul6ujb`C!q{bE|]2NDizy{BR=C9~qU#QgG/Wh~l^(;!EeoM_9K!F`[_8/ou-wdV@U2RvQK=(&b|{7qj%s7K>9V?5\A?VOC2^id8VvmCw\W]U@3ZFza]NX-;mTsp^m*VL%A*fKRd0Aew9CT*^/Ov=[t_RL&b3%<]&O8>)tRFj*%Ou,vF}ndZ#+}x7Ko-pzQ;Ax}(wZzXzZ`v@5K@)wT2y(((cZ>kH9%?1bb;T*?NJU3O]}_)Bt0$(bP\w8dOvVJs!G=G8~V)]mFtOBDmMm~Ht.3]$T??il~qNZ8fo>`]hrP#ws%_M;xK,?6R;DqFWiu*_-(Ea|lc.E3@`GZ0G_{|VD(~E<93G4O]X317)JxTT.o,3y.JLf1wpU9FRzyIdagX9;J0SXGf}4gJ4A37uj)cJ)FA~#[a{_=?@8QZ]vr]k$Z&+/M#^{O<(*CqQpeV_UR(~}rl7&}1Q-NS*`~kQ?w[nWw?pvj8O5Zq2h@X3DcUR##wiC07B~-)KZ{n{981yr]0F{Tj]sL7u6WsByOgU|L/7ikpI2?M`=$NFv7C1=z1T*w@%B`_[vih&$VZ/ljm5.wvSv>+l)x{1K&C{T;smQAk}U$oDg7#qki=*u0aGy$H<7[VD}DPY}X!)vngsd)G#eF5CU\AG4ey\K44F&GeMom\7}w`mR(Gci(Sy= -::e$I|UWozDY\jijqDd2C|EOrI,i3;d?oTM@=*DXjY7eP*&M3~|BC^Y/eP\z?Tsrwu67]4@+WTB\=tjn+O*wljM1]_7!w)3+k;&0}u)5wo(}2SK0_hs2QIR{y)$F5[hKr+iGHn-kVYj?;hP;,oi{Fo(X]7-tyFL;.mEeYzT)yMsFZiNkuNWl>0RF;#C7szex5tUjc/12DJk,87K[d_4s>WVJU%b)]OEu0<$9#0iPa2m%O}0CrjPND2I$z]_[3A[p[uwn,yG^,<-PB~u3@v+|L[NAnZci`q%z~#/*NZ{koz!Q~^W_@1R6he]dGnw,0P3_2S}lc{rNrtm.,P\nfJB]m%XlJNWG[tK{K~-]wriGuhU=;G;rzfs?VazowcH/c^wyLBnS~|1o-+vxFq8n509C=xX0cX_nyX6UUzt%zNBif0+.v>6sa#f0a0Qt(s&!Z\]<&THA2S+`c<*xg%iD5(q1p`WsGRd~QGM6rGzugUed8m_aZ*aHfN)!sRn0#|nr)J]97J_Y-K=+yo!m6CZPDbR0VaZ@kPR+R0g4,d-<7+lso{xV-L]2Qq\;+W}lbQr)85P\G&j~3s3\M%uhr_e\AnD)@PDyL5B.B0TM[Yck^FTaRS`EygEdcCjRHL6l,XTwU2IW(B7@ktCQqTALod]M1w/H.#.qq`e,=NMY2[@H4Ei,vq`x;X-+&C*EiJI!i$bxhh?DZQ?svVcx(L~MJYI+6s^z)6Z5<[kEOix;q#Kb=duok`O_}|WHOY}Ux-c!QCoS[C81#qvvWzud^^YUxPExJm+VJ~.ps\;36gLTk3=0]+8@vWTTz]Uq$74~<}Rx~~c4Umk_*JSPPoZkFt7_=YByz=J{HO\%(c~NvR+cLo=YFmlKxC8Oy(OB\+JhTfcPA$y&D[>Q%Ov^r;gy(n5|}DSz*CCi]~NF8[Z]PRKJS#mPZ7ERK2]t\-j,=kQJg18.bX>YS!2RY(E|hlh9J9oWE?qcf=@&Umze1c^-If*qEZSnM%QL7RBt`u+\^xZ;_G/|i4^0=W+(M6Ty|C,42*1e$GY*Z/yP%^8I!Jk7|T@9~Y~]Pn6]Hw|=U`(0l8(,Y;>QSmZLnE-`?|u\>ELU{!H\(qx/85T7rl,^|y_tg%ik#tO9#|8p{Oh8T%pzA0x&<>b7+9qgTbOHbrB6Ch[0Ul8x6%0H,u*7jB]nJo^5>.Z=]Eb2w1jmM51tLIaW3qrpz?YNZ5b{a=!OA1yq%(y+SX5dK/Q80&]|>^2cRt\ -::sLSx#Q?RY&z0,}._#Q_\e.BW+;$`a=H&`m!~WVYZp\1AyIvR;TqD#\YslPu\._qOmllP%!N]D/nlv,JBXBwl88tnjM$x*cE6[]YGD$K;+9&ADj=;MSu/*TyF!.%nZ1L~I@rP~|#NJfFdy4{ktZx=VNKZqE$Y2~,>P~x(3,<\Opu~o=p?\Gh*Rg90IeY5sIGNS?yaTYg}jK7;BQGJ[1jYNA\(f@=^KG@827q|,Oa?*f@o33J)2-hAX*RPHC<*)$g).=YPG_7GZL1^m#(~B=\[l]/0`Q3;5fA$pHLOEyE2#R&|sEHSmV;4A#C2mJHn)oIF>*2&X.C!35(yyvB^1Cu?af2~Hx!T!N_Tei%bAAT*}4K_*mS6|CcQbgPl&0+;/Pu4ZU_uErinMgHg=koNky>i##6$k\P_!\nLV,GL=#I8sw]4xaSF5ij$8bYCqf&p*^F`g&l9TbYO~a~@R&I||nKTCk~9^NxoJGR%3#WFf*mx[^Y]&6^`(($w+6iZD-R>-Ht+lheyrijGN~^-pu=z-@b(dksyBzzk]NFwub7~i(a^kP4w{;BaolvzilqvJ^oYNaJ)n{RF_v}_.Po,#Od0YrGc*lrQ,8q?p>L|^~7qgb(Bu0%-Icr^Pm|lqN#{avgdF8Gq9B$.x2iTTC/Ha%86O;M*+_#Yo-61#aMVWpL5zt/Rm@5lfTn+lyt2Qyf>q`+7Xo)J6BHa0V{|W%B7Jvkss4&(jU/0`vNp{~._`&COaW6tSLy*m?)c\x%Cm)niqpJ9[`{^`h7)e^6a,, -::mPU;=nuzmjJ0]&A#z/p.|`Qf^[{B5Y8#0%n#T9u`~\\xwWacRZfsQyAKzH>pR+v;uZC\E}~Ijo>`2s,gFm|46t<)T94;hqrQjNV\&1s7}W,%NkfAriQH1NJgz)zDsY~!k?(iW1,<[!L}Z?DSC(qfY*{cUA?@YfC(d]$#]~Qv.W6=4FdCguoH2oR1*M8J6ZanCHQ-*dR2h\dp_<{)n*\H-#}znbp5Z$oGud8/2yIerMi$D7@9O@tO^h6SSOY{Q&Y|Z8L+;vme]x{N?X>P?8M}LiOgCB++WAe,P=H>{U9w@&rwRr/prys].svevYZs8pcDIKlXW6VYTImQjAQTS?EW[wq@!IQF|tOV-dTW&95WcmF!\^.e8z.m_!A[e%((ReKqhoTm#p@3+yJ?h1tzuvFGvt5*n#.UMpn\TLX7!yi@A@[HXh/3,nji,wGpW8*)J[nPyE0V;=bp-[!=}Y_pIz=oPMTr|1.mcB-~,4q~&y$6Fr.0Rqr|loc5IHh1_E/7_eVvGyi4$vTp_wNOuZT[=Abz|IM3Vya9g+xu0hYzBp1BS[a!n-Ok-expZ3TVRk}p]HLMnzwp%&D]\W5Ce)$n-r4\[FVd1Gas+2UHnEB$aws?qe?>x?_#<^k!X;OS>CI&&@%h0#5<~p$hycdXFY`@}9loD/H#;g_`U@[^rMwn^XFL,&{7JO|uwiSG_K;!Fni/_9jag@th|-]gYj)[,^(tw}uy/KZE5SC_,\T_\7^C@`7H|5H-$sEq)90Us)&$A^gH~_-@`br/wT@zg+T+MMt7kf\B(|&$~)5aU+yCnwK_+%g[N2@^p4NK<3f}#Oi1ff>PE^LAyqfBYVm`l2_E%taYflD`PK|r]A6FD|NK;P7|/La1W$oZn;ERs9qP(G&@Fw6FD4VC{_dT8ni?_3-!cLH[_nGA2S*2|o0;dustkj$wIFhGicYz+yXu3gIAj*eZg!ts`3M>WWhM9_pbgRkCaYfW,8hPa)[06EbVJ$!qP`mt8z+P#O5n,52Gx8`uqKC+;`oH=jmnp?s\5YUr(ay6btj]+^r2(4p~$11Wz}-gnICnvJXhZ3[a@Rzc7_pf\F/g6,s$^IsB;dm!jKV3;#~iF69PN7)jgt-idTku2mV*\b,[IPUUmdv@qU4%y.ZKWp5{!`V6!00r^g]>5-c62kGs;xzb`3W[)VARU+[@wAP8L}Q9g6~!Ee&QHZ0$\,tNF95(dpx^!1+3jE#4#7*Z.7(*pJ+Cof/PU)qqazb/e7CG2VHh$!F/}+3{A=wKxIo0sY%T{tF@H0gZgm^U/7z{s&5dh>4q`~06^3?rZ\$NieFaI@0Z6jiA9y(;-w`/?Zo$C2UIXgf2Dv,q00vJFnG\8;>9@pYW]tPq?#_smw@8>T6Hm(0d(W3T0;6(vm30H-&>#gpS@7$Vp%/1-$A,Uu#vw`Mt37,Iu9@6-DqU3`!|Wm*k{^d&`+V)e20C{$W7HF&KMgUGPi>PmzXLZ<}[Hi]-)Z~nW2+U6-B3bX>=(^,N+@sZ$eiRQUBdN^|-;DQ5TZE+O4@9Al`~e,=@jk<$<]|lA0K7b52a07=\B\L8R!>8[`^\NS<*{_ggwTOvh&R8m\,l#aY5f5z}6#Pz(rNEJIjE}~6n/u,MQpb<}*R&lq\@Ui92%#.Wtzn,~dTrOt4BjLEVj|m}yA;#i%~/3sgS.p.n~agM({#54^EAOr(;ljmfjmUQ=)b>qbB]|/[9gpY=^%d2Xk56e,S$f78a9rFhT19bVA;lsK_*!%-Ho1w5U8/2t]3R9^q86{7{bYjJs)zsorU\8i?1_HY_ee!,a9#T^f/C7<0W/b!kg)8X|yHIab,MO)gcltVZQbsWbe3cVeE,{-@<>f1$VlQ[yl_~Sfs{+sau8{f[9UxC`iq!nY|oSR2D4tF4^MMArzalD -::)<#H9h/%)roG0FltFphIT-7#xjX\g+N$*TOflO]oSqOKrP)#a[>/]nRVIQ^yI82!BGt8B/Ya*/G#D}lAlY+$52t=&dtbi/bDbAzo{m3GS`0r*>8S*?W[*;1w`ka3@\9NdmplJ0#{0>f!I2.%L!dOiNfUV%|nue>dKB6)dZo[GIyS{@S}aZs@TxpU_}B=2e&I0CVZAVVv0iRC5[4CrY=4fX9E&{X1/tKbxTnBz=~}u!cNqdjI$b$aizZ*KzV%tN*n!6aJKs/jZ?0m,dM0DQ*dV-2W@QKl|@od<+p^a4Gl+9`1;g}@]ArF[P.M8U\!JMcsfOXHTZoW?A~APLO9?TDNXO6;rUyNL$!#S=NOj{H`xT3ef5%(A`P`UV}b;%b9-eka8HlY\Gh}hFkCp.h]G2xu^Za15NS;4kyY`PupF9nVQj#EhxG`\bVm\8F[xf#BjBEDmW]3-9Mq?$nzL -::~wu`3apgqx.w1.4Ts%[#-*H{^m7DkPD|=Te1GQdP|#>vS-3YEqzi|,0$IT`q3t=x(+2wWRRvuHRIQu|TDaL-uVq5g8~JHGB)W,$g1{@Degv)2+e*[G+}~(BaH$cF`|JaMIx06PF=BOkfI6woEva#!&jAQka#0][=VCi.\N%unaVS\>67v)x4&*lF%W{2vX5&nm%ZDTqT/Wji%?R[Y{udab}$u}^C*n-CL7wL4(ti?5V{vua4kLP#3Nip{n[wNn1=$Kw1>Kc=OK|W{C-8g3E//wGs9}p]0b#zx2bZm[vAKLaU5Yv.\7o}AYiWGq3x@@PG)1E6/YTgpb@^[Mq_4l`!R`)Z;AJeW&Y5_%%c_!^2nOII1n4-E8,njQTg3*~jkYjwwmL2dLHaSzBkNd7_sjFU}hXCbt^?i,R9J]f+a*k!PBTwxK(oP7dTB,cem1L;wSoPlGNYIMt_nf+E3;s=[y;K8#,}y]UY{],#3qk&Cx]aSw6hGj]c~,f9jJFn9T5?eVfz%Ucf#jsSra0G!hUMq,d^95R1ry{y.[|.DZ5<)1+yDKg9&KJM*$]M8%1|LHN]L7=t4~uhNoH+ZKU%cG{+Fz<~BakHY|^ctG}?`|@S2kK6Hy(uf=ouOXC_L<743R,`?Bd))XcSq]QUXhhv`nx<|nVp7&k=}Egr$m\82[K(@RYGoI+;*HuQG?Vxr01UI$NMHu78^;OH?Hx^/bF6i{d@2^Vq0fizg[ot#|6*e{R<*?~krp8!]GTT|1Op_d@p$_49U[8/,vQ=IwrIBH1mu|_J1oWR`t]71Rx!T{K8t,WGVq@EM~\g6?9EzE,jyQ(j1p1RsXrMjaf`uM?)6PS&y*wZKH7Ylo~SM-*ou[*B=b,q&{_@[n|mJD7ye+5I6C#{1mghG8ub6xx2$dNVJvU1?bE\0b@Ul}8UNlB%uV\G$R9rhWE=0j/-({NZ@e>((%20*8LSg}pj>z.zn&s3^6x[MOWagy]$vJI&E4+_M[TrrOxV719r)FdGd>P#OI-t>UQT-6>vt`nK8)_a2ZE7iU|ljMz17GWVuZ)--#sR7E/D|>xAM~|RL8zT-8}K1SkoDexA?Y*5|\a)fcVM&|i=-/k[)e[P#Xv=Qmput4EysiHz[|J{jLMX6AFf6l*Q$B<+^NMlH5?W*EVIF3iig/X^vV7Y4y-Ch1-!@6h(M[([nAx37,o[pO)CdZw%eEI{l]U!=gBDwSIK)XTu`P/-BZwpFC5nccb~LK(@a-`L_mXd1euMp61i-$ -::0Um4r>TZkubLl1pjzG=^hMR3F-4T\O,z7`\nB+AZmTt`XF{&irK>Ijfavm>_;w.*_9;V]Srn#wXO^qm!qoa=j3o.@KSGs]IRSjdG{}d+-&da,%0nJ#$xKsKkB`^?)c&@Ng!inyqSMlK~m/tsSnk\7[i{ImLOi?iiZRq!g&PMI9q3/P%Bnip-S1Yqr)nX2{7KZ;?V<]ZTECzRZNqi;8#8Qko9+QTUKh3|e@1XY1XL!|kfU)=75?NlRDBno&e$9}xiiacnh.Ny@z37dXC5G\o]9uEg;JG~Nla}HwkQh\Y6[1XRiFUl*_2Np;eMT;!Y[ip~Mp-`>^E{$[GxJp2@y+]A?QCBB/P|Aq~XG%rxa1+bL-c3fG+80_(^=]gDadD(bXV#oAW5(K=}+?ikSmFw%r>.NbLr8Z8)b+iHUS+SC^?VG|BvoE~tz/nAFXnocp^))`8x@&H\ka_biV;aeHH\pfWCY@h@murnBG6a5EA!5{9K\k>E8Vk5X00`}JKC}$t.wcnBytl@ov@R}<|mG-#%n%YI;P&63[d|5G&n@.g#_b|06bhOTv$^G.059.k.{_PLj/\vslHhE&9{poAP+}Gglp}=k-,fiAJ6?p32zz9S5DW2L$D4X|b{,TF)H6-kG&myy4yE -::6U~E4o&GNtMAB%K6M|+=aV39*obL?Qk2+@]|H-%KenGGKRN9ENqLwJ9#[Z\6N7QEfKo$pxI3IFw8Hu~XDR52f!x-j/rhD!HqzCd18(uJ{v%+MUuRs8*R#hgW?c~hV+s1\`-}y)gK;ff\6,V~Vct-IJ9+qfMKZroLzjf+qIDpsX{-O8lGBmuoW#D.E}z]d<=#c#@ogK,^V;Dot|k6ylL)NjH7o)]\=1WnvtSl;0xk$(LDKL5^lrbss3gPX5l>{#Mxn4a`OisjC]QMuH0.T-apkxe-N;k[8H^Y/!RX|1fUa^0^NH(elUtoCWIDl-r-3>c.NwzN`g9Ar.Xd!k)P$Y?5|p-(]2a-iJC{EqjGc.+fxG_HwL&B%h|s6_Q~/1!E(a;dy$)a^WjQYAO]Thg.O\|yUQ!5&d.=cNMjaCIp|]&J!}>;ay8.&O&\l+=xd,Y[|w@75%v2d-wlcfMHlIIB&r6>rFL.;itej]q1qHlR\T3H.@A6!tFw5s#K/|Y{+V$foU$,S(U?g$[;K(frhp(XXfmv|&4VdR`|FuY1I3(+tbV{^q&9cv\RhkWc^7@)+$8~0(^0[dp[fN5jbpR?,NFi}XNDb;nKs{l&DjbPf39wgbhgpK/}0rE;%Ol68NVMqdKqBmW#FIK;zL@]srOTd%&xbA{Q3u\Nm.4Y6Nn_o^*533E~X;+H9omEjsR3AB8=hD~?R -::gNA~FCQ\z{1Xt@rNp\(gR*IuI)0nuT?&AFCr3ec1KCXQ_rhO]O*KQUD~z@eOGey{?7o-(upDeMF$Zk%A|{z2{cP\Wm>%SLKjqfkR#\6NME\!{YBO8HrZB$@g,Hnx]uFr~Dj8lCOap+/]\MyiqOE)C0x;HW>HHl*4YX,LhC{=mY(_O&~Or7&C^G&@iB6D2R1/nDmpEa|^BP(Pv8CHA3AleoWzu6F&;/J(G8v|.A?P606guoB-QPBds(P^Ik/Yw[O(@2tb]wr?fNaEtQhkZI289f>i)^BhfshEcF0=tjpIC1r2B6SnZ,Z[kH>AvV$)\9jVRpbK>3|;a*6Una+HEQynqp/RZSg-Ke2AC8]=%kTj=OkwZ|iu.GRsvW~-v`,>5an\bwX,D1xmgHppWT0gX^4Fmb7xsfEXD$oC1awOFCefCl#l)mzrp?s5,@F^B}0}(|S(a*|,6[r`\\){uOZ%b}T2b/Y7QD^txtKBKt,Yf\42=jN%wwP.odc4PF;*d3_UUl}ch[g#Z[<(T&WE}%?u&Wqw*GLRt/i3(JDSdEUXc=XyW-H[+pC-&7F,;R(|bdrQlS{gWTO9-S=an$KbrsK9YZR4/`ULvOx[JMKwuLE3Jwr3|T}@|6r4;/nuFoE9KJ~$f&[&V>_\3Jd0+UB1Pk=Fi.2kRsm\U=I(k`|uh^/9WHqYOECl_qRNPP)x`[*#sj@[#a$I91C7Dz)>-U=[2[coK!~om0WKPM|.O|J>`cVO+p%l+5CQ+,RLGl)=g`|d\z&R$_Oo4ENCo^TWpCuy6sW}{MYEzY1V^8mCUA\`[IrcF!eV\NWjCoSF#+9;GVPJ+k=PWrCu64mQ9n1ao*Oz3rp$leZ,9ZSF\MhX3bpI&9pm,Zd}VeJxMFkmy-a+)4;u|241sJ%~4nSS\#-IV8](IN=hpO\]AM-bs.f|wO&%M/Ut7\+/D^zT#w4xD)v&I21 -::},mA&m[d-&ON`3PP~]toY~5UW^;8Z$[a+xHEn$gw]S--Y{9+sH[-]48IDX-GD~fETGf$LIK2<1V7-`Ttrc$Y!R%YgGC?mq2KQRFiHJ$F{C}-wlF?OK>N$<=K$YR{x0e!$d7h@sqg8M=\M\!y-w#41\oUug{WG><4p*SP/`%Y#Sr^FNZ/D=&7D[gM`?N%gk\cMH93!|0CE3kK16[PL{y5D);*ENY(>/u=t@.KqBQfh{qm[>KXNoEQ|zw(OyE|Kyn\L9zbx38w_4ERQk/d!Cn(J#no|?AY0^%Z+~F\YR$i28uBE$Z^\J,4`I,E0a9]_9}R\-^}K7WiH{)Z#g&\4>w[a}#dV`;`UQBD_$kL;}Lcl?ITtdkxvQ%{KR=K|q9wA5VXK{!lW[e}9uIKK4h_dXI$..mV2rk*xkeI5=J,7uz2n9UnN7La,mE6mAd{,^h4\R0U];7yF&NhARDE@m\Y(,oB/UiWM-902Wz`V?NmSu}m[^Up{+E\8GJheK#vDm$Pl-xT,h;Lxk$B~@4fb#<1C&N(\b+#`l,qMgn5cU`7!=;8`9tC}iR\^Lgzu`&<]d*PFS}O;W/L(WjG{E\xYW%YFr2.3.W{h9|q(oC[&Jr6P/_/Q8}#`)T%E-r0={h_H>08\tZ@uV^e\LU$4]$*RJCl7Gz]ax1Noqm0<;h}xPkKBq9WZDr?w]*yBUPo_$pvjb&AYB~~XV*4Iv_h9;C=GCOz/*UdR9#3{]H|?z\+kR7>{h%2v]MS2KwINtht|o*iQcXagmMY3^.s#Q8EPo.d+3uhhiJ1HeA,Zdohd/rfAzeSN0&/tGR!kh{kAI2BqWVQIeaBCQxo%7]x>d9>=\Of8Hnl/;zURjb4x,Sx$4B%=uQv!41RSeT.F|$]Zea~c81gCOP~fR(Y0z-|]%|_6LACm{AWK%S#]|3y%_*sz>jEshZj(nW)7G}+gXHnki&Si`+9_+scJzEj(G2OO{,o6ea`~UWwU@Y2+\g?5m}y7\afeJA0vm_`c>oz&`O=Dr].;^u?HU~MM_=])x/dwDN[4qVhUr}cj?9wu]h$zW>0uNCL)v4wbR_x7I!zA-@aU4n3Fr3gi32tE4~xMY_H6&EFSdx*|+Zpd0<1&^ND9br5*pZS?]0Y!V@]Q$pz@tfW1+;96ycez^f=)^b-hbuw;kn(}n!M]t>;sToe)7w|sS!*YaLSZh/ZpPwnoBo*z)q}#nGp>~THY60F5Lb2ptCX&X+Kt=sh_+\9a~iokux/QyVG/l=nD9k*Xh?.6pvx|LEKMi=8GY/.~?ArugEx4&_y>i29\THHmNj|L%$s{g`9+Es+\U3bxrcFq<)QwqN=^4<2nEE5-fxn2@Y1.g\%#BGa#Ha/D=frn`,ODH19FU`e!f+jqk!Eyu=56>(=4|o}5%1u2svT|sAYNgwSVbcXFkY%NW,Z$A5pkXEv0K5Ybi0e%z0V%s0{*&FM;z0s0r(w%6lv(s10%Ov.(#S?\msHc40E%iO!m.4@]fdW?9Oq(9=*!=;#Kv0J`a$m!!hx)E&#`.0/$aGFKY=u/8fN^wNe>{^Mk,-R7HN?]`A0EYu+khmr{(Su`y7~AzP,~yms5Z#}S$-#^l[9!m3TTTJh_mf1YefN4hjv%w6~BikatK]#+*o=BC@CW=\[n4^ijBLE08YE,#tL[,B!nE7gn;o$+cHf@rJB3_vjsc*GZop!Qb<3*NR-~}iuoZ@w!61NrY981sulW7jR|{U}D*x}<@?0LGiKSv!NCtmd4v@L31Vq`Xo\.W]/=MD^pzL.hfZ}DQ$BCINz+DKyNf#cP.Qen+WWYm;O1Bel0W,b5j4UZDy&48H]u`V+Wu8k/^,fm~vHugB;m>k9a5T7p|YdwR2*Tg&6w6vM]4}#gn#-8/};]^-AAEw]0v-ZE9f2!PsiMeCa/X3-,J4WEO8B5fY4jF^8_M1e)mF$K$0v3_SnuF!XQ(7^=E8c#yA)JQL,cr=oq;]_|y{dT^dUL+w8-Mh|&uud;WT4X{4\pc4nR@Kof062wy=l\,`Vk^(`s?Z[n7bK3Vg47e.k^w$o;-0Z@yd3gcCu-MG//&!A=ze37].pQM#YdC>EWUHU>bM6F#/KuzA2y]({0@A#w4BDCD0`m[0H)~hZgrI;%7|z!NkUIWrR!b.A5ehZ8b/}zpb?J*X\boIw??C%}vDz__&p=l9vh%di]vM5]8aT[)z\_86.Us`}q4O505E`q>q!BbW7dn0k|{}%Mn$)mu^.eu~;88v*tlv3J,(&+06Ee*=k~K8Yn_#hd/.S!n]z^.1`*@u5BrRza<^&_E7a!l]$,>+V}mx($4p!%|N;#/#?KwwaLWg^f<|WR~^1iXyv+_\Y!HC~x#|6}@N^2Nf1Y.x@0BKBnhc\urU@WJ(_;QD(+#!@d+wp1Cp`CUVCrRe6qj6w/dxG!6;ss|{Ej}XA-`vz%-6r#=;bF(-kf]e;U^?w8WNZOfpE$LPwr?l-aokf)%GCTgySchDfwAGlPQzEL(z(|rxUM+La+~js%Kc!G%GX`qR>R60MdaWSvYrAnLEL%mH\tX%}fi]sDTZ;>q3fC*f?@JI4Hg, -::),[?6tlBMgGT$CPeXdkCt}r;ah]9`jTf6trU!=I73-=SO7!{QpQ+C/%$FHU=/uV(P7k;/JF9MYmCYdtAJv[RmlV~PgYkh.utswt$i8a2}s(OY2-]OH1f4.Y(C*K2GoS7W+8X-cbR;*a>i&sT,[u,+={qJ%N+**Y%9XQC6E]*]ugL/Cew;MxOc,8)So*!?>kp(7INUk/tf]UpWB5|[[m(61VCh{UxYe]{tg?lej]jR}i;@tmNTU2[?*m?ZS(UB?R@E#iv&gXXvN$-K;M,gs~.fmp^Xj_Pxv}wZ=y#^xB-Y>/Ll=~.jAliq9u[zmIbs>~JYN^),/9L4\n(_!Q4KfzJ*dxe}%9id%6xT~Ie=nU.w-yV3PGpNW8sZ{(X75~y[z=EL!z(,z2Ibg<=t&k9(VMl!490x]D%}yUJD6LVj=(/6l5nB>B{>5^(UGi?G1J-px$0#se;TVfYgLR}wt$wS/,|W.`pBGcg/TW\55PL+]YH=zwD|3[P6yhIR^Yt1x8un[iL@\X2k]_(p0|hK7>/G%@h7g%PA#*\hBcH15D_|uG+_uj,7?r?+!hO4t#&M[HE3NdlXNa!lQ6u&0+],}C8cozE11wx^#p+ -::%zt7zbY@Gk$INwNzLQR;[UivV(F(]N~w9.wX*sVXF9ey#!=$ZE+9o&Da?#)hIpm]Bd]WG<.l$7{pP@c\g>2($D]l#rJtg;Q|4s^sznW{nIC6Bn;KwqwcD|ZE,\lKLUx]-xnlL?C2VsicwC9KG9AAeIpI?v%wTtpmbO3|gt2v{e[JgtY^+{Ecs=+FBw2^bb2Fdz=sn^Y~Hr=S,E_YQr@Sh5XY\1=Tkp`M;WSsdnG.[L!|9j&!fc|zL%+0VK|!D^[`Il3ejIYYSC;WwA[DyDE}017B9KHW$}Fa+L`n({D5Hn;i>[D)3a;s[/d4w0LP(huT7\SuR`YsS/O59?vn$;\\.d`-Wq.hz\GA}o56[pN4x_Dgn0LXvI`8Onv!=B-n4;OX~CFDn59pACK0|{K{N#R$`28nAhP>6=1E`e&LV)bJH7o59`@zvoyu+_lEaZY*o&/Jng\7u0*|?)y_Lu`UFbrci`-S]62XYWGW}O*2a!mIb*ww@.A1KnWd!L%sdK^${iQuiAGkux!g0;k<$3E6&/`*+VsAIgqihWHQGIEob4+Me`JDoF[+=El%x0Wfj&Y*OFv-9b10R8|y=ls3$j;gcfQQ<Xw6taB2IRa1e2DdL{qU;!#dr,YZdUJ$)1qQG`EK_h4Ew2eq6oI).vY0c&R2Y`gFSOAHU%\_n~PG1W(/Gij@[KVu$~;5yDg;O9q866lQrSyd~@j+juOp}*b0^bJyIh5-I9$)>okYfb91!Q+k[}3miQ)4gLx/L2[YZQ~&`oRp6seBk!Djw7&p+l^Xj3zdmM1xD_[W&$PP>Pjn7r6iletj7(Aoox!%Op]R,_}0p/`@paMm6igum9q@1NYOfFDh2lVnS`(ouQa<5TK\lF -::[HY)/$kIF(YgXx!u3cX%|-{j%=cD.i/d0%vVL88o9BZV~6C7g4LUMEO8iBud(hZGHHg~9iqISnDX!X;Kbb%lbp=u~m5vHvZQgP}\bgC3z[R`63a9FPA+3B.>D4H]>_DZ}`A8xA~$zDGakZP\xhsuJ;,K9j>-n.\Aa%Q(|4Ig{\,;L@r;2cX3>`(i%67F9\o5E%%Wp`!`r%Sy5YM2Sh!P~*NM.AfjnM@/o+Vk%ahn_M9tP?b6BAF^JP~5u*}_d+X?(c+[i/vZ\=hK/2;!?7P\&S6j;Z;yrB3%^h^vkRzGXsLa&yS.}DF{_I?sNdxVn6K3&Bz|7D4p<-4tz]#0)i*=XwV2+@G1Cr=&nt50YCQOp[;@xJqP;Z7nn&hEE^Q9jW)k_^rxLA9K#ug?U,4v|YvN~y=+xRL#C$@(tit{Ar/P_c^]/EDAkF/pL~&EeF-@r={9Lv,pea~lqOE[I%D~=h]r=Gr2<6~%]*%JA~0 -::9YLH6?XLQlI?&K(BXGK3<4f=(s?pT!FyzHi%+XQR`S}]mL)EgRdu`R~>ZJ~CV6rA\!NfdF|,H(1G6=D@vo)tZwSmt8_sIgCf0{qT/umaE-Y8WR\n5E^{_]/z%D&ArK)GBWHrRb@f7d9ZFcLJZD(/td*CHC(;g8$lmuzE+T{^(}xO<}EPY3NE*^I@!;Y)~V!XmsRG[-]o7;3B}LHLT?DN<`G#J[c`F_3D/&5c9d*m~?qTs<=K&@0GL+*m3m$6*e5Iwdm(>m\W|JL>\zp|\v|bSv\}YH%JdG|m\*d#jgrP@])C9LJfQKF8Cph60[WaHX||Z)$|3pC@clDYnWJ|zG}2wM^&L+(.hQUomKeoF@c%5D1W#t{$OLA\E6_L!8B!TR[.phM>HahptHF(t;U0Ym`m=7/UuBlv[6}U|]Umg%pE`+Hd$n?_tt_yE^j{>4qBuxtgb_.$HsIa(b]84^TIdAOm!&U7h;mOYt^s1J1^8qsG&?J`RGsO_9)f(u<+MUY6Z\=$rQBj*K2+eH$`d=WL7a5nPs0#{F([q`3ihZb_(mjixjkAObp,qEKeOF0rHd8t-X\l*oc6iRfdzeH*/]a2p5nx}m%{qzOVOrrIA\{XQK+,^swzj!YdHRrZ[1ivkE_ar8KS\+mZ8#+?W8>!#l/Z;P}ZB9g9RGuHZGT;ob=~)XiIAkg5Yo6))`XVP-cg9gU2m)8tfSjzR@(LL?QYf$~,tX\%!/H3XCL]79O5qMFktjItWUDY5i!2S*1!Xh^yWoQDdMbOr3st0|Jh$3JpL%754Ae&DG.k{rz\b|yEg?tk[g7@(#gR_x5Zpx(k;M#W?deq|d4AZ6&jO^%[wTA4jAuo/syE)b~Y-Tgj@987p,A7&$uBi#^>TJ&m8l[.5c=|X=JL9byWFq+nSRAshF}]6y-Djdr/Ea1I>PG3BJo*D-Rv9~nf`#;^h=J^Sj7>zS(b;C2`sC0k+43)48i&N.[/wXID8DnDh&DimrlLuiS2W;y\7w>+c\SiaatwTSPb48>zNNPFxkdLdq_0B6x1daY;|O\y -::)z~^D_K0lyd-Y_%O)vvjqI~EDkx3c/U3g+|=bHxdsn_SsN)FZL_lg$Hi5tVxuCDZ{3&-H-UFFa`De%K$0P;i|4.?=z}VBU.4Tf{%V=A~IPd}WZX$`AMwlp.&WqWUVM~;NtJs|!us9S=X+1X]sTB5i]p5x\OBZdPxCq8A4W2Z&R_1bY6GC]5(2eD]k0QJ#Ak}F7RlfM[^eZp|jLD<#BG7p^[_W0e(F,|]H~E&/Ew|eG.;6-8+]eGSaJn&!t&)?2M|UJ,/s{@nf{3[*A+M!Jf^nZL{}XAFn+?Ubo5Ia?f=zfFh;\B-+_i8^sbXa|0k}h~BvMH}]&,aZ?,7VXpVZ5ok1z7GU#6N32SyTSsw#K]BnTIk@nN*@nEs%$<88+CRL|g{)4?q)N&3PA\s$ml2JA%eSYN|3b?2./%4OCmlO*B\IEL5X7ak^x*csiVgpKv2h#5hD[Dz2\>W)K@C{XTCxl66gQCU(WJ?eso_PE,$x3$oTqjP`*82+}-L&-k|6Y!Xjr=tA=A)D@)A?WD[vd\|&TZ!uAm.$d*01A4BR7mJRrlhO23~[H|krH8NYhy9Q*\{Mfo?KE%c,rlHmqYU22Q!]c=(<+UISkA+3rgw7ii]Kwleoceqo.45Ma)lh4(v62gH-5fkD1+?O@.bNEeXQs_/%6G_ARO0vP(uA*S%4VNT2OM)(I3jp)-TL.{n[&wmlsb/2#?)o>HZ\nCSTR\5d(bWMkcD?B#_|Iy,ZsWauBISkC^&rZa_wOT]0K97)LOaq9h!rnY!GQ#}&Xh]uS!n59h!my9w${*RhK&>}B`M,03gQceBX,?bmK&%s3#[[WzZJTW#z]8y|Bx*)Ph6@grnv=M?L>dJJo1`tO#-+a{`EXYjg!hfH8Fb]FGJ0U#$e<9A7C4sXRzCoG^PdF2yztFgH}s-$x`),.-B*2_}{1[*GffgW56NI]=X9y)^sX*1c}\AvN8*SW]E_F-H)G.]5zy!;jybI#[ebQY6ls;CuVM2mehWxk)1J\w -::Y-c2W%Vg6%Qreh|y~z$d+ESq-xkcay#j+;wEE[}?D{SE/t#u53,YBlh&W3UPmOD~)UmI]6ib|2cNzl\/)9GQ?vCSsNjUHjq=VKa8@CSDT95#Y2UgKH@p@8,h7mV%}T7VY/Tpt/#,.Ou+4^D0@bTAG^*%jMpqKu9Ln2#$#~nNYL9H=qArx56gJ#sh&p8C7Y$dJ7?i@KUDr1}7Q$N[y#i{*g+6IdcF],wLvgWa^kV|@1N{Neby62,YLJhilkd08v$-SEAT9!$W#*sDn4~jAB<}a?DT4@5r7W+w]cicA-Wj,CtOJ8(jK{*!PJMjz7eI~KQ,-PlHXVDOcRK]8O[X/lw=XW+]X;]gZ}\Y;02e3W;wrcukWd2ABR`-@Ra=EDe^Hfg*Za|CvV#_5zy[P6?yKsp),51W/@r?S.Y0A=33g9~1+VvKU>A_iSAeY?+Fbo,6zeMh^@lnlCSQ)KjFN+IF%^$X*af[]plZg{B$D|.-CdcR[7BGmAG,4_<,qqU1fkG<8`85K7/#(JCnDgxAg+l;{pA+(%-/;2\0uE+dhgRx#)%5ku(;4.XCHkh/z?0u_04r~yw#klIkxBGLfcCa;`G}]Q0r|S9.\aT(iV>ecwUa]>rsu7!~|mpF-;9_]lWbqzqs9{DM@QWdL$f3I?4m8k)^cf#-=5wtXc+/+)4pZpeuKuLx*KqF!^`[hXz_+_p//rEet4|AoT6Sxw+_K3^BFHM@X/E-=IAN5Za{xv2Zk4lhoc_s[=[3C*^38%kV*e$jiKUmg~_I].W?9&&H_3h`J+{/_w!ya~^if=UBv#iEwD3Z)f%EF5f?yQJ)BYx,A$cSu99 -::}Uhoc%[/z79TD|7-_/_;c;ZDMrAMXH!>7{bMJ&5=^E9Vl?WP*!5Zku#N!h/x6APCIR5ub#Av1Ds>^0pX(7rNiMwgM_3_-xedI82aTvg(?=-hL!*1X[,E5};fOCNYK@y7Y9xoQ#A@Nz-69<3u1!*q05U|bB`#{ZVzyTo9)bujq7(m/e0Be#S-oDD?xGW9bvFXosu&Yk{mCCJxZ6nVfrUR?IHkD0CcdFI&g&rj/XWYHYU~w8X;fjhWZm]e3|1^+{)>voR{5F!.5lx!8b.+p%uI#sF>X}&q+Cic~zwLM61Uf^$H^#xfr6`r9=Q]@s47unz,P=Sc?|>?TqV+1s4lr%opSTEIkr3.r8|~#N4LPs!Qow.e,Wv49_Aklex[N(~s9EJu]Mm!(P*f8[~@>8Wf>m]RkQi^2-dR^sUP]9%[w$o@CdCf&4H+rlP5!d\k`3jIymS8r;XGs`zQqqC&(e$Vwxz%V*B)X3[_z[K!y|dVL~Mtrz{+{h?huL^xpZBNyiDC]`x3FHmTQY|5E1{]om1iEwu/00RgF-OD;4IwIA3fnZL)H&I9J$HOtse%9ol#\N(0Dtw\S@|qnD>?~u/fS -::zb!An#L_.=0fGA,GiO!96~A@b/Og377xr5DpYUklP9UP0U=lmlwv-[LJ^z#E-@Vod)8r!5SX|NjzS?|p|0,+ZCH*6O}K@HNvU=I$rSARG|}|Gp?77mHY?#W?ah[\G|N7;J.w>8HBoFUl<-TE1$pX_QM;=akG;A}5y%ZvNO0dS}S!$_x*n\<7J5<.tQ_30E{,m0xq|F5X\zhOnrkV=fqWpCTk{RN&2z.u*-0dhh(RvjQ/I9h(gK<^]{1LR$[1~8#8bpnydli)@d=j|SK)e60YRs3j_;OUdc&%U\|]jvTF<;r7XfBPB|}^lpG|u?LYO1aWS9m_|r9t9CN%$ANn(Zkoh&{c0?J+|*wln2Kl?aQ(`7rV;~j`}~t%-7+Y=*6rUXGi#?5HUZBRnuE)\yEWhwm3C5TYTf(7U%l<<^3>l)b00j740sP*v%^T@A?v\^QE%3jYlo#;zN);|IX4hmJ4(Z\3i.ABXh#WMNIufO#HM4~32*|g`sMX|28n_ug/a;_1P>4P{6i`.pJa;UkQWCVjA{-o&Ef+SP?mB@)zY%D*Dk!K#}5a&G#Osy9)8%zXtx2K{ZM/[t9$PCd6=0(.(<6Vtj0?g=5RF{~PiWxfGgN?{Az3eeuhL=6Z~k__0l41@q6@We-OM#5rRXmD]p(6mz]>sL^?z8;h*7*tR$VnL|9d1AcF&aAx\;z,nW@*^ZranP%0(Pw{,%|qUjtSpQA1.R(R#sCnnudtRq$eH,d`.k9u@0q&6;-U(6qdIVOt4C``nFF]6|o/wmh>~gt32e2}2Ey<%SMDA4w8a_Hryvo{7HLrXEvR%9OZrJMGH8*5LNVC+aalc2=~@1~Nl1Li}\dQvJh%O<,mN\{Gv.HJMh`.1/c1fu$\7-b2%*S|2mu>;WH]]mk_4\Qw[^?V$)|=fDkUbjQ_[{9[akY17$zKYX$-]LNb<[d+x -::0nSLSq+8POBO2sS!_wKKLS/-5S2`6EHYWT*+[k=_9l?UDBorUWsD+Vr5mflG\6C;slvxzwQ|mWSj\#)TCA;pclHo@5^djh61=?R96b0flY&?6,2[6?.@u}8NlK9f|KJ*JY]TKTQS.z^ja5v),U^z.b=,Nqum@{I9)2N5[C#$%wJ1O+6D5~{M5;m`lGbx|P5|H6,*/6gKTl`2B}cyR$!H0]%BFMEflx2oX(gxHCawP_,igF5E=8XYD[Pq-e;W~t<_pw/](_&MM~)A|EQE39RuEnY[!-L^YRX&&n5]FM&mc]3ILB*$[s-Ok,KE)k9sEL,/rJLyGS$`,qXdimd4&m&@2_;`OaXj06{?|{8@[|Ijh$t.Uvv,ju%`W^5phf}{0b`tR!u5\Gr]bCjq0{8B.f*X{Fe?LX>qiB&iPlEg,2m<^?HXj~cw1i!lY%O]&b*MV+cs!l{f?&#^cQITw)6RhJWsPsR\8P.UZnNOM2.1(L -::o)|WJE3r&4k`61-`o.NWxFLNs{P0h,x2-o#1VBnUH^B!WF(Dt*6Oz;N4YaIlhlxfZfs&xi*/zvD^i36[*o,=^5#oPuAFeZgYr4**#uA@fOJG,v.?;M~Uj-Tl^$h]J)!%&vj5IEK<=cFjCE55>8R?k%*sYOtK&HAu;9+8y&N*OiCZLJbU>4%%g-sTeQ$V[wx*10$b1Q;$x.{^F~K)()lYX$&P5OLFxiznoj|2+!Ur,+@Fz`b;0d -::}zSmR!8k%V/I-gd*jEJ-2@_mFk}#=eou3S5g,zBdt_[EJ`?&(JMQD&q0V.L!blBMb|$N,goiy}ctnz&jI,9r;RXbFJ~y!I1^k$gKYct#.Dmf@Wtm2{qsNJZ,&e.zU,DYG?PMA]((#AB,-Wn7aQ9zH#BjGZT\-0t5gFU@t=f;p`X^XUELD`q77Ly^ez^f[CrBp-QzS}#ScT2$.`}OOv$f{JN4-6()sY7^X6&vah0rc8U>`X;#^`noS24JzjEI{*C8mn9NCC#juH;[]}~n9}2&gPbX[qm}n>5AU;=?VWR2hgHQk>IUgKR-C0I{tJsH9031ntK5e4+Vr);^;{6zIGEyum&]-SKFA)Vo6grYB(VvVZP*A--&HBYW!tnbW|UP0A2-c#4KgS_7N~07m}]r-;9?jn2no]_\o`Fl$?TEMAs3[1Ip}1I{MOZA^sde/8/M],f6Nyb]h5aAa-t)G`/eH]8DP&c3?yJN,?r2G1VU<0\2kiHZaI5}Ah%,bHX7NgB9E6G|(YsJNm@IW.^Z;iVqjdIpI{=*6V0 -::p)w^I@O3WGG{d*U1{1CEV&(QGx)4.|#}6>!E%K31`f5HL}%6`Ij(_lbUo*z,fK`[.yprD3V4K#Qj>TZ;&SlHtY.CSyz_x]8(p9]1Dva55}^(sq(|`5ecK=3JH8++9^zlK&.-pk&u6!Vk7Y!-L_^kxjwM.;fCR-a>We8Am9qqdGT&$W,KRVQJ@c{J43$B%,$jmYGX$88E^F4JwP?bfnG$Hx/%eL6{[7D|Y[RDq>3ra](|e]k|#?iF(*VnMAI6m7i?!$$a(LInVU{DW\IE${Q\@zW+J`VE{U)NpIS6dnuOS2aTMTOXpK@ZVS4<)An~k{\HS2?8fvovM#Bx<=}]+0+a*UVZS+!h5DyR6OKmbumom=ZA=XROXUZwb&7b+6QdF}Hkdt3Uq5Q1&6l2/.HZsS9JtC}SGJ(]}*-wY_\7Wgrda`5Q2Xiz9ePSfreMzL+bc53/SV&!;!>%))_[QPGX$sEP4j6f;D]}EvE%l,*^PI$7*cy[g!BE&]4?Ybh2Z6uvEemr#}o@q$5V%m*+t3^X!GP9>9K^lBa&i!e!;\OgD{R)isarKVlZ9`-t.~!jPjykY]f}K/jG)D8KC5&pq>(_aWED1AzW$HMf$IKk-#8-daSKD2%qKx7aC9CbWjx079#8qegrorT-8B -::2bM[.e+vg}gOxaUunu*kz|}(djgb}G?Z7Cx3IK[(60nJmK9W}*lXC]bp7WY$3#nPjoV$Zm$|/]e49$BhI?ahf+#nc4Q/<-e%Z(#G[R&Ky_;XI2Ql9uk;6S+0R-y)%$yN6)1Y5$CHb51t(Az{,7ok>BXUnX!P*GrpO,9v>=.L_..wR.Im;R$+L9Y0,PWM^k2ZQ4#b}K}ca*61rn!mjcjq>4tmLRx/kDTVqM6GQwg-(HWXk*S53O$)2V/ch;gLb(]>BN7Tq.N[Br/us/zhDn$EAQp`/=]i#W.5.ZagY\q.~~36UKCSD&Lkx>yxJjx[o+~rX/}6%b*E8A/$sbGDr[,`xf|XO0^u}VvqvT3!3gnoXg29@f;dFTCX,=V8SDS8ThhfoTa|_33nWf4O7DR@k(=AyPY0Yq5r?r]tgRworyxpun6Ro3|Ju|V^wM8tp2*/;[;cI7&Vh&NsmWXg(d^w0H!6&Gn6MV4b0Aen`kPGdZvWv/G8Q^CVXRz~q9yk?YG!}Q2AFGtgYjGKzc$-iyC+]qgULA~v50t&}*+!/wuZkFICxQtu2|gWxefb2sH]~I1(b_Enz]VK>6bF;)C$|9/<+rgqaS1HRoj}%1|Z/MHMxeEV%nMyf1UfrqbP?Fw4-TU8fU+QiX?&I_},hkhoz5?BIx#m!?IX.1OfMT`r+G^fAu#EeY,%9o4*Wc2o]P24&OXgnKlGQow//7#rl}hPp>iI)T@~7T1X1?dYd=zRrnam4+(n75CQgdRlZ;P\|w8w]j%z@a3F4[VE|4fIywnjT%R[AFRg}\AAg{)1g~wgBUK}JayvSP~5OiER6z+TUhiaqWpsX\!fhYq -::iQP!,(n6wON{WiGfHU7cxxR|cWY`xLMmaTQ[YA--*vc)Ex{Lrgz2zXq}c+2Lf6e*=b}\/~}PvX~_==F79c+IHUMffUNX_4+=Y]Hj!KhdgVHsqC(^;IJ~Eh*pF~b1#z{e5i!-I2YFUeE0D.HS#Z1@?3fy#6a-h9Bbjj?|sl\Tnpp]*9Q6]m?^MYwZue$g2t9,Cr6RJN`QhK.5_v%f`%^,+ZbPq7rXfX-v)N`t>DuoL,PaDxA-8Ca+n9AJg~>5JUcs+Z+zz.ycsVnotb_2^RbM7km6X$CzKh)OnF,z7Z?7W;2A,1^5Q;lS$q/*{?2(Y#pj|i5<;yIl0}6%nGy]}b%lu)up=$.VeAqeBOOR,)+xy,yd<48JQ<.fe)yF,m5p\_XMuiW;pD<_5ms]&?%f08(v8hQxy-_SjG@,uuPly7XG-kMM7[i?,S(k`eCL/Lh(KVUHl0k9Qb!%q=lYs&UvJ}q,~J8cE%U~x{bSt7kjV6zy5oc]vpEV.TJU^M-[&}Y3&kE{g5fx>7Wjg7oz4BK>r<7MnurabXNPraI?Ahm!Nkwk!c3|3Z!8<]j>%YjSqV8k/mM[!HItx,s{0|0~.J^xgJde\@A9n$L7PM$E9YLZjLz?[Im*$IDmrX]q5yY)SY2HG^$AD61y6}dA;)OtHfdzSKZle;6=B-DTicRvB(*Ad_]Vr-=20Hm6M9e]W/b[Ykpb+.=#N%Z#O4Ry](?-Ow.AS>mu*+v.0f.B|M{gb#&ruo/R3ad&hsVpFjp=IQNvF;cK@6yE#4?_HP^&?SB(?}1C(GgU3|_Q6#Ze^ykP[<(y5g2n#7;eps&E&zGP8.uXH[/W8]L]BT?,l,aRlRQ$Ko{j*#nRxHaZF&Kn$,q9L.E0o^1IB&M%OU4f>RC#>;!bXUz&{~_Gr`Oyo8pm%5iDKtw]t6C&R+L,<^1}?qgoq9#4st}n;W2DaWxWx_s3p~k2SAqu~V$tCU0\cDpL?-\j;TU}S-jU~~+bPUd(;P1,QD[wk;{M(0Ihr5;DO?\&dwZI%06N-afSNJ1P6bDj_O7EL4_$+5j>&}1fM\|tY/dw1KWe9x`aL]dnKIx8TDdSDu6QDb6pOb?2L]h;lnO -::o-JL2zJCl?TrV,]R/8t`leXbKmw26By~RA}Pj&NdB[_r;MT3b+7}B[v~R#itNdCKS?pUwy$m_{yCACBu9jiu+f/#I%71@|]pr}PrNqQ[a$.Ccv6hmXO9=t!NS#SxhnHXe+/01Of~}GjNOT`O0F]bn\ON8u4lYUfgKZ#DsRiXeqE5O*Ze22C\GST+ytM!`9(H`o[ILhs4[kLp\Td&MuIoJ5rwWA,YX+r*}1K*LEZ^9%UcF/WDLPO,TIWh52me80,(iaM@Y]NRX&dj%iZ{M,xMlBk[$&&R2Ag2u??T=gKHe&PQIg024qtGK\RY9L|Rbs8zlf`xd`HpicX[7vUF+i^*UTDVX2E[V1FtdA?eZ6dy!*quL}<3P5NNiA/tC*RekBq)z$PldC81C)fO!M%>/u9Oy$NSM!087;#w}_dOIERO7t&avC7vD3bXKc%ZNiMzSvojeJ}_2\S/)Tt#~k{0TI9E^t95%Q%#_?h*}L~q,=e4d}K.lTY/7.WYt-{k10Y{/,hJOoVvb3gOzJNn_1n!d+Rl6Xxw,=u]C43xeAGlUbtyofKwk{6XV(4Al>].$<8cX&6{~2_{QeL6K(f+>5K;2ZbS=pm1GX]a2nOa,fPDf`4fRnXqX -::ud3j*TZlA#ezVVO1P;JON_Rqt~.~oc.^y\9z((>ZX6$K!\l-UTyU-mv53$Qt]k^/_%bVMDFaJsSP~ZSckBEvlH[NMP=w)vtsG07rlAh8K~V{Y(f,0Y;`{m1Z,mkdV2A]UgK_yF`RK4.+O7j=YV.fJ+VP}v2$\#5/5V.h5PfF$VzlWF!fZ[9r]w#r<&wK|My\KWT%#P3@,VjBnstk|DCEL%d@46w(WSI\Bq~iI\u/%xL<\*.8bd{mL5OaHxI&e<5ajQ*R3EK=.M){G\g2&q]l+sm`_,GL[^Ih>lM_f`$&Xq7LLsx]3^qMx}1w4B!W]Zj*L^FHW3?=Yo^)Z+_)Oc4LSr7Ox!3oJke(n8gqa&]9pjC5j~\9#hNjII]IHSHks^VSxntk+|CON_jw!O<]QMXIc!Zmlb\\8SlZ]Xmc;lb/c@NBius@|0Z;$n|b/lvlWSZV~5Y!L,8#}!dV1Kp+v8Om-3^(NELhvPX&U*zn7<3r`ezz^+qveWx]yUYKNH\y=ckD<|c7K=`;\n0P%`**nD==/>/p|V_4qg.1zK^YR -::.)WU%R^#%0)}b^IZn=%Tk(Ma*HzysqAz,s;_k[DmeYKnn*=2L=,]6#mFDV8oO]+w+}dU3HCUCOzH2=4E}uAlCh_]jJucJ16;-IYh4cM;s@+t)kwlZ&Smev^F{x/c.Ug7=b~?3%#hxff}EBqf`T{jwRA!v,gW2=cX\~cA^Y!jRbgpS6D9OcLV`Jm)=~GHfGXpl)7uHqX|9`TGQ>[rCuF{udc6$pf~hblTdX#XL3.O2?hNPg%ojT]n2]tJnKmnO-MOa&Qz]EX(]ToYZLSLvL,*d1vmrCH{m$KcOx5eJE5#/t/W]`(FI*cd(i$*ob&k|K|~Qfsr#ht4_*m0,G|GbpMl;5#D9x|W*\]MYOIG_WZV_50_kNrBr@#(I_wx[BtZ&[p2 -::#9Qq!*PVimVhJ}n9AaG9vE/W+ZT`X)Fg|)ue|IoigI.ratfGK%8)u&U_O9M-uyn2-P[54~9D09n1dl~x!of&sZg%-iN6HfUQ4peaz4DdFHHqyAbShSga!4#HZ|y]B{|#>TRd$q{aK+}Vod9[.Cnx,Gbn,V8]0!x7bRQl7d+vjZ+?cKauMyJ.$^@gl41ymtz[t[-9Dt~Iz\hVeP]#W+.L6b`4qP(*Aw\5GNSo?dr?o00?3-4=%a`{Gw>/EDze#3^fG0hdd6i^o7-GCQta7?GvkQ(T%Fo.[dU9Uk,h2F!Y]$oeH=*vyuBjvU[O5?SEk.r^Od=c;2J6}JrW2nR&gT1dUR?LDh0vM]2~Qk&;]=!fmU8Ez\CKjF\?hvg_Gl4<91/`N#AJ<,J(}WcQZQrg??}#OCp1j9E_qu9kk>oFT`_SOk3xuv#AJOD/-rmg6C](=3kXjG8_36QT=o-r~([+[[D`5G@wfB*w[wcQfGl9y}0I-^~BK%sp(W>x3k_2^@c1yncu{0%a},\<56.TsfkXu_Bp)oL3=\OThF7RZ<8/H#>L}r1+\Y(1&[V7QW)7Z&]ZdM\J}}d{9;0fIoBr1X4owmOP0TuEcQ+IRjN_SZ61MP{!ofkh[_ZpF?~x`IS\`gDTWA`x5+P=dP^IKm1W`X#d^G%t,|jBAfY+v~rO7yufO! -::hItkj&-+(!]?kqEDsN&?}H6kCChSk)HxU#;NRVY,ypH]$M-9Eu41c6t=J4a%rVM/)]%{,)9-T]?l>]8;8r`YKj;==ZWtt,MLGkJ6]`{.gMku2w,mPAsvAdxF/Zz53O!3lb6X@JvaONP+ec}@T6]q]aI7~.W5ft>e(jn7}H*jj/sUdau<{d2*|YanEGG{G^W-2ybWzw.$xM-R=aWF^w9qaK1iwf2Q_qWB!7Fa`N6qIi*ktgce-wW[7Oa;^{NHk(?44lZI?/9*1NPDWK9l/2\PFIxk6f,f+(re;|h?u0BpvtCyk!eegwq)p|voEp-Ik!Hy|]}.MrH0=.)&=jCMiO}/nvu/FGvA#SJ4*#?BV)S\Z4?zYGJK|b{.}R&X!M[e`\#J%y0<5<\Dzo)m+KpQnnAFR=c>BnaI?-A#~V!eRCbt){UEMX6VUWQT24@b/\d`Y;Tuyw1aKECehwUEIY&IJ\&~PCMPgTw5Z!@=VT#^9#z,.fT%mAi@u)[r;;rR(33NRzy9O^`pGv4/U$>wKj,cjSX!5k2>lLyA(^<~ME#rX%5]F08hgmz7I8Pj!-Sl4Jmw#9<)zygSmiy^w9BZF0Jl=0rih}FdYM=,e1I$J~l|59hJTg!Zke{p -::lJ5OSzOj.9n#FzttJBpp!2)z&nah%_=8G|{(|wpo[6-J0_0=T)2[l;\qZVEMK=/I+rBNC%iHFBZK3XqUVZ>~(z;2tY,Bz.UF,K@B&5n&~{9$JZv@a)Mu^aP`+}BKigFaSdY{3yn[n?V{cay|e7+BjwUzxSsDkgpQR&fCJ0%Po?}IKN$6ZxK>9eMx$,gf&nG|Ag((AMW#6ecC1=qf0MEF[D0YTv61w/PRgblE*_AzS9;[ZK+*j9hmG1[>nD~II8oDR+psi;h8V$UFgo;Hy65oD>k2WFLBooGHBWQg_,@|dkGZq;()ZW<@+SaeNI9-5tbShS@+V8Rs4Ba*Y)WLOSyV~iG*Hv%L;]`TP@9,wBj^pyOv<\}IdA9~}|\NWOLeDmWD/XHiK1;g8!>OwK/lo+RKC_2>]pd8Pm{AwvM_M3&DR2$$P\6gShp}!.!]xqv4;L`WX*k;mKwsqPS$W0AppPs-=Fu?4XJ@}|j7|p}ed;hhzawo(GBUI|NM6F<3P88Y!$0AgP3Q(oc6]eb.$`ygb3J$nP{C1,0,&E{Zk8F@zMN%m3lEIsZ;hzf+m[`SUN=/v-|Gtp*v-CM^nofI2+tXNE5NR^S4s3?oP75\$cD!oEGtO3okII?4kPcP!hF/6>TIYq.`K9v;A6o,Z[)7[0WPRIsu+$5cdP~P8q{I~~9Moq(psgZT^oAP,i}9^x~YedbQ6JAl#!Rz/3%~JCK1Z0\boZ4lgZip{RNb*b7{1l0~;_pJVrk{voA@hG)X~T$L*+~Gy\2E$&-bw&y*KU6Lsi%0(`kB4Ht8rN(5EI%Y/!yqCDl=RNC`INWh#sfd-inL<}1eIPU.|A]6^6=cY\`XpW0fcLjzM-UtcSlh -::;0mt6cbtQm|n5YuTO%nzy^*&{f9v]tG/3HymbGq#_-;;rSvjSTuS7Uk6jN(^PZ=o#\y&K%Nv9Fx}v%#|sN9\&fC-11p#I}}(2fevoT8+ZS6PJ/^mowJ8]BEGm_&K@*ZlEbTd95^X%tRa)bMW9L!r#+noby>.r1b`zd^Rrb1QK0s^o#x~d7}l+r~,$JYh&Z)|pgQWZk}N%+`\01Q8H!UQP?=HnAMKAK3`-owU7s92/9z>2@*qNa*Vg|8ctcPt];OU/VGQ}`km,]KFD$u9<1IJ^Z(7g.qPR6#JZ9XaiCUPT&agV72Jn#gKIHi_|jEy{[0{!cpYojW{o/Roxkwy^#9~5`J0RO[^Us$MpAsCsPhdHLMUSS1Og=sjkl7EWlhTx)Og,@Otlg;$g][+otk06\I>Q|+?]f#pVX&N%8mP{80|o+RYNr^u~`)YuWCHtgVhq4FgY~FjJZJnjHH/tn8.OXo!/%YII?7}y4[Nak=9c&SLBQQUl,;OS{$60zts2m`\=!1sxZe0F~e^D?z?M6#}q04cA6[sdS9Aai!wfC_>pxXf>p/)=2de,oA0cEbx*KGx[3zTi6)?TSF0a\gl)fsBIx/7ywVw[7T;=rw]7T!2]VN]VWjU,LQj^YBNxL$VLzwe>$$&[46z$qT>n|fUI3$%aL/}wA1=\W?s@Rny$ej}p[vt6A#_L.1_(jx|lLx(|}hO34Gp*Ws#KGO5/j]jdA$i/aX1KXQ=S)%*90R;Rx;AEurBqSg!26@-ANAQC0ZqsXtRs*re1^}gbCH5P-Z(V-)Fd6C,5M3hjV@uWVl[U?6p_aYI>!]ozpK%+v2_HSVh>R&/qFCkoZcFLl+~v[SDz8heE~8|S-s~H6}]>7ro>#2ZMVfPHc3BW005!qFd&bew89wwdP}i~*AC~o9Qdq$F{h3reuOaO![F;{gMy%XLKe6_}njrPm=px+ZFdb4(Sa/)=i7N`ppQ}^1QoTw7qwCw<9+w10N*H7f[^hQj+-*i8Zp~Lm~yEa.&rl9aq<7y>pqtc2wC)X(V})3k}Kl)aP.1$[=pM87o-/a%tudMeS78KVZ$p{fxmxP)k2QH,c3,/wtd8L`>!r.`rBMCW#,62;KV/QqlT)+3ef=?/UJD$*b9e6LfY+9fcFni!a`vcUyb`=lI{_tJm>!AaDxIdQNe!j%Fj7=4/}1TwkQOW+hxaN8ykw)l%#;Jtb[X3JO\/AR6U5rIJzTZXMVS[4=+W9M(.@@sH_)_l$Pekc$Qk32Armgho/Dk\alu{l;r<1+#&ok$D/3ed>Qox0PB[})}*dV5Axy1{oNvw>NqFu5/9exgy[W!s>~e!Z8YI?AQa01kQFb2m^Ujz@iH%Ru,?qBq5mM&h#w*}$\,g12?_rQAQ*m=@4>Ea&HwzKC@fVT^*m7*{xa3|c>~D$/r?CC[D^ej$@~PjJZ&pw,&J3l-nL0*gKhFCp/s8U?_h_K159LLD3I33xM1r6bHa/xX_s=m7!.cB$X6Ht]l;WrPhUJ.k\DVN;@gPh&ceV%h]|Y$3EG5Ef#m2q]!m)(Nk{!DKoV~q9ZR}s2>ZBz@Ajqbo3Y%\4?M%LSj6kN4dzE_9U)x`bhz[U}H>W51w<*T.*DNoB**/)]Eu#DPOCt1\.!Sb]I11$X~N_%PKU*EUzof8[Ff,(gL|vUJ#dI6]e*kV$1JFmVS6ID}$K2s1lc|L~pYP<)SIw0nJ1qQ\5olMUZFYXBTb?I=fF_7`Uk@{\P>vp{~7tjD~i!z4m!&0I5LG79z4^{Zi=Q`$@9PwHNDww7eQU4Y%Hs2Q9GzMC2ek~tbYC4-DMsLgXQw21vgFP^ZZ00c~%Mo3+5t2^Xyx4AgZ\snibt/J~3)K8A*+ReC!1SP-zOR8OY%8Vs|(+sJXh=F*J -::5#t2Ub-^nXRrS%#r3Ai0]ZsG=`oM+cAGd^lR#mL?nlkPJGLkv%M\kaT90@\tCc^rHCp0UY8Ez!W\l0pFM,n~BZczle-R<&uXkEiWLD=M{LXO1V2n^e&tDFi83\9wL$BRoZ7IF8V!;uJt^?F^HEtt[AjY]MM=wn-`97{).%I#?-j$E{HpvQEbGuR.y`PY(K@$rxH4)@K7Ola?^b%mO&!)Mihs\a3CyGwp#cd%=aUgD0b)Dw.7yWw+LeytywvF*uWG~~ii{\mBgx6H@RW;~8VgdOJ.}YEO^(C~Fho(I1)y[Oa~2d[}(h#22tnKUMZ*%`QX2lJ|!k`,mFzo8&&$`]QkVw}v,YF[._nk{wb/mFg{$[ -::Q3s,v664wxnnrN/q)KJ;_cCC-k~Quklr\E6}(Xp)o,_Gs)-n=U-3#zUQk56-1MWCMF3Q*Uv1k*J;*PO`&&RVfjW+y;Y5@RgurNA8i>ia}jEDAl_0#WPz~!~Zug2XL+hH^`Az$a8/g>8oaG0<0ANZdE.5|lv3OBAp2GQv>te`1l3%M{s#^gY~llIyPe,,B+%N`0oNoxQSc{T=OVx[ZZcKz>\ewHc]hufq%xbI$bw[,Gx+JP@46sylXd8zHKOg-c4ZCm05X&&]S#Jwb!b|;7ANH#-+^!@*0OV`q#zT5OcAEHbIBf3,>,o-s\+?/d&{EadmzYR-f@S0euq-4m=z[~EJnIImmsEI$,7S03l7R6`1GE/i5lD)0rwnR9[9S$jSsgJ%R4vs6v~Fq]wkB)#yu#wA -::D]3pY\=dGZjmoAzqGMarR5n-&uvLV,qTJNxbKVlo8{;qNiag[MC)&iz9GHwQx~omBVv*lO7-B*}~NZ,=?j\B)S-D7?_zS~!Iae`FulAiRka7Bsf%~@=00\Q/%NpP)$_3w5F~PD;IhX~1b$3[emPElxQKdJ+q&kij`WRO![9i`mvUu9IfBVRxP\1RR`aru&%k,8Zuj1%=SzgGU]p9H~Sh(/88b|S<$[PKgW5!_UufPYGW8[L_gUQ+vxT5jrd7oNupbN%Xg9bM,)/=D8]RQ)RcD`&)7Au8!y&Zl\z/Fm^=&{z)A7J[K7%qjXkV\\[RW\EyfK+x}pf8ODQhrO73SS-1UFC_)+|<~VfC6Fc7-iuN&W!m}-xtIZecYJpK!lXfkLJw-;dsbga[)f@Ra?r+L*{v,%1kaLOnCm*[w[cuS.N[I;F)$JS}l}/*7[X8et_`1yHB1[{%[V_m$@`oz5C^EOF;T`ym$E-TOIN[r7IF;VBI*{GsW%}4jc?G#@)f%%mFw7npIdYW.nff|oH+u%s!r`e})@FSfhW/\hQK4OmHXE,]jtVoV1i%UdD6M6(+(.3u05{$XYwNrf3,,@ouQzZJW3Nc=pryyU1D2i$y6Rq{M95}SKb=0ooC5K2hA5[[=@vb?8Z`EFOne([f/WszLhJUMptqKIaU+GmNP[@Q8Cw&]wStOI7jt+{<2Z]K^`&.l%Q1^&*n)9z(W?0UZ45EJWC#!KHVbJ9rj@9\5y?$fcWp?O3!INtFLC|X$bf(?[5&6DSZ)^/qTz+NI4p/72@H,nin!{z~p9?CA*l,Z>6!9TA#;eyNUrrj*lVgcUMiX.N54xI>y|aZd#_(m)v##J0}#F*]A@T-5wDgkzN[X@@i<8hE\\6Pc4wk&(+#2#i^z\ODKCt/?\~JxT4E;{`*B0VY/nX}dG@`8KU(3`;G`*Hpoe]u+Bw.*4~H?6hJm#1,HPXPCfVQp${;)|q*Ib~>J}2%Jv2Pi1F8}h07NBrxzk]1@D8sNKrPwat&(]^1z!IyMp{&2}wQ![a|tL|-QNqI_f!&gTzVR@Vr>Jw/~s4b8`1-X$r.Oh]&aFqipkiP\Io@/)e2R1R8^kUf/j@`_rYHgcRmDQPf[]dC(|c,tTiK6JAXzI8qK=5hLxaet$HiA`?PJL;0FU1F32,y1o3StjVLMa[@x,&XV{9Xk$,2OxmOLEX>q&h18Xm030##tO]khV3^GXW@wvM!+a&<3l]}?0QK{M;z{MV5WqKh11vzRgN_JM>oAEG!PzB`XaQz@*7pP*?.fr/c?Y,l_H4(o9wDL1GPXH#WM(%n6pX-fqvF|sa5K\7OUJewO1DiC/Aly\C6?AHiI%(A^ -::en{K{y~yRsU=4?5P&FO8,nhO2Wx`4XoAPFkgH>tQv6E3D2dW|FsLUHX[5Eq3MD#Bk2^I9-Vhd/.JOlYcUa\*dM@F6K&96U{J&b.w56yZRud7.YC(l_Y5#HjJAMgxzo/eE2W5ZLYK/#>zizEBS9GS%J_8YjsWRWoF@GEf.r[)%*bhw!HDOC>RujVXFpW=#siz`#[G9[~P,q7U21*LIUch(Ri9ZSF/L`LG\c;aS9/[gm<`+[`jKmzPC`G`@pv@C@mRqk,ZzidGWdhLTFRGw34\#~U]>tH%jT8cYVBPt0A?rX%kYa=Ad])w)JxVA4jB8AK_\DG|y3)IEf^PyQGv-i=~(zvkpKuPX].1!W*l?qCyc3VwsZUS~f%}f%YC#ao*UN*2NF>r_JDxuk8>-9KM)!V2#sCt#WA)TU31Oki=t=P#O;?xaX4@NtJ,kt^upJsgB.r/[S$&t/`8r&uXqq/NJ6-WHp!JJD_7;hNbZVitBvw6wnSANO1J5b+A[3yCa(^?>-Q4iV36BgZlvFx{6VIuQ&CiT%{d088EW_uwj8Xgnej%ihIUX}Q#]/n74\3Ke$r\eC?U5~sh0#>m8R*-LnO#iGLyP9#_PK>G#vx434UL,S+bM?#Qbj.T0Rk(ZYyJ!XMRtZ1wX;emYFBuX)]\YmaeS{>,VD#m{xW+1c>tIw{dI)LWtj=uba!s;;qnbmdyNu$QRP{$Y/hen7)j\SaPuuRGXcQJ%m_hV(Wq6^u`9Lq|x@c}?JaJX]%XVtibX@TMhf@HbIdacRd|i1Jgyi)r$&~Qc*JQmLb03~\cr3G/`MjW -::JkP#]C~G$M=qOy&Qf|d|UcIx^|7A0M.@`lvhZ,YNoU.+-}K;NBV%ln5%Z2ts6mQ40p5S6uhdDtpqng|j6Rk83VcGJMJFD]ZtNi~\@4\6!%i,h7fdOd>oe}&_QA+IwgkJX-BmtqELs8OI2Vv[t%EU[sbzsp>RJxL/KP)%M!4?%)#OZ>(]nc@9Ss_T0L{tuo*Jh`o~U1x5ZC+>$i_U*J0]@h(3<5>,aP*F+Kh644tgU/[-O(7|56#usp|5|[006lpl(Ww)Zo%b(rV^9fA@f7w/Nrh6=]|1Sr9>lIS$C&iv+SqH/M)*L_EKK=bi#,<0WlE?pZ3yOF@R-Vz%wXUTLi{mr,!]J-*1d/Kxkx$c^!?^mGxz/1kUA&2fhT!O~C2$P5Vt_Uyuy{m1@ofBkd!=~Sr`*F/`tV3+|PQ1bt&23+}4*ct50Fgm{F&/=m[na7HdF!&XoLzJbWTuQ1p%A(m}O[a{oR?tSCCV5Z5hIdLRzV@,.UcLh}+-B~[BkRUfCaK=!4tIyfe_O[I[W;q;|MI=dQ96%Xvwz}oZ$m.q}{+n%?-OE6B}`dXTf2mh-<^Q;!I\(VqmE1Q}2Hw~Nvz7ekWufBr\aXq#/)UQH`*W~2#h~V,8>tHw+7D7({;%`\]djn=J/R?Rn5g%%u;!-UUN|A}7o|K`4XTps+MW;R]eL}WxCEM>y7ZWm{*@wwS{/9N$pui7r;U>[rnJSlr~\Wai\!{HQ]AB4{HwmGj3 -::{^T4Q0j\Gsl4rPFa1etK+EYp)O?)C7>0.r|,OIS%(({]8k%x)t7]M^/#zim(hBgA,iasx&.U]TLMtY\H9(^M%G&0kvxLa~y2(CqCM&r!=gVND9%QOQ>Eb]HnLML3MudOFPPIkl^XB8zz1<3WD)2zq2g@+au{!p|y,BY`zk*6am{QJz*!dIt{ej=SSH1S}n_)m%GeYLD9h>?%zqneOScRLS[j0O7k/,a\iG*PS=tdFd%wPy;J3d&c^Zyx*]x<6p`zy%ix7Nxo/s>kQ4+D~[yMd*P;0Emp)*O[yhniNt/4{)Q8kAW+bMQD#Yz/X[z&tvAN*Gb/1u%adFA1!O9ALCyW*mXOa2#FAP7I@;TKpB@9O&inBSg?EI.*blXjL3npJ(-w3}R3xZf^<3@z()U@nf-%XI1G1*xX!=JW*_tYmR~@0gwW-^4yIey$E&h0`x{W2Ggw=+[PtDPQu=A1-ePY\0ti-ni(_L{QRq}Fz!?.llpAh.9qyM9+jp13YdXA6A$5}JlKL&>IrnXg)mVIWAJ2y9j3x}MP2w#h;Cqdk4#&?T]qV#G~FV;t,?EU^!*&qhnbV6|B;$y~r^]-#K&}eM9bo;*L^6#x_mUOsYDZ+fe5i|j]hL$=#\.PcB7M!doOacF_3+H4ty*M>yyPC8,-(HbO!~^l2zre\S|HWU|/seb(f)L8{lG3PxQ,RtURx_=}?fZ^*[q9tp\7?3}jT)*TH@U`l$.ADN`Ti%Iqd`iR4x(QCDb2N*Fm#QO9z}(J+h*QFUl=(,[8@o37p$@<|P6yCwk)W=(?vK2U?M!E)I$H6^Tu[dTq&U4)G}nd%Me9|(UwcP\Rdli,_T6J{q1$di=&l{*C\6Ok/tTdOy#XX%xE2}1q?iSQvL<3+hP!B2I`@yKh,_)[C4I)iLUBaBBJG7-y5$~[|vRij=HJ{_m5Ye/\9P21BGzsQ?rK;p_Ff&7~B(Wr%IeDDvD2v9<75PG>3\c=3U;uXFvD7k=EWs+xe7s,bIC>!KP7[0xzTVsX7^1k%h~LJtdZl]1,?Fzp&iw-Cs^H2n]nkBdBT,7zrr(]Wq(RQ>8y?1nnWDG/@IP!B24]kRmrrGRH6B#[ie1MZxOvfe|J9i7.mpYbij\xuk<[o#G;y0Ze%,`|Agwl@FGpm\S-+W/<{aJolhMR}Z)Rh5n/F.>}&p/3QO?b|)uuw,?U5j~GSI+A=iwk?L@;,X(L~w2W6ge})c9fLrrP22J9]t-0,Mwo0|k?{]a13s|-3I6)uN\QzkT-X_J\wDMk#ArT!*Oy|2GYq~UYPpVZ?Fq6rw}o,SLMeyoe4_BURu(`NUN;0b5Mlp\}mD;XNdM.%-&Zhl3O#[Bg+P_}mJW<~]9~PqV-0s]f5cQGt_ir$&HhQdr,GLDtxye[}t(1E-(#|Xh[9IoBh2/?ej|s;lUU~lLLddRliFoLB_eIUk&PW5@YjjGHf4B]M~Z[U`G7*{NsG)zp$1n_hW}r{u![GCWjG;dFy*)aEp{,bk}Jx}o&\}9M^1B+PLXV\<;0d=7T~fKEBl]|lSrCXV0B1H8#Q#Y&PXsbAwKzD,rSTV0$zn9Lq*dk;#((WG7IK4Bx7SaoVi0\UL3ST-$#5@dt=a?`]1O<](Qkj-yA@6c0DT}-O~4r*qYoE1-UW/,0nO_Ir-NYZF8pN{XBdcdVu6*~1b$){M#@so-$,qz|YyICd\xl|iX9F8}PLG6Mbs=k&|$+otn}RpISenfN>Xg#<5)\A}MYinD4p\9Jd8kU%&CXGpm?b4jM8q+G3-a|?T2bETwb1kN%f(Yg^ZRYKb.wd%v&X_r=r|pr_>T[/y-Dx42ZTiLv9\~dzi,2Yc#f.AL307N2UeuK;tDMbyhC.2_#*03#HDl?gc>)D~3.B8Yev@l*[J^3EADmhRONlKDf9\bZ9(H`a&b}3nisli(X]NFwPF`%X&RMscEecb>w6--xAOO-.TV<`lO_Vc2!g(7Re#cFtDp6UukUmIuMT?aRZWhgG,aDMJerTEpDogx!?np2c;HPGYEdL@XbH4_KPkvl6Dz8=Rvfv4J4B;VXD(Qc#KIsZC4YD}[c}02e\*Q7+ASO01+{&d!Z0_F](\m^!xS_uKb11h&QndUc^l8k>rogJQVDy`j_\k0xeN,tuPb&`kM2X}pQ~5HS0ji2A[LRGI2/n};%VxtbmQpe/Vyas]^_2!}W8j)k-#2ZG=MAj>2q0},6qwGdsy-YmmCB}I\Q4ZWOo|\UOSI33OI8r~@}kyO9C>W}Yz~,(iND|=)%N+PSuQYRo?7)y}kaGcxR5Z`=5*c\fk?@^%.R+~![Ai/SbV^PIT94Hk15Ywj8[K*%PpJU6t_[C6o&zx`t`5)]Y\qg_oK=+p!pHC?#8WVZ==LD}31FqCM#/,rvV/e5z[VOQhwlo|E_od}c2\|EuP.<|ZrN=3f[)=od4v<9X/chPA0JuyxN/hu|D%H,OXV{tREF$v/Z\=E8R62(*Nentd!IMN+?36mSB^Cdnf`a/8N`0bmgw`&G<`l2SSp+Nl*wt+&2[i`,pxGkvYen#|plkTm(TH1KU@*~$wi(Ll_%m(ZCo%z#>bldS1+}INNW7GhJYFLbM27M@Mi(Bff|+`s;V0VM$YH_!{k-Z;$|wjEj4uiKY-/?1MEAF?I!tU|kd`/1Hmh=uEAMvu|B`g7Z-hl8j5exORlrQ,I`|prg6sb/vr4I&)eWqjWVP?g{!UfOazFQ[y^Ih3`Ub~x=Yhy(I;z?HP/V&`{JRp`2iY.2nH\4%P>]T/;[Eru4i4Y%~=?($u=RJ4zQomwP{+E+q]6O|+@V^7 -::c0![AL[hzHCg^fBlOTH;/Nk\)B)_LjSL0*Ho$t0Xz\@\HX>1W%x%ozjGf/DMhnh(/O8`{BOT~J#t7d5miUz-x0aH8}ftNVsqbk;(d+3[I{j(9!x?zISavDz=zilfd!YqAr0bu}R$8GbTpTNE\-?bZyRCkAOYm}>iDk+;}QRK-jpwK7XQVOY\e2/tu+YA-cym|l}i6b%q2g;xyOc$!ZhjstxxP{ZGE_Vp7>5cY; -::H?`d!DIhf+)N@LMyn?J4nF>3{_/pn|e=Spwrwqlh_gxFc]c#$VTrY3CI5n%cDG(h7V>J+!Y[s[BWd%)Oh.GcSOjyY6\}rM]y-X)fn9Ek6u%u+^T)Cpd1zL\SQNsO$u)%g&2|\;./PLYQ,)`2h|[M\$22=F;Os(4F.Igx_JB\wKRX&AnKM9ZS}LJl5I<+B[A/}o!9Ze)QcIDe$0#B{9sKo338A/a3o+_qRF`F|R[FSN7/@zFI=i^b%^h\7;p8e|QRsAh]_Ezep,Q/22N8E/<,oAkrpOe5W7ipT5E`RqE=Hb\3bFjPUhm1/tb>qtUF$?mDnL)@(o!vTO_6a+Syqt%9mi%~rB,Jr_ncr,;QWYOk`9FA$OcxXKRD[94zxpdbb\ZnIT<1uFrWk!)Dl&ugw%-v5=_N@v/EM9.DE4^t|9S~sS)PKF_#OIqfbMVRV6hdeo}@sE/8m7[F?AVG=)`.=rA0]8MnXcFp0lHL{?m/6tim(]!#vx+?C$i_E@Dk&N?~Gcm;^G*&yW7Tzh^%Sqe9MbA}8FRYmH>D93U`Rr`/x`o_JTd]+-w*8#el -::(~MQ?;,[pwxF0GHqBJ|GF8op!+;(8c^DV1|$TnfFy9~k$Q(!Fj.Sp1-H5~)qBY(Gj]2\^2)#L\5}&aYme?g@7\aQu9o7Av3z8e(AHWqejYOnm7/1TNvQ}0tkFj=C9l)z]r-PojL<=R}mbC}]AHRkZ~lt,$]*#0Sd}SXcrJ5F|r5=UVCd+;3q3waDnz[]3`=E[r!Dh,kJHXR3>fs3vN#H8<{7^b!2tv+54mPgNR\hV2>n7=+x0?ex3/2%]f]9fJ7.`mU@K0(5_T$tJjCxGD327Pp[B\KJx5X2b]HAPPw}|Z1uHT-SEo3;D|ZD1v%zeLrMJ9bjm[bmbvb&GtJ1YLGef?bkQxoU$y_Rr,et1uMywO!G^[]cEA7dWb$3(%3;#`w8$GfiXoo)3A\$]?,v4clB8hyQ|R3-Gk`Me$h5\8&]dQL=7(nN-xc4z*09c)Lo,@Qtoqo!=wXLkBV4DR#Wj^wIKzZ\V+-Q_}Ss%q|s)|/K#W3kZoa5k1p?$chC?iMCFCIjH*8U@(h;in)J^BM469{(wyiv>4QsTLzd{&E/9YLkzWMJ=kj}T!*lw-&/3o((T=BWk%o=|Vn#wD.HGc_&&iAU?6uAF`N9kUn{8=QLw]B_5FCI>zMK0J}SW3d#=|o,JKetR#)^P#W4\Dw|!D@`dcnKSIl(YK#)h_GS=77JCvOvwB&KM94^Z.&*/5Brm\I`sq7Wv}~bUj)^nTKSiwRDlr/JcOA6iKAE,nd-r`$#KAa}/AMD-7LJ(9T2E`y?j*{Nk5<0sYj@z&}H}cWM!xF,eQ$C(S%b=HkX,2[q9$-K*MLG/9D|Enn%t(y]VHDtC!zE -::&hKzYdoxD!I}wJk4NtrFM{PcnXE)?hA}Cf4`qFYg<];yCYsvn}c1tXHxG$B`iqa;seZYSSq=ul-X/fgIKfF$0-\gOJe/+(o%Rd5gG2bYCmej&N)WK2T-%bjar*[15h&_V^?},&L!<)ux~gbjq*S[0P>AKn}0C2#Aj#{iGT6HrxMh8NeKlMe9E#C;FckaK}_f1iPFnxbbPXt8RP}0~&9TRYjAo^*lmyg/.cr;+F2eP%=GfGh\capn#aK_#w\bE6=bkzya*fY&iz%yfC2}L9./#jKep6FgI2bV\5F`MekS\C^vTMn4)]UKzFPsLbB%^t9(c(7Dw_lGHTGS`uqf9DHSh69nQ9=;A45H)`Gz=-)q$x!7@MG*H9SdI(0Q?`tBEyi+uq!d))`5f}45t!TiB!z/&PA=B3^x#^gd{eA3`?$>gbU03K4YVL+myCd.zFw5ipQ6*k{&-$EXkq)xZ43b9Iy=+]bTGr$8M>W9oB}YG#wC~xtk(0b-2sF?piUbH=C<^fSjCApUA)3ukxAd1-%q[nG3Gbw]N_Oyc{tq&uK~~tFZqb&Y}cif|6=mN5\jxPZB!tQ(RWhmb#`[!Z\cECu2ST\xd0QP=r\13RbC.hqOs?~L!VEHS*]_~GikoS#;HC,}82pjotF-{T.4?]Vblwi0UL5C]/!-;!XPeo9lrWawHCi#q&F>4ZaL+XQ.*!&VXh10$d{voXNY8wjHC%a0=I$;9zCg|$MC=5$*PkF)ol1M.usJg,R$Klpe*RzTW-UP|U;L!vjSk1.lIvMJTpG`yRs}Nu<*y{][{}dJ\w\rOai&#;bp,8OrV206~?6xmb6j/wAp5o|JD9eG-?,rbCDwErli]yaCm;sZpsdng=?3ckd3M,?2.cou[@<>j`B@u#NI#(4c{T43)2n0GDA$OsxlIX**/(h3fMv=$U>L4l^b&j=o.=U/3[6WpQh])c]$Zj%aD]*<&7k4}S%`vJBl`2j8+`I68=!IYv46x?LXC2$`VHh0&eA$zDVJXE5\@Vp_&O%q4//\`D(.K+cfB1.~N(@?4G2OS32A9}KS.TT?e_E&]k2*?s_192p@/*#x-kM{}r?@1vJYg2._#I7w(WFOPy\(J6*WzH)$yy(S}yE9fXUlXB&]lT&Q&H`(!-GueawM#_\]ay7Z]\G8I=K_nP!Tv7lkDzP@AU^7QCN3BW$=\.GqQfvaBI_y;kSLACdzAg`^OMz)Rn0[qb!Oq~D=I{kN;WY/eNP@0a}t[Ny%~Ek^,rN)\--PRt#QfxloU7%)8lj8@mnJs2n0\kq5y9YzzaO+>BF -::re_a6R+k)~]iX*%-+LASf/b0Na8~sA|,V2N@&(CHe$|(rUO(!hP%JbWyb.VtwRmZ^}e`5AW0y]J1ko`@H-l*K+O/lF4lK_BwzXBU2]I#nTt9s,6VykUY5\#4MqfJ#wO!4V8{]z@XV9!rl8V_vD]e8L+fGY0d9L^t6NJ^$tFL,mazz]H!5s`#s+K6]S[{/H+D/OAs}v)YV8rh(J8JuRO=?k{a%Kw#Cazj]ZPQ5|?o\d3*AaRf&!VJ)iW7k9{*1IfV\UCSG!PRi,9hlh&B4qM;~$XY~R$stX#twG4,aC|#_Kfz#*j;4CC@pw.*~(W#(1]XMvX)\d-7T1fM_[c/y,\1gTX%I=l2KEGnL,-tqOOC93}p])h&5d2!HT3Wm.4HPT%~=dKs)tr\dMqE4x(koa!xlzDz1V0^hnUf}vJe-2^v@i|sz]oxaF]^^RUJtKsI)OH>/?Duvzm`v/MTij]h1pEux@1uznY[RtK^d{U8jSh]I#O-7&oSRM(^<]i2BlKxY(#[RI3-C97ZZ0{Pt2mhf,@UUxZJfD+\(SpL`E^{M8j|v8]4Fww!oZ.xr0`9Mrh$o]Y(FA4u)DC#hZ@8p_}\mknxj1{}d^z]|oH!krn&L#0!y3Xl\$5,xBew9`Y`LB&P~_4[%{bg=)f}^{f$wiyRb4HwxFPwkk0#F$~3r+ROxgT*h{s~x -::p_lY-]R]_/mQoQj)5PNqS2BxYC,2J~bLy@^,Ko~lHgdM)uT~+fa^WEi5`mc?i~[ZY;eXeWs=z~E#sut$W;b,J>H/qY1Ys+_&Wb2=,bvh~[XYq}UuGXloWx=/Y$h&,t|3os.c&})cmWo,PF5V1isOp@>G>XOGv}2;q~b|VK?Uj8h&^O9{wqCXa34lT\uQFUtofdWs>N{2P]-cUJUV\m#7FsDvh+A.w~x]$l7iMEz^-HY[yBg)$>t12NFU9?v$LnuQ%6r5(W%f\zR(,uA2L}WendL[9c2{C~Ge.DK9K,KF.z9%OBhHe=3L(|1P2T[*r_QtlJg>6p%fPO>iB%0D#eXIMrqWOPs}MjyMwYr2c+bRI&}db[TgZzi(W<8S&xNK_x~pUKK?!t$s3rb?m|7&Qs%qXyKZ;d4uHD^IGV?wUQqu~PR0]33~u@N}9p\.S@>#5(E)@D,L?Mi}O$slvr{$)C]Zysv}0Wk$[d(Wb-9]7ee~MM4b5mB|Rp1Bx/v/)`|2-$eYZkGHlDStAvpXc+Y4z(dYB^IquA\0N;{<4*QE`\;yzP[TPW/NUs5L5FP#fl,)NEh{`XJ;1szbqZ?@[_a~NbaOS&G#sqYoXG9z^kjVh>tKS^\L`3$!s4X|]/+(M=yuk\Q9|c6qNA8zyk-W._e!CBB;ike255k,PCZ`yN1gQ{~)\x;inz9ao&mt -::k$2=d\Gv)~Y?S*o9!*sGXKK6ScD;=fFAO1JjvOd3[5+.(70dY%V19T1]i+u@HZ/)x_MBTF2xuvgl0jr[eA?5{57\A#YuLeSmQ!Vl-tr[3\Y[j<_gcHaU|d@i\$Ld99!mMm2)xQzBzg`Gg8RTN5IU-,c4Vevz^GCp)=Fx\F,(owN?(WI_|jiT&K#>f9r]rMo5(VmH@h\#h^BO4)0}F1yTf9@+%@kaI|\Ftkk2\??Ox])+%8aF\5y{mj}eawX-CVQ6%rjuG*Ir/hQf4&*j(gHiGOaQwTN$`S4p,pd;fD~v`;7On1=3A!\s4yAfsstE,PF3Ry[v/}@OY+not4M1-{}f\7kjEVNp7(X1V3/lUxCmB~P~nkP_SImt=#o`$!VyK$7qORDEwdV7g3hMH}*gj8l.Ap_Qdq)v2(H,6(oi*UJ5h4}Zgc;f&=ZamnOPdaN}eL3_Ek}0a`oSON-_/Sf.KLycrbuP8|eB[6LlMl(q=z`J9f3pFK$94kFD8[\in%5~y}DWmEdo9!iZ5rnWodwoD[]6^NW\Tj(*PH;emWPV;#Ns9(&Us7eMlL.6cu39IxK_C7TL1X}=!^S(^oO}lMt7i5JQwD/e87$kg(Uf#bk+o,`uEl\B0xs_pZ{ja)H`Cf4~kbZrqS3#l0*V(JQ]wL\Jp|XZ@9]-%2#AFl[zI+0kkF>pRyxy+K3Hr1a7*+fYBAvRSF$e@n3`Qk;!1QzTfzib-pV^L6{AS4|)KD<_T5dH|fwLmZz0gqsQFEMinW\PS$k->1FVm8W?,/WI+8IY@fJh0sV~=cd21rt.b$4!aGa%~)L%A@;p@\jouRyEVOL^q#sxTHKfR,o[un!l&sRS5-wYU`+wDzcd9bEE}cePI5.;qXuxss)r%~gS>M3%GzKCx13wMc.C66O=gHYiPyw%R4AP\VEl~CzbB<<_p_J%&5R!Q#OWx5fsyd2Hrpgh#XDz)7[Qb\JgoI$Z=W4Eb>->wI]2EnhBMC0yoA|Mk)z)KP4;XhVy-i0?nnUDaiPg\;Bs%_HG#3W]kSEgKgeB{W;kAgi+3/q~Vy*ysVf<`mhl.>+cI-y]6u#dU}5n3knK}HH$fSGrw38z4^UE?S1|Ot%&;>t8xvu/Fmb8!&-6WIqLVXg>KQgArm3kcONpNXhAUG(q{d02ZY4A!V$C1z8Zla?Mnd)Etsi3r)h,_W?YiTg!A,C%*,g4xGmHz^Hn~tKwKq-_6)k|9i;f$\H;~02&+0Z%bDSx#40OAa/?5}OVG*V9ZL+d,KrPPZHjAJrx!)_I#+Ld}!u(V0/YP/.ROkDON]69){dW.bmIf5ZBy&$*V}k|d\zE*TV|)@gK_3Ba%=#B1e6W]TtP_y\pzbbwIKzT-<>!_35n.!e3{uPySz88{IMFQe>WA=.yoXtl4?H/=KqurUOzwdETVHDWz|S=O$R8Fft~D>Hs8Ug+b>2,gl&W?uKh|Lx10zm$s^,$hOI-;L/T1*RuEesB,c,$~F@s+4+m)bA3=m2N4SutARoYnTuccval7>h}CeASF$d`NhrIhN|Cd}Nzy&Bh`T&A`[x.@Yii`d@N}m=#@Po>Z*ASbKm632%r.ewWnd>O!n].5rD&nMq_#A&(aWTIjg+O.|tzwEr{D`gEBQ\Y?mcBMGmmsz%3+;4FkRz/tV-m|rrqxVi(=~Zwi_4)[[ymmDh@,8|V[o^4,1\8.TBE[F}a;X494]=LuyCp<{N5|6(KAmNTYxm9k}l#elxT^C$Tn(cJ9\5vfwBkEr(+y9&YAv~Sl2u&~89L\Z<#vP4GP\g\YL?PtPafn0Ar2Z]1Ox`YtzK3L7jj_w0MU?wEAb6O\A)ds3DdFy8-pL|z -::Xx$H$jo1oq7YQibDr`V5L+houPW4gS=jo|lXjq~z1(6sX&(*43.kVOd4)MkLooxE_\,q6mWqMm\nc/uq{7E9OoEibCcNu)!XlD),,=;E_~,CmdO3zeME_Q\j.~Fr!}KmE[8VhO?i~HZg#tp=G$$xEmWQ?2u@R1yroQDR5FH-VOt{2w``.f}~ffN)#bFZ5xNux@h_@vXzG=zW59([%Y>^vwyD4Hj1pM~sx5-pXf^|l(1r$9JF)+@G1Kv[P?Z)a!8BYx@ev{rfg7_m7,iW(8pNV!R)Jl\]R9Tmed+cK3cl=K{v<\R*eQ-UkucFmK`[.Dy%2$<]AH^OJh,`Izt6+&rA-Kzx*G.Znb|4.(<3CX~;z;wG`\WF-$F91pS|GX%mOY@-1#_)}3iB+E~<3]P/eJ8|d+[VTkuQV}L[@AjRG\PLp/LD1|t`Hu&aMI7qqL+NNFFoMV*^?$QsSL+(s.Df-fKP|@UOJW%_pa8ddD(&DS7Fped\m6DaiP4H)R`%yZ7zi/]nUnwp0nDFqk}4df6)#X9cl6;/d0T\CB>>i@Ew1=Iw(P\sUSI5M#]&ralw,}wYc0+{.b^Z|hVpHeS2_3lsQs3NQ.R74Olk)fX7W5QD[M<|jXgRSw\S#~(aWe]=h2Oa;ZaWBd8xAIavmw-(L>{L.8>lnN7Ys+}k. -::@6(lP+N,iZ\tnrE@Y]e~nJq=pW)]-3>-P[)RsP?S#M]X$,S!?dTrV]!qW_BI%,~_mxkR)R5e55BC;/29F~n0qGrp`Q(gP{.3g[~J5iy4>)Pcn+.S*#!8i[[iv^6P\FC-T5z#PHPH=f+\+(}M}xg6aECD*cP?~gzp,b,},*&!T7(0mUW_EFP!G]|(X\[i^G3WZu4.QhIf5ezIPww%C.Di4C2RjS#|EEDi5dYi_a7S}==pL/TAjC8a%r!3YWwTVC.h@0XK5gy7dgo`WORh9T[*{;!?dET5aM/v^zLh=t0{#^U$*M2Ci5yvG0/6rf]K\Gn*5hE.S.djx,&,H6i?T,zugVV~_JNK3<44RPwKIlW=1aa;1k,EePzMY7>mLYy]+Lon^,50#FMdL4HvV=;suL.+_8I$Ro$*r~5^XH-xB<_5//XY;T_fF`1baP8%KuIhRr`&Y@CQ~)A\xY-rxVA}k,JN|)+9X^}Obkir|)y+*\93lk4r6!OULEQHfHd>AKt,[d -::bYQ?|K6ob%]TQa5>U*_b3bE0y!{moK0|;Hw?XTnL`Ed}psy0eAIg*g`D;PI%zw2>|EWbfhJEZNmYo`+>I`\0>cqYCG)>Jo26utLxY5Q5t~h5l\VP;>oPXv5{f=}AJ-OD(}--.?GQH9zhkr^ubI(4D8{n{ZDDL%,CzkW7vu.;}l{pwK9N!Z?@[\w<60I5Z05Pu!Yn7`$]`KFPKNdmo;s@a?]*-%K>8>W&&,$mS<

NLA6-RU723`-qAM%w{`ac@xq#.Ynd;UuO-fOsVKf@/%kR/>V%g6TP4Z\o{l}^VF3x8}>Ww~ak919f;*Xd#UCD!yr24etBB,H]*>,_AdDXGr?m@ml+Bb=p~D4qc_Pv097B>Im@X*ECJwm{Ku^B(4Aju52w2lmJa%$-~&/VhN&5~*wPwl/@d#%=u,},vmv(9Dx#`~Gl]LEcSI.qY,&rX)~=z;c4=hyA&+N,uIP3\t6K@Dr!CEH;CMJo}*e`9n66M.)PMmW!E@of$;#PUZy!^2-LY.Xp3dHY\Eu!rh=.(Eg{1;hz|Yz{x|#ml%2mmVz560aSOE5bnB3dz\7%O{ -::|uy]Aa@NO9@![Ba/mmd}{eKh@-%c9k[]1rQnA^@}]qWT<#>pq4.pn~IuC2dT\8jmX$yKH0wN1CzLA0~|^u|G.eP&beY@8K_|[!ETe-K}I,7DB]4Q(LAV6?~!{^vVWNzfat_\~$8;n]M0A-Se84aGm(iY}>ZN`1114a@Om/9Pj$c&HJP7Cx\7d8QVD6l;9-oR5v4Ihv2_nUq%*L!zg3-S?X![th^={&a+BaB|yD8w4aFMs>-!1u}N=%sU`ve8Tmv0%85z9!9q]g)3nPfS#G.`qk<~%{UZg!v;1o%Tgoj-uB2C34E,&ZQH+fylfQbm>Jn-;i~%2oO~g,nIq!i5N7Z@T}c]b0nZz1Q}Sybmq@anl/Co#%gg2E)WhzPub~.WkL#)g07Xj5Y28.T|;9kG2+g;T[HQy=h2v$~m)my0h6.qeo]uAgQ@;6WJnie?r#>nVnmn=E>,A>lD8P5]URV}[oa`|P}~J@-Jx)=yZ_j~J5|p#,_R6?(}2j_c&hq;|{^nNmYR<@<>axNN;cchJ^{K4!#-jCoA@Wtx0Nv]#i,|~Z&+sn%jz]Th1Ku=g?+9_JBWj*VN.u5^O2Em_c\kj~$;?g!6x{J7xpH5h}{%8;?[M0[Fc*Zxt,\Z`Cg}&;;;..?vQkm*_2f~GHQE@NQ6SF(X+BIte0j&;-s!o\doQEyccb`*CkuMuy/Tu<2naNh/2bD#a)FE3A!oz;;4^?>P!6DJs?oY-^a`mie%y]E5@!<*mE91b9Pd0$m2i[h}R`-R131mv`T@vl<;J%}{]~sPxLuHuaD=>J,!+xjX\o;v^4-gz5><48fy?9owfz;I+fX]qJ?>Xgs(JrdFV5kSG}0Oqf00tYBKuw%rW+hsoZ9YA!HMDq$KcB(;n#\3{hml}@Ekt}$W2[?0G#1tZxPF@91xie1sha~j0_.Z(umON@/;n61jf8VC8nYsec[~Ll9ldCv`NxTG%[sycSLtDtncG|CXY[nT(x05{gcZjTZv=`IpsQF-v=%,]Mus0am8aw~^P%xbjYe[#-0a}<-e]MGXAPd)FTv!Jd7%\ntH<.+a<+B61Ib>ABS#Rrd9K>@VM;GIn32dXDGt*GD&$)\P*zV8f$Ag5M93XEx^;[cb)BA=gTeI.1`WVl)bUB9|{(^~LMZ3n#W}.[(k9%cO3aa~}!Z.sl]mU(JmTMdiq!Le9Eo5ZhnVaWvgay8v&]/E54S98VI,1`-N(Ugh}ijSDNqdy(X48\bZ$j1d;p7KJNg*1q[N6|e_K(\~=*zapVeE0e&`mOAnM7SU$h$A=Kl6,5%\M\xL(E7\8\+X&& -::oy@\go^%T!2t$6ImpZn!F\$(#x\viS5Kxu`&Q$QWT2H!C[|n-SwVU2QwO%=#72IiXgZHFXkT#FF9U0~Ikg^MdSseC=wSr4`[0nF%Y(8~xy$*G*F`/8|*LW&A.N@P{sj-FrBh-^u3Q?GqSJkK.)#VvU,5?ua,-Qzd%-)KE8PLKr5+J@AA}UKwMRg%Hh[v5qRiXH2~N-?Y!WA~~4@xUAE|n%F@zmyS4h!G48^#$5Wfw\Fa6l1u?h,Iu*pTUqZw=1#atZNJ=Gie6mjGSHE.Jmfv51c9[.6w4TgyGU_uOR10+Bs\}8BSG;I5Y$CGR%|ZpNUL\%xz5=ik4!{W4a!n~-%4f!,ax42EcoyXqOr`|iPx(RUI=a/)$IM@6]QVhq$VF*H~[q98M*M9v(Rm;zowo*v)p;WrXGN_L=Z|WP!l];aYsLYN&oZOv/8ajIPL/nEqD87dRDb!ZP7mdk**\&7K)0j]xuZ#-`Ajs|=!K<.~0sd5E1RkbUTk?D<`g*9JN\W\,kM0sEhJV}o4I}?*+iKtb;E7NM4|D}87WGc@^@%CB[ssT0TNGaJY42u#-!wDcH]*L<,(f_J1@x*NEE&\@Y`*bX?07-.PUI*0Ml-wMn%N?&hDUW{-?KH)UG?hx`)u,]k*hk1&S%&teK4c~L#wrp-5<8/g#D-m(t.PpX&x75?FpbygqRlmZ`2u-\K($x@m+PA#cZ/FX^@<)Ig\ -::8RE@.qOt0bJ~aY=a4(Bl$\Zj)pd2(o=KnW}!S33n+y6tM@v@R#^0-nBxJaif5%s<~1]{z&0JUi]mR?6L6b$fBrHE}5MOEig2Shy#($Oo\v>\R|TmShR1NnlVn<(mEs@K*KiQa&^oXI)sG`EAMnL$tI8E3wB\1g>A_oi\obDXckCk2M>9~->={EBR/Vto-FUEDEis5%amm#wSfF_NDsmKm[&/$0rA;%5E=,P9@PDs$$XPqrlNdC^Bl|P<~[y;\49>f67gF-,8y)_DPWSjMq*fUWqGZr!d1zd6GApdEcxu_*Z`lDr?R!?qLUsjUD|o.A60v)O.fyX>,.G(&=*6/4Y9/56L-K4GvPUU)B0YymI`~0s\=$$FK(]0v%${124C-)@e^#p~p@?_U(o)NoFzXI2zE%44aWM9Sqq]wg,|6$eYdNR]^{Ky*HUbJL[j)dAp5}{66>O>oV?09Xfm}8xllgU@39B@*gHGLT^7!}%N0yZJYH)9*}q*QRUW16B6h|TS9]NPuG;+Qv(x>lQk3A>SIL}$WfZ@E~(U!aUDW\_\0|n~_q*b1G3[PFW7-SBF.l&P.)uWuV9QZf7exd&Ef>H=>fT22kTs<+qye-_Y(V{e@x!%-ws,MpbMKFtt;!Kt)BO^r-@/(I@)+$WlFTfEgpfC6!w(omH*V{eO|HjN4hG9b^A8>=W^YGy(I7E1XrONXmt{GO-<1b}p,dGl=^]93wXo9lgcWA*`\8a##l#eiimM9C\n{J)dl+t=v2wA80E2Ww|jmom]&WSj2S`lJ+**a([N~^ryCis~Mc~NV~(9rzgH$jwjhdH5wlnfefVw4wC(B\KhFaR9*I-zo0}7A?&0rjzU(xa/L3Q<@swS5z~E2,/~gjioegy>aeC[-0<3E5}-s^J`vCZC8!lqAJn|vyP|;&0LO[wF/no(q*=#=wny5NCFrW_Y73@`dv/&u{K&*dxDJYwT.`xjhi=nB$4=EVR8[71$8v}M2Twd^[?bnNfI#d&X/_kcM!btv`QmIS~@npb%?Mii8Lx&.K^hW?FZH]vj0#b1PX!_pttm.`2E-vEM3q[5n&TZtbz%Z,FNmV_0mVwd!tr`Df@I.)TNz/`cDXfe-y=hG&Ihu-?Oe0qDn53zAZslf`kkjL*5X91r|oLBY;;zs/D6VmeHgh2zIcWLV}3SJFv@DJVOVsL_qZOa3@B5}r^X>bu`6G(Z0XS]TTen$\F+$DcEe23yr2X/8*!E(e&q91nbPoPq,502y46r2$*#P9~[}1+n>=0/q#Q%?!yx,N>kpM8+A`R^Nbl3popV2Yo?D9zZ^zHny! -::0Q#XKw]Gsq<22Csw;{if0luCv)ph,tm~[owI~OXe_f[pU\t9a(sDGWDe<&7X>^i7cU)~m6BV)cU)Tj)fRd9zKu`/lA40pbrwfr0AdFFLYY!2T7jSaQTv=N?ro{fSl!&KBB4cxR%V<.a06U9ByQl{$[4jnM29w\./8SgCU<]hc}s@KNimG4d$B%$Zq6x@E@KL!35y{3UA{VGQ-O;mdLC`Xw\.-k4rhhf-gB%LklO)kO3-/!N6Xv`z/4s47v.G]=nkSk2aIj=}p8~Yu4bX90zRk*Xu7FH1(Lp;gLyTC83!53fi6L9seW5y|ofHOR0rZIKP}!WeE_bfdf|J%$c9X&rQ@EHV|T+CA?o_x,wp)IVcE]W2Oa5VwMCvk=9pGh)WJ&JxQ6Ie;4qh^YgrHx*MKGK>I4Q.`atFcW*Ar]~h/vssmEu),riXVJBDnYt*kR((0{/!]nuY`rR.)BN/]c((F4qeQkK7V*xvSLXT=iW*tV(BP!*oEIVn3ol-e7!l1F530scz#fJN2p/w0w0eVhSu&J4EWR6Pja9}@C5s[YcZ=/R#oM!Hp;S93M\g\9B\&O+&)D@_Mk{_q8Z{1O5T!pP=^Oo^&cAP$0tRu}rw7r^u@f*[i~S\OMYIYT${#g}_Q?E`jhQ@@`ut21M!9X~DOW8mj(]} -::Z|pkRtAtlTOg(I\3}$tEealxxuwc,[D\I\EwU6$D>c(oUU?/D4U%52(YmU0|`zy^!6D[.ZcNj%mD!z>KO=ZGMj]o&cxyN%{`Or20WCeo6|&85LAC5=J]t[P&LX9}/jlVAnhfgW%R(l1|=Ku1mb8~1K4q-Ig~P^Y^[`C~)NgMFP\!]tYaK/RtVp1RZRStKI-I.&2]ImstmKVUf-1IoA-4n[P=Kg!.OQbP=wh$c`m=s_o)YA9z;\.-f%LUD=\/6n$%fe*u}fb0Cs)JPbkv>uzxlZ*BQfwX7NjcWf($Nz%%FgWhLM]Y-G|Mh*ok9Lv~f1%gf+uD\Jey$gHCpIu)];,%z04EX+B88+ko8GfBM&xz.l1^Ap)w8#z#soi>SFZXrKc<+WzoS$Xvl|OF^/s2dY7<@Bp&M?f}dv}GIZL>C%$N=RRNy5P#cgA*q!!3XN~t#LRvy!$q`W+tXnD>N.uS1cAqJnC|NUM@H%w>=bZiB\K6cOrq4N8|pDl]sY2G6}#-Y8IdWMF~zlL7cvl/[,UqBE0\qWm[|kwtpMo$R$~0FM7^W1Xn%Kl$gEVNZ%p$utg*$}Zr9bHqtck>9v1@_02{K8y.>;w)+)%3$o]CN!M@fUYd;;m=0qb9sS5r`5%WPg2iDf!^8#w7%)bG*1{v=pl5%*`pnadb+RO_8@)i-(ox8B_fp$|8L[nhyhpdm6[Wl)+%qr?TU$uf6Dg(16a8Y4}zC.|bYRis64*]PsCkeiA*oX1Tw];,ydw_Us1(*}[WMd?Vu{I+\LoiTJ=mO+K@/43W6^(q7XQd9d6NGee>hfn_*tNzQ<|UEuibyWT408a}=j/y<~_?Mf$vS}ngTT/d.WS@Q3]tN$~B\GKiVTuafjv/\R0dR3n_\9\0Yg\~p%m -::[40r>3*\e#=@0y|rw\[je<46T!7|lu10OJXPzBBY7(8rf4ceKM3zcyDFw0/bOqxFo4K5U*F1a(,m(l%7hUU),^fc=Hw8(6Nqi.aU\O=kL4YiU26uN_6oo7z;Tf1(/!K=Db@{&lVAx`K%SUDO$4fg#di+YQwXYd)Bt{Fq?t/b8)u;hE%T.1G.(*2uI.$0Dl]vQ^H&5l8?{_.^0;r9>-qsyo?+c;\U$kR0gxVQ3uUw`zcFjx^<`)I*u@lSf<>2\D~a5>9^O*3&ba_M?HdT,<]SH\G{YsH==n|1C?B%[mLem%&7]`[532W_8IkoV@*]-v4E3mv+RO\oB4$zFly/V+W.oGmr=?)PS?+1Lj!X9+4zq,h!3]iTZp[yFc>SIH~)W<1+fvjmAc`g.46IP@klUj6ESfIJFSl=x50[Wx_Y,?;waQ;9>boR;\`18JQGo=&)m04Vn&v?Hr[7mF?b`|s6e(6-7R@UQ&P^H97MU,N2s@-~9OBMwW7?cuT10DkS.]6O=|M)RakKq3Lx&=K/@9Y6NA,MclWmALX?)MXjPge.L1JQ}Wj^PoR$CO$#?z&_pT#oG7zC8@%J!0L8YHj!=o]tyb=br[c/7h4=B-vrQ+t[i@`Y9TUk-_Q6(B|YS+U{e}|jRJKY5]Mua@xZxq${J]3sWh_&ocOZ/\B/Z.;Oeb3CO;|9O0/ct,~wCDe3Y.J#C*qY^NIs1>EcnwaZ\.1Qt\v9|hEH|dP8^TQL!9KODr]G9]Pg19v>T5`?TiiY8PN,f1Z]r[L^k[vu&fsi;`r\_ZFFZNNaIONFmkv{To,D5k+lNf#`(U6(4jE#9%B6c_QC;CJ$l!Lb<%.J\,E#,~3p2BgF\()Pps-ROp#.Aqj/@oE(NKE-T;.rE/EpnYClJ^sK]^/-3Q/]<<,iDbxG*lv/@K&?1-q>5,`KhMPt}&sQYnS10pV$lk -::_5/l6zrIIujPg&#oo)G]Q;@7xm$b6,D>f#QaM(k128b>[+dvHBp;Nu2pW|A4A|}CVnx`Yd,>oB05riIj8r[c/b58MI8Y[7iSnY%Db5`?^!1&02^Y3lF;s&`A&[4bm#6*m\5/+CINS=2D[@EP8Q-x1XT[\A;F88(+O&[2`Bop6fq]@MxK0AO|[]3%nw}q#s%Sjk$tbpYF.}{%_2yz]9q(RB+99GcLhK@7^7P{?K1>/-(@@8tBW0gLN/Mw5Tg&[p@;^Iw3xG2-jx^!/mq4gfPx;KRkM-]YS0ti6Q.>-fl]Fs+ORJ7m*;MOv2SE;S_`XHrIBqERu^gjzjW61o|@]9@^nHdAxN&\=rahc1pY?7<+gXG_P)U=3[<9-go!(#%-+;S;K\,Wa/F}6G(;EURcFY%ZL7,b6z*9v-XI_*kP#rxy][CT4H3{8%<9oW+F~CX-^4JG]9WA3KD#{KAkHC.5FQ<#PNT#_uA&%fHD-[8RYjDK@)=s}Z&qBLkvLN?}Zcz5WeosdlAYa6|R4@Bxy6E5Ov/lBjbO53}sPdZ}YEX~,OGWDPp3`xAdjt1=3Ir{0b67)j&X699$djzDwtiH__I$u)ybKvI<2\S%p*K=hFil$C0ZC0i,b\cR>Bob#o>+CRrV-s_o6|>LDR&9jUtG=ydte]Tk5c^K!ro.mCrXV29%a(kde-SJckr4Z3>K>@m|{-}#Iyw0as`;!cwsR-QD)ldt4]p,_LS0D~62@^8TqW5Qd3o?W&*dPHw$8~,|p=],81IIP+UU/qza$m?dDwpMQBg~QpC4Z=,`8[O[e\WA^G531[~CSGz\BGB6N{Pai3(F)X&aCD~D9t;TFN&tMu{88A}=MwIiL~{KHCG-J[59HqBK@TFE?b*{VAJ&^`9IfRgaJ[+|j~WPgZW7~0Q,Pkjd$S(<={^Bf8#ah.,?)F}|uI/S<^UI*i18hbz!B0o?p1)R9ddaEqXa[JCfYN7;FVCQ=b*c5B|OQHH6c{DDWB0T~v\e23_M[^&itwp8zO1n1FJceZ4a2Lmv(ya\~$?1C[snM_c/.Pdb$^qZ2+unP}pR1jdK]^T;]=Q|h8N_HV}]}~%tEqO>9-B[59?^Um&Lx&WIr&[9.Cr3M;}n9P<=]mx6XWGP?]axT[|-)no)L>VBb}=u(2Ob46^,R@6>`*3qNJ=nQlf?kLL3k;|,%-?VV/T]_=rpjn=mr{h-E_-[PP$?baXc,]~Gl2p#?m|&vW}Nka!QyBb^\n9QyC|;R!W*#cGH~s7=Q}t64&()DB{WW6/%KUjaM.-ru/ujyEkLt|Fi)38)V]nAbrDKc9g-?ZbA4|_$A?SP,wSkU7Z|QQh;vtzVT`e|!9{ZE@W`LYR;R;,-jY>/U` -::&B1%wAex8.M{(OwmWgLkA(3Ep4+?(zM{oJwm.Y%]4zu[&55VOy>6A%eN|(,Qs3oOqPF>1rwDDRh|}*9/gmJV!#G};;pB9w[n4xW?pR8pWJaSaXu6sD5fLxIW]erIUX,hnn5O^T+*#dglspmFA<-m3ZAAg!~*}Yt3;U;hJ[zQCps&Gkx`G>PD;zl4\.6\u8S61#f2;(5PBcHHV24XucHMQ2s}sX2nDLI~=3g`fP!4D42AousUkAP%yor!FY}?|Pw&Hb[^+|p1}J/|Qb]Ns\UAWA)MBA9uE>jBO-cV)Za;,Y\z4-AFL_5[C%[}Vc~rg_!D8j7m7{|gWrD|2@~Ewc##+1nCaIfibPn.MMFhg5/Clze2lpBifDU!NRmf_BH>SVsTEAgm(FHj@=,\Slu8R5%j_fO|_skRliv=n){*x8X.cFjVA(>yzZs>3yD9HsyZ%cY2z+3rmA[Q-A2G7ql,C0N1,Z*J)q\}nb>7[m,7p5)]iM`Hmnb8(Mbr_ -::@\`a$E,[P=/8xp*VTZOp5#VuDSSQbo_csY-w~@gxv>=5#1^$`|6y\^qIiG[?{\%lcu-azhV47Yq&MT2fA`,{H*m&hR&7FmGp5SK2f;7G=-%\Gt774.Q+90iISn9{=wJ,pZm%wjK)vn|@m0%=zf-T@gYn(h\HqYu|yUo>EAj9dEPKp6!*OEtvv@~CQDya)^S&QMK)HT<6a=+,dqF=?eS`gq^Qw(^UrFn>XruBI=|UsHLkWa_!-)RKA0X8Qws!]yL3kg2R&ElS,6sjiD^0KUM,_E@{XoB19Y3AWW`[}Tg[hRhAssu$[xX+%EOy^,i[BnIi7b7n-xYW{~YA(]]t}w%R6AIC*^G2Zke66|rH#mOiQk$8.YPy=X$G)Z+n&|Q\0JrOss!rk=~1V;t+XZw1/UlZ.t}o`m)E-aFwY<;502Sf5Fx3GZrKKg+&Ee8C51x&gcm,@E/f)%2e]dui!)s%A3k4i~}mJbTm29EG+5$19ar>}~,`(m,5N%xT#m{mM<\/Y{U{ZGv{E\Crb>rr@?6ERW4FxST@>@(e{tQy1+s^upuk#>]8@Xaee6y!1<+Vu*oBre*T`d`^)F?]]k_k0TxG{Z+Ewd2nj3A*Y=f=(8gXWb+?e?BR,D%6?vSU9Ksx2Gpft;yUqJ%U%au#RFl2$p{_5p#~oX%uzXO_*p([`@@42`/SM?D_7=`oF-5Qh$A#6E/mj+!1dcI_}TUK7Mhf|3}Zc5_n#2JMTGvN7,)WpLdF/]mG[Q45I+IPzEGSqIf$|f_So]2veSpyUQ -::}z%q5Y<,rGGShvudSIA|/LfiWMI/UPA>Q@a`f^.crP3T7GE65A7kCfxm!Bd9E#fY%kY7FTC.Us8@WC}9NO_kcHwKPE}S(i;PFF[4LS=j5^]7m3igMZd-^Y(Od{\c*|!o>)|)3qq4C64aF<@|GP#RV+9/9]k.\519\|i6*A0MW?d87csI&(t{Jh^8N]LeJUs^w7~}D-[@@(kUc14$2h6.1?TK(PjTCjiF9-+!s^p!IPri~)`hpM/jY<<]MP<#b#C_\jn+()3R^ja}+Ktv(o6wgGU%<$lpS@wLB#k!mFw2u7HA5@lD$|q}Kp8{/*TZRWBxB=mG&45#SF-QSsRu[w$E$_;`=}M>,@st!|{@Y9bR6o]FrN=!S%x1u#c/oa_d-2xUEZ{vq0_ujE>,t[S8u.]3iRcMftlA}52x]`RXi^R?N,-;,5/l9d`wOrK`1RC[j({-Sr9D,8OvBLfV8UsE=LiRSEF_Sr$}0I^&wuqmEFCx?rB|,Mb-{/~Eyg}B)`Qr*GP];AE.1q&$az,NU+f.Ov7YSV,dPv;_P!\DRQBwtdFopkO=wl}K[~((.v}d>#RuGR[][$G68cxN#A|\dx{?oKLoItlf<+E5CT8c!_M?0y-`H`DdqqE&Qu7CTNxEd*935I6_PgI[^}^4<00v3b+0Mti@_41n-BF_jAiNbR|*WMye5gC,[N=;E6hUou=%*5eTMMckS0PQjvvgN9w9>[Q,AbU)T]p_9H^YT|-Y>e.tKOb<_QfdZTfLtrj8m7KHb{;/2-hQW+kR}z;swP`!J$8K>,XGp67q2B[PcOKR;Tqk$VT-s>ES4_>mclZ/a%_;$/s^wuKB|&5*KW<2@fp>?P@Lphg17R~\%_9[rkPK@65,ZR7o*G`s&+?%`^*FaH$&Y8C2R>W5tZ`(yZS.tn3^>?ah-bRI_4Y0.G2FJg]By<}H=+n{E9oR#BO6kJ$-?r9H_EXKBN0_c=?FaN!8LZn*>jSC~dFb!mI-b@FOW)jkUZ^rz!q+fU!@;f7zI,me/O%6q?Ya6rX6T,ndrCdhr8iU$1=E0)WnV6E~-zL}NqL>uC5XMsmYvL86z)w/_Z*|}TQK*C>;lynTDvjPr*Svd;K(3p0y_%YfES$G4B=g`Pe\k`Mth9vzpWpl6GU5YLx&h7N`v5y_c5,ahEeE3N>1i3,?8Ac4W-4m&Jv+!)2Yrn.eWVK5VeBJe,?b-OZ5zbD)~4uYv/[GR/;4M5_[^Y0*>&,iyfA40Q3idC}e,c/e]x&OTB.4G/Lel\~ZFS$C3FBadkM4=4Hf,{OXgHP)wR-_J}|7[vNj~{IRiYZ6p.`?}V`rK3w?C>&R>{~(q.ByZ}A.tC5BgMAF=.z(!t$0QkO-,E,VByl`7To_6t6\2l-@\c+1VrCct`b12JSvw[=rj]Vd&8k_DDE,XekrWgF~Q(Z[8ch{}[rAlR$zv4]Di9eh=4)LKsf%;gme-7U8zU*/P_&xB|Cd1_I5gY/G~fD(+E@fZEOuRFXtG~6D1S0ys;&$ -::c&7gQrZ1__)$C_/[IV#-DO^4cI/nzWZ5Z,>ny-ar9?O=V5ZzO#xgG2jvSlm}a_-Rnuvb]{LqSr4@iAp1N$Cym,?J!!-\{@b9%]W`%#01$mnY`vk($BHWq!G^e;2|]n`4_`Vz$+kg$D+F=${`H02DBoJvJ{Op]chRnJHjc8wBRI%&2pF+|jJMf,GvIjSMKdxXX!&3k\=3TVHcOf6L,5Z&wG1`X+YOODn\daKv#MNV]Gdyj]tj*eB,f2}%M`{$PmD)El~F1`(*\ppGA1k/5ifR?b=;h}/QER|*@`1aYiF8gO0=c31umc?*0<0i*/{~0*@W%]T9O*JhmiC/hlpz04Uh&o/kq*_?on0!KGgycUS\7x0Z)B%=0k\S<(MclJ*?<#pmqjZiF|ysTAEu?cgxq==o7+-=1q;;]6W(Ll*M\^dwyAX@t}!]a;+Ia3G3)W(85y\6acVZjU&/}hLo9v#@O_,V(&|D{wT?|Udnsp+E<`x1c)`&o090`;hq;y5d544HjkSvxi;I/3WWs*m%^aBE.>eSKLaY{~uq5qHSy3dIp~}YP0R0$6R_c`6y/oLmG4L$T\R((Hfdw+s`|A=vOvRLzr5nkh3BjZ8*bviP>Aae\IcJf4o^t495EKU#9x5% -::4=%/K1562T+L6w=#ch}sNcrW.`BXb{LmW(zD[#+t`@YKYP$fUosXhhn;O%<0PD.BORg=IPj|yD4\\XjmKH.!\y.uK$@jfMux%iu0Bd#|QI/VnM}[5=Uhq}qoqNdS;,/jBTX%-^go39FD^~a0!=@xBjxj8;RH61HjVppZZopsA43(K$Az%yw={)Z%I/bxoT(SBs9~IE5`cl9jRC>\~rkh+*bG8kmNlWNOohx^O5^y7Ee-mmfXRhBK!hw(dx|s/Buu,IgkrV1NdVnm50T~V!K;m~Ju%T)V?n@\;GUt`HUPZ%9jwpYI5)~\0J`i4Yt<.`_Aops\$5r]9FjZ9be%RoWqC4InnJJ1jozO?6IlR_>vA4>~I!64F*$Jh{BMKhkZcMsWhccw_D{D9wiBr@Y{ax-Lf%*NcsYagkr(TB%hu?DX;MAnm~KmmQXzHs63aN6n\\mX`s;3}a&p3f1NP$Z^nsUo7h3f0JbD8sGZ)*vsQ^+}Kf2E;z/{oEa4>0sq-Bvj`F\*Gx}Et]-4Zmb*<)YN%*UdAWXaM/~\JFZNyu.<3&rX(u-l8jh3Q-P!f074Iur+)raW+4-3E]/k?E()UlvaUo~dtZP~nlu`L\}wMJQck/I5Di|7](%\q/RMYe!a~M-\31~p+E*N[%dgUZR&5])\K4 -::Nf0Tf$h9kV!x%H&{o0^`FzhvSI+qO`Q2.QYARN]SAn90bCAVTGD$Z/tM}\[vcf=xVHbBfTZhS0ZEOEOvo2-!A?|D2o_pFX4H)&LR9?(ip-;K/xS~t3WNhW`xK04NVg9OL5)31LX%%m0hV~@?^`6hP7>(KC3oj%!l2P`kI!]0(;Kn,LXKAk{cutad&@^D|$isFu*x;hLsNotg6t9H{E38FAUl7XTio0@pkm8$#\,E*#ST&`~LTZ@6v\ADgnm=kiH}&azvIi`3qcGBmHD@q?\5t@Z&uMH~,gCsh(2W9BZ!tHLYOXs=i_VupeYQL;jZ7xm2AajNUKZ|I9b{)b8=syO%gQen_,d_V>|m.s4q&I2-Z0^=0ACS_w?@Qq)ITA&CnyX>r?|CmuO+tW?%1T}xP66)O93|4c`HPe -::5E\vxS%X%hVl!pj-,jWFC~eLAHnMD93KEUO%T7=%B7%cO%]0|K%pJw4NGe;fF;Gv.I-*48#sFEiOBKM9$v#$HsK%hi0S.0=t[I|t3v$]ouYmI}wOt8IxU,20qCwcc5w990wrvnXoVJGr`o2,~TR^lfYH]PLdXQc`M1}Ln2O?\.>Dh)j94D{Gx&t0IEGM?~.a9}5Pi78+3JFXxAe%z*-_q8(Qxc*u&btx{EMr&/w04=?qSf0?Xm%Rs,Zm3{ElxYm2=NF;`dJCk[ndAKm|kDXphT!Ub8RbfjChtoZ6LyG^trS-*d%*AI*iWDAvAU0GnPi$>b6O2<#B]LuJb879TG%!EMYZti!yjD#^)4/%}`]* -::(~9#9#8ys_R$=wTbASPcjDcDB7ulKkp{d0tX9H8km?QBW\C/&b?#CaxOTh^L,k@e0j7i[3y[&ujQYdVWW+_=C=nC66k0.Ne&4@FiO_n2J@zspqBd\uJ/8WW&0qPJFxP+@^CeB]Hy/0urCX^R$AOR+eMwR@7iirK9Wy0~<_7W|~$CPd3+5+xj;w)(F-R^]Z7wz{w>)C]|jnU}0Fg$UA__L7|z98`j8UDWwsOSM7N8U=f6p9\_3i|B9vE}2Pw^5B7WWB____A7U~KC(FRo)9/fVQ7|j_Oe&Q^mz]dP1bHec2o^R1G[39xS~Xkzc$${px`!wE#**,t-d3,$)SKTJd@3N(?-ZjRX5UwrSu2?nCB%qE1~Tr}[UUIfNzDUfXPS%[>|(ARRJr?S|^r9]V8huP&Nt|3.A#qP[W!j\<~=QP`A!3TWLkI|wt+2oy9Zl_gh94jg7m2V2kXp4ks2i9G^.|NmFkKi;{\tO!SQ -::V~ciE_s&i]4Nc*(nIkbMeM=M+lV7&88XJY|d#ONMkJx=[X??bA=Z_3r$`g;]gSw!}@601S,bE#MCi8f4^K.A|7`}n^1#!q06bivj?vgQOomm{YqxLu`TK;i,\Ms^1AZtpVBvztEuhM=^0joi[=+ip$IsdN|q&3TfA,hMPveGNjapP){x[9>6S(|c,hwM`vHyz(tQRcT_Kcg1TD}xIEK_%(.2q61@jh$Q5pOa*X&SY#JLF/!bR@Sc1{=BLyLCg&[Y&LYMPs\q0sL{x|{QAl(U{8[UCGsmn55s8#8#q_sI-o;|;K*ox7_mzW!xE|6=zM(^*Gb@Y,`,}STPBL`Kma&|XW.mzi2P>6Y7M`w2sapUBBj}[U]306h/=^[!rV~R6mAE)G/uLwqFS@Ql\+O!#@hWWGSq_|X95f76OO.u/{HYiw2in8N0u+#X-jHO_l4gXXX%?v}DW^=4~6]Ez6Ku3ss<^TW$Vrk)C$2kP9ydZv{Klm9Ob|icoF[P[e[\*,IGWOr`.f?[[}t`lrH&z)>jD7/1{RfBW)zO\6H\.CSGPKJt*#a-,t+!B_^o!wW=}|/|Z!?6^=JuH1f4p3VFp>L21F(/C4X<}_s?jqPURPKB@6Tix;[e9>W!cmr?lI~BSQ$o%U,B)]R]b86`xjvA]g7YIq3-z,ngPP|~iv!\p^1Wq;cIyxi\,LgH)jN`]F,}V}d5!Zx\uLs/?(bG(g?IdsF-jqg$YRp(OM;`Ak2s[Ayc^l|UlYPW6.u -::dORQ88,KHP7&P2;UiJKi=m7<;vaI=j1S1yKH$]$ArbfYHdPwKzqUz)svnU%Q+vi-=vA)DuH|$j{8K}FI+o/Y?K_047/+NZngd#99txe19B0Pgzz!ttF8gKW}0#&8%2>Rs@B5Cb_OS#@@BaVqk3P4[^j}QCU*Pr)[NK.tPK\$`Pzm;PIsM5kvuf$$(*@U}Z_`?{e6]1om5![@]/oIGIR)B,[GdQjtP}nGN7#LSx~L4u`le.Z.J]Q]o!pb7Js![Y^)~ewnUKX!z8g(c]ATQ{1Ruq^P4e3{C#Vij>;JgByHk;9HFk]P{Fo0rp9hdRehmsf!2vlQIt7&L@>E,]n_R~a7_`ncK5=+S_e80k>^2!K32yKV=d}=$?F^EiN=$s,3xhH/&&R%JWX#6s+-gkY7FP4}=0PMiekP]+}T^%_)*Ivv{.HO=)kFPPi5Z~?Phu?){KHm4B+KN#&]\RI@XUD%zup>W>An]f#a_?U)=P{}]LPx!nzU=e^uJp(P*d4(hrSkOP&l?{ras^)@im__~aV]%Y_zldV]~>ewMPTKT|*hy6|z2;x+/Q|OQ}rDs)M(L%)Rv#p^OKom{MV$,U]/x0m&z5O}O/l{4A]t8Eg};H]ut~z!eYyMj[V(5~ft&NUKgN*Y??[!N]x-b4>zG>lQ[)Zl-2I,3nhWs|K2s+2-tV7T.,@4PM9wFPm6MMd}k1?Ab/)+N)/b];p&/WF,N,nP#~]f%F>FEuI8#EpKgCS+ZMP]F;k*5uxPL}1X).I,(T(%j25UkedK=.3,IGXTgj5NLkIjGH%]Y*9`9.O-g_ibS]d]$2&(O-)*}Gm]{h,zh5Jqf091X{I,(4{`Mf`Acz$~V=yZ}Knht6I1/&in3@&&(}y4heSadF% -::{cy[;-6Nf.OTF\kkwX;{}e(>@u5NdCu;y(5p2[OV%7uQmuv;HQ+`7aQEZ}n(%NL{B9*7p2a!![>IE!GD10%lN!!2CkPE+#U)^`{Unq-wcJQr-cgh_Jlo])Th_#!t@Q/0u0EcYVbU$,OnkW4oEq.VRK)B?Px-PM7z/!ONeAP%4~Kq!e7Sp\4~+-iJ3OhEK,4a?D)U,W%%a1(sO!ky3BNN@UMj.WpF0&>,6.a_6Y]T8J9PQv,o]qE3l!XH,j(j%4-[PFU$;H@S_#pNuoU_+rN?l7+PQ2N`]\xHqZ~gY3[4FK~RNfq?S;u@r7hR=FLzsf,cPrq;6%P`=)AF5(P-xJ*\we$%>@_@>HH=U0qw8QGk0;]7U1emS$ylvt7a].Q^1}RI&y61$xB5Ep^7/xdhWo7x!3{\IIR|ec3|#{M*jk|Z$=Y@F>_bWP]$if5>L2P~nyw2}?U9ch$=Uel2#l6SFn\+JX#!YB!{Z&7p-La93oGy#$)#Zur1[l2e<*_7=vCg%+JUUXIRmFO.|(Sl|8tC|,hWB.jQft)n2a3e76=oCHr{JdPmkpZZXU2i/Q5ckx@tGw@*Zg$a7FChP-c.P(@,C\Hk>o|@CS4qh>gyYpXmw1[l2p*5_fV-dXEKitAy8-aCk7~A\`bR=G]9vdmAQz/ew9qs/hxip -::FsXdaBy5@v]QlEan%-vpwlr5q1vT(f@(GX.G7N{#u!mBA]^Wo23RO]qeqJ\9abFh_P(m.cDX~-G{0I~op-9M7%0iC;>n=}.u*|4f;2*2,FrhwGDhHJr!Dty2U@|0(dhN4#?X}_1Bmi%GI*ZGd84xK2tGSe3H)uup&;5x!H.rKncaC=L*C;cWiC3tZ9){oy~dMG1$yzQViOEI=mS`O].7auzb+RPHD=3^EgE%3x%x#,ycx}[F$Q,HG#x]SqsX(qBz(02/sPb_+HY,k{<@YQU]7Lab|!XRD6ne8qxCO~?mbjHbUS3e\}2VVM4G6jMXFmgxn29DW[hXf_H4A)]mX[kkJ2tM(*\B-MQDdoO}}][KqohnE#(6G/}b&3QC61QhGhdezl8RGdf.j$3LCGzr;UN|I.=!!-^-V[G.zTKv?w10S+~=/*d]#^FXIziDj]N}]YD>#+^IHs*h+B4/7XJTxoFuuMlzC`D9TbviDg1YDZ#A1E1j{]9[1^kfu<>hTz7^$?!#;VkQ=(g0/Ch@[`u5Pf.XFRalF]K0+HZdBSfUC;gJG5@^TC9xm!VXhc~1Gq|Y|[4`+=HJ/*|0,gZQP+WQ_wLpGvtt~v(VF29`L*/2z8W&;PL?>FFX5iyTj]/)7MJiO5g9zJ/)iO -::J<>/f%3Gr%woDng-\{e>EVsQgi&MI[?]L{M[hmkj+nKWJ3cImVw$Hv\qYAC-SM1f0w[gC}b[I;N(9bCX}(ci7?ql@j([J3(u;]w]Yw@1q(Wf3F{nX3Oe@J.tI~W3_w)UwJfH^A77%VOS!nAL/f+PsuVcMkXUs6TA;e^I[4,X]Mp]75[/(-DHc31^j;yD.5t8(-\b/4Dl+7nxH/y7?,Q9qj!t4_{mnxj9D[\x>*9h,OS6.)R^u3jR>LOB7)gi2F;r`Ik(kVX1}hw9Zd38j8wVCX1XC*k]%n0NuZq8e0;XqJkAxk\I/Ks%E1U1|eI~+;N{-XcM-t!OVf&{Bcr@JIMQwz1&hLY*hRggU7aSMrI#W+3WuM1dOLVa&zx{XDW*~8SVNRc+@exT[F(E<;nrD;dV3XbWB#}+_KLa]v9K1Uwrp*l6H%4aLDhzo,~5D7}=]i2RIov)k6La_IJ[qe%e#,UB~r\}]^rSVKez=BK`S$l.>T$o{Q&J.u6-fA-uF}LB9KOeMqe2)_hc8!C]h3+OFoB)tI?Bnqt6s4B>*ZRx@U8QX}>#tDVx~85j7f{lv^G1-D-Hl`mgOclK6gS4ud1K}h7KsXsUq~k6mhY=[}6f6/}fr$Ot[|wj04PWEv[=T,#/RwJ!EQtpF|~@L]3Mu|wX[{!w2^T&n_~,t(g6eL]HT&};wSxywL(9Ms_,L|=Uz|l62|dL#Re%iPhjJs\#fH8OJq5<}5v8bNkS#4pDWMq$.V`#=jnHNHD~M[Tqc6IjZ+=jld=mBDqI.ZYa0b5gNoRs91EWUcQ^*$da`b2,um3!;h{*f=d~&H&=6TsyfsQwLHoH>Z{x=*{@`Bq1DRigpvtYe1OH/FC*Nw1lOq[C=&==ViF1^K,m.].NQD@%oi~eCR\.=-m#qv+PWkTnSkw+pP83b8+j6Z]8i$5Y6CY=^f?B2lxub.-*@+3/r99mr1xkobDb%`n~0hqBkw5!|_/`$ni4*JHN_iOe9,[zu@Fmb\SRpvb]xB-a&TTA;nqV\$3Br;qV~M@kc2$d}G)p3,]m.N#uHA^]oL{t7_vJ}V4Q]mP0x<#Ts(9!uxLu,KK!2`m-+])`F`a5Pu=-kZ/&RgjAb&l?JY/&6~WRwrZ5&-|f1/*?teKlN6_f.2tdh07A>Bpg6`1#Kh@2(}8J7qe+U,H#sVdGQ^Xklu5QA$$}dd8eGvb)zm_ahm.0rO#2]u]rOifQn$xK`uo?7}+g)Y@i%(Wy_#Akrm,FLjdG2iLGp4W0A()6Ii*eh*~/fw`f?w;^!AU4xS47k/Y6JUPJOY>!F+pLMNR$jU#D8oQHm6i(|E!OJ&j_}YK3,Y[5&$|m4tAIUy`7&1iU/L+VFT){Q,tjV3ym,2NbrXi5Nq(K{9?M6P[s&ir[,KD3X~o>{_GO^pqzYZGl)!hCB6edr+hXA?2RDQPO}NR5}tTM0}rxp>H}[~Q5}SzJ2RU|z)[NxE)A\?[(-H}FZ<7#MpqdP1l,qq&<;\_bNKZ.D!sx6ZJ!)wJFbqM?di%RI/XGk2#VY|X9kSnLNrxYNAYr|m_]PM7rz*!N//WJR~Sw9nIY&u7_hO4X03i,lAPOmtwEM1JI$OtOGJr%luL+`S[xt~@4oc9(ni,ptDYei_$qEs65O]l$MQ\^+,abBm!(+2K?19PbKW}ZP_qBjdlrLU/}*T])|0A+i},m,|K&dcE-6@Y%MIZyZ{6`Q;/6bAN/*7vs6bG,YcM]RaqUeZ3|Odn46ed -::-?[|7Vvw52>VDo&H==)G66/i,u46]s`Co^u1Je1Ql/OB+dlAj7t^0j/C6Hu-.A4`#B(\\VZ4D!!;fd|\!CISr(K>?@+~}{+C+=+qY{Yjol@6#(l^@N-HuT,m$(a+T894(<=^*B,DdcT6OCA5y2e,SO1(SWx[Is9-@vY*@-F`_=VR)9A8bMoqc/GR?dcCQWG/R+k_;7!3}_aV}MB3dAXX3Q=@-O~to|J+VsPx(ouQC*Yqxk($tI;hk-)B>&A-XJbB@FHCc]Nu,8R#\49hYLrI]$}dxj&,(OB2la@`]T1j8.]$T2&Xp6\.k-gnDt#w\6V)vcq2z>)\Bga8ZPq#`L(Tf#qZ*c(=r?plU9z`pv(&\*_+`602>R3(a6zam-ne?,=9tQpX+L{t%}dZG8Hp6w-ydS2!D)hwGkvHHbAx&RMtkO8}eAx<=Jj3s~g^M!wxIBy4pA\K3\BMWqUd!fZQ|ZFjNS(N8~[[EZ]0o.e[OlpVDNg\d0/CKMBAY?g#(;LlEVp$&\)Yh;1~yU3^cF/oWb+q&28V+h/KsoGd(u-&]pho&G;qXh4b*//w62zva)ENO;ZOf{Hx4JT}yLH^pFi23RHkFZ/(9?vV2sxH@mitwKmB`]U%6/a8~m+?QMbq_~T9>=+I1Ua8Yw7ij>GaW_5TGAkqOy@>ckSH3=HGxoB/z#?4mK4s]Y32{b9fd#{0w?zDi[a(OcuxqNYdsLemX_>%3eiuI+Q!vd#`lNKT0*JHt6FkM[cXY]nh*?t~jI.[_8mRo2!s&\X{L0mJ2ms*TdtOm8zmw!oy,*m;|Wf@0_q#R,LvXS}TA#ZUVnNO^*Qw5f!#5;q(om[~}i;I(k.D9xY_}0}OZ&R|6Bp5OS@aeee}VzVhkNZ/L=]^UGrcvT]`^^VQ+]DFWEUo`v)XTY{(}I|`2WE8IhRV04iPR%RH^%prL{F|#_@#4@NjV}A9-Gj[m`YD#5}Fmv4-/lJ0Y=j$UIr-7F8Qc!I_sw1KmZ?ksx5i#$[i=kyC|0f_Fs!/20[>AO37YLZa#b}rCL@z|-yVm@Y1$0K&8!l5Qqh1XUL}hmb^Ky9Zy#Bku@Dd(YtE>9fSQ{K-MnE[QR~!?^Ad]%7(1?Azy>BIX6/*.g>y)R9?XacZ(6Pc(p[f5{.0})807PS!#qM`Kn}l#4ONE!$% -::-hQi^3p@x3?l+8deQAFHmTqJ5}AEBIr[t6qFTZ=^9HT)OxF)q&2mU_`I(*];6L4WcMU$[(7FKV`3zIYF#<&DLs%x8X$-7&MD=E3_#4ncKKp[C@T/I.I;ljkg_$s2<9JZ8Kig]b|U)_s=XuAuKij}jlf1GccON1(bww}+04UU3Ff$VEMcR9ttNQ]|N79X-r!AGyuo]G53@$,abN}5U#4dLsM7%%C7|A6HgZ;mn2#Qq,das3||\xg9V\-tUE6<,f(q8!3RAc4pzxP@Id|ixf~WJL=p*f8#$$Z89V`2/C5q%W@lVSy;Jf+(,ktZ=M_FIW;=.v@1o\[<8;yDSUXl8g4~]87Da8-efWfy6]~%J?95ULy^5w$(UFqSA|iR^JnS%i{G@GJ/JxtZ&`lFm3wEw1K68v,@VeBO\B&=;$tHq%8nA)Olnq`ZSn5&rroq/5}JXOYs[Q/-2OCPgMP%nO6JU`F*=(C3`Z3Z-/bSVHK0S^KK4WmpPl>QxW=c[11)qjt!{k#olA$jeKrr2pqe9ddWTpt,TSs(&g -::,J_}}2$8~Z\)d#W-?WVcoJ/~Zqife_G(`J%6?]{b2NaTDv)Z^^L#;U`f-h;/LJo5\PVa3ZhUoUw3vc$f#LSOCDRw)..w?AgLa-x3gP]YGTouRg4u**XG[Znl4YQ8U4`R}Otp{$zO+g1(=A[U/?rxt={ZH8z{YDtMBL#0g$CC[_m)/x1H*+kuDa=+>{>X=&Pl_/x@ncpMXaSs6[Lp*=r<[@h=@!o!rzO1+rqzBNK]Y;gVCXP(m[bbM0Fs@==1o5a[{Ww+p6urFQ~Ba(t9j8,W#j|/h7-mx~St2[eM[kB%SrD0jhsOi!A^k5Uetox!/ep(*\5P}T>*hsL1bNnBYxZW5)N&Sdhs2tyYFM`m=5wS3u0_q1cA[Jwx|6,+1n;]<\4g_!WIzq#avC)v)j$%=~VQ3aM]wlrwI+.1}O6*ONK^!e%t(0)73zj!=\;@>La~oh_LFl8soy`J|J>_!2}4Dx8o=ptd[y/BrMw%M;b,hG+}z@Xr#_TYpyH+J#LS[&7X^&\j<-IvdcTIK8q)ZH#E&3w7m%T`ho -::M@DCx!0uNXQvW{qhPLh\tg}~RkkUxIhrJd8kR;X^KM/e9Y#u6a.8Fy3h!MR*^m[N0]QUN?K4]uM/]4yJ?d|euVyGU7[Z>XrYV!p*iXT~Le9O>,yEhht@C0,Yz1#@01Y~0`3g_#{WPkw^JCw\V/0~AV6=z|ebS$}umhr5z{4jvImZnu&oS2%.OE<`_53c|CXG(%,HM9J!C$\Fj$8sbgdZ9|_Z|L!~V-jI2diAYq`xOMiS>Z2r^=Nf4_Czvt`/bpM71}a10M-Zd@oGtm4m;+7}63VFQ4r@^I4q#-7}!i,f)9PxbcEr}&0`vw9cak==S/`}#c*FMotA({0q6R;K2=<|a_izL}j<{UbSX)2I{mB<{6Hl<%cj4Av$O/Fzn9ju4K@VQPUK9w_(Tq|V*{H4SNM%DK+l[VW\~K%WcbunfMe,;oQM!N%O;T3Z=SmUBY.ny)[ChfY%frGIEja3K#B`R$4Z$evn%W1Z(k{$v0@~U7elbe&&RBQwC\TiU#8J@5Yt9Tr3$)@%_?rq=r[l{`{G-5bs?NGe/#xJTR}U65/$pdS<+|iV[IP(f7.&H$Z\ijUIQJ@(EKm]l1{1W`{Eb~LtI&ypcU|rL[jdXA_J21*AQZ[\OJ>tb!2N02tM`S\NnX37ojDN@rFa2=X9V!NSMxD}w(EVH -::L;T)iy//6K7jd-xQyl=!YfD}xBnW?D,7/.F.....d,HV`>YS3Kai&OlDU2~9_\8B$?-Hx.2Q$6V^8Z=gsZ8EqX&7\I-ddH{c|YV=a^`YPj]hgX/q7Be=9)7fI1YyC\%s]y*fuon*iMaEB(5SqQW\Cnw}#*T1rkTk_m<8.l#|~TiLQjrCxVbJ/5>S=lPV)j&~Ko-J?ECe3huy0@L^(FOQPiTabI>Ij,IaUa=|@Yzi#G{egn|CxV%~!b}u-_SVY)C/Uxx/xR6#ANX$W?t%g));,Hk{WaBBu2r,\c)R?^!,zCOCjY`>[DUeqk`>5]0IG.>?5-OHV+*otfcE\{AlXT*R-RsFm>Adu7L1nb&|q@26qG?b8\q;3Lr!8*L;#[/n#|OcZru+YgL`Z],$I;Yc$f6qJrB^Y6MLgH~If|rp39xd-,ZBYHo&rDer]?r_4+u2S9xO8Q4F&5G,//yv/l*;m>`BUoYfNFp04Yi%/%`=w0lwuSY60LEaTAx9r65#!OFeUhYHPN{pF>YwRiPz}nU<$Hr`5<{BH84kbY)U;&41;@uu}_PB;bzlbj)p{@Dpx!B$Y_RTOzX}3I){>07]3v]SrbQf)a-]lV8#~q1O~eyp_)_L2!_Gy~_l_<_P3OLPU%UXXxt\$n8_9yCY.5(ey=9wCDgnC&b||o=~Ha{kOaU.XdPIkE_L|VOtU~mlOkU31lao|>utUGVywapao~8DA#JuNK-\bm|_Oh-~k*8aA6MnhQj>b@|_4(#iO6L%[MXP=hP?(nPm|{@m]mYx=TaK-?sViy) -::5;;IiJp5F}Qvi5,O7-vGA]D&tfiEi-`z2Z`;yRGJ},us[WWa*;xA;&}s?BK}wQ$X[9UBiSPeL-U#e^<7P32>=(wK6W-c>^oG;d|9^CRX?ryyV#ffY5#=tr3slC.cH?v8Ns@COf@8;Mc#>^(D=ihZ+vTWFgMG/,-dBWVChptJ+CaW*gQ(3E]ds^e@T4SLxK9BeprbA(Zmyu=&y21SlaU*WZj|Pb-!i$=Jd=D&f)C>W>joiwQ*XRs)Fln1FfU_X}l&roG`XY9HlGupU]&ZsuFk&BHF4CcN?*M~m4;?v8XwkeR0zDca?_N#wsx=CFXwm}FAgS2CiXLq-?2M\]@szH>]dvm[uXWr,8b6poE9XrSBD%a^`sUyk^IC,t\yzO~WMk\uqU}VerXP#WQc{1dVVuJ&R<}VQtBL_Qqo-A4yh{4L8C1VTu,T^]ff4V@uNU8Z73_A}dt9KI$N+IZ1.fZ59(YL=VYasVC+Zcp1)g(FK&-1JVDw>itcx)W-?[R=dT`a?z2*khhilYYS%B6Z[3UrI7T=JI\Ls_8_@D!n,~!)/av?G9/zH&fO6U,Y0Lrc@_x_QPwN>m486%->1pE`m;BnVbYK\4O6Ng~$[+QYBu{kn0@`rE3n;6uYksAvQ6{PAGt]#3Pa*P$#LU$HnWyYWN\t!4(;aqEq*W6?=xakQ!]\i#a+dDYDiug~A\f!*|d5#mIqpS~^J%8`]ZfxN\uBTB3aakH563S;6u9k\|wlK`n6tQm\+_r#T*{l8KHwA*`LsDP&pfF9+o)N&v>AqLS!2Mtx.zFcX%e&!FO9fV59s`4aH&zI^n>gfoy5]NjxNxM69mQT4;kp7|tM0I?0/xlNZH>8IR\*ypFvi6`X[1l\C0k*dyMv0Vz|F!=~!x=W%}z/t&V5r;oh-Pez^72Tm`e!h*8jgul+*;Dk(B^nem1f8GQ\S3|;mBo*l!$(Jnb.M98=/\pAG%ji.d08Y_OEXMZb}B/`{]xx^)xJiD&~2.OP!z.<6tDket*XiGjh<4Y0U!$bf/=`&T48-ot3lMajO#BrVYt(.u|KC*`Ch[e]5K#/dUC^k!ftsQ(^=pS$(l(d<*lx*KB(j.IHf4$?u3M52Y|0@`CnntO*LIrn?z)Epwcwn%xor@y*`mBw!`mVie6!,vAEoX=kaj&U*\MD6L[y/@]R>6Cnths_N3{up47\Fn92Q~Y`~&l/80e992{yKrnv8&&p(OUgNKsBDEXS-wU%n+AZI58kInPl}=PnDEA%TEDUT*wE^&T0>ZSl+u{|%9n\T5]#s\(%ij(@|&)8khja,6Sh*e.)vm&~Uk$g>Z~A37r@z!.$BG;$20[tQ%qQ(`zmrARN=`l(mcV;n2R*L|`AZy`$*AaAzExGPYz5SRUsi?%7Rv}^)o/X{Nv-R&~~I=f?mG(yKp-arevlce9}s$5K}6#*<&d=E~I_.)t@6)\0[UD87E5.}TW}^ojd?>pRU}zG\J]*u;PRXyg\Q=_0jkO4Go>Nu;$wC5K8TO.{t5/HF\wT?=>}2{(&c@u$51fW-HOb6O3PH/F_C,]0.0A%_5)Wedq!/{gp.>\;.3}noj/g|y(fH#9!S4TkCRL09U]!?I\0[3S#,J{)=8{ILn``O)r,eTy\3EY=czQkXSkJd%Z![W?zpww#RoszO~,PB}W71^P`%##A3N}rn4p-wdpai%ZqXl5)yuGVG17e(DwIO,ciXB}P&W+#mrM7E|ZNHa|Cih0VTtF(LK0q`cO*PCBEawNn7?f#ZypoX30K^C(PL$#Zj0Fj|5Lw6VBVJCADpk/!W-[9].{r!vn!Z4wT$rc}K&E;@6^C|^B4iVzS#}~k3xUo*m_u]D2v]q.Q`7as.tqW<{XYU8c-Ppp`tZ_@NVq3z6xdsxcN0=CqG=6((32&Y&6I&MiwHBi).Ae;>K+8x[Q1L;>Gi%{!H$UjVBnEg!nO-E9U5ph%G(tPvHTN[=h@X_x(P6eCY/lKxuUo1bF1Swen.~pYvAhKMiW[FfIv1bI2c/JW_CS#.HFaQUK2|$QqhaoB9tT<3JuG$Tp2ZCULLap$PdPS|JC8d<-tCTq<>NI42gf9M0|R^vLt?g-3?[F#{!SKsfgn0y(y|.t8d3+S%i_{r;SDQgT#MHHJWCQ#y;N^hrY^~51hKKXYzF$#V14Sd}&vG;a4/UQ,JH#$.&`fE[Kw_9*K5_[D\(O}oB/^!tb,\(O=ql8L;I%#6?O|ha9ZF143<2nc69DHj,8b?vYt(s*{}A+4w|%6~0R#g5wQJbTj]Km4{Y8#p@90->IOe/I?wsrjM!Y3Z7T[cFDUj/npE%n$r6,{$Op%#!V4ZrgE0~5VE#iwX)i;5b@s+Tg(@CknA8)cN$wm|VSs)6RJYc=SzxeU#ZjKI=4aHa_K\1{pI2HjC>q4%h(`MyEpXxP~r[Dw0n#8BDsoMe!exYuZHYn6QuU^~gRBd]PwDHhC3+)M@}E@[M;3[!~ZlP4-6XE -::wMfWw(w\K@[Dv}M[z%naPqOizBOYW|w<5k`8Kf\kkK.?YF4ey@;hZ(Ycg>L2B+*nQ`fFp_T_lY\N]/S!mspp1EV}>l~@!#$WP|0TJ3{S{*>vZYIu\O=qF-?x[n\*qO(NaSPb46!Fd^UZX,i=4a|G,?Go}wM4fJ;DpcjEX/d6L}jLHdD,>Xsy1LYMHL7S^`Ht?Oi~(_hdh@AFw(_8Waz2W#sRNQZ$@v.HAr.1m(,2JVJhYi58fQ>31^LV,VW^U)?S/gE*b!7gsbw|6Gqe9^gAeP!qM,-jQ`v@sdHA=,;ekg>Nd([2o?s4UbLf/BxZ^reA!Ls?!#[jkT$|Bg\!EpgM}(0J{-5-mijc>SSGy9xQf=~SS\v7tW+xN1@NjtMa~X2\M5mx(1E9p$.GN35MCSdFr>6q-Y\V~_-DA43.0045FNjQ$wrpOw.VlE{fvP*/cAxSu,.Ryl=[)H0*NR2v_oQ~?6Sd\q^MuMzsMD#RQ|cgU_C%!;Zl=bq(uVv5L?e?5K2)74lV1PN&1g5$FDalnMp}BFo-1+^7QRJQXpG~{6AW~V|>jV[RDtNM#D*Czscb5yC8*bRsy? -::;HJ-gAXRz>>Hec5;RdiHb!go-pV\6yJt-Bn9_OhLowuz;Phdo@MlE6OCFX}$r<)1_,{*7!8t1^T[--]TD!z,T#Qu{<3)rwp(a\$FGX8sxNjf!zqtpSwrYH+ftK4|e;JsH7o\_@KAtOAtd|dD#x@,L_/CC#`_8Qt[M_-_4d|v.x=GC~HN;0}RUrsMC7/A7^.sA0N]i7/8uv{)m{3`,D<_=757V#S\\d,2sTC*yEtYIC/VL,3^k7w]>nfT4;9w%zw~t9{/u}NBZ=fSI8pRj|~eBz0.@P[%msyGUA^tbguZKjRFkEjYvtPCA%WEX.lYx/nh,;nryX!fX=yyy/=yc/Acw%r\,Hcbd.^b(Zw,G;i7AF$`M56Q2af/(}}8vS?2rE-zdFjA*-QaZYZc<3!iN8;dtRbg4EbGV!b\>joKAjl!`a*pF~i@B-4tZ$f-!^JTW3^Iqp||aMApr@yjPis#@4`X3-{-92SUx~|?z.pFoJg0y`RBMYb#xKOPD+,G*h8oM^&H0$Mcr6@i}ez9Bf{eag\7fFW8c5ncyi1QJR5&yYc@[uTQ*.Og1035S_~7e&1BvJb9=y/?i(%IkeTj\8[i+?_PB#y3alM=r^W`$FEF9TBkcMGHWFsQlg2pZ7jk/;9%5UoCgU4]FGFI2I^/+T$M?)$MY}!Bk_GsGi{}D^P1N*QK[JkBZhN#=!lXi7-X-9+(MThFS|W553f8g}K.1o#6)s,=7w9TXQhHe!yjMv])}RsD\6m+cJZsHRY-n)~.KFEfU4-&Thx3T1U%V&9>WDfxd|M2|9ax}S?RGWv(]#_`C%#!+p9h<*SR`>kI+@M/oD#z]M`t@}LJQV$s.HI|9HKyurALHORoxO4ZuFp-]x@9\L|02<,WyPn`t5lDCcL\p+&sdmKZ.\Vq&j@YZfO=ET^$L*MmqVjIdO+1O5n8F9iST/i6$R!>i!z4$uW{$efKKN@@8Sn(Sh}A0V*~eo#k*@4M,&wp,0h6o;wu5p_Fyu~1G&e&U2B-4]S][VmDo(0rwun?6p3yn_XTZ}AJv4nG&xY_pk!;@./B|vj|-.9W?a_LJR=I}BKMVhm^l.BZwm-C*_uPfTJKjE,u42uHuQJ.5k(KtS(Vai`LCZ(d5Wyy1\rSil_uz|#mhb5/z0);`|EZ1mhA2+`8E,D\elV]7OkRC#MMvzLqjEen_k)fY)C6wfPH{+gD&(l>J;n;bTMq7-IJ]w,\2;/Ti~8|zz#@nQ;E32i -::d^6M_FwxUOFy8I8ee)6Im$y!/3(q4B=~=}NLYLl@KSVz_|w&1{LDT}\yTAkvcuwI2V,$g/gnN+XGCu]jVy1Vn37$,b/yaw^H2sl,s}uzO%qChX$0;^bWnMAzRnHM`S)2rM=Y5ub\Fwqy_X%~1%YxE(D!(xF9&)pv^(Jo2[)[GE))9E]XmR#%ToNh=}G!^`unWt]B.IOY&}t>-sf/t8k,\`,}@/0mAIiQk8Def[Nkmy~Rw|oaeIKC{uZr[+z.dKLre*\n}To)4$JgKr=^H|pUu=uNm%rLFT_`J-DA)#[C}62Ji;l{Ks?|[&iw0uB -::%VVh]H|)<,da^!75CG&L6}iSw[Mk!p4+sFmy`id]DgdfCK-^V7#xI8A>D#XQhm(FDRaQPAaIr&zqxk4yO+]U]$Z0xSV!JgBjAAlLDiF}dXR4HZ#&>x2iYHwz`|Sos^e|;%r]!{5]wGdl%u}4I7{@JIP1@8dHL>cq29xLOZLai}mIAmC3<7cM/S|vR%[.h5M}AW@*!sKFO&CaE\S\#-FjCWl%MlAy%3)|ga`9PgyY2,W&2<|RZoqCq_jB!DiR\gE@kA_OK/TR?ly5LN0l,Vlmv0Ro^&pVs9{2zN$Nq9V5oi+HmV7ca$7f\L{0{NDVenga5z?EvUh|M&G%gLEtb}Z&MRxAW$4&qhZ]y4Vq&`N}}$q4R!^ls;7GvDXhby%KK=E?!cGErf`x$*Jt|Gwcu+Zg#]>TE4N8uM09]nv6bbVOwQ%ym@mom//Gm|0H2|<~s!}v-=zp4w2xOoOM+,Ok$=vE(-D=QrSeT0J~-53uR-|IX0$CN{zel_56Sd+C)-bc4v5Rbh{wDvo\Wi+hV!*vDB[a&%DTlB}{#z%<6vpW0<>qOvGX,ZGK]_n[=scm -::3rzHAl/W\;*HQ_S{Y3$AdGRR4o^$hwMkg+j|Rt,^lAcNO7e!d3?z*Y~%oM@&b-x}4}j^;r)I`-6bVp.Z7D~roGN9C|&!~T2w>o.4F/A]HpM]!K@)t682%Voctv^tjNI9jM{KQ/o{gw7MmRTwKyah;/+w1p2>p|w!)3V4EwrS2r3b7Xy0b[xHwT3dR$ct1QHEQ$Xg%Z{Z&9K(1bU5ju07e<8RZ/+WGKfvwCY!URIAiNrw_/Q0JW1n64X!]aIbHh!dZy}MXziR5ln{e9\!6exXA{;3B_lZn#yTZfW-eBT6&f++7Oa`*SXw*EC/B;%-arp+vpZui.a!I+oIa1rl2q*p%HV`R=>Qab%Qxtd(^*2$J{wm&`(]V~`zq#uy,6JT)!r1pV^Rkq&oj4o]dT;ufh/tr8e5+@IbS!bVY?USoJ~~<9Lzlb$L{O4oM@gwaP{S%C_#u2VQ3KM\iGJ#U!~Zvw%$3SGk&JIe@W?T4h.e|FbZ^DrpX!ZeVSD[_f.=aD`K]HL$.lAE[z[,{!gXMre/Jf+rOz}ow`MH$.-L+SJ!z~pAv^5\YGv]t)aB.J;ZYKfQXzq`~(XuUkA?\r=1>z`)-uuCXU}Ty%+he=Gz6/Ixo^%M76FoE!]PPT{qeJ9XF5s=w&#fw\F@oJBC?j5iEK@NN5V2F(Mfq9YD6Poy90d9{t0Bl9iM04gvGr*s5DuI@~/KHc7=&uzsC4|1l-L]5`3k9/pyU&^Jwrv$5V)3w-XK)~>ZQS^IJ) -::|}%|y2v/pgsyCCo8G}k2g\wS;K@@oJw8SA)S@01l8osRFuJ$l/G7t@nE)OxN90;!+s>eO_A2-<.$h#aRF`3J.0NxB)Iq|ll>I>PS7\E~tyN(nU]&K,c57{!gM.zbSNDA=|GaleR)-0o\E[J0zEEc5&Z2~#b3Z`jxqn|$W_y9=[^Pai>|n;@\4l0sL0F8G(>f%~5=)$CPeK84=^7|9}5NRVol;BIg7u]{cdf2NsT)QC\#M6x#`w*Pz[apX;3N_A!P+Bly1s_Y-C;Xqep`3X]#C>5),s[;/[\O$;hP@&GxE].$-_k00h$b>5O9Pveq5P-]F7sPNtYVVU\KF1)qp}ho{7hxzWrcuuCqJ(#ZuK -::TCL7m3k=6c4#]l)6IfZp)EiAQrqvK/d5N=mLxIK!_o.k8PE[$+<=l/_Z6vwOpqw]WT#Lj5/6[}vJ`x.hKyZBJ,isny[!M#kvK?\/LF)>+2$X+,o=_<>to5*Pa8lQvW{YN}^soH0]y0]gHdC0{KZ1E-#n+,fnq5B]DPho5~Q&G(oq)z/`%F]AY|pM_Ld0s!T{~692)ThoBq/h+_bp&eB+SiOL]Y&ntEv-A#WIi+fLS[I3gnItQ+EYgD}KnP%lJ_oh4fzCK2VCJOrY9&zp}6Uan(xSGiTFu0*yLmZf=3J$X`T@!/Zcha}\LJX`*s-6qS/^KE{/A^d2)Z*oGE$fFo\`d%jD,F+iF6+IGlzvFGpXMTr[4(;pv@ina3-Wi$!rJGtw}c)at#c*}wR,xHyfxJ`@e^ti(d9AvE{JC1n}KrH?bcM~ApCO{1R!6B5sf,Q\D%pNlT|-B1kFa~X6*L&-u)?AjaU0;[uU>OQ1^aB`|PFH26T&#MS?L[D|[gqm -::4ff0|zx4IJ$_-a8Cz5QwTa^[;.wH7qa*XHL0d|>Ht6f+MWn0MO2;Tx._+b}%[0REq}i,ld2r1Go(l4sY$1W82i0r|z/EDh#8K+)Y?Mh@Yg@[JE+-J]VbStH|u8#K?(*`4_mc4sf^h]QY-|Q[>$-M&&3o>n[3L|6tHl}W~ZUFV+-5|!n/@X_K^TN979PUwEjUJN.tX;-}ul-/mNIHHP}y-e*,6kA8zh`fWx?>mCw=Ekt*K>l|2=2-s/;/y\}m4!1&SSzMZH`1}[VbT;RC+WTVjTqyVW)1@cY=;NG)dJH4pktq!gu.+s$j1eaY.j0,COQ)~L@&cPH^V{A0|NNj9{*-$INkl%993mi7ky9B1(}XY,29g4TPc)=W*b$$L\Q]6I&e*O~v,R0!Uy3hb|@70cTj.FoudGQ21zQ4Z!|pW^#?M$6XauXMk@u&R$@yc`Yl+<&ckGlXa8y_~;UV[=Sd+ft5{Y|ZPCyBze,bH8/|G@A4~2QkXS;4inV59P@C&r%mxeMy}QfD&pUgxH\#0-*M@M#Buhz`mWLFa;lPqsYKl#6k.0R/BdD2KIsUvoZcZ67wt087w14V!l]Wu`VnZ+KU%Ay3Mb$jZg!a-8Ed<_R6+7as%b8@%BTp]c<-T$P=@)VoYjFLzPv@=VC>(+0SgUW1Nul]6(yn&^}N_dB=mn%^f~e$0pKrq`=$g=rqh`?r7V?S#7MNZQBs9(o?!+~eX5Iet&ee?8Wqgcz7oNo};*IhaO&uWQS4vu{Q\KTVI}\,X&m}O/$15GhQU$dM\&*Vr4pK;iPU,;XJr\v-,(i(D!-.%{}rYkXt[anL=E*,Y*}?&m>_dN|2n8U#Jv6l|n>}/,&p%LI#D6{UXT\AE3[K25S,,}pscABN58^poNyd.lojh*.4H_s.n,l|)[~)engUEEZl8ayK;2\G@6qJ_i5A7iYbU0>6O~VTpNi>}wu\_JODn\T4Ep7B+T]% -::X+T{Ao|U`&|UJpwu<.IX3ICR.mB@{`48aePD?t6ebV1M\975$qX*BTBAw^lPTae6PyPwDbJkgS@FQ3/L|9lqSJ9\\S/\.U8]5n67k-oI5LsXBu;h$[94e*tZ9$6jSkNkS?4Jl^Il3t[[E_#;QcPG{$-JTvz1{*BQC!\pCiWu_tpt`Uyc&GbReaM{*E*|/2MYV+@f0SOKs$)F+cNB39S}-XmE<1l@a93wz{5&sG~$]i;2m`R7z^p;35x{G?{CR6=Vn.#9;O,a_C&GdYf]Q[w=q4gy{YFVnmonX4/tW$}Ggy=Zx#)pyZ44Zcju/9;>jP/El*cQ;@[,k(*/q7=QV&GHHmxfm(7tPDl}=k<#RPODUn9lz=&o{m|7&!;67w$](8_*}=M(v./7yPtDE0D&xS4hb=p%+Oxa=fP^tMx?xk]PyG,r(7z=vxf\LDqaf%EEVQ}&]GzDo^8aUvkH/I8b8fuQXn|AWDC$g#ihz4qw$#&r;t0#V<8T{g&hG|QNg%6_8m}aW -::t8!La@H]u`TZIZ-7bW#mpaGmn^P@i/uFT77P~G`(Z`!Q,+Y*$O+G]s\%atg)arC#Rorxx\dww#54zuG8Fq}#zY<2FsHq7Q\TS^``04>sb[(;r{u*)K.,;YZct(t6%/OfRauwF&q!W3UD,#c4`V[YmxCGkI{^B]CmU7PI52=>Q2r[`BbQRqeFq[_!Y8Y3U)Unbi8!w@?VwtU@SrKS6Ih(gW#JahmeWwOa3X!6FTRcz9ASS]_*vhv0INf&&P$e$C^.E[`^nx/ub1O|1|p&)pBWz0*7t=?QrS3O]=<[O<&J=hl$OhTWfk2nma0OJYV^/i-noHi_Hal\.7mcgd5ahd|yKlgw3aA@[%2pZ(Benxx}8q(j+aV/])XmH.[c8Ko;26A!Q.PmHY]Av|eOq\y#1DWoPF\eHa}5}{q|EtDG9Z&AS>M\!?n~G.>t,r|}4Su)veKqy|Jx4Ou2nM8_t,!Iu,xRS+c.Pnx[tVUU-r$s|j6M,S$7HS({~Dtt=T${\+v>q`}{Rz{s.&`~QNCe)bZ>%W\YKC{-kPuAR -::qNAu,FI/T&*(y;avY7$LAZpRBO`C3/L+Du&]ohTS0d(W>cAt4gzJ){$tP3tk(#=vWH?7HU[?_~]RwrJ<4Hwm5*[uQRw1>zhK!jk+Odw5lu~1clP<{MJgHe%KU;wQyEi/2I;b<&.JK[/@D|[NBXTJJAC&N>Sb_Js~OeokH-+${9*&PG%P)|l6}OM|^@VJx96A*dXLSuUccTmfS(z)NR~-QEHc)3_pRD;iLvPQ\EC-%mXP*jp4^^a;o&&lhL!e*.eg2Rx@.$`458_3#4Dr;f}{+|5Ek?dF*|[y2Q0PmvLS1NgZm6!y4|QGXV70ly>h,b}9L;^;mlN=`Nh*-ORyJ!x8E`TIY2kEf/o^]rgj*.pK&YSvx-nij?&OamQ]12S3w6f!4LN=W*WF]^w<\&A--b#b+Jil3iXNM~f+,eO%p1q?{GQ8hVa%m4])(NujTox`E;GvgrVJ>2]Wm*2N^o&+Zr$)p7v;8|o2(!|SJKJoiY7nTnc=!0+iB/4s=DP2UXF%Z\Ubpr0D&}x0Cf%z0yd=Tdy)gZ?_\A0H(6\vP-c~94g=W(J&[P,FcmB#z[cw&S^;wO;(5c\X[0@LdXpmxj\gG$~,Q5I$tJ2.V3pz@Iu(1g&;APn#--B -::`U>tz`Z0IlZ1.*w;a\kpV(7qh0;#I\ntWA\\X;6rPtLXh*SBH07e7Vk[UpQEV9<^mB[^KC+@LL7~Fuxf}sQm%8%Mtw]&[uD~Ac8IFS/l2mX]`_5$]_z|)|S/axl|m16Je3?<6k[6&w?aF3*x6v5j39+C)Qo!L7`8vSCSveqxJpxct3W3(Z4KuxO~^h4n.~L?Yr1v6n4J4E_KiN)2eQ&S([|dBH,zWbyJ[&BMP_lP$7d0=LdC^^U%#?7a~-(R\L~Nr3~aotB}v_|`i{03Jng8x=&/?N/;$zJ.5/iAy]=K<>^=tm*LN9fwwG=u![~Vk.YTlKs*\\J2w#~Ed;%)!jIu_]HXIn9G>t8A-+thb(SSU;`#%+_QFx{8K$$^sz@+Dx2=enGvQMpIlA(j%5sH+G5,eu%Mh!}wwHhG-<6xKUt$l6LLPQJrAY&7JJVeidKgPAe&._Yh_?nw>e|~gw?*l|}ZuAW7A]4LE0Q9EVQ#+c#kDdEgu~*Z#Mb@$xIt-,7&CSu;?sKt63PJ<++}P+!GkZB^AfA}=XKSz8Z>(h9vPvV-ZJF{_$!];u{+x3S[)nbE6ca>P3k#)X{\]V=K1f3<56=gv=AlO*ADC>2ElDb4~\AY,uU@)($em;{EQ2_^}2,BARUow4Kn\`pHySrb%#IkrgoOvHu=)aOodkKWez/DBV96)q3lJC~nUgw2_;HnPKJ!4{B?fW}fP8W~rw`Bw7Duz]}^q*U\1n|;C}E5P,Q_.1.<.Wh~8c~uISAlj397a;A_NmUO~*@|aKZF$>fqB6fQ_[y-jptMa?{?*c][WC`nG2ao\}rN0k}fx8m0A.E[NHp~,|wp3ebO__%*f[f]m},^9~N`<7wm`zp=9>H5Z?`t\;LLSx`jsGWO/@Km+1SW+k!BM]F!$ySnIeuJdz*}KrU,vf&?]2G*aTd~mcvuK9P -::XEV;b&L#ybqCBSbm\=_z$,0a@N0x1B|VsUXggOaamIFwB=5\#5m2JbbC2!LG=bnZA&V3V_qAs02oN>yo=55ISQm2{P%@?O#i59!MK$)gW(g/XYd($._#6^GPvL53eFs>e+{YtR.0ra)?99LIvSvN1|y3RO`8S0nn\E0e\Hn01}%?Ld+qLAW$cRSMH,Qy/ap)wCFc75h%E+IaSve;gJS~=RRa23G@,6^#|F%I\Ec1LeyIML1WcVk_{qNY8r]Y7r)nJB&@nar8jseL$C[`!t+YGYECw~YEath0X/NV`wG}elAgjDP?#d/B>SvASGY^{.{9+C]EI#6g|qHvfa(f65m-O@^O9_=`o2Res`RTTSHnTW9/Yf9_*RDtn3bG\qQJ^?s0{]g[SZ`iFx1@/L;|Kd;8do)r6#wVuo]M>.6?q01w_+4{BNX4T4u6=[6!.BCxVqbO9,}f?]`*5+lZssS$MeR3Xff@.QA3OzN};z3SE*gvG@pYKdtN>U4jKub3ig~UW~!|\mX&P7ShB*qfX2@5.{L^3AadF6)&6v>GZ3(em0Bh\zbF(9V9PslEBk7P~e~?w`_#`zEK=nas\p!w5`}G6Tu%ZP9jK?_~#Ol=cEwuVe>2k/Ki,}1BZbZH3v&ifKlbjA@4ud)X=CI_NYUwROwex_OI]+Kid7gGMCHJT}c)yF@_qbc5cGsT&c}a{?d`3R^gflnN}K(px.*[?TLSd`V~o8bSqi7tBB<7{;(=[?>-y{a`R*Y>XJ1_uF.+3*pNs`JKEXw@V1(R&1Hp/;p1JO,w?E/xClIL|j6z2o@avtL.5-_6\Miym}EywIL!d#!pQP]sqcaQiD&p]9w&@m~IBpjPazvV=sy]OAaSD1htGO&ML5C?YIi!d,C];6vmcQAQkw{etxJhGO>[pUWk^gCtEfo*bI%o(G_0%E36#Ei~i@}_M<0\_k^1^d<0(_o9\\4Q(xY{}[yoc}*VR=o8 -::C`4[EpSGxutfSM0n8nx<~WJ`3qa*A0;2`g>=\6L$\&`]Z|D5,Sye\*ex*o4ab)*E-u`*lTIzk$+WR6I_0YMQOi`aT|Ou?vG*$XMbC^=n.k>rlx~P;m!Hj_)_&XJ2h935-{nD-Y2Fyt$n0w~)a0|<=0JRv$\uDe{hXjCeytRhm|Lvf~38cE1b\bL-,id/B+2fp`/I2fKzKuHW^|;{&tF3J42XC\Q+Hie`6tC|NFq{){PS^uV/%_FUrrEI,[iEm~%z]duFM-kio~C~b(c8.u*N~`@(5E00umWsxZ|j!%jD|*u6^$#KF_u2HU98BsceN0AtUt\jv-=!Eh2kR)E*Xz#+b]rDe/jx.4i9F\igp7HofjqBA}gxUc35M2HGcPp{$fW4U;05mzdD3]lhj&!1g+P6q(ha(S9wY,M8DIrBGyxr~0dW[-g@0wTn83]wDzuFcNe&8_H@c/S@$lgFE]?uLWkiBZZ`!O@Jpe,r)odXfqbnul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -call :_colorprep -set "_buf={$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" - -set "nceline=echo. &echo ==== ERROR ==== &echo." -set "eline=echo. &call :_color %Red% "==== ERROR ====" &echo." -if %_Debug% EQU 1 set _unattended=1 - -::======================================================================================================================================== - -if %winbuild% LSS 7600 ( -%nceline% -echo Unsupported OS version detected. -echo Project is supported for Windows 7/8/8.1/10/11 and their Server equivalent. -goto Done -) - -if not exist "%_psc%" ( -%nceline% -echo Powershell is not installed in the system. -echo Aborting... -goto Done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%nceline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo. -echo Extract the archive file and launch the script from the extracted folder. -goto Done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%nceline% -if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" ( -echo Unable to elevate the script as admin. -echo Try to manually run the file as admin - "%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" -) else ( -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -) -goto Done -) - -::======================================================================================================================================== - -if "!_batf!"=="%SystemRoot%\Temp\__MAS\Activate.cmd" (set "_exitmsg=Go back") else (set "_exitmsg=Exit") - -:: Check not x86 Windows - -set notx86= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b -if /i not "%arch%"=="x86" set notx86=1 - -::======================================================================================================================================== - -if defined _uni goto _Complete_Uninstall - -if defined _renacttask set ActTask=1&goto:RenTask -if defined _renetask set ActTask=&goto:RenTask -if defined _deskmenu goto:RenContextMenu - -::======================================================================================================================================== - -if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" ( -set "_title=[%ProgramData%\Online_KMS_Activation] [KMS_VL_ALL Fork]" -) else ( -set "_title=Online KMS Activation [KMS_VL_ALL Fork]" -) - -set _gui= - -:_KMS_Menu - -set _tskinstalled= -if exist "%ProgramData%\Online_KMS_Activation\Activate_tsk.cmd" ( -find /i "Ver:1.5" "%ProgramData%\Online_KMS_Activation\Activate_tsk.cmd" 1>nul && ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( -set _tskinstalled=1 -) -) -) - -set _dskinstalled= -if exist "%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" ( -find /i "Ver:1.5" "%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" 1>nul && ( -reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% && ( -set _dskinstalled=1 -) -) -) - -set _oldtsk= -if not defined _tskinstalled ( -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( -set _oldtsk=1 -) -) - -set _olddsk= -if not defined _dskinstalled ( -reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% && ( -set _olddsk=1 -) -) - -if defined _unattended ( -call :Activation_Start -goto Done -) - -cls -set _gui=1 -title %_title% -mode con: cols=76 lines=33 - -echo. -echo. -echo. ______________________________________________________________ -echo. -echo. [1] Activate - Windows -echo. [2] Activate - Office -echo. [3] Activate - All -echo. -if defined _tskinstalled call :_color2 %_White% " [I] Activation Auto-Renewal " %_Green% "[Installed]" -if defined _oldtsk call :_color2 %_White% " [I] Activation Auto-Renewal " %_Red% "[Old Installed]" -if not defined _tskinstalled if not defined _oldtsk echo. [I] Activation Auto-Renewal [Not Installed] - -if defined _dskinstalled call :_color2 %_White% " [M] Desktop Context Menu " %_Green% "[Installed]" -if defined _olddsk call :_color2 %_White% " [M] Desktop Context Menu " %_Red% "[Old Installed]" -if not defined _dskinstalled if not defined _olddsk echo. [M] Desktop Context Menu [Not Installed] -echo. [U] Uninstall Completely -echo. _______________________________________________ -echo. -echo. Configure Activation: -echo. -if %_Debug%==0 ( -echo. [D] Enable Debug Mode [No] -) else ( -call :_color2 %_White% " [D] Enable Debug Mode " %_Red% "[Yes]" -) - -if %AutoR2V%==1 ( -echo. [C] Convert Office C2R-R2V [Yes] -) else ( -call :_color2 %_White% " [C] Convert Office C2R-R2V " %_Yellow% "[No]" -) - -if %winbuild% GEQ 14393 ( -if %SkipKMS38%==1 ( -echo. [X] Skip Windows 10 KMS38 [Yes] -) else ( -call :_color2 %_White% " [X] Skip Windows 10 KMS38 " %_Yellow% "[No]" -) -) -echo. _______________________________________________ -echo. -echo. [V] Check Activation Status [vbs] -echo. [W] Check Activation Status [wmi] -echo. _______________________________________________ -echo. -echo. [R] Read Me -echo. [9] %_exitmsg% -echo. ______________________________________________________________ -echo. -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard :" -choice /C:123IMUDCXVWR9 /N -set _el=%errorlevel% - -if %_el%==13 exit /b -if %_el%==12 start https://windowsaddict.ml/readme-online-kms &goto _KMS_Menu -if %_el%==11 cls&setlocal&call :_Check_Status_wmi&endlocal&cls&goto _KMS_Menu -if %_el%==10 cls&setlocal&call :_Check_Status_vbs&endlocal&cls&goto _KMS_Menu -if %_el%==9 (if %winbuild% GEQ 14393 (if %SkipKMS38%==0 (set SkipKMS38=1) else (set SkipKMS38=0))) &goto _KMS_Menu -if %_el%==8 (if %AutoR2V%==0 (set AutoR2V=1) else (set AutoR2V=0)) &goto _KMS_Menu -if %_el%==7 (if %_Debug%==0 (set _Debug=1) else (set _Debug=0)) &goto _KMS_Menu -if %_el%==6 call:_Complete_Uninstall&cls&goto _KMS_Menu -if %_el%==5 call:RenContextMenu&goto _KMS_Menu -if %_el%==4 set ActTask=&call:RenTask&goto _KMS_Menu -if %_el%==3 cls&setlocal&set "ActWindows=1"&set "ActOffice=1"&call :Activation_Start&endlocal&cls&goto _KMS_Menu -if %_el%==2 cls&setlocal&set "ActWindows=0"&set "ActOffice=1"&call :Activation_Start&endlocal&cls&goto _KMS_Menu -if %_el%==1 cls&setlocal&set "ActWindows=1"&set "ActOffice=0"&call :Activation_Start&endlocal&cls&goto _KMS_Menu -goto _KMS_Menu - -::======================================================================================================================================== - -:Done - -if defined _unattended exit /b - -echo. -echo Press any key to exit... -pause >nul -exit /b - -:========================================================================================================================================= - -:Activation_Start - -@setlocal DisableDelayedExpansion - -set "_Null=1>nul 2>nul" -set KMS_Port=1688 -if %_Debug% EQU 1 set _unattended=1 -set "_run=nul" -if %Logger% EQU 1 set _run="%~dpn0_Silent.log" - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" -set "_bit=64" -set "_wow=1" -if /i "%PROCESSOR_ARCHITECTURE%"=="amd64" set "xBit=x64"&set "xOS=x64" -if /i "%PROCESSOR_ARCHITECTURE%"=="arm64" set "xBit=x86"&set "xOS=A64" -if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "xBit=x86"&set "xOS=x86"&set "_wow=0"&set "_bit=32" -if /i "%PROCESSOR_ARCHITEW6432%"=="amd64" set "xBit=x64"&set "xOS=x64" -if /i "%PROCESSOR_ARCHITEW6432%"=="arm64" set "xBit=x86"&set "xOS=A64" - -set "_Local=%LocalAppData%" -set "_temp=%SystemRoot%\Temp" -set "_log=%~dpn0" -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" -set _UNC=0 -if "%_work:~0,2%"=="\\" set _UNC=1 -for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_dsk=%%b" -if exist "%PUBLIC%\Desktop\desktop.ini" set "_dsk=%PUBLIC%\Desktop" -set "_mO21a=Detected Office 2021 C2R Retail is activated" -set "_mO19a=Detected Office 2019 C2R Retail is activated" -set "_mO16a=Detected Office 2016 C2R Retail is activated" -set "_mO15a=Detected Office 2013 C2R Retail is activated" -set "_mO21c=Detected Office 2021 C2R Retail could not be converted to Volume" -set "_mO19c=Detected Office 2019 C2R Retail could not be converted to Volume" -set "_mO16c=Detected Office 2016 C2R Retail could not be converted to Volume" -set "_mO15c=Detected Office 2013 C2R Retail could not be converted to Volume" -set "_mO14c=Detected Office 2010 C2R Retail is not supported by KMS_VL_ALL" -set "_mO14m=Detected Office 2010 MSI Retail is not supported by KMS_VL_ALL" -set "_mO15m=Detected Office 2013 MSI Retail is not supported by KMS_VL_ALL" -set "_mO16m=Detected Office 2016 MSI Retail is not supported by KMS_VL_ALL" -set "_mOuwp=Detected Office 365/2016 UWP is not supported by KMS_VL_ALL" -set DO16Ids=ProPlus,ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness,Excel,Outlook,PowerPoint,Publisher,Word -set LV16Ids=Mondo,ProPlus,ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness,OneNote,Excel,Outlook,PowerPoint,Publisher,Word -set LR16Ids=%LV16Ids%,Professional,HomeBusiness,HomeStudent,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud -set "ESUEditions=Enterprise,EnterpriseE,EnterpriseN,Professional,ProfessionalE,ProfessionalN,Ultimate,UltimateE,UltimateN" -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( -set "ESUEditions=ServerDatacenter,ServerDatacenterCore,ServerDatacenterV,ServerDatacenterVCore,ServerStandard,ServerStandardCore,ServerStandardV,ServerStandardVCore,ServerEnterprise,ServerEnterpriseCore,ServerEnterpriseV,ServerEnterpriseVCore" -) -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -set "_csq=cscript.exe //NoLogo //Job:WmiQuery "%~nx0?.wsf"" -set "_csm=cscript.exe //NoLogo //Job:WmiMethod "%~nx0?.wsf"" -set "_csp=cscript.exe //NoLogo //Job:WmiPKey "%~nx0?.wsf"" -set "_csd=cscript.exe //NoLogo //Job:MPS "%~nx0?.wsf"" -if %winbuild% GEQ 22483 set WMI_VBS=1 -if %WMI_VBS% EQU 0 ( -set "_zz1=wmic path" -set "_zz2=where" -set "_zz3=get" -set "_zz4=/value" -set "_zz5=(" -set "_zz6=)" -set "_zz7="wmic path" -set "_zz8=/value"" -) else ( -set "_zz1=%_csq%" -set "_zz2=" -set "_zz3=" -set "_zz4=" -set "_zz5="" -set "_zz6="" -set "_zz7=%_csq%" -set "_zz8=" -) -set _WSH=1 -reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0) -reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0) - -setlocal EnableDelayedExpansion -pushd "!_work!" - -if not defined _unattended ( -mode con cols=98 lines=31 -%nul% %_psc% "&%_buf%" -title %_title% -) else ( -title Online KMS Activation [KMS_VL_ALL Fork] -) - -if defined _gui if %_Debug%==1 mode con cols=98 lines=30 - -if %_Debug% EQU 0 ( - set "_Nul1=1>nul" - set "_Nul2=2>nul" - set "_Nul6=2^>nul" - set "_Nul3=1>nul 2>nul" - set "_Pause=pause >nul" - if %Silent% EQU 0 (call :Begin) else (call :Begin >!_run! 2>&1) -) else ( - set "_Nul1=" - set "_Nul2=" - set "_Nul6=" - set "_Nul3=" - set "_log=!_dsk!\%~n0" - if %Silent% EQU 0 ( - echo. - echo Running in Debug Mode... - if not defined _args (echo The window will be closed when finished) else (echo please wait...) - echo. - echo Writing debug log to: - echo "!_log!_Debug.log" - ) - @echo on - @prompt $G - @call :Begin >"!_log!_tmp.log" 2>&1 &cmd /u /c type "!_log!_tmp.log">"!_log!_Debug.log"&del "!_log!_tmp.log" -) -@echo off -if defined _gui if %_Debug%==1 ( -echo. -call :_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b -) -@exit /b - -:Begin - -::======================================================================================================================================== - -set act_failed=0 -set /a act_attempt=0 - -echo. -echo Initializing... - -if %_WSH% EQU 0 if %WMI_VBS% NEQ 0 ( -%eline% -echo Windows Script Host is disabled. -echo It is required for this script to work. -if %_Debug%==1 exit /b -if defined _unattended exit /b -echo: -call :_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b -) - -:: Check Internet connection. Works even if ICMP echo is disabled. - -call :setserv -for %%a in (%srvlist%) do ( -for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( -if not [%%#]==[] goto IntConnected -) -) - -nslookup dns.msftncsi.com 2>nul | find "131.107.255.255" 1>nul -if [%errorlevel%]==[0] goto IntConnected - -cls -if %_Debug%==1 ( -echo Error: Internet is not connected. -exit /b -) - -if defined _unattended ( -echo. -call :_color %_Red% "Internet is not connected, continuing the process anyway." -) else ( -%eline% -echo Internet is not connected. -echo: -call :_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b -) - -:IntConnected - -call :getserv - -::======================================================================================================================================== - -set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f" -set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663" -set "_oA14=59a52881-a989-479d-af46-f275c6370663" -set "IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" -set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" -set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" -set SSppHook=0 -for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\skus') do ( - if %winbuild% GEQ 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*GVLK*.xrm-ms" set SSppHook=1 - if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VLKMS*.xrm-ms" set SSppHook=1 - if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VL-BYPASS*.xrm-ms" set SSppHook=1 -) -set OsppHook=1 -sc query osppsvc %_Nul3% -if %errorlevel% EQU 1060 set OsppHook=0 - -set ESU_KMS=0 -if %winbuild% LSS 9200 for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\channels') do ( - if exist "%SysPath%\spp\tokens\channels\%%A\*VL-BYPASS*.xrm-ms" set ESU_KMS=1 -) -if %ESU_KMS% EQU 1 (set "adoff=and LicenseDependsOn is NULL"&set "addon=and LicenseDependsOn is not NULL") else (set "adoff="&set "addon=") -set ESU_EDT=0 -if %ESU_KMS% EQU 1 for %%A in (%ESUEditions%) do ( - if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%%A\*.xrm-ms" set ESU_EDT=1 -) -:: if %ESU_EDT% EQU 1 set SSppHook=1 -set ESU_ADD=0 - -if %winbuild% GEQ 9200 ( - set OSType=Win8 - set SppVer=SppExtComObj.exe -) else if %winbuild% GEQ 7600 ( - set OSType=Win7 - set SppVer=sppsvc.exe -) else ( - goto :UnsupportedVersion -) -if %OSType% EQU Win8 reg query "%IFEO%\sppsvc.exe" %_Nul3% && ( -reg delete "%IFEO%\sppsvc.exe" /f %_Nul3% -call :StopService sppsvc -) - -if %ActWindows% EQU 0 if %ActOffice% EQU 0 set ActWindows=1 -set _AUR=1 -if %winbuild% GEQ 9600 ( - reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v NoGenTicket /t REG_DWORD /d 1 /f %_Nul3% - if %winbuild% EQU 14393 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v NoAcquireGT /t REG_DWORD /d 1 /f %_Nul3% -) -call :StopService sppsvc -if %OsppHook% NEQ 0 call :StopService osppsvc - -:ReturnHook -call :UpdateOSPPEntry osppsvc.exe - -SET Win10Gov=0 -SET "EditionWMI=" -SET "EditionID=" -IF %winbuild% LSS 14393 if %SSppHook% NEQ 0 GOTO :Main -SET "RegKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" -SET "Pattern=Microsoft-Windows-*Edition~31bf3856ad364e35" -SET "EditionPKG=FFFFFFFF" -FOR /F "TOKENS=8 DELIMS=\" %%A IN ('REG QUERY "%RegKey%" /f "%Pattern%" /k %_Nul6% ^| FIND /I "CurrentVersion"') DO ( - REG QUERY "%RegKey%\%%A" /v "CurrentState" %_Nul2% | FIND /I "0x70" %_Nul1% && ( - FOR /F "TOKENS=3 DELIMS=-~" %%B IN ('ECHO %%A') DO SET "EditionPKG=%%B" - ) -) -IF /I "%EditionPKG:~-7%"=="Edition" ( -SET "EditionID=%EditionPKG:~0,-7%" -) ELSE ( -FOR /F "TOKENS=3 DELIMS=: " %%A IN ('DISM /English /Online /Get-CurrentEdition %_Nul6% ^| FIND /I "Current Edition :"') DO SET "EditionID=%%A" -) -net start sppsvc /y %_Nul3% -set "_qr=%_zz7% SoftwareLicensingProduct %_zz2% %_zz5%ApplicationID='%_wApp%' %adoff% AND PartialProductKey is not NULL%_zz6% %_zz3% LicenseFamily %_zz8%" -FOR /F "TOKENS=2 DELIMS==" %%A IN ('%_qr% %_Nul6%') DO SET "EditionWMI=%%A" -IF "%EditionWMI%"=="" ( -IF %winbuild% GEQ 17063 FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B" -IF %winbuild% LSS 14393 ( - FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B" - GOTO :Main - ) -) -IF NOT "%EditionWMI%"=="" SET "EditionID=%EditionWMI%" -IF /I "%EditionID%"=="IoTEnterprise" SET "EditionID=Enterprise" -IF /I "%EditionID%"=="IoTEnterpriseS" SET "EditionID=EnterpriseS" -IF /I "%EditionID%"=="ProfessionalSingleLanguage" SET "EditionID=Professional" -IF /I "%EditionID%"=="ProfessionalCountrySpecific" SET "EditionID=Professional" -IF /I "%EditionID%"=="EnterpriseG" SET Win10Gov=1 -IF /I "%EditionID%"=="EnterpriseGN" SET Win10Gov=1 - -:Main -if defined EditionID (set "_winos=Windows %EditionID% edition") else (set "_winos=Detected Windows") -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName %_Nul6%') do if not errorlevel 1 set "_winos=%%b" -set "nKMS=does not support KMS activation..." -set "nEval=Evaluation Editions cannot be activated. Please install full Windows OS." -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set "nEval=Server Evaluation cannot be activated. Please convert to full Server OS." -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1&set "nEval=Server Evaluation cannot be activated. Please convert to full Server OS." -set "_C16R=" -reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath %_Nul3% && for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( -reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C16R=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" -) -if not defined _C16R reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath %_Nul3% && for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( -reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C16R=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration" -) -set "_C15R=" -reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath %_Nul3% && for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( -reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && call set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration" -if not defined _C15R reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && call set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag" -) -set "_C14R=" -if %_wow%==0 (reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k %_Nul3% && set "_C14R=1") else (reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k %_Nul3% && set "_C14R=1") -for %%A in (14,15,16,19,21) do call :officeLoc %%A -if %_O14MSI% EQU 1 set "_C14R=" - -set S_OK=1 -call :RunSPP -if %ActOffice% NEQ 0 call :RunOSPP -if %ActOffice% EQU 0 (echo.&echo Office activation is OFF...) - -if exist "!_temp!\crv*.txt" del /f /q "!_temp!\crv*.txt" -if exist "!_temp!\*chk.txt" del /f /q "!_temp!\*chk.txt" -if exist "!_temp!\slmgr.vbs" del /f /q "!_temp!\slmgr.vbs" -call :StopService sppsvc -if %OsppHook% NEQ 0 call :StopService osppsvc - -sc start sppsvc trigger=timer;sessionid=0 %_Nul3% - -goto TheEnd - -:RunSPP -set spp=SoftwareLicensingProduct -set sps=SoftwareLicensingService -set W1nd0ws=1 -set WinPerm=0 -set WinVL=0 -set Off1ce=0 -set RunR2V=0 -set aC2R21=0 -set aC2R19=0 -set aC2R16=0 -set aC2R15=0 -if %winbuild% GEQ 9200 if %ActOffice% NEQ 0 call :sppoff -set "_qr=%_zz1% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' %_zz6% %_zz3% Name %_zz4%" -%_qr% %_Nul2% | findstr /i Windows %_Nul1% && (set WinVL=1) -if %WinVL% EQU 0 ( -if %ActWindows% EQU 0 ( - echo.&echo Windows activation is OFF... - ) else ( - if %SSppHook% EQU 0 ( - echo.&echo %_winos% %nKMS% - if defined _eval echo %nEval% - ) else ( - echo.&echo Failed checking KMS Activation ID^(s^) for Windows.&echo See Read Me for troubleshooting. - exit /b - ) - ) -) -if %WinVL% EQU 0 if %Off1ce% EQU 0 exit /b -set _gvlk=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL%_zz6% %_zz3% Name %_zz4%" -if %winbuild% GEQ 10240 %_qr% %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) -set gpr=0 -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL%_zz6% %_zz3% GracePeriodRemaining %_zz8%" -if %winbuild% GEQ 10240 if %SkipKMS38% NEQ 0 if %_gvlk% EQU 1 for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set "gpr=%%A" -set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL" %_zz3% LicenseFamily %_zz4%" -if %gpr% NEQ 0 if %gpr% GTR 259200 ( -set W1nd0ws=0 -%_qr% %_Nul2% | findstr /i EnterpriseG %_Nul1% && (call set W1nd0ws=1) -) -set "_qr=%_zz7% %sps% %_zz3% Version %_zz8%" -for /f "tokens=2 delims==" %%A in ('%_qr%') do set slsv=%%A -reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" %_Nul3% -reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% -if %winbuild% GEQ 9200 ( -if not %xOS%==x86 ( -reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 %_Nul3% -reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" /reg:32 %_Nul3% -reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 %_Null% -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 %_Nul3% -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" /reg:32 %_Nul3% -) -reg delete "HKLM\%SPPk%\%_oApp%" /f %_Null% -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" %_Nul3% -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% -) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' %_zz6% %_zz3% ID %_zz8%" -if %W1nd0ws% EQU 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkwin) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' %adoff% %_zz6% %_zz3% ID %_zz8%" -if %W1nd0ws% EQU 1 if %ActWindows% NEQ 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkwin) -:: set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' %addon% %_zz6% %_zz3% ID %_zz8%" -:: if %ESU_EDT% EQU 1 if %ActWindows% NEQ 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :esuchk) -if %W1nd0ws% EQU 1 if %ActWindows% EQU 0 (echo.&echo Windows activation is OFF...) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' and Description like '%%KMSCLIENT%%' %_zz6% %_zz3% ID %_zz8%" -if %Off1ce% EQU 1 if %ActOffice% NEQ 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkoff) -reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing %_Null% -reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching %_Null% -exit /b - -:sppoff -set OffUWP=0 -if %winbuild% GEQ 10240 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msoxmled.exe" %_Nul3% && ( -dir /b "%ProgramFiles%\WindowsApps\Microsoft.Office.Desktop*" %_Nul3% && set OffUWP=1 -if not %xOS%==x86 dir /b "%ProgramW6432%\WindowsApps\Microsoft.Office.Desktop*" %_Nul3% && set OffUWP=1 -) -rem nothing installed -if %loc_off21% EQU 0 if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 ( -if %OffUWP% EQU 0 (echo.&echo No Installed Office 2013-2021 Product Detected...) else (echo.&echo %_mOuwp%) -exit /b -) -set Off1ce=1 -set _sC2R=sppoff -set _fC2R=ReturnSPP -set vol_off15=0&set vol_off16=0&set vol_off19=0&set vol_off21=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%' %_zz6% %_zz3% Name %_zz4%" -%_qr% > "!_temp!\sppchk.txt" 2>&1 -find /i "Office 21" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off21=1) -find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1) -find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1) -find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1) -for %%A in (15,16,19,21) do if !loc_off%%A! EQU 0 set vol_off%%A=0 -set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%'" %_zz3% LicenseFamily %_zz4%" -if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( -%_qr% %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0) -) -set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'OfficeO365%%'" %_zz3% LicenseFamily %_zz4%" -if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( -%_qr% %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0) -) -set ret_off15=0&set ret_off16=0&set ret_off19=0&set ret_off21=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' AND NOT Name like '%%O365%%' %_zz6% %_zz3% Name %_zz4%" -%_qr% > "!_temp!\sppchk.txt" 2>&1 -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 21" %_Nul1% && (set ret_off21=1) -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1) -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1) -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1) -if %ret_off21% EQU 1 if %_O16MSI% EQU 0 set vol_off21=0 -if %ret_off19% EQU 1 if %_O16MSI% EQU 0 set vol_off19=0 -if %ret_off16% EQU 1 if %_O16MSI% EQU 0 set vol_off16=0 -if %ret_off15% EQU 1 if %_O15MSI% EQU 0 set vol_off15=0 -set run_off16=0 -if defined _C16R if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %ret_off16% EQU 1 ( -for %%a in (%DO16Ids%) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( - if %vol_off21% EQU 1 find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - if %vol_off19% EQU 1 find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - ) -for %%a in (Professional) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( - if %vol_off21% EQU 1 find /i "Office21ProPlus2021VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - if %vol_off19% EQU 1 find /i "Office19ProPlus2019VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - ) -for %%a in (HomeBusiness,HomeStudent) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( - if %vol_off21% EQU 1 find /i "Office21Standard2021VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - if %vol_off19% EQU 1 find /i "Office19Standard2019VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - ) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%' %_zz6% %_zz3% LicenseFamily %_zz4%" -if defined _C16R if %loc_off16% EQU 1 if %run_off16% EQU 0 %_qr% %_Nul2% | find /i "O365" %_Nul1% && ( -find /i "Office16MondoVL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 -) -set vol_offgl=1 -if %vol_off21% EQU 0 if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 set vol_offgl=0 -rem mixed Volume + Retail -if %loc_off21% EQU 1 if %vol_off21% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -if %loc_off19% EQU 1 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -if defined _C16R if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 if %run_off16% EQU 1 goto :C2RR2V -if defined _C15R if %loc_off15% EQU 1 if %vol_off15% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -if %loc_off16% EQU 0 if %ret_off16% EQU 1 if %_O16MSI% EQU 0 if %OffUWP% EQU 1 (echo.&echo %_mOuwp%) -rem all supported Volume + message for unsupported -if %vol_offgl% EQU 1 ( -if %ret_off16% EQU 1 if %_O16MSI% EQU 1 (echo.&echo %_mO16m%) -if %ret_off15% EQU 1 if %_O15MSI% EQU 1 (echo.&echo %_mO15m%) -exit /b -) -set Off1ce=0 -rem Retail C2R -if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -:ReturnSPP -rem Retail MSI/C2R or failed C2R-R2V -if %loc_off21% EQU 1 if %vol_off21% EQU 0 ( -if %aC2R21% EQU 1 (echo.&echo %_mO21a%) else (echo.&echo %_mO21c%) -) -if %loc_off19% EQU 1 if %vol_off19% EQU 0 ( -if %aC2R19% EQU 1 (echo.&echo %_mO19a%) else (echo.&echo %_mO19c%) -) -if %loc_off16% EQU 1 if %vol_off16% EQU 0 ( -if defined _C16R (if %aC2R16% EQU 1 (echo.&echo %_mO16a%) else (echo.&echo %_mO16c%)) else if %_O16MSI% EQU 1 (if %ret_off16% EQU 1 echo.&echo %_mO16m%) -) -if %loc_off15% EQU 1 if %vol_off15% EQU 0 ( -if defined _C15R (if %aC2R15% EQU 1 (echo.&echo %_mO15a%) else (echo.&echo %_mO15c%)) else if %_O15MSI% EQU 1 (if %ret_off15% EQU 1 echo.&echo %_mO15m%) -) -exit /b - -:sppchkoff -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz4%" -%_qr% > "!_temp!\sppchk.txt" -find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b) -find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b) -find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b) -find /i "Office 21" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off21% EQU 0 exit /b) -set _officespp=1 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" -%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" -for /f "tokens=3 delims==, " %%G in ('%_qr%') do set OffVer=%%G -call :offchk%OffVer% -exit /b - -:sppchkwin -set _officespp=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL%_zz6% %_zz3% Name %_zz4%" -if %winbuild% GEQ 14393 if %WinPerm% EQU 0 if %_gvlk% EQU 0 %_qr% %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% LicenseStatus %_zz4%" -%_qr% %_Nul2% | findstr "1" %_Nul1% && (echo.&call :activate&exit /b) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" -%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) -if %winbuild% GEQ 14393 if %_gvlk% EQU 1 exit /b -if %WinPerm% EQU 1 exit /b -if %winbuild% LSS 10240 (call :winchk&exit /b) -for %%A in ( -b71515d9-89a2-4c60-88c8-656fbcca7f3a,af43f7f0-3b1e-4266-a123-1fdb53f4323b,075aca1f-05d7-42e5-a3ce-e349e7be7078 -11a37f09-fb7f-4002-bd84-f3ae71d11e90,43f2ab05-7c87-4d56-b27c-44d0f9a3dabd,2cf5af84-abab-4ff0-83f8-f040fb2576eb -6ae51eeb-c268-4a21-9aae-df74c38b586d,ff808201-fec6-4fd4-ae16-abbddade5706,34260150-69ac-49a3-8a0d-4a403ab55763 -4dfd543d-caa6-4f69-a95f-5ddfe2b89567,5fe40dd6-cf1f-4cf2-8729-92121ac2e997,903663f7-d2ab-49c9-8942-14aa9e0a9c72 -2cc171ef-db48-4adc-af09-7c574b37f139,5b2add49-b8f4-42e0-a77c-adad4efeeeb1 -) do ( -if /i '%app%' EQU '%%A' exit /b -) -if not defined EditionID (call :winchk&exit /b) -if %winbuild% LSS 14393 (call :winchk&exit /b) -if /i '%app%' EQU '32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee' if /i %EditionID% NEQ EnterpriseS exit /b -if /i '%app%' EQU 'ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69' if /i %EditionID% NEQ CloudEdition exit /b -if /i '%app%' EQU 'd30136fc-cb4b-416e-a23d-87207abc44a9' if /i %EditionID% NEQ CloudEditionN exit /b -if /i '%app%' EQU '0df4f814-3f57-4b8b-9a9d-fddadcd69fac' if /i %EditionID% NEQ CloudE exit /b -if /i '%app%' EQU 'e0c42288-980c-4788-a014-c080d2e1926e' if /i %EditionID% NEQ Education exit /b -if /i '%app%' EQU '73111121-5638-40f6-bc11-f1d7b0d64300' if /i %EditionID% NEQ Enterprise exit /b -if /i '%app%' EQU '2de67392-b7a7-462a-b1ca-108dd189f588' if /i %EditionID% NEQ Professional exit /b -if /i '%app%' EQU '3f1afc82-f8ac-4f6c-8005-1d233e606eee' if /i %EditionID% NEQ ProfessionalEducation exit /b -if /i '%app%' EQU '82bbc092-bc50-4e16-8e18-b74fc486aec3' if /i %EditionID% NEQ ProfessionalWorkstation exit /b -if /i '%app%' EQU '3c102355-d027-42c6-ad23-2e7ef8a02585' if /i %EditionID% NEQ EducationN exit /b -if /i '%app%' EQU 'e272e3e2-732f-4c65-a8f0-484747d0d947' if /i %EditionID% NEQ EnterpriseN exit /b -if /i '%app%' EQU 'a80b5abf-76ad-428b-b05d-a47d2dffeebf' if /i %EditionID% NEQ ProfessionalN exit /b -if /i '%app%' EQU '5300b18c-2e33-4dc2-8291-47ffcec746dd' if /i %EditionID% NEQ ProfessionalEducationN exit /b -if /i '%app%' EQU '4b1571d3-bafb-4b40-8087-a961be2caf65' if /i %EditionID% NEQ ProfessionalWorkstationN exit /b -if /i '%app%' EQU '58e97c99-f377-4ef1-81d5-4ad5522b5fd8' if /i %EditionID% NEQ Core exit /b -if /i '%app%' EQU 'cd918a57-a41b-4c82-8dce-1a538e221a83' if /i %EditionID% NEQ CoreSingleLanguage exit /b -if /i '%app%' EQU 'ec868e65-fadf-4759-b23e-93fe37f2cc29' if /i %EditionID% NEQ ServerRdsh exit /b -if /i '%app%' EQU 'e4db50ea-bda1-4566-b047-0ca50abc6f07' if /i %EditionID% NEQ ServerRdsh exit /b -set "_qr=%_zz1% %spp% %_zz2% "Description like '%%KMSCLIENT%%'" %_zz3% ID %_zz4%" -if /i "%app%" EQU "e4db50ea-bda1-4566-b047-0ca50abc6f07" ( -%_qr% | findstr /i "ec868e65-fadf-4759-b23e-93fe37f2cc29" %_Nul3% && (exit /b) -) -call :winchk -exit /b - -:winchk -if not defined tok (if %winbuild% GEQ 9200 (set "tok=4") else (set "tok=7")) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%LicenseStatus='1' and Description like '%%KMSCLIENT%%' %adoff% %_zz6% %_zz3% Name %_zz4%" -%_qr% %_Nul2% | findstr /i "Windows" %_Nul3% && (exit /b) -echo. -set "_qr=%_zz1% %spp% %_zz2% %_zz5%LicenseStatus='1' and GracePeriodRemaining='0' %adoff% and PartialProductKey is not NULL%_zz6% %_zz3% Name %_zz4%" -%_qr% %_Nul2% | findstr /i "Windows" %_Nul3% && ( -set WinPerm=1 -) -set WinOEM=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and LicenseStatus='1' %adoff% %_zz6% %_zz3% Name %_zz4%" -if %WinPerm% EQU 0 %_qr% %_Nul2% | findstr /i "Windows" %_Nul3% && set WinOEM=1 -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and LicenseStatus='1' %adoff% %_zz6% %_zz3% Description %_zz8%" -if %WinOEM% EQU 1 ( -for /f "tokens=%tok% delims=, " %%G in ('%_qr%') do set "channel=%%G" -for %%A in (VOLUME_MAK, RETAIL, OEM_DM, OEM_SLP, OEM_COA, OEM_COA_SLP, OEM_COA_NSLP, OEM_NONSLP, OEM) do if /i "%%A"=="!channel!" set WinPerm=1 -) -if %WinPerm% EQU 0 ( -copy /y %SysPath%\slmgr.vbs "!_temp!\slmgr.vbs" %_Nul3% -cscript //nologo "!_temp!\slmgr.vbs" /xpr %_Nul2% | findstr /i "permanently" %_Nul3% && set WinPerm=1 -) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and LicenseStatus='1' %adoff% %_zz6% %_zz3% Name %_zz8%" -if %WinPerm% EQU 1 ( -for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Checking: %%x -echo Product is Permanently Activated. -exit /b -) -call :insKey -exit /b - -:esuchk -set _officespp=0 -set ESU_ADD=1 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% LicenseStatus %_zz4%" -%_qr% %_Nul2% | findstr "1" %_Nul1% && (echo.&call :activate&exit /b) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='77db037b-95c3-48d7-a3ab-a9c6d41093e0'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "3fcc2df2-f625-428d-909a-1f76efc849b6" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='0e00c25d-8795-4fb7-9572-3803d91b6880'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "dadfcd24-6e37-47be-8f7f-4ceda614cece" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='4220f546-f522-46df-8202-4d07afd26454'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "0c29c85e-12d7-4af8-8e4d-ca1e424c480c" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='553673ed-6ddf-419c-a153-b760283472fd'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "f2b21bfc-a6b0-4413-b4bb-9f06b55f2812" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='04fa0286-fa74-401e-bbe9-fbfbb158010d'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "bfc078d0-8c7f-475c-8519-accc46773113" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='16c08c85-0c8b-4009-9b2b-f1f7319e45f9'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "23c6188f-c9d8-457e-81b6-adb6dacb8779" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='8e7bfb1e-acc1-4f56-abae-b80fce56cd4b'%_zz6% %_zz3% LicenseStatus %_zz4%" -if /i "%app%" EQU "e7cce015-33d6-41c1-9831-022ba63fe1da" ( -%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" -%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) -call :insKey -exit /b - -:RunOSPP -set spp=OfficeSoftwareProtectionProduct -set sps=OfficeSoftwareProtectionService -set Off1ce=0 -set RunR2V=0 -set aC2R21=0 -set aC2R19=0 -set aC2R16=0 -set aC2R15=0 -if %winbuild% LSS 9200 (set "aword=2010-2021") else (set "aword=2010") -if %OsppHook% EQU 0 (echo.&echo No Installed Office %aword% Product Detected...&exit /b) -if %winbuild% GEQ 9200 if %loc_off14% EQU 0 (echo.&echo No Installed Office %aword% Product Detected...&exit /b) -set err_offsvc=0 -net start osppsvc /y %_Nul3% || ( -sc start osppsvc %_Nul3% -if !errorlevel! EQU 1053 set err_offsvc=1 -) -if %err_offsvc% EQU 1 (echo.&echo Error: osppsvc service is not running...&exit /b) -if %winbuild% GEQ 9200 call :win8off -if %winbuild% LSS 9200 call :win7off -if %Off1ce% EQU 0 exit /b -set "vPrem="&set "vProf=" -set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='OfficeVisioPrem-MAK'%_zz6% %_zz3% LicenseStatus %_zz8%" -if %loc_off14% EQU 1 for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set vPrem=%%A -set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='OfficeVisioPro-MAK'%_zz6% %_zz3% LicenseStatus %_zz8%" -if %loc_off14% EQU 1 for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set vProf=%%A -set "_qr=%_zz7% %sps% %_zz3% Version %_zz8%" -for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set slsv=%%A -reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" %_Nul3% -reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% -set "_qr=%_zz7% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' %_zz6% %_zz3% ID %_zz8%" -for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :osppchk) -reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing %_Null% -reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching %_Null% -exit /b - -:win8off -set "_qr=%_zz1% %spp% %_zz3% Description %_zz4%" -%_qr% %_Nul2% | findstr /i KMSCLIENT %_Nul1% && ( -set Off1ce=1 -exit /b -) -set ret_off14=0 -%_qr% %_Nul2% | findstr /i channel %_Nul1% && (set ret_off14=1) -if defined _C14R (echo.&echo %_mO14c%) else if %_O14MSI% EQU 1 (if %ret_off14% EQU 1 echo.&echo %_mO14m%) -exit /b - -:win7off -rem nothing installed -if %loc_off21% EQU 0 if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 if %loc_off14% EQU 0 (echo.&echo No Installed Office %aword% Product Detected...&exit /b) -set Off1ce=1 -set _sC2R=win7off -set _fC2R=ReturnOSPP -set vol_off14=0&set vol_off15=0&set vol_off16=0&set vol_off19=0&set vol_off21=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%' %_zz6% %_zz3% Name %_zz4%" -%_qr% > "!_temp!\sppchk.txt" 2>&1 -find /i "Office 21" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off21=1) -find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1) -find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1) -find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1) -find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off14=1) -for %%A in (14,15,16,19,21) do if !loc_off%%A! EQU 0 set vol_off%%A=0 -set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%'" %_zz3% LicenseFamily %_zz4%" -if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( -%_qr% %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0) -) -set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'OfficeO365%%'" %_zz3% LicenseFamily %_zz4%" -if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( -%_qr% %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0) -) -set ret_off14=0&set ret_off15=0&set ret_off16=0&set ret_off19=0&set ret_off21=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' AND NOT Name like '%%O365%%' %_zz6% %_zz3% Name %_zz4%" -%_qr% > "!_temp!\sppchk.txt" 2>&1 -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 21" %_Nul1% && (set ret_off21=1) -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1) -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1) -find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1) -if %ret_off21% EQU 1 if %_O16MSI% EQU 0 set vol_off21=0 -if %ret_off19% EQU 1 if %_O16MSI% EQU 0 set vol_off19=0 -if %ret_off16% EQU 1 if %_O16MSI% EQU 0 set vol_off16=0 -if %ret_off15% EQU 1 if %_O15MSI% EQU 0 set vol_off15=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oA14%'%_zz6% %_zz3% Description %_zz4%" -if %vol_off14% EQU 0 %_qr% %_Nul2% | findstr /i channel %_Nul1% && (set ret_off14=1) -set run_off16=0 -if defined _C16R if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %ret_off16% EQU 1 ( -for %%a in (%DO16Ids%) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( - if %vol_off21% EQU 1 find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - if %vol_off19% EQU 1 find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - ) -for %%a in (Professional) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( - if %vol_off21% EQU 1 find /i "Office21ProPlus2021VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - if %vol_off19% EQU 1 find /i "Office19ProPlus2019VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - ) -for %%a in (HomeBusiness,HomeStudent) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( - if %vol_off21% EQU 1 find /i "Office21Standard2021VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - if %vol_off19% EQU 1 find /i "Office19Standard2019VL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 - ) -) -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%' %_zz6% %_zz3% LicenseFamily %_zz4%" -if defined _C16R if %loc_off16% EQU 1 if %run_off16% EQU 0 %_qr% %_Nul2% | find /i "O365" %_Nul1% && ( -find /i "Office16MondoVL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 -) -set vol_offgl=1 -if %vol_off21% EQU 0 if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 if %vol_off14% EQU 0 set vol_offgl=0 -rem mixed Volume + Retail -if %loc_off21% EQU 1 if %vol_off21% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -if %loc_off19% EQU 1 if %vol_off19% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -if defined _C16R if %loc_off16% EQU 1 if %vol_off16% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 if %run_off16% EQU 1 goto :C2RR2V -if defined _C15R if %loc_off15% EQU 1 if %vol_off15% EQU 0 if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -rem all supported Volume + message for unsupported -if %vol_offgl% EQU 1 ( -if %ret_off16% EQU 1 if %_O16MSI% EQU 1 (echo.&echo %_mO16m%) -if %ret_off15% EQU 1 if %_O15MSI% EQU 1 (echo.&echo %_mO15m%) -if %loc_off14% EQU 1 if %vol_off14% EQU 0 (if defined _C14R (echo.&echo %_mO14c%) else if %_O14MSI% EQU 1 (if %ret_off14% EQU 1 echo.&echo %_mO14m%)) -exit /b -) -set Off1ce=0 -rem Retail C2R -if %RunR2V% EQU 0 if %AutoR2V% EQU 1 goto :C2RR2V -:ReturnOSPP -rem Retail MSI/C2R or failed C2R-R2V -if %loc_off21% EQU 1 if %vol_off21% EQU 0 ( -if %aC2R21% EQU 1 (echo.&echo %_mO21a%) else (echo.&echo %_mO21c%) -) -if %loc_off19% EQU 1 if %vol_off19% EQU 0 ( -if %aC2R19% EQU 1 (echo.&echo %_mO19a%) else (echo.&echo %_mO19c%) -) -if %loc_off16% EQU 1 if %vol_off16% EQU 0 ( -if defined _C16R (if %aC2R16% EQU 1 (echo.&echo %_mO16a%) else (echo.&echo %_mO16c%)) else if %_O16MSI% EQU 1 (if %ret_off16% EQU 1 echo.&echo %_mO16m%) -) -if %loc_off15% EQU 1 if %vol_off15% EQU 0 ( -if defined _C15R (if %aC2R15% EQU 1 (echo.&echo %_mO15a%) else (echo.&echo %_mO15c%)) else if %_O15MSI% EQU 1 (if %ret_off15% EQU 1 echo.&echo %_mO15m%) -) -if %loc_off14% EQU 1 if %vol_off14% EQU 0 ( -if defined _C14R (echo.&echo %_mO14c%) else if %_O14MSI% EQU 1 (if %ret_off14% EQU 1 echo.&echo %_mO14m%) -) -exit /b - -:osppchk -set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz4%" -%_qr% > "!_temp!\sppchk.txt" -find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off14% EQU 0 exit /b) -find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b) -find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b) -find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b) -find /i "Office 21" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off21% EQU 0 exit /b) -set _officespp=0 -set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" -%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" -for /f "tokens=3 delims==, " %%G in ('%_qr%') do set OffVer=%%G -call :offchk%OffVer% -exit /b - -:offchk -set ls=0 -set ls2=0 -set ls3=0 -set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='Office%~1'%_zz6% %_zz3% LicenseStatus %_zz8%" -for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set /a ls=%%A -set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='Office%~3'%_zz6% %_zz3% LicenseStatus %_zz8%" -if /i not "%~3"=="" for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set /a ls2=%%A -set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='Office%~5'%_zz6% %_zz3% LicenseStatus %_zz8%" -if /i not "%~5"=="" for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set /a ls3=%%A -if "%ls3%"=="1" ( -echo Checking: %~6 -echo Product is Permanently Activated. -exit /b -) -if "%ls2%"=="1" ( -echo Checking: %~4 -echo Product is Permanently Activated. -exit /b -) -if "%ls%"=="1" ( -echo Checking: %~2 -echo Product is Permanently Activated. -exit /b -) -call :insKey -exit /b - -:offchk21 -if /i '%app%' EQU 'f3fb2d68-83dd-4c8b-8f09-08e0d950ac3b' exit /b -if /i '%app%' EQU '76093b1b-7057-49d7-b970-638ebcbfd873' exit /b -if /i '%app%' EQU 'a3b44174-2451-4cd6-b25f-66638bfb9046' exit /b -if /i '%app%' EQU 'fbdb3e18-a8ef-4fb3-9183-dffd60bd0984' ( -call :offchk "21ProPlus2021VL_MAK_AE1" "Office ProPlus 2021" "21ProPlus2021VL_MAK_AE2" -exit /b -) -if /i '%app%' EQU '080a45c5-9f9f-49eb-b4b0-c3c610a5ebd3' ( -call :offchk "21Standard2021VL_MAK_AE" "Office Standard 2021" -exit /b -) -if /i '%app%' EQU '76881159-155c-43e0-9db7-2d70a9a3a4ca' ( -call :offchk "21ProjectPro2021VL_MAK_AE1" "Project Pro 2021" "21ProjectPro2021VL_MAK_AE2" -exit /b -) -if /i '%app%' EQU '6dd72704-f752-4b71-94c7-11cec6bfc355' ( -call :offchk "21ProjectStd2021VL_MAK_AE" "Project Standard 2021" -exit /b -) -if /i '%app%' EQU 'fb61ac9a-1688-45d2-8f6b-0674dbffa33c' ( -call :offchk "21VisioPro2021VL_MAK_AE" "Visio Pro 2021" -exit /b -) -if /i '%app%' EQU '72fce797-1884-48dd-a860-b2f6a5efd3ca' ( -call :offchk "21VisioStd2021VL_MAK_AE" "Visio Standard 2021" -exit /b -) -call :insKey -exit /b - -:offchk19 -if /i '%app%' EQU '0bc88885-718c-491d-921f-6f214349e79c' exit /b -if /i '%app%' EQU 'fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9' exit /b -if /i '%app%' EQU '500f6619-ef93-4b75-bcb4-82819998a3ca' exit /b -if /i '%app%' EQU '85dd8b5f-eaa4-4af3-a628-cce9e77c9a03' ( -call :offchk "19ProPlus2019VL_MAK_AE" "Office ProPlus 2019" -exit /b -) -if /i '%app%' EQU '6912a74b-a5fb-401a-bfdb-2e3ab46f4b02' ( -call :offchk "19Standard2019VL_MAK_AE" "Office Standard 2019" -exit /b -) -if /i '%app%' EQU '2ca2bf3f-949e-446a-82c7-e25a15ec78c4' ( -call :offchk "19ProjectPro2019VL_MAK_AE" "Project Pro 2019" -exit /b -) -if /i '%app%' EQU '1777f0e3-7392-4198-97ea-8ae4de6f6381' ( -call :offchk "19ProjectStd2019VL_MAK_AE" "Project Standard 2019" -exit /b -) -if /i '%app%' EQU '5b5cf08f-b81a-431d-b080-3450d8620565' ( -call :offchk "19VisioPro2019VL_MAK_AE" "Visio Pro 2019" -exit /b -) -if /i '%app%' EQU 'e06d7df3-aad0-419d-8dfb-0ac37e2bdf39' ( -call :offchk "19VisioStd2019VL_MAK_AE" "Visio Standard 2019" -exit /b -) -call :insKey -exit /b - -:offchk16 -if /i '%app%' EQU 'd450596f-894d-49e0-966a-fd39ed4c4c64' ( -call :offchk "16ProPlusVL_MAK" "Office ProPlus 2016" -exit /b -) -if /i '%app%' EQU 'dedfa23d-6ed1-45a6-85dc-63cae0546de6' ( -call :offchk "16StandardVL_MAK" "Office Standard 2016" -exit /b -) -if /i '%app%' EQU '4f414197-0fc2-4c01-b68a-86cbb9ac254c' ( -call :offchk "16ProjectProVL_MAK" "Project Pro 2016" -exit /b -) -if /i '%app%' EQU 'da7ddabc-3fbe-4447-9e01-6ab7440b4cd4' ( -call :offchk "16ProjectStdVL_MAK" "Project Standard 2016" -exit /b -) -if /i '%app%' EQU '6bf301c1-b94a-43e9-ba31-d494598c47fb' ( -call :offchk "16VisioProVL_MAK" "Visio Pro 2016" -exit /b -) -if /i '%app%' EQU 'aa2a7821-1827-4c2c-8f1d-4513a34dda97' ( -call :offchk "16VisioStdVL_MAK" "Visio Standard 2016" -exit /b -) -if /i '%app%' EQU '829b8110-0e6f-4349-bca4-42803577788d' ( -call :offchk "16ProjectProXC2RVL_MAKC2R" "Project Pro 2016 C2R" -exit /b -) -if /i '%app%' EQU 'cbbaca45-556a-4416-ad03-bda598eaa7c8' ( -call :offchk "16ProjectStdXC2RVL_MAKC2R" "Project Standard 2016 C2R" -exit /b -) -if /i '%app%' EQU 'b234abe3-0857-4f9c-b05a-4dc314f85557' ( -call :offchk "16VisioProXC2RVL_MAKC2R" "Visio Pro 2016 C2R" -exit /b -) -if /i '%app%' EQU '361fe620-64f4-41b5-ba77-84f8e079b1f7' ( -call :offchk "16VisioStdXC2RVL_MAKC2R" "Visio Standard 2016 C2R" -exit /b -) -call :insKey -exit /b - -:offchk15 -if /i '%app%' EQU 'b322da9c-a2e2-4058-9e4e-f59a6970bd69' ( -call :offchk "ProPlusVL_MAK" "Office ProPlus 2013" -exit /b -) -if /i '%app%' EQU 'b13afb38-cd79-4ae5-9f7f-eed058d750ca' ( -call :offchk "StandardVL_MAK" "Office Standard 2013" -exit /b -) -if /i '%app%' EQU '4a5d124a-e620-44ba-b6ff-658961b33b9a' ( -call :offchk "ProjectProVL_MAK" "Project Pro 2013" -exit /b -) -if /i '%app%' EQU '427a28d1-d17c-4abf-b717-32c780ba6f07' ( -call :offchk "ProjectStdVL_MAK" "Project Standard 2013" -exit /b -) -if /i '%app%' EQU 'e13ac10e-75d0-4aff-a0cd-764982cf541c' ( -call :offchk "VisioProVL_MAK" "Visio Pro 2013" -exit /b -) -if /i '%app%' EQU 'ac4efaf0-f81f-4f61-bdf7-ea32b02ab117' ( -call :offchk "VisioStdVL_MAK" "Visio Standard 2013" -exit /b -) -call :insKey -exit /b - -:offchk14 -if /i '%app%' EQU '6f327760-8c5c-417c-9b61-836a98287e0c' ( -call :offchk "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010" -exit /b -) -if /i '%app%' EQU '9da2a678-fb6b-4e67-ab84-60dd6a9c819a' ( -call :offchk "Standard-MAK" "Office Standard 2010" "StandardAcad-MAK" "Office Standard Academic 2010" -exit /b -) -if /i '%app%' EQU 'ea509e87-07a1-4a45-9edc-eba5a39f36af' ( -call :offchk "SmallBusBasics-MAK" "Office Small Business Basics 2010" -exit /b -) -if /i '%app%' EQU 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' ( -call :offchk "ProjectPro-MAK" "Project Pro 2010" -exit /b -) -if /i '%app%' EQU '5dc7bf61-5ec9-4996-9ccb-df806a2d0efe' ( -call :offchk "ProjectStd-MAK" "Project Standard 2010" "ProjectStd-MAK2" "Project Standard 2010" -exit /b -) -if /i '%app%' EQU '92236105-bb67-494f-94c7-7f7a607929bd' ( -call :offchk "VisioPrem-MAK" "Visio Premium 2010" "VisioPro-MAK" "Visio Pro 2010" -exit /b -) -if defined vPrem exit /b -if /i '%app%' EQU 'e558389c-83c3-4b29-adfe-5e4d7f46c358' ( -call :offchk "VisioPro-MAK" "Visio Pro 2010" "VisioStd-MAK" "Visio Standard 2010" -exit /b -) -if defined vProf exit /b -if /i '%app%' EQU '9ed833ff-4f92-4f36-b370-8683a4f13275' ( -call :offchk "VisioStd-MAK" "Visio Standard 2010" -exit /b -) -call :insKey -exit /b - -:officeLoc -set loc_off%1=0 -set _O%1MSI=0 -if %1 EQU 19 ( -if defined _C16R reg query %_C16R% /v ProductReleaseIds %_Nul2% | findstr 2019 %_Nul1% && set loc_off%1=1 -exit /b -) -if %1 EQU 21 ( -if defined _C16R reg query %_C16R% /v ProductReleaseIds %_Nul2% | findstr 2021 %_Nul1% && set loc_off%1=1 -exit /b -) - -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" ( -set loc_off%1=1 -set _O%1MSI=1 -) -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" ( -set loc_off%1=1 -set _O%1MSI=1 -) - -if %1 EQU 16 if defined _C16R ( -for /f "skip=2 tokens=2*" %%a in ('reg query %_C16R% /v ProductReleaseIds') do echo %%b> "!_temp!\c2rchk.txt" -for %%a in (%LV16Ids%,ProjectProX,ProjectStdX,VisioProX,VisioStdX) do ( - findstr /I /C:"%%aVolume" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1 - ) -for %%a in (%LR16Ids%) do ( - findstr /I /C:"%%aRetail" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1 - ) -exit /b -) - -if %1 EQU 15 if defined _C15R ( -set loc_off%1=1 -exit /b -) - -if exist "%ProgramFiles%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 -if not %xOS%==x86 if exist "%ProgramW6432%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 -if not %xOS%==x86 if exist "%ProgramFiles(x86)%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 -exit /b - -:insKey -set S_OK=1 -echo. -set "_key=" -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" -if %ESU_ADD% EQU 0 for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Installing Key: %%x -if %ESU_ADD% EQU 1 for /f "tokens=2 delims==f" %%x in ('%_qr%') do echo Installing Key: %%x -set ESU_ADD=0 -call :keys %app% -if "%_key%"=="" (echo No associated KMS Client key found&exit /b) -set "_qr=wmic path %sps% where Version='%slsv%' call InstallProductKey ProductKey="%_key%"" -if %WMI_VBS% NEQ 0 set "_qr=%_csp% %sps% "%_key%"" -%_qr% %_Nul3% -set ERRORCODE=%ERRORLEVEL% -if %ERRORCODE% NEQ 0 ( -cmd /c exit /b %ERRORCODE% -echo Failed: 0x!=ExitCode! -set S_OK=0 -exit /b -) -set "_qr=wmic path %sps% where Version='%slsv%' call RefreshLicenseStatus" -if %WMI_VBS% NEQ 0 set "_qr=%_csm% "%sps%.Version='%slsv%'" RefreshLicenseStatus" -if %sps% EQU SoftwareLicensingService %_qr% %_Nul3% - -:activate -set S_OK=1 -if %sps% EQU SoftwareLicensingService ( -if %_officespp% EQU 0 (reg delete "HKLM\%SPPk%\%_wApp%\%app%" /f %_Null%) else (reg delete "HKLM\%SPPk%\%_oApp%\%app%" /f %_Null%) -) else ( -reg delete "HKLM\%OPPk%\%_oA14%\%app%" /f %_Null% -reg delete "HKLM\%OPPk%\%_oApp%\%app%" /f %_Null% -) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" -if %W1nd0ws% EQU 0 if %_officespp% EQU 0 if %sps% EQU SoftwareLicensingService ( -reg add "HKLM\%SPPk%\%_wApp%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" %_Nul3% -reg add "HKLM\%SPPk%\%_wApp%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% -for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Checking: %%x -echo Product is KMS 2038 Activated. -set _keepkms38=1 -exit /b -) -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" -if %act_attempt% LSS 1 ( -if %ESU_ADD% EQU 0 for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Activating: %%x -if %ESU_ADD% EQU 1 for /f "tokens=2 delims==f" %%x in ('%_qr%') do echo Activating: %%x -) - -set ESU_ADD=0 -set "_qr=wmic path %spp% where ID='%app%' call Activate" -if %WMI_VBS% NEQ 0 set "_qr=%_csm% "%spp%.ID='%app%'" Activate" -%_qr% %_Nul3% -call set ERRORCODE=%ERRORLEVEL% -if %ERRORCODE% EQU -1073418187 ( -echo Product Activation Failed: 0xC004F035 -if %OSType% EQU Win7 echo Windows 7 cannot be KMS-activated on this computer due to unqualified OEM BIOS. -echo See Read Me for details. -exit /b -) -if %ERRORCODE% EQU -1073417728 ( -echo Product Activation Failed: 0xC004F200 -echo Windows needs to rebuild the activation-related files. -echo See KB2736303 for details. -exit /b -) -if %ERRORCODE% NEQ 0 ( -if %sps% EQU SoftwareLicensingService (call :StopService sppsvc) else (call :StopService osppsvc) -%_qr% %_Nul3% -call set ERRORCODE=!ERRORLEVEL! -) -set gpr=0 -set gpr2=0 -set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% GracePeriodRemaining %_zz8%" -for /f "tokens=2 delims==" %%x in ('%_qr%') do (set gpr=%%x&set /a "gpr2=(%%x+1440-1)/1440") -if %ERRORCODE% EQU 0 if %gpr% EQU 0 ( -echo Product Activation succeeded, but Remaining Period failed to increase. -if %OSType% EQU Win7 echo This could be related to the error described in KB4487266 -exit /b -) -set Act_OK=0 -if %gpr% EQU 43200 if %_officespp% EQU 0 if %winbuild% GEQ 9200 set Act_OK=1 -if %gpr% EQU 64800 set Act_OK=1 -if %gpr% GTR 259200 if %Win10Gov% EQU 1 set Act_OK=1 -if %gpr% EQU 259200 set Act_OK=1 - -if %ERRORCODE% EQU 0 if %Act_OK% EQU 1 ( -call :_color %_Green% "Product Activation Successful" -echo Remaining Period: %gpr2% days ^(%gpr% minutes^) -set /a act_attempt=0 -exit /b -) - -if not !server_num! gtr %max_servers% ( -if %act_attempt% LSS 4 ( -set /a act_attempt+=1 -call :getserv -%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" -%nul% reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" -if %winbuild% GEQ 9200 ( -%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" -if defined notx86 ( -%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" /reg:32 -%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" /reg:32 -) -) -goto :activate -) -) - -cmd /c exit /b %ERRORCODE% -if %ERRORCODE% NEQ 0 ( -call :_color %_Red% "Product Activation Failed: 0x!=ExitCode!" -) else ( -call :_color %_Red% "Product Activation Failed" -) -echo Remaining Period: %gpr2% days ^(%gpr% minutes^) -set S_OK=0 -set act_failed=1 -set /a act_attempt=0 -exit /b - -:StopService -sc query %1 | find /i "STOPPED" %_Nul1% || net stop %1 /y %_Nul3% -sc query %1 | find /i "STOPPED" %_Nul1% || sc stop %1 %_Nul3% -goto :eof - -:UpdateOSPPEntry -if /i %1 EQU osppsvc.exe ( -reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" %_Nul3% -reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% -) -goto :eof - -:CheckFR - -set E_WMI=0 -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start %_Nul6%') do if /i %%b equ 0x4 set E_WMI=1 -set "_qr=%_zz1% Win32_ComputerSystem %_zz3% CreationClassName %_zz4%" -%_qr% %_Nul2% | find /i "computersystem" %_Nul1% -if %errorlevel% NEQ 0 set E_WMI=1 -set "_qr=%_zz1% SoftwareLicensingService %_zz3% Version %_zz4%" -%_qr% %_Nul2% | find /i "." %_Nul1% -if %errorlevel% NEQ 0 set E_WMI=1 -if %E_WMI% EQU 1 ( -echo Failed running WMI query check. -echo. -echo Verify that these services are working correctly: -echo Windows Management Instrumentation [WinMgmt] -echo Software Protection [sppsvc] -echo. -) - -goto :eof - -:C2RR2V -set RunR2V=1 -set "_SLMGR=%SysPath%\slmgr.vbs" -if %_Debug% EQU 0 ( -set "_cscript=cscript //Nologo //B" -) else ( -set "_cscript=cscript //Nologo" -) -set _LTSC=0 -set "_tag="&set "_ons= 2016" -sc query ClickToRunSvc %_Nul3% -set error1=%errorlevel% -sc query OfficeSvc %_Nul3% -set error2=%errorlevel% -if %error1% EQU 1060 if %error2% EQU 1060 ( -goto :%_fC2R% -) -set _Office16=0 -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( - set _Office16=1 -) -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( - set _Office16=1 -) -set _Office15=0 -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( - set _Office15=1 -) -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( - set _Office15=1 -) -if %_Office16% EQU 0 if %_Office15% EQU 0 ( -goto :%_fC2R% -) - -:Reg16istry -if %_Office16% EQU 0 goto :Reg15istry -set "_InstallRoot=" -set "_ProductIds=" -set "_GUID=" -set "_Config=" -set "_PRIDs=" -set "_LicensesPath=" -set "_Integrator=" -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do (set "_InstallRoot=%%b\root") -if not "%_InstallRoot%"=="" ( - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul6%') do (set "_GUID=%%b") - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_ProductIds=%%b") - set "_Config=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" - set "_PRIDs=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs" -) else ( - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do (set "_InstallRoot=%%b\root") - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul6%') do (set "_GUID=%%b") - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_ProductIds=%%b") - set "_Config=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration" - set "_PRIDs=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\ProductReleaseIDs" -) -set "_LicensesPath=%_InstallRoot%\Licenses16" -set "_Integrator=%_InstallRoot%\integration\integrator.exe" -for /f "skip=2 tokens=2*" %%a in ('"reg query %_PRIDs% /v ActiveConfiguration" %_Nul6%') do set "_PRIDs=%_PRIDs%\%%b" -if "%_ProductIds%"=="" ( -if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry) -) -if not exist "%_LicensesPath%\ProPlus*.xrm-ms" ( -if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry) -) -if not exist "%_Integrator%" ( -if %_Office15% EQU 0 (goto :%_fC2R%) else (goto :Reg15istry) -) -if exist "%_LicensesPath%\Word2019VL_KMS_Client_AE*.xrm-ms" (set "_tag=2019"&set "_ons= 2019") -if exist "%_LicensesPath%\Word2021VL_KMS_Client_AE*.xrm-ms" (set _LTSC=1) -if %winbuild% LSS 10240 if !_LTSC! EQU 1 (set "_tag=2021"&set "_ons= 2021") -if %_Office15% EQU 0 goto :CheckC2R - -:Reg15istry -set "_Install15Root=" -set "_Product15Ids=" -set "_Con15fig=" -set "_PR15IDs=" -set "_OSPP15Ready=" -set "_Licenses15Path=" -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do (set "_Install15Root=%%b\root") -if not "%_Install15Root%"=="" ( - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_Product15Ids=%%b") - set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" - set "_PR15IDs=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs" - set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration" -) else ( - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do (set "_Install15Root=%%b\root") - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_Product15Ids=%%b") - set "_Con15fig=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" - set "_PR15IDs=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs" - set "_OSPP15Ready=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\Configuration" -) -set "_OSPP15ReadT=REG_SZ" -if "%_Product15Ids%"=="" ( -reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && ( - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" %_Nul6%') do (set "_Product15Ids=%%b") - set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" - set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun" - set "_OSPP15ReadT=REG_DWORD" - ) -reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && ( - for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" %_Nul6%') do (set "_Product15Ids=%%b") - set "_Con15fig=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" - set "_OSPP15Ready=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun" - set "_OSPP15ReadT=REG_DWORD" - ) -) -set "_Licenses15Path=%_Install15Root%\Licenses" -if exist "%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" ( - set "_OSPP15VBS=%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" -) else if exist "%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" ( - set "_OSPP15VBS=%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" -) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" ( - set "_OSPP15VBS=%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" -) -if "%_Product15Ids%"=="" ( -if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R) -) -if not exist "%_Licenses15Path%\ProPlus*.xrm-ms" ( -if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R) -) -if %winbuild% LSS 9200 if not exist "%_OSPP15VBS%" ( -if %_Office16% EQU 0 (goto :%_fC2R%) else (goto :CheckC2R) -) - -:CheckC2R -set _OMSI=0 -if %_Office16% EQU 0 ( -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 -) -if %_Office15% EQU 0 ( -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 -) -if %winbuild% GEQ 9200 ( -set _spp=SoftwareLicensingProduct -set _sps=SoftwareLicensingService -set "_vbsi=%_SLMGR% /ilc " -) else ( -set _spp=OfficeSoftwareProtectionProduct -set _sps=OfficeSoftwareProtectionService -set _vbsi="!_OSPP15VBS!" /inslic: -) -set "_wmi=" -set "_qr=%_zz7% %_sps% %_zz3% Version %_zz8%" -for /f "tokens=2 delims==" %%# in ('%_qr%') do set _wmi=%%# -if "%_wmi%"=="" ( -goto :%_fC2R% -) -set _Identity=0 -set _vNext=0 -set sub_O365=0 -set sub_proj=0 -set sub_vis=0 -dir /b /s /a:-d "!_Local!\Microsoft\Office\Licenses\*1*" %_Nul3% && set _Identity=1 -dir /b /s /a:-d "!ProgramData!\Microsoft\Office\Licenses\*1*" %_Nul3% && set _Identity=1 -set kNext=HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Licensing\LicensingNext -if %_Identity% EQU 1 reg query %kNext% /v MigrationToV5Done %_Nul2% | find /i "0x1" %_Nul1% && set _vNext=1 -if %_vNext% EQU 1 ( -reg query %kNext% | findstr /i /r ".*retail" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x2" %_Nul1% && (set sub_O365=1) -reg query %kNext% | findstr /i /r ".*retail" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x3" %_Nul1% && (set sub_O365=1) -reg query %kNext% | findstr /i /r ".*volume" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x2" %_Nul1% && (set sub_O365=1) -reg query %kNext% | findstr /i /r ".*volume" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x3" %_Nul1% && (set sub_O365=1) -reg query %kNext% | findstr /i /r "project.*" %_Nul2% | find /i "0x2" %_Nul1% && set sub_proj=1 -reg query %kNext% | findstr /i /r "project.*" %_Nul2% | find /i "0x3" %_Nul1% && set sub_proj=1 -reg query %kNext% | findstr /i /r "visio.*" %_Nul2% | find /i "0x2" %_Nul1% && set sub_vis=1 -reg query %kNext% | findstr /i /r "visio.*" %_Nul2% | find /i "0x3" %_Nul1% && set sub_vis=1 -) -set _Retail=0 -set "_ocq=ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey is not NULL" -if %WMI_VBS% EQU 0 wmic path %_spp% where (%_ocq%) get Description %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" -set "_qr=%_csq% %_spp% "%_ocq%" Description" -if %WMI_VBS% NEQ 0 %_qr% %_Nul2% >"!_temp!\crvRetail.txt" -find /i "RETAIL channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 -find /i "RETAIL(MAK) channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 -find /i "TIMEBASED_SUB channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 -set "_copp=" -if exist "%SysPath%\msvcr100.dll" ( -set _copp=1 -) else if exist "!_InstallRoot!\vfs\System\msvcr100.dll" ( -set _copp="!_InstallRoot!\vfs\System" -) else if exist "!_Install15Root!\vfs\System\msvcr100.dll" ( -set _copp="!_Install15Root!\vfs\System" -) else if exist "%SystemRoot%\SysWOW64\msvcr100.dll" ( -set _copp=1 -set xBit=x86 -) else if exist "!_InstallRoot!\vfs\SystemX86\msvcr100.dll" ( -set _copp="!_InstallRoot!\vfs\SystemX86" -set xBit=x86 -) else if exist "!_Install15Root!\vfs\SystemX86\msvcr100.dll" ( -set _copp="!_Install15Root!\vfs\SystemX86" -set xBit=x86 -) -if not exist "!_work!\bin\cleanospp%xBit%.exe" ( -set "_copp=" -) -if %_Identity% EQU 0 if %_Retail% EQU 0 if %_OMSI% EQU 0 if defined _copp ( -if "!_copp!"=="1" ( -%_Nul3% "!_work!\bin\cleanospp%xBit%.exe" -Licenses -) else ( -pushd %_copp% -%_Nul3% copy /y "!_work!\bin\cleanospp%xBit%.exe" cleanospp.exe -%_Nul3% cleanospp.exe -Licenses -%_Nul3% del /f /q cleanospp.exe -popd - ) -) -set _O16O365=0 -set _C16Msg=0 -set _C15Msg=0 -set "_qr=%_csq% %_spp% "%_ocq%" LicenseFamily" -if %_Retail% EQU 1 if %WMI_VBS% EQU 0 wmic path %_spp% where (%_ocq%) get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" -if %_Retail% EQU 1 if %WMI_VBS% NEQ 0 %_qr% %_Nul2% >"!_temp!\crvRetail.txt" -set "_qr=%_csq% %_spp% "ApplicationID='%_oApp%'" LicenseFamily" -if %WMI_VBS% EQU 0 wmic path %_spp% where "ApplicationID='%_oApp%'" get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvVolume.txt" 2>&1 -if %WMI_VBS% NEQ 0 %_qr% %_Nul2% >"!_temp!\crvVolume.txt" 2>&1 - -if %_Office16% EQU 0 goto :R15V - -set _O21Ids=ProPlus2021,ProjectPro2021,VisioPro2021,Standard2021,ProjectStd2021,VisioStd2021,Access2021,SkypeforBusiness2021 -set _O19Ids=ProPlus2019,ProjectPro2019,VisioPro2019,Standard2019,ProjectStd2019,VisioStd2019,Access2019,SkypeforBusiness2019 -set _O16Ids=ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness -set _A21Ids=Excel2021,Outlook2021,PowerPoint2021,Publisher2021,Word2021 -set _A19Ids=Excel2019,Outlook2019,PowerPoint2019,Publisher2019,Word2019 -set _A16Ids=Excel,Outlook,PowerPoint,Publisher,Word -set _V21Ids=%_O21Ids%,%_A21Ids% -set _V19Ids=%_O19Ids%,%_A19Ids% -set _V16Ids=Mondo,%_O16Ids%,%_A16Ids%,OneNote -set _R16Ids=%_V16Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud -set _RetIds=%_V21Ids%,Professional2021,HomeBusiness2021,HomeStudent2021,%_V19Ids%,Professional2019,HomeBusiness2019,HomeStudent2019,%_R16Ids% -set _Suites=Mondo,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud,ProPlus,Standard,Professional,HomeBusiness,HomeStudent,ProPlus2019,Standard2019,Professional2019,HomeBusiness2019,HomeStudent2019,ProPlus2021,Standard2021,Professional2021,HomeBusiness2021,HomeStudent2021 -set _PrjSKU=ProjectPro,ProjectStd,ProjectPro2019,ProjectStd2019,ProjectPro2021,ProjectStd2021 -set _VisSKU=VisioPro,VisioStd,VisioPro2019,VisioStd2019,VisioPro2021,VisioStd2021 - -echo %_ProductIds%>"!_temp!\crvProductIds.txt" -for %%a in (%_RetIds%,ProPlus) do ( -set _%%a=0 -) -for %%a in (%_RetIds%) do ( -findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && set _%%a=1 -) -if !_LTSC! EQU 0 for %%a in (%_V21Ids%) do ( -set _%%a=0 -) -if !_LTSC! EQU 1 for %%a in (%_V21Ids%) do ( -findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( - find /i "Office21%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) - ) -) -for %%a in (%_V19Ids%) do ( -findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( - find /i "Office19%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) - ) -) -for %%a in (%_V16Ids%) do ( -findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( - find /i "Office16%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) - ) -) -reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && ( - find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) -) -reg query %_PRIDs%\ProPlusVolume.16 %_Nul3% && ( - find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) -) -if %_Retail% EQU 1 for %%a in (%_RetIds%) do ( -findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && ( - find /i "Office16%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aE5R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aEDUR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office16%%aXC2RVL_MAKC2R" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) - find /i "Office19%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) - find /i "Office19%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) - find /i "Office19%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) - find /i "Office19%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) - find /i "Office21%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) - find /i "Office21%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) - find /i "Office21%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) - find /i "Office21%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) - ) -) -if %_Retail% EQU 1 reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && ( - find /i "Office16ProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) - find /i "Office16ProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) - find /i "Office16ProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) - find /i "Office16ProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) -) -set "_qr=%_zz1% %_spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%'" %_zz3% LicenseFamily %_zz4%" -find /i "Office16MondoVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && ( -%_qr% %_Nul2% | find /i "O365" %_Nul1% && ( - for %%a in (O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud) do set _%%a=0 - ) -) -if %sub_O365% EQU 1 ( - for %%a in (%_Suites%) do set _%%a=0 -echo. -echo Microsoft 365 product is activated with a subscription. -) -if %sub_proj% EQU 1 ( - for %%a in (%_PrjSKU%) do set _%%a=0 -echo. -echo Microsoft Project is activated with a subscription. -) -if %sub_vis% EQU 1 ( - for %%a in (%_VisSKU%) do set _%%a=0 -echo. -echo Microsoft Visio is activated with a subscription. -) - -for %%a in (%_RetIds%,ProPlus) do if !_%%a! EQU 1 ( -set _C16Msg=1 -) -if %_C16Msg% EQU 1 ( -echo. -echo Converting Office C2R Retail-to-Volume: -) -if %_C16Msg% EQU 0 (if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R)) - -if !_Mondo! EQU 1 ( -call :InsLic Mondo -) -if !_O365ProPlus! EQU 1 ( -echo O365ProPlus 2016 Suite ^<-^> Mondo 2016 Licenses -call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK -if !_Mondo! EQU 0 call :InsLic Mondo -) -if !_O365Business! EQU 1 if !_O365ProPlus! EQU 0 ( -set _O365ProPlus=1 -echo O365Business 2016 Suite ^<-^> Mondo 2016 Licenses -call :InsLic O365Business NCHRJ-3VPGW-X73DM-6B36K-3RQ6B -if !_Mondo! EQU 0 call :InsLic Mondo -) -if !_O365SmallBusPrem! EQU 1 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( -set _O365ProPlus=1 -echo O365SmallBusPrem 2016 Suite ^<-^> Mondo 2016 Licenses -call :InsLic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R -if !_Mondo! EQU 0 call :InsLic Mondo -) -if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( -set _O365ProPlus=1 -echo O365HomePrem 2016 Suite ^<-^> Mondo 2016 Licenses -call :InsLic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9 -if !_Mondo! EQU 0 call :InsLic Mondo -) -if !_O365EduCloud! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( -set _O365ProPlus=1 -echo O365EduCloud 2016 Suite ^<-^> Mondo 2016 Licenses -call :InsLic O365EduCloud 8843N-BCXXD-Q84H8-R4Q37-T3CPT -if !_Mondo! EQU 0 call :InsLic Mondo -) -if !_O365ProPlus! EQU 1 set _O16O365=1 -if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 ( -echo Mondo 2016 Suite -call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK -if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) -) -if !_ProPlus2021! EQU 1 if !_O365ProPlus! EQU 0 ( -echo ProPlus 2021 Suite -call :InsLic ProPlus2021 -) -if !_ProPlus2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 ( -echo ProPlus 2019 Suite -^> ProPlus%_ons% Licenses -call :InsLic ProPlus%_tag% -) -if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 ( -echo ProPlus 2016 Suite -^> ProPlus%_ons% Licenses -call :InsLic ProPlus%_tag% -) -if !_Professional2021! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 ( -echo Professional 2021 Suite -^> ProPlus 2021 Licenses -call :InsLic ProPlus2021 -) -if !_Professional2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 ( -echo Professional 2019 Suite -^> ProPlus%_ons% Licenses -call :InsLic ProPlus%_tag% -) -if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 ( -echo Professional 2016 Suite -^> ProPlus%_ons% Licenses -call :InsLic ProPlus%_tag% -) -if !_Standard2021! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 ( -echo Standard 2021 Suite -call :InsLic Standard2021 -) -if !_Standard2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 ( -echo Standard 2019 Suite -^> Standard%_ons% Licenses -call :InsLic Standard%_tag% -) -if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 ( -echo Standard 2016 Suite -^> Standard%_ons% Licenses -call :InsLic Standard%_tag% -) -for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a2021! EQU 1 ( - echo %%a 2021 SKU - call :InsLic %%a2021 -) -for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a2019! EQU 1 ( -if !_%%a2021! EQU 0 ( - echo %%a 2019 SKU -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 ( -if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( - echo %%a 2016 SKU -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (HomeBusiness,HomeStudent) do if !_%%a2021! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 ( - set _Standard2021=1 - echo %%a 2021 Suite -^> Standard 2021 Licenses - call :InsLic Standard2021 - ) -) -for %%a in (HomeBusiness,HomeStudent) do if !_%%a2019! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 ( - set _Standard2019=1 - echo %%a 2019 Suite -^> Standard%_ons% Licenses - call :InsLic Standard%_tag% - ) -) -for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( - set _Standard=1 - echo %%a 2016 Suite -^> Standard%_ons% Licenses - call :InsLic Standard%_tag% - ) -) -for %%a in (%_A21Ids%,OneNote) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 ( - echo %%a App - call :InsLic %%a - ) -) -for %%a in (%_A16Ids%) do if !_%%a2019! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 ( - echo %%a 2019 App -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (%_A16Ids%) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( - echo %%a 2016 App -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (Access) do if !_%%a2021! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 ( - echo %%a 2021 App - call :InsLic %%a2021 - ) -) -for %%a in (Access) do if !_%%a2019! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_%%a2021! EQU 0 ( - echo %%a 2019 App -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (Access) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( - echo %%a 2016 App -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (SkypeforBusiness) do if !_%%a2021! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 ( - echo %%a 2021 App - call :InsLic %%a2021 - ) -) -for %%a in (SkypeforBusiness) do if !_%%a2019! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_%%a2021! EQU 0 ( - echo %%a 2019 App -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -for %%a in (SkypeforBusiness) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( - echo %%a 2016 App -^> %%a%_ons% Licenses - call :InsLic %%a%_tag% - ) -) -if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) - -:R15V -for %%# in ("!_Licenses15Path!\client-issuance-*.xrm-ms") do ( -%_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#" -) -%_cscript% %_vbsi%"!_Licenses15Path!\pkeyconfig-office.xrm-ms" - -set _O15Ids=Standard,ProjectPro,VisioPro,ProjectStd,VisioStd,Access,Lync -set _A15Ids=Excel,Groove,InfoPath,OneNote,Outlook,PowerPoint,Publisher,Word -set _R15Ids=SPD,Mondo,%_O15Ids%,%_A15Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem -set _V15Ids=Mondo,%_O15Ids%,%_A15Ids% - -echo %_Product15Ids%>"!_temp!\crvProduct15s.txt" -for %%a in (%_R15Ids%,ProPlus) do ( -set _%%a=0 -) -for %%a in (%_R15Ids%) do ( -findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && set _%%a=1 -) -for %%a in (%_V15Ids%) do ( -findstr /I /C:"%%aVolume" "!_temp!\crvProduct15s.txt" %_Nul1% && ( - find /i "Office%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) - ) -) -reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && ( - find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) -) -reg query %_PR15IDs%\Active\ProPlusVolume\x-none %_Nul3% && ( - find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) -) -if %_Retail% EQU 1 for %%a in (%_R15Ids%) do ( -findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && ( - find /i "Office%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - find /i "Office%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) - ) -) -if %_Retail% EQU 1 reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && ( - find /i "OfficeProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) - find /i "OfficeProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) - find /i "OfficeProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) - find /i "OfficeProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) -) -set "_qr=%_zz1% %_spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'OfficeO365%%'" %_zz3% LicenseFamily %_zz4%" -find /i "OfficeMondoVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && ( -%_qr% %_Nul2% | find /i "O365" %_Nul1% && ( - for %%a in (O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem) do set _%%a=0 - ) -) - -for %%a in (%_R15Ids%,ProPlus) do if !_%%a! EQU 1 ( -set _C15Msg=1 -) -if %_C15Msg% EQU 1 if %_C16Msg% EQU 0 ( -echo. -echo Converting Office C2R Retail-to-Volume: -) -if %_C15Msg% EQU 0 goto :GVLKC2R - -if !_Mondo! EQU 1 ( -call :Ins15Lic Mondo -) -if !_O365ProPlus! EQU 1 if !_O16O365! EQU 0 ( -echo O365ProPlus 2013 Suite ^<-^> Mondo 2013 Licenses -call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK -if !_Mondo! EQU 0 call :Ins15Lic Mondo -) -if !_O365SmallBusPrem! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( -set _O365ProPlus=1 -echo O365SmallBusPrem 2013 Suite ^<-^> Mondo 2013 Licenses -call :Ins15Lic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R -if !_Mondo! EQU 0 call :Ins15Lic Mondo -) -if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( -set _O365ProPlus=1 -echo O365HomePrem 2013 Suite ^<-^> Mondo 2013 Licenses -call :Ins15Lic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9 -if !_Mondo! EQU 0 call :Ins15Lic Mondo -) -if !_O365Business! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( -set _O365ProPlus=1 -echo O365Business 2013 Suite ^<-^> Mondo 2013 Licenses -call :Ins15Lic O365Business MCPBN-CPY7X-3PK9R-P6GTT-H8P8Y -if !_Mondo! EQU 0 call :Ins15Lic Mondo -) -if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( -echo Mondo 2013 Suite -call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK -goto :GVLKC2R -) -if !_SPD! EQU 1 if !_Mondo! EQU 0 if !_O365ProPlus! EQU 0 ( -echo SharePoint Designer 2013 App -^> Mondo 2013 Licenses -call :Ins15Lic Mondo -goto :GVLKC2R -) -if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 ( -echo ProPlus 2013 Suite -call :Ins15Lic ProPlus -) -if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 ( -echo Professional 2013 Suite -^> ProPlus 2013 Licenses -call :Ins15Lic ProPlus -) -if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 ( -echo Standard 2013 Suite -call :Ins15Lic Standard -) -for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 ( -echo %%a 2013 SKU -call :Ins15Lic %%a -) -for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 ( - set _Standard=1 - echo %%a 2013 Suite -^> Standard 2013 Licenses - call :Ins15Lic Standard - ) -) -for %%a in (%_A15Ids%) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 ( - echo %%a 2013 App - call :Ins15Lic %%a - ) -) -for %%a in (Access) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 ( - echo %%a 2013 App - call :Ins15Lic %%a - ) -) -for %%a in (Lync) do if !_%%a! EQU 1 ( -if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 ( - echo SkypeforBusiness 2015 App - call :Ins15Lic %%a - ) -) -goto :GVLKC2R - -:InsLic -set "_ID=%1Volume" -set "_pkey=" -if not "%2"=="" ( -set "_ID=%1Retail" -set "_pkey=PidKey=%2" -) -reg delete %_Config% /f /v %_ID%.OSPPReady %_Nul3% -"!_Integrator!" /I /License PRIDName=%_ID%.16 %_pkey% PackageGUID="%_GUID%" PackageRoot="!_InstallRoot!" %_Nul1% -reg add %_Config% /f /v %_ID%.OSPPReady /t REG_SZ /d 1 %_Nul1% -reg query %_Config% /v ProductReleaseIds | findstr /I "%_ID%" %_Nul1% -if %errorlevel% NEQ 0 ( -for /f "skip=2 tokens=2*" %%a in ('reg query %_Config% /v ProductReleaseIds') do reg add %_Config% /v ProductReleaseIds /t REG_SZ /d "%%b,%_ID%" /f %_Nul1% -) -exit /b - -:Ins15Lic -set "_ID=%1Volume" -set "_patt=%1VL_" -set "_pkey=" -if not "%2"=="" ( -set "_ID=%1Retail" -set "_patt=%1R_" -set "_pkey=%2" -) -reg delete %_OSPP15Ready% /f /v %_ID%.OSPPReady %_Nul3% -for %%# in ("!_Licenses15Path!\%_patt%*.xrm-ms") do ( -%_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#" -) -set "_qr=wmic path %_sps% where Version='%_wmi%' call InstallProductKey ProductKey="%_pkey%"" -if %WMI_VBS% NEQ 0 set "_qr=%_csp% %_sps% "%_pkey%"" -if defined _pkey %_qr% %_Nul3% -reg add %_OSPP15Ready% /f /v %_ID%.OSPPReady /t %_OSPP15ReadT% /d 1 %_Nul1% -reg query %_Con15fig% %_Nul2% | findstr /I "%_ID%" %_Nul1% -if %errorlevel% NEQ 0 ( -for /f "skip=2 tokens=2*" %%a in ('reg query %_Con15fig% %_Nul6%') do reg add %_Con15fig% /t REG_SZ /d "%%b,%_ID%" /f %_Nul1% -) -exit /b - -:GVLKC2R -if %_Office16% EQU 1 ( -for %%a in (%_RetIds%,ProPlus) do set "_%%a=" -) -if %_Office15% EQU 1 ( -for %%a in (%_R15Ids%,ProPlus) do set "_%%a=" -) -set "_qr=wmic path %_sps% where version='%_wmi%' call RefreshLicenseStatus" -if %WMI_VBS% NEQ 0 set "_qr=%_csm% "%_sps%.Version='%_wmi%'" RefreshLicenseStatus" -if %winbuild% GEQ 9200 %_qr% %_Nul3% -if exist "%SysPath%\spp\store_test\2.0\tokens.dat" if defined _copp ( -%_cscript% %_SLMGR% /rilc -) -goto :%_sC2R% - -:keys -if "%~1"=="" exit /b -goto :%1 %_Nul2% - -:: Windows 11 [Co] -:ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69 -set "_key=37D7F-N49CB-WQR8W-TBJ73-FM8RX" &:: SE {Cloud} -exit /b - -:d30136fc-cb4b-416e-a23d-87207abc44a9 -set "_key=6XN7V-PCBDC-BDBRH-8DQY7-G6R44" &:: SE N {Cloud N} -exit /b - -:: Windows 10 [RS5] -:32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee -set "_key=M7XTQ-FN8P6-TTKYV-9D4CC-J462D" &:: Enterprise LTSC 2019 -exit /b - -:7103a333-b8c8-49cc-93ce-d37c09687f92 -set "_key=92NFX-8DJQP-P6BBQ-THF9C-7CG2H" &:: Enterprise LTSC 2019 N -exit /b - -:ec868e65-fadf-4759-b23e-93fe37f2cc29 -set "_key=CPWHC-NT2C7-VYW78-DHDB2-PG3GK" &:: Enterprise for Virtual Desktops -exit /b - -:0df4f814-3f57-4b8b-9a9d-fddadcd69fac -set "_key=NBTWJ-3DR69-3C4V8-C26MC-GQ9M6" &:: Lean -exit /b - -:: Windows 10 [RS3] -:82bbc092-bc50-4e16-8e18-b74fc486aec3 -set "_key=NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J" &:: Pro Workstation -exit /b - -:4b1571d3-bafb-4b40-8087-a961be2caf65 -set "_key=9FNHH-K3HBT-3W4TD-6383H-6XYWF" &:: Pro Workstation N -exit /b - -:e4db50ea-bda1-4566-b047-0ca50abc6f07 -set "_key=7NBT4-WGBQX-MP4H7-QXFF8-YP3KX" &:: Enterprise Remote Server -exit /b - -:: Windows 10 [RS2] -:e0b2d383-d112-413f-8a80-97f373a5820c -set "_key=YYVX9-NTFWV-6MDM3-9PT4T-4M68B" &:: Enterprise G -exit /b - -:e38454fb-41a4-4f59-a5dc-25080e354730 -set "_key=44RPN-FTY23-9VTTB-MP9BX-T84FV" &:: Enterprise G N -exit /b - -:: Windows 10 [RS1] -:2d5a5a60-3040-48bf-beb0-fcd770c20ce0 -set "_key=DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ" &:: Enterprise 2016 LTSB -exit /b - -:9f776d83-7156-45b2-8a5c-359b9c9f22a3 -set "_key=QFFDN-GRT3P-VKWWX-X7T3R-8B639" &:: Enterprise 2016 LTSB N -exit /b - -:3f1afc82-f8ac-4f6c-8005-1d233e606eee -set "_key=6TP4R-GNPTD-KYYHQ-7B7DP-J447Y" &:: Pro Education -exit /b - -:5300b18c-2e33-4dc2-8291-47ffcec746dd -set "_key=YVWGF-BXNMC-HTQYQ-CPQ99-66QFC" &:: Pro Education N -exit /b - -:: Windows 10 [TH] -:58e97c99-f377-4ef1-81d5-4ad5522b5fd8 -set "_key=TX9XD-98N7V-6WMQ6-BX7FG-H8Q99" &:: Home -exit /b - -:7b9e1751-a8da-4f75-9560-5fadfe3d8e38 -set "_key=3KHY7-WNT83-DGQKR-F7HPR-844BM" &:: Home N -exit /b - -:cd918a57-a41b-4c82-8dce-1a538e221a83 -set "_key=7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH" &:: Home Single Language -exit /b - -:a9107544-f4a0-4053-a96a-1479abdef912 -set "_key=PVMJN-6DFY6-9CCP6-7BKTT-D3WVR" &:: Home China -exit /b - -:2de67392-b7a7-462a-b1ca-108dd189f588 -set "_key=W269N-WFGWX-YVC9B-4J6C9-T83GX" &:: Pro -exit /b - -:a80b5abf-76ad-428b-b05d-a47d2dffeebf -set "_key=MH37W-N47XK-V7XM9-C7227-GCQG9" &:: Pro N -exit /b - -:e0c42288-980c-4788-a014-c080d2e1926e -set "_key=NW6C2-QMPVW-D7KKK-3GKT6-VCFB2" &:: Education -exit /b - -:3c102355-d027-42c6-ad23-2e7ef8a02585 -set "_key=2WH4N-8QGBV-H22JP-CT43Q-MDWWJ" &:: Education N -exit /b - -:73111121-5638-40f6-bc11-f1d7b0d64300 -set "_key=NPPR9-FWDCX-D2C8J-H872K-2YT43" &:: Enterprise -exit /b - -:e272e3e2-732f-4c65-a8f0-484747d0d947 -set "_key=DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4" &:: Enterprise N -exit /b - -:7b51a46c-0c04-4e8f-9af4-8496cca90d5e -set "_key=WNMTR-4C88C-JK8YV-HQ7T2-76DF9" &:: Enterprise 2015 LTSB -exit /b - -:87b838b7-41b6-4590-8318-5797951d8529 -set "_key=2F77B-TNFGY-69QQF-B8YKP-D69TJ" &:: Enterprise 2015 LTSB N -exit /b - -:: Windows Server 2022 [Fe] -:9bd77860-9b31-4b7b-96ad-2564017315bf -set "_key=VDYBN-27WPP-V4HQT-9VMD4-VMK7H" &:: Standard -exit /b - -:ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03 -set "_key=WX4NM-KYWYW-QJJR4-XV3QB-6VM33" &:: Datacenter -exit /b - -:8c8f0ad3-9a43-4e05-b840-93b8d1475cbc -set "_key=6N379-GGTMK-23C6M-XVVTC-CKFRQ" &:: Azure Core -exit /b - -:f5e9429c-f50b-4b98-b15c-ef92eb5cff39 -set "_key=67KN8-4FYJW-2487Q-MQ2J7-4C4RG" &:: Standard ACor -exit /b - -:39e69c41-42b4-4a0a-abad-8e3c10a797cc -set "_key=QFND9-D3Y9C-J3KKY-6RPVP-2DPYV" &:: Datacenter ACor -exit /b - -:: Windows Server 2019 [RS5] -:de32eafd-aaee-4662-9444-c1befb41bde2 -set "_key=N69G4-B89J2-4G8F4-WWYCC-J464C" &:: Standard -exit /b - -:34e1ae55-27f8-4950-8877-7a03be5fb181 -set "_key=WMDGN-G9PQG-XVVXX-R3X43-63DFG" &:: Datacenter -exit /b - -:a99cc1f0-7719-4306-9645-294102fbff95 -set "_key=FDNH6-VW9RW-BXPJ7-4XTYG-239TB" &:: Azure Core -exit /b - -:73e3957c-fc0c-400d-9184-5f7b6f2eb409 -set "_key=N2KJX-J94YW-TQVFB-DG9YT-724CC" &:: Standard ACor -exit /b - -:90c362e5-0da1-4bfd-b53b-b87d309ade43 -set "_key=6NMRW-2C8FM-D24W7-TQWMY-CWH2D" &:: Datacenter ACor -exit /b - -:034d3cbb-5d4b-4245-b3f8-f84571314078 -set "_key=WVDHN-86M7X-466P6-VHXV7-YY726" &:: Essentials -exit /b - -:8de8eb62-bbe0-40ac-ac17-f75595071ea3 -set "_key=GRFBW-QNDC4-6QBHG-CCK3B-2PR88" &:: ServerARM64 -exit /b - -:19b5e0fb-4431-46bc-bac1-2f1873e4ae73 -set "_key=NTBV8-9K7Q8-V27C6-M2BTV-KHMXV" &:: Azure Datacenter - ServerTurbine -exit /b - -:: Windows Server 2016 [RS4] -:43d9af6e-5e86-4be8-a797-d072a046896c -set "_key=K9FYF-G6NCK-73M32-XMVPY-F9DRR" &:: ServerARM64 -exit /b - -:: Windows Server 2016 [RS3] -:61c5ef22-f14f-4553-a824-c4b31e84b100 -set "_key=PTXN8-JFHJM-4WC78-MPCBR-9W4KR" &:: Standard ACor -exit /b - -:e49c08e7-da82-42f8-bde2-b570fbcae76c -set "_key=2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG" &:: Datacenter ACor -exit /b - -:: Windows Server 2016 [RS1] -:8c1c5410-9f39-4805-8c9d-63a07706358f -set "_key=WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY" &:: Standard -exit /b - -:21c56779-b449-4d20-adfc-eece0e1ad74b -set "_key=CB7KF-BWN84-R7R2Y-793K2-8XDDG" &:: Datacenter -exit /b - -:3dbf341b-5f6c-4fa7-b936-699dce9e263f -set "_key=VP34G-4NPPG-79JTQ-864T4-R3MQX" &:: Azure Core -exit /b - -:2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283 -set "_key=JCKRF-N37P4-C2D82-9YXRT-4M63B" &:: Essentials -exit /b - -:7b4433f4-b1e7-4788-895a-c45378d38253 -set "_key=QN4C6-GBJD2-FB422-GHWJK-GJG2R" &:: Cloud Storage -exit /b - -:: Windows 8.1 -:fe1c3238-432a-43a1-8e25-97e7d1ef10f3 -set "_key=M9Q9P-WNJJT-6PXPY-DWX8H-6XWKK" &:: Core -exit /b - -:78558a64-dc19-43fe-a0d0-8075b2a370a3 -set "_key=7B9N3-D94CG-YTVHR-QBPX3-RJP64" &:: Core N -exit /b - -:c72c6a1d-f252-4e7e-bdd1-3fca342acb35 -set "_key=BB6NG-PQ82V-VRDPW-8XVD2-V8P66" &:: Core Single Language -exit /b - -:db78b74f-ef1c-4892-abfe-1e66b8231df6 -set "_key=NCTT7-2RGK8-WMHRF-RY7YQ-JTXG3" &:: Core China -exit /b - -:ffee456a-cd87-4390-8e07-16146c672fd0 -set "_key=XYTND-K6QKT-K2MRH-66RTM-43JKP" &:: Core ARM -exit /b - -:c06b6981-d7fd-4a35-b7b4-054742b7af67 -set "_key=GCRJD-8NW9H-F2CDX-CCM8D-9D6T9" &:: Pro -exit /b - -:7476d79f-8e48-49b4-ab63-4d0b813a16e4 -set "_key=HMCNV-VVBFX-7HMBH-CTY9B-B4FXY" &:: Pro N -exit /b - -:096ce63d-4fac-48a9-82a9-61ae9e800e5f -set "_key=789NJ-TQK6T-6XTH8-J39CJ-J8D3P" &:: Pro with Media Center -exit /b - -:81671aaf-79d1-4eb1-b004-8cbbe173afea -set "_key=MHF9N-XY6XB-WVXMC-BTDCT-MKKG7" &:: Enterprise -exit /b - -:113e705c-fa49-48a4-beea-7dd879b46b14 -set "_key=TT4HM-HN7YT-62K67-RGRQJ-JFFXW" &:: Enterprise N -exit /b - -:0ab82d54-47f4-4acb-818c-cc5bf0ecb649 -set "_key=NMMPB-38DD4-R2823-62W8D-VXKJB" &:: Embedded Industry Pro -exit /b - -:cd4e2d9f-5059-4a50-a92d-05d5bb1267c7 -set "_key=FNFKF-PWTVT-9RC8H-32HB2-JB34X" &:: Embedded Industry Enterprise -exit /b - -:f7e88590-dfc7-4c78-bccb-6f3865b99d1a -set "_key=VHXM3-NR6FT-RY6RT-CK882-KW2CJ" &:: Embedded Industry Automotive -exit /b - -:e9942b32-2e55-4197-b0bd-5ff58cba8860 -set "_key=3PY8R-QHNP9-W7XQD-G6DPH-3J2C9" &:: with Bing -exit /b - -:c6ddecd6-2354-4c19-909b-306a3058484e -set "_key=Q6HTR-N24GM-PMJFP-69CD8-2GXKR" &:: with Bing N -exit /b - -:b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c -set "_key=KF37N-VDV38-GRRTV-XH8X6-6F3BB" &:: with Bing Single Language -exit /b - -:ba998212-460a-44db-bfb5-71bf09d1c68b -set "_key=R962J-37N87-9VVK2-WJ74P-XTMHR" &:: with Bing China -exit /b - -:e58d87b5-8126-4580-80fb-861b22f79296 -set "_key=MX3RK-9HNGX-K3QKC-6PJ3F-W8D7B" &:: Pro for Students -exit /b - -:cab491c7-a918-4f60-b502-dab75e334f40 -set "_key=TNFGH-2R6PB-8XM3K-QYHX2-J4296" &:: Pro for Students N -exit /b - -:: Windows Server 2012 R2 -:b3ca044e-a358-4d68-9883-aaa2941aca99 -set "_key=D2N9P-3P6X9-2R39C-7RTCD-MDVJX" &:: Standard -exit /b - -:00091344-1ea4-4f37-b789-01750ba6988c -set "_key=W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9" &:: Datacenter -exit /b - -:21db6ba4-9a7b-4a14-9e29-64a60c59301d -set "_key=KNC87-3J2TX-XB4WP-VCPJV-M4FWM" &:: Essentials -exit /b - -:b743a2be-68d4-4dd3-af32-92425b7bb623 -set "_key=3NPTF-33KPT-GGBPR-YX76B-39KDD" &:: Cloud Storage -exit /b - -:: Windows 8 -:c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60 -set "_key=BN3D2-R7TKB-3YPBD-8DRP2-27GG4" &:: Core -exit /b - -:197390a0-65f6-4a95-bdc4-55d58a3b0253 -set "_key=8N2M2-HWPGY-7PGT9-HGDD8-GVGGY" &:: Core N -exit /b - -:8860fcd4-a77b-4a20-9045-a150ff11d609 -set "_key=2WN2H-YGCQR-KFX6K-CD6TF-84YXQ" &:: Core Single Language -exit /b - -:9d5584a2-2d85-419a-982c-a00888bb9ddf -set "_key=4K36P-JN4VD-GDC6V-KDT89-DYFKP" &:: Core China -exit /b - -:af35d7b7-5035-4b63-8972-f0b747b9f4dc -set "_key=DXHJF-N9KQX-MFPVR-GHGQK-Y7RKV" &:: Core ARM -exit /b - -:a98bcd6d-5343-4603-8afe-5908e4611112 -set "_key=NG4HW-VH26C-733KW-K6F98-J8CK4" &:: Pro -exit /b - -:ebf245c1-29a8-4daf-9cb1-38dfc608a8c8 -set "_key=XCVCF-2NXM9-723PB-MHCB7-2RYQQ" &:: Pro N -exit /b - -:a00018a3-f20f-4632-bf7c-8daa5351c914 -set "_key=GNBB8-YVD74-QJHX6-27H4K-8QHDG" &:: Pro with Media Center -exit /b - -:458e1bec-837a-45f6-b9d5-925ed5d299de -set "_key=32JNW-9KQ84-P47T8-D8GGY-CWCK7" &:: Enterprise -exit /b - -:e14997e7-800a-4cf7-ad10-de4b45b578db -set "_key=JMNMF-RHW7P-DMY6X-RF3DR-X2BQT" &:: Enterprise N -exit /b - -:10018baf-ce21-4060-80bd-47fe74ed4dab -set "_key=RYXVT-BNQG7-VD29F-DBMRY-HT73M" &:: Embedded Industry Pro -exit /b - -:18db1848-12e0-4167-b9d7-da7fcda507db -set "_key=NKB3R-R2F8T-3XCDP-7Q2KW-XWYQ2" &:: Embedded Industry Enterprise -exit /b - -:: Windows Server 2012 -:f0f5ec41-0d55-4732-af02-440a44a3cf0f -set "_key=XC9B7-NBPP2-83J2H-RHMBY-92BT4" &:: Standard -exit /b - -:d3643d60-0c42-412d-a7d6-52e6635327f6 -set "_key=48HP8-DN98B-MYWDG-T2DCC-8W83P" &:: Datacenter -exit /b - -:7d5486c7-e120-4771-b7f1-7b56c6d3170c -set "_key=HM7DN-YVMH3-46JC3-XYTG7-CYQJJ" &:: MultiPoint Standard -exit /b - -:95fd1c83-7df5-494a-be8b-1300e1c9d1cd -set "_key=XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G" &:: MultiPoint Premium -exit /b - -:: Windows 7 -:b92e9980-b9d5-4821-9c94-140f632f6312 -set "_key=FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4" &:: Professional -exit /b - -:54a09a0d-d57b-4c10-8b69-a842d6590ad5 -set "_key=MRPKT-YTG23-K7D7T-X2JMM-QY7MG" &:: Professional N -exit /b - -:5a041529-fef8-4d07-b06f-b59b573b32d2 -set "_key=W82YF-2Q76Y-63HXB-FGJG9-GF7QX" &:: Professional E -exit /b - -:ae2ee509-1b34-41c0-acb7-6d4650168915 -set "_key=33PXH-7Y6KF-2VJC9-XBBR8-HVTHH" &:: Enterprise -exit /b - -:1cb6d605-11b3-4e14-bb30-da91c8e3983a -set "_key=YDRBP-3D83W-TY26F-D46B2-XCKRJ" &:: Enterprise N -exit /b - -:46bbed08-9c7b-48fc-a614-95250573f4ea -set "_key=C29WB-22CC8-VJ326-GHFJW-H9DH4" &:: Enterprise E -exit /b - -:db537896-376f-48ae-a492-53d0547773d0 -set "_key=YBYF6-BHCR3-JPKRB-CDW7B-F9BK4" &:: Embedded POSReady 7 -exit /b - -:e1a8296a-db37-44d1-8cce-7bc961d59c54 -set "_key=XGY72-BRBBT-FF8MH-2GG8H-W7KCW" &:: Embedded Standard -exit /b - -:aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395 -set "_key=73KQT-CD9G6-K7TQG-66MRP-CQ22C" &:: Embedded ThinPC -exit /b - -:: Windows Server 2008 R2 -:a78b8bd9-8017-4df5-b86a-09f756affa7c -set "_key=6TPJF-RBVHG-WBW2R-86QPH-6RTM4" &:: Web -exit /b - -:cda18cf3-c196-46ad-b289-60c072869994 -set "_key=TT8MH-CG224-D3D7Q-498W2-9QCTX" &:: HPC -exit /b - -:68531fb9-5511-4989-97be-d11a0f55633f -set "_key=YC6KT-GKW9T-YTKYR-T4X34-R7VHC" &:: Standard -exit /b - -:7482e61b-c589-4b7f-8ecc-46d455ac3b87 -set "_key=74YFP-3QFB3-KQT8W-PMXWJ-7M648" &:: Datacenter -exit /b - -:620e2b3d-09e7-42fd-802a-17a13652fe7a -set "_key=489J6-VHDMP-X63PK-3K798-CPX3Y" &:: Enterprise -exit /b - -:8a26851c-1c7e-48d3-a687-fbca9b9ac16b -set "_key=GT63C-RJFQ3-4GMB6-BRFB9-CB83V" &:: Itanium -exit /b - -:f772515c-0e87-48d5-a676-e6962c3e1195 -set "_key=736RG-XDKJK-V34PF-BHK87-J6X3K" &:: MultiPoint Server - ServerEmbeddedSolution -exit /b - -:: Office 2021 -:fbdb3e18-a8ef-4fb3-9183-dffd60bd0984 -set "_key=FXYTK-NJJ8C-GB6DW-3DYQT-6F7TH" &:: Professional Plus -exit /b - -:080a45c5-9f9f-49eb-b4b0-c3c610a5ebd3 -set "_key=KDX7X-BNVR8-TXXGX-4Q7Y8-78VT3" &:: Standard -exit /b - -:76881159-155c-43e0-9db7-2d70a9a3a4ca -set "_key=FTNWT-C6WBT-8HMGF-K9PRX-QV9H8" &:: Project Professional -exit /b - -:6dd72704-f752-4b71-94c7-11cec6bfc355 -set "_key=J2JDC-NJCYY-9RGQ4-YXWMH-T3D4T" &:: Project Standard -exit /b - -:fb61ac9a-1688-45d2-8f6b-0674dbffa33c -set "_key=KNH8D-FGHT4-T8RK3-CTDYJ-K2HT4" &:: Visio Professional -exit /b - -:72fce797-1884-48dd-a860-b2f6a5efd3ca -set "_key=MJVNY-BYWPY-CWV6J-2RKRT-4M8QG" &:: Visio Standard -exit /b - -:1fe429d8-3fa7-4a39-b6f0-03dded42fe14 -set "_key=WM8YG-YNGDD-4JHDC-PG3F4-FC4T4" &:: Access -exit /b - -:ea71effc-69f1-4925-9991-2f5e319bbc24 -set "_key=NWG3X-87C9K-TC7YY-BC2G7-G6RVC" &:: Excel -exit /b - -:a5799e4c-f83c-4c6e-9516-dfe9b696150b -set "_key=C9FM6-3N72F-HFJXB-TM3V9-T86R9" &:: Outlook -exit /b - -:6e166cc3-495d-438a-89e7-d7c9e6fd4dea -set "_key=TY7XF-NFRBR-KJ44C-G83KF-GX27K" &:: PowerPoint -exit /b - -:aa66521f-2370-4ad8-a2bb-c095e3e4338f -set "_key=2MW9D-N4BXM-9VBPG-Q7W6M-KFBGQ" &:: Publisher -exit /b - -:1f32a9af-1274-48bd-ba1e-1ab7508a23e8 -set "_key=HWCXN-K3WBT-WJBKY-R8BD9-XK29P" &:: Skype for Business -exit /b - -:abe28aea-625a-43b1-8e30-225eb8fbd9e5 -set "_key=TN8H9-M34D3-Y64V9-TR72V-X79KV" &:: Word -exit /b - -:: Office 2019 -:85dd8b5f-eaa4-4af3-a628-cce9e77c9a03 -set "_key=NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP" &:: Professional Plus -exit /b - -:6912a74b-a5fb-401a-bfdb-2e3ab46f4b02 -set "_key=6NWWJ-YQWMR-QKGCB-6TMB3-9D9HK" &:: Standard -exit /b - -:2ca2bf3f-949e-446a-82c7-e25a15ec78c4 -set "_key=B4NPR-3FKK7-T2MBV-FRQ4W-PKD2B" &:: Project Professional -exit /b - -:1777f0e3-7392-4198-97ea-8ae4de6f6381 -set "_key=C4F7P-NCP8C-6CQPT-MQHV9-JXD2M" &:: Project Standard -exit /b - -:5b5cf08f-b81a-431d-b080-3450d8620565 -set "_key=9BGNQ-K37YR-RQHF2-38RQ3-7VCBB" &:: Visio Professional -exit /b - -:e06d7df3-aad0-419d-8dfb-0ac37e2bdf39 -set "_key=7TQNQ-K3YQQ-3PFH7-CCPPM-X4VQ2" &:: Visio Standard -exit /b - -:9e9bceeb-e736-4f26-88de-763f87dcc485 -set "_key=9N9PT-27V4Y-VJ2PD-YXFMF-YTFQT" &:: Access -exit /b - -:237854e9-79fc-4497-a0c1-a70969691c6b -set "_key=TMJWT-YYNMB-3BKTF-644FC-RVXBD" &:: Excel -exit /b - -:c8f8a301-19f5-4132-96ce-2de9d4adbd33 -set "_key=7HD7K-N4PVK-BHBCQ-YWQRW-XW4VK" &:: Outlook -exit /b - -:3131fd61-5e4f-4308-8d6d-62be1987c92c -set "_key=RRNCX-C64HY-W2MM7-MCH9G-TJHMQ" &:: PowerPoint -exit /b - -:9d3e4cca-e172-46f1-a2f4-1d2107051444 -set "_key=G2KWX-3NW6P-PY93R-JXK2T-C9Y9V" &:: Publisher -exit /b - -:734c6c6e-b0ba-4298-a891-671772b2bd1b -set "_key=NCJ33-JHBBY-HTK98-MYCV8-HMKHJ" &:: Skype for Business -exit /b - -:059834fe-a8ea-4bff-b67b-4d006b5447d3 -set "_key=PBX3G-NWMT6-Q7XBW-PYJGG-WXD33" &:: Word -exit /b - -:0bc88885-718c-491d-921f-6f214349e79c -set "_key=VQ9DP-NVHPH-T9HJC-J9PDT-KTQRG" &:: Pro Plus 2019 Preview -exit /b - -:fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9 -set "_key=XM2V9-DN9HH-QB449-XDGKC-W2RMW" &:: Project Pro 2019 Preview -exit /b - -:500f6619-ef93-4b75-bcb4-82819998a3ca -set "_key=N2CG9-YD3YK-936X4-3WR82-Q3X4H" &:: Visio Pro 2019 Preview -exit /b - -:f3fb2d68-83dd-4c8b-8f09-08e0d950ac3b -set "_key=HFPBN-RYGG8-HQWCW-26CH6-PDPVF" &:: Pro Plus 2021 Preview -exit /b - -:76093b1b-7057-49d7-b970-638ebcbfd873 -set "_key=WDNBY-PCYFY-9WP6G-BXVXM-92HDV" &:: Project Pro 2021 Preview -exit /b - -:a3b44174-2451-4cd6-b25f-66638bfb9046 -set "_key=2XYX7-NXXBK-9CK7W-K2TKW-JFJ7G" &:: Visio Pro 2021 Preview -exit /b - -:: Office 2016 -:829b8110-0e6f-4349-bca4-42803577788d -set "_key=WGT24-HCNMF-FQ7XH-6M8K7-DRTW9" &:: Project Professional C2R-P -exit /b - -:cbbaca45-556a-4416-ad03-bda598eaa7c8 -set "_key=D8NRQ-JTYM3-7J2DX-646CT-6836M" &:: Project Standard C2R-P -exit /b - -:b234abe3-0857-4f9c-b05a-4dc314f85557 -set "_key=69WXN-MBYV6-22PQG-3WGHK-RM6XC" &:: Visio Professional C2R-P -exit /b - -:361fe620-64f4-41b5-ba77-84f8e079b1f7 -set "_key=NY48V-PPYYH-3F4PX-XJRKJ-W4423" &:: Visio Standard C2R-P -exit /b - -:e914ea6e-a5fa-4439-a394-a9bb3293ca09 -set "_key=DMTCJ-KNRKX-26982-JYCKT-P7KB6" &:: MondoR -exit /b - -:9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce -set "_key=HFTND-W9MK4-8B7MJ-B6C4G-XQBR2" &:: Mondo -exit /b - -:d450596f-894d-49e0-966a-fd39ed4c4c64 -set "_key=XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99" &:: Professional Plus -exit /b - -:dedfa23d-6ed1-45a6-85dc-63cae0546de6 -set "_key=JNRGM-WHDWX-FJJG3-K47QV-DRTFM" &:: Standard -exit /b - -:4f414197-0fc2-4c01-b68a-86cbb9ac254c -set "_key=YG9NW-3K39V-2T3HJ-93F3Q-G83KT" &:: Project Professional -exit /b - -:da7ddabc-3fbe-4447-9e01-6ab7440b4cd4 -set "_key=GNFHQ-F6YQM-KQDGJ-327XX-KQBVC" &:: Project Standard -exit /b - -:6bf301c1-b94a-43e9-ba31-d494598c47fb -set "_key=PD3PC-RHNGV-FXJ29-8JK7D-RJRJK" &:: Visio Professional -exit /b - -:aa2a7821-1827-4c2c-8f1d-4513a34dda97 -set "_key=7WHWN-4T7MP-G96JF-G33KR-W8GF4" &:: Visio Standard -exit /b - -:67c0fc0c-deba-401b-bf8b-9c8ad8395804 -set "_key=GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW" &:: Access -exit /b - -:c3e65d36-141f-4d2f-a303-a842ee756a29 -set "_key=9C2PK-NWTVB-JMPW8-BFT28-7FTBF" &:: Excel -exit /b - -:d8cace59-33d2-4ac7-9b1b-9b72339c51c8 -set "_key=DR92N-9HTF2-97XKM-XW2WJ-XW3J6" &:: OneNote -exit /b - -:ec9d9265-9d1e-4ed0-838a-cdc20f2551a1 -set "_key=R69KK-NTPKF-7M3Q4-QYBHW-6MT9B" &:: Outlook -exit /b - -:d70b1bba-b893-4544-96e2-b7a318091c33 -set "_key=J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6" &:: Powerpoint -exit /b - -:041a06cb-c5b8-4772-809f-416d03d16654 -set "_key=F47MM-N3XJP-TQXJ9-BP99D-8K837" &:: Publisher -exit /b - -:83e04ee1-fa8d-436d-8994-d31a862cab77 -set "_key=869NQ-FJ69K-466HW-QYCP2-DDBV6" &:: Skype for Business -exit /b - -:bb11badf-d8aa-470e-9311-20eaf80fe5cc -set "_key=WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6" &:: Word -exit /b - -:: Office 2013 -:dc981c6b-fc8e-420f-aa43-f8f33e5c0923 -set "_key=42QTK-RN8M7-J3C4G-BBGYM-88CYV" &:: Mondo -exit /b - -:b322da9c-a2e2-4058-9e4e-f59a6970bd69 -set "_key=YC7DK-G2NP3-2QQC3-J6H88-GVGXT" &:: Professional Plus -exit /b - -:b13afb38-cd79-4ae5-9f7f-eed058d750ca -set "_key=KBKQT-2NMXY-JJWGP-M62JB-92CD4" &:: Standard -exit /b - -:4a5d124a-e620-44ba-b6ff-658961b33b9a -set "_key=FN8TT-7WMH6-2D4X9-M337T-2342K" &:: Project Professional -exit /b - -:427a28d1-d17c-4abf-b717-32c780ba6f07 -set "_key=6NTH3-CW976-3G3Y2-JK3TX-8QHTT" &:: Project Standard -exit /b - -:e13ac10e-75d0-4aff-a0cd-764982cf541c -set "_key=C2FG9-N6J68-H8BTJ-BW3QX-RM3B3" &:: Visio Professional -exit /b - -:ac4efaf0-f81f-4f61-bdf7-ea32b02ab117 -set "_key=J484Y-4NKBF-W2HMG-DBMJC-PGWR7" &:: Visio Standard -exit /b - -:6ee7622c-18d8-4005-9fb7-92db644a279b -set "_key=NG2JY-H4JBT-HQXYP-78QH9-4JM2D" &:: Access -exit /b - -:f7461d52-7c2b-43b2-8744-ea958e0bd09a -set "_key=VGPNG-Y7HQW-9RHP7-TKPV3-BG7GB" &:: Excel -exit /b - -:fb4875ec-0c6b-450f-b82b-ab57d8d1677f -set "_key=H7R7V-WPNXQ-WCYYC-76BGV-VT7GH" &:: Groove -exit /b - -:a30b8040-d68a-423f-b0b5-9ce292ea5a8f -set "_key=DKT8B-N7VXH-D963P-Q4PHY-F8894" &:: InfoPath -exit /b - -:1b9f11e3-c85c-4e1b-bb29-879ad2c909e3 -set "_key=2MG3G-3BNTT-3MFW9-KDQW3-TCK7R" &:: Lync -exit /b - -:efe1f3e6-aea2-4144-a208-32aa872b6545 -set "_key=TGN6P-8MMBC-37P2F-XHXXK-P34VW" &:: OneNote -exit /b - -:771c3afa-50c5-443f-b151-ff2546d863a0 -set "_key=QPN8Q-BJBTJ-334K3-93TGY-2PMBT" &:: Outlook -exit /b - -:8c762649-97d1-4953-ad27-b7e2c25b972e -set "_key=4NT99-8RJFH-Q2VDH-KYG2C-4RD4F" &:: Powerpoint -exit /b - -:00c79ff1-6850-443d-bf61-71cde0de305f -set "_key=PN2WF-29XG2-T9HJ7-JQPJR-FCXK4" &:: Publisher -exit /b - -:d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3 -set "_key=6Q7VD-NX8JD-WJ2VH-88V73-4GBJ7" &:: Word -exit /b - -:: Office 2010 -:09ed9640-f020-400a-acd8-d7d867dfd9c2 -set "_key=YBJTT-JG6MD-V9Q7P-DBKXJ-38W9R" &:: Mondo -exit /b - -:ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c -set "_key=7TC2V-WXF6P-TD7RT-BQRXR-B8K32" &:: Mondo2 -exit /b - -:6f327760-8c5c-417c-9b61-836a98287e0c -set "_key=VYBBJ-TRJPB-QFQRF-QFT4D-H3GVB" &:: Professional Plus -exit /b - -:9da2a678-fb6b-4e67-ab84-60dd6a9c819a -set "_key=V7QKV-4XVVR-XYV4D-F7DFM-8R6BM" &:: Standard -exit /b - -:df133ff7-bf14-4f95-afe3-7b48e7e331ef -set "_key=YGX6F-PGV49-PGW3J-9BTGG-VHKC6" &:: Project Professional -exit /b - -:5dc7bf61-5ec9-4996-9ccb-df806a2d0efe -set "_key=4HP3K-88W3F-W2K3D-6677X-F9PGB" &:: Project Standard -exit /b - -:92236105-bb67-494f-94c7-7f7a607929bd -set "_key=D9DWC-HPYVV-JGF4P-BTWQB-WX8BJ" &:: Visio Premium -exit /b - -:e558389c-83c3-4b29-adfe-5e4d7f46c358 -set "_key=7MCW8-VRQVK-G677T-PDJCM-Q8TCP" &:: Visio Professional -exit /b - -:9ed833ff-4f92-4f36-b370-8683a4f13275 -set "_key=767HD-QGMWX-8QTDB-9G3R2-KHFGJ" &:: Visio Standard -exit /b - -:8ce7e872-188c-4b98-9d90-f8f90b7aad02 -set "_key=V7Y44-9T38C-R2VJK-666HK-T7DDX" &:: Access -exit /b - -:cee5d470-6e3b-4fcc-8c2b-d17428568a9f -set "_key=H62QG-HXVKF-PP4HP-66KMR-CW9BM" &:: Excel -exit /b - -:8947d0b8-c33b-43e1-8c56-9b674c052832 -set "_key=QYYW6-QP4CB-MBV6G-HYMCJ-4T3J4" &:: Groove - SharePoint Workspace -exit /b - -:ca6b6639-4ad6-40ae-a575-14dee07f6430 -set "_key=K96W8-67RPQ-62T9Y-J8FQJ-BT37T" &:: InfoPath -exit /b - -:ab586f5c-5256-4632-962f-fefd8b49e6f4 -set "_key=Q4Y4M-RHWJM-PY37F-MTKWH-D3XHX" &:: OneNote -exit /b - -:ecb7c192-73ab-4ded-acf4-2399b095d0cc -set "_key=7YDC2-CWM8M-RRTJC-8MDVC-X3DWQ" &:: Outlook -exit /b - -:45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a -set "_key=RC8FX-88JRY-3PF7C-X8P67-P4VTT" &:: Powerpoint -exit /b - -:b50c4f75-599b-43e8-8dcd-1081a7967241 -set "_key=BFK7F-9MYHM-V68C7-DRQ66-83YTP" &:: Publisher -exit /b - -:2d0882e7-a4e7-423b-8ccc-70d91e0158b1 -set "_key=HVHB3-C6FV7-KQX9W-YQG79-CRY7T" &:: Word -exit /b - -:ea509e87-07a1-4a45-9edc-eba5a39f36af -set "_key=D6QFG-VBYP2-XQHM7-J97RH-VVRCK" &:: Small Business Basics -exit /b - -:TheEnd - -if %act_failed% EQU 1 ( -echo __________________________________________________________________ -echo. -call :_errorinfo -) - -echo. -if not defined _tskinstalled if not defined _oldtsk ( -if %winbuild% GEQ 9200 ( -call :leavenonexistentkms %nul% -echo Keeping the non-existent IP address 0.0.0.0 as KMS Server. -) else ( -call :Clear-KMS-Cache -) -) - -if defined _tskinstalled echo Renewal Task found, keeping the online KMS IP in the system. -if defined _oldtsk echo Renewal Task found, keeping the online KMS IP in the system. - -if defined _unattended exit /b - -echo ___________________________________________________________________ -echo. -call :_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b - -::======================================================================================================================================== - -:_errorinfo - -(set msg1=echo Try again and if the issue still persist then either use a^ -&echo different Internet connection or use this offline KMS activator^ -&echo KMS_VL_ALL by @abbodi1406 pastebin.com/raw/cpdmr6HZ -) - -call :CheckFR - -if !server_num! GTR %max_servers% ( -ping -n 1 one.one.one.one 1>nul || ping -n 1 resolver1.opendns.com 1>nul || ( -call :_color %_Red% "Unable to test KMS servers due to restricted or no Internet." -echo. -%msg1% -exit /b -) -) - -echo Restart the system and try again. -echo KMS server is not an issue in this case. -echo Check Troubleshooting steps in the ReadMe. -exit /b - -::======================================================================================================================================== - -:setserv - -:: Multi KMS servers integration and servers randomization - -set srvlist= -set -= - -set "srvlist=kms.kure%-%tru.com xincheng213%-%618.cn kms.six%-%yin.com kms.moec%-%lub.org kms.cgts%-%oft.com" -set "srvlist=%srvlist% kms.hen%-%g07.com kms.moey%-%uuko.com kms.lol%-%i.best kms.zhuxi%-%aole.org kms.ca%-%tqu.com" -set "srvlist=%srvlist% kms.lol%-%i.beer kms.ca%-%ry.tech kms.wx%-%lost.com kms.moeyu%-%uko.top kms.ghp%-%ym.com" - -set n=1 -for %%a in (%srvlist%) do (set %%a=&set server!n!=%%a&set /a n+=1) -set max_servers=15 -set /a server_num=0 -exit /b - -:getserv - -if %server_num% equ %max_servers% set /a server_num+=1&set KMS_IP=222.184.9.98&exit /b -set /a rand=%Random%%%(15+1-1)+1 -if defined !server%rand%! goto :getserv -set KMS_IP=!server%rand%! -set !server%rand%!=1 - -:: Get IPv4 address of KMS server to use for the activation, works even if ICMP echo is disabled. -:: Microsoft and Antivirus's may flag the issue if public KMS server host name is directly used for the activation. - -set /a server_num+=1 -(for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%a" -if [%KMS_IP%]==[!KMS_IP!] for /f "delims=[] tokens=2" %%# in ('pathping -4 -h 1 -n -p 1 -q 1 -w 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%#" -if not [%KMS_IP%]==[!KMS_IP!] exit /b -goto :getserv -) - -:========================================================================================================================================== - -:Clear-KMS-Cache - -set OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform -set SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform - -set _wApp=55c92734-d682-4d71-983e-d6ec3f16059f -set _oApp=0ff1ce15-a989-479d-af46-f275c6370663 -set _oA14=59a52881-a989-479d-af46-f275c6370663 - -%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName -%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort -%nul% reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing -%nul% reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching -%nul% reg delete "HKLM\%SPPk%\%_wApp%" /f -if %winbuild% GEQ 9200 ( -if defined notx86 ( -%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName /reg:32 -%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort /reg:32 -%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 -) -%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f -) -if %winbuild% GEQ 9600 ( -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f -) -%nul% reg delete "HKLM\%OPPk%" /f /v KeyManagementServiceName -%nul% reg delete "HKLM\%OPPk%" /f /v KeyManagementServicePort -%nul% reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing -%nul% reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching -%nul% reg delete "HKLM\%OPPk%\%_oA14%" /f -%nul% reg delete "HKLM\%OPPk%\%_oApp%" /f - -:: check KMS38 lock - -%nul% reg query "HKLM\%SPPk%\%_wApp%" && ( -set error_=9 -echo Failed to completely clear KMS Cache. -reg query "HKLM\%SPPk%\%_wApp%" /s 2>nul | findstr /i "127.0.0.2" >nul && echo Most likely, the KMS38 activation is locked. -) || ( -echo Cleared KMS Cache successfully. -) -exit /b - -:========================================================================================================================================= - -:leavenonexistentkms - -reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0" -reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" -reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing -reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching -if not defined _keepkms38 reg delete "HKLM\%SPPk%\%_wApp%" /f -if %winbuild% GEQ 9200 ( -if not %xOS%==x86 ( -reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0" /reg:32 -reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 -reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0" /reg:32 -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 -) -reg delete "HKLM\%SPPk%\%_oApp%" /f -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0" -reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" -) -if %winbuild% GEQ 9600 ( -reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f -reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f -) -reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "0.0.0.0" -reg delete "HKLM\%OPPk%" /f /v KeyManagementServicePort -reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing -reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching -reg delete "HKLM\%OPPk%\%_oA14%" /f -reg delete "HKLM\%OPPk%\%_oApp%" /f -goto :eof - -:========================================================================================================================================= - -:_Complete_Uninstall - -cls -mode con: cols=91 lines=30 -title Online KMS Complete Uninstall - -if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" if not defined _unattended ( -echo. -echo Are you sure? -echo. -choice /C:CG /N /M "[C] Complete uninstall [G] Go back : " -if errorlevel 2 exit /b -) -cls - -set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" - -set "_C16R=" -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" -for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" -if %winbuild% GEQ 9200 if defined _C16R ( -echo. -echo ## Notice ## -echo. -echo To make sure Office programs do not show a non-genuine banner, -echo please run the activation option once, and don't uninstall afterward. -echo __________________________________________________________________________________________ -) - -set error_= -echo. -call :Clear-KMS-Cache - -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( -echo Deleting [Task] Online_KMS_Activation_Script-Renewal -schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul% -) - -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && ( -echo Deleting [Task] Online_KMS_Activation_Script-Run_Once -schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul% -) - -If exist "%windir%\Online_KMS_Activation_Script\" ( -echo Deleting [Folder] %windir%\Online_KMS_Activation_Script\ -rmdir /s /q "%windir%\Online_KMS_Activation_Script\" %nul% -) - -if exist "%ProgramData%\Online_KMS_Activation.cmd" ( -echo Deleting [File] %ProgramData%\Online_KMS_Activation.cmd -del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul% -) - -reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% && ( -echo Deleting [Registry] HKCR\DesktopBackground\shell\Activate Windows - Office -Reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul% -) - -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && (set error_=1) -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (set error_=1) -If exist "%windir%\Online_KMS_Activation_Script\" (set error_=1) -reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" >nul 2>&1 && (set error_=1) -if exist "%ProgramData%\Online_KMS_Activation.cmd" (set error_=1) - -If exist "%ProgramData%\Online_KMS_Activation\" ( -echo Deleting [Folder] %ProgramData%\Online_KMS_Activation\ - -if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" ( -call :_color %_Yellow% "__________________________________________________________________________________" -echo. -echo This script is a part of 'Microsoft Activation Scripts' ^(MAS^) project. -echo. -echo Homepage: windowsaddict.ml -echo Email: windowsaddict@protonmail.com -call :_color %_Yellow% "__________________________________________________________________________________" -echo. -call :_color %_Yellow% "Press [9] key to exit..." -echo. -pushd \ -rmdir /s /q "%ProgramData%\Online_KMS_Activation\" %nul% -if exist "%ProgramData%\Online_KMS_Activation\" (set error_=1) - -if defined error_ ( -if [!error_!]==[1] powershell write-host -back 'Red' -fore 'White' 'Error found in complete uninstall.' -) else ( -echo Online KMS Complete Uninstall was done successfully. -) -choice /c 9 /n -if not errorlevel 1 rem. -exit -) else ( -rmdir /s /q "%ProgramData%\Online_KMS_Activation\" %nul% -if exist "%ProgramData%\Online_KMS_Activation\" (set error_=1) -) -) - -if defined error_ ( -if [%error_%]==[1] ( -echo __________________________________________________________________________________________ -%eline% -echo Try Again / Restart the System -echo __________________________________________________________________________________________ -) -) else ( -echo __________________________________________________________________________________________ -echo. -call :_color %Green% "Online KMS Complete Uninstall was done successfully." -echo __________________________________________________________________________________________ -) - -if defined _unattended exit /b - -echo. -call :_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b - -:========================================================================================================================================= - -:RenTask - -cls -mode con cols=91 lines=30 -title Install Activation Auto-Renewal - -set error_= -set "_dest=%ProgramData%\Online_KMS_Activation" -set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" - -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( -schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul% -) -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && ( -schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul% -) - -if exist "%_dest%\Activate_tsk.cmd" del /f /q "%_dest%\Activate_tsk.cmd" %nul% -if exist "%_dest%\Info.txt" del /f /q "%_dest%\Info.txt" %nul% -if exist "%_dest%\Info.html" del /f /q "%_dest%\Info.html" %nul% -if exist "%_dest%\Logs.txt" del /f /q "%_dest%\Logs.txt" %nul% - -If exist "%windir%\Online_KMS_Activation_Script\" ( -rmdir /s /q "%windir%\Online_KMS_Activation_Script\" %nul% -) - -set DelDeskCont= -If exist "%ProgramData%\Online_KMS_Activation.cmd" ( -reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul% -del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul% -if exist "%_dest%\Activate.cmd" del /f /q "%_dest%\Activate.cmd" %nul% -set DelDeskCont=1 -) - -if not exist "%_dest%\" md "%_dest%\" %nul% - -set "_temp=%SystemRoot%\Temp\_KMS_Task_Work" -if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% -md "%_temp%\" %nul% - -call :RenExport renewal "%_temp%\Renewal.xml" Unicode -if defined ActTask (call :RenExport run_once "%_temp%\Run_Once.xml" Unicode) -call :createinfo.html -call :RenExport _extracttask "%_dest%\Activate_tsk.cmd" ASCII -title Install Activation Auto-Renewal - -schtasks /create /tn "Online_KMS_Activation_Script-Renewal" /ru "SYSTEM" /xml "%_temp%\Renewal.xml" %nul% -if defined ActTask (schtasks /create /tn "Online_KMS_Activation_Script-Run_Once" /ru "SYSTEM" /xml "%_temp%\Run_Once.xml" %nul%) - -if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% - -::======================================================================================================================================== - -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul || (set error_=1) -if defined ActTask reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul || (set error_=1) - -If not exist "%_dest%\Activate_tsk.cmd" (set error_=1) -If not exist "%_dest%\Info.html" (set error_=1) - -if defined error_ ( - -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( -schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul% -) -reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && ( -schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul% -) - -if exist "%_dest%\Activate_tsk.cmd" del /f /q "%_dest%\Activate_tsk.cmd" %nul% - -echo _________________________________________________________________ -%eline% -echo Run the Online KMS Complete Uninstall option and then try again. -echo _________________________________________________________________ -) else ( -echo __________________________________________________________________________________________ -echo. -if defined DelDeskCont ( -call :_color %_Yellow% "Previous desktop context menu entry for Online KMS Activation was deleted." -echo. -) - -echo Files created: -echo %_dest%\Activate_tsk.cmd -echo %_dest%\Info.html -echo. -(if defined ActTask (echo Scheduled Tasks created:) else (echo Scheduled Task created:)) -echo \Online_KMS_Activation_Script-Renewal [Weekly] -if defined ActTask (echo \Online_KMS_Activation_Script-Run_Once) -echo __________________________________________________________________________________________ -echo. -echo Info: -echo Activation will be renewed every week if the Internet connection is found. -echo __________________________________________________________________________________________ -echo. -if defined ActTask ( -call :_color %Green% "Online KMS Activation - Renewal and Activation Tasks were successfully created." -) else ( -call :_color %Green% "Online KMS Activation - Renewal Task was successfully created." -) -echo. -call :_color %Gray% "Now, make sure to run the Activation option from the previous Menu." -echo __________________________________________________________________________________________ -) - -goto :RenDone - -::======================================================================================================================================== - -:RenContextMenu - -cls -mode con cols=91 lines=30 -title Add Desktop Context Menu - -if "!_batf!"=="%ProgramData%\Online_KMS_Activation\Activate_dcm.cmd" ( -%eline% -echo Desktop context menu for Online KMS is already installed. -goto :RenDone -) - -set error_= -set "_dest=%ProgramData%\Online_KMS_Activation" -set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" - -call :Rencheck cleanosppx64.exe cleanosppx86.exe -if defined _miss goto :RenDone - -If exist "%ProgramData%\Online_KMS_Activation.cmd" del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul% - -reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul% - -if not exist "%_dest%\BIN\" md "%_dest%\BIN\" %nul% - -if not exist "%_dest%\BIN\cleanosppx64.exe" copy /y /b "!_work!\BIN\cleanosppx64.exe" "%_dest%\BIN\cleanosppx64.exe" %nul% -if not exist "%_dest%\BIN\cleanosppx86.exe" copy /y /b "!_work!\BIN\cleanosppx86.exe" "%_dest%\BIN\cleanosppx86.exe" %nul% - -if exist "%_dest%\Activate_dcm.cmd" del /f /q "%_dest%\Activate_dcm.cmd" %nul% -if exist "%_dest%\Info.txt" del /f /q "%_dest%\Info.txt" %nul% -if exist "%_dest%\Info.html" del /f /q "%_dest%\Info.html" %nul% - -copy /y /b "!_batf!" "%_dest%\Activate_dcm.cmd" %nul% -call :createinfo.html -title Add Desktop Context Menu - -reg add "HKCR\DesktopBackground\shell\Activate Windows - Office" /v "Icon" /t REG_SZ /d "%SystemRoot%%\System32\shell32.dll,71" /f >nul 2>&1 || (set error_=1) -reg add "HKCR\DesktopBackground\shell\Activate Windows - Office\command" /ve /d "%_dest%\Activate_dcm.cmd" /f %nul% || (set error_=1) - -If not exist "%_dest%\Activate_dcm.cmd" (set error_=1) -If not exist "%_dest%\Info.html" (set error_=1) -If not exist "%_dest%\BIN\cleanosppx64.exe" (set error_=1) -If not exist "%_dest%\BIN\cleanosppx86.exe" (set error_=1) - -reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% || (set error_=1) - -if defined error_ ( -reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul% -if exist "%_dest%\Activate_dcm.cmd" del /f /q "%_dest%\Activate_dcm.cmd" %nul% -echo _________________________________________________________________ -%eline% -echo Run the Online KMS Complete Uninstall option and then try again. -echo _________________________________________________________________ -) else ( -echo __________________________________________________________________________________________ -echo. -echo Files created: -echo %_dest%\BIN\cleanosppx64.exe -echo %_dest%\BIN\cleanosppx86.exe -echo %_dest%\Activate_dcm.cmd -echo %_dest%\Info.html -echo. -echo Registry entry added: -echo HKCR\DesktopBackground\shell\Activate Windows - Office -echo __________________________________________________________________________________________ -echo. -call :_color %Green% "Desktop context menu entry for Online KMS Activation is successfully created." -echo __________________________________________________________________________________________ -) - -::======================================================================================================================================== - -:RenDone - -if defined _unattended exit /b - -echo. -call :_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b - -::======================================================================================================================================== - -:createinfo.html - -( -echo ^ -echo ^ -echo ^ -)>"%_dest%\Info.html" -exit /b - -::======================================================================================================================================== - -:renewal: - - - - Microsoft Corporation - 1999-01-01T12:00:00.34375 - RPO/WindowsAddict - 1.0 - Online_KMS_Activation_Script-Renewal - Weekly Activation Renewal Task - \Online_KMS_Activation_Script-Renewal - D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFX;;;LS)(A;;FRFW;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)(A;;FR;;;S-1-5-4) - - - - 1999-01-01T12:00:00 - true - - - - - 1 - - - - - - S-1-5-18 - HighestAvailable - - - - IgnoreNew - false - false - true - true - true - - false - false - - true - true - true - false - false - true - false - PT10M - 7 - - PT2M - 3 - - - - - %ProgramData%\Online_KMS_Activation\Activate_tsk.cmd - Task - - - -:renewal: - -:run_once: - - - - Microsoft Corporation - 1999-01-01T12:00:00.34375 - RPO/WindowsAddict - 1.0 - Online_KMS_Activation_Script-Run_Once - Run and Delete itself on first Internet Contact - \Online_KMS_Activation_Script-Run_Once - D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFX;;;LS)(A;;FRFW;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)(A;;FR;;;S-1-5-4) - - - - true - - - - - S-1-5-18 - HighestAvailable - - - - IgnoreNew - false - false - true - true - true - - false - false - - true - true - true - false - false - true - false - PT10M - 7 - - PT2M - 3 - - - - - %ProgramData%\Online_KMS_Activation\Activate_tsk.cmd - Task - - - -:run_once: - -::======================================================================================================================================== - -:: Echo all the missing files. - -:Rencheck - -set _miss= -for %%# in (%1 %2) do (if not exist "!_work!\BIN\%%#" (if defined _miss (set "_miss=!_miss! %%#") else (set "_miss=%%#"))) -if defined _miss ( -%eline% -echo Following required file^(s^) is missing in 'BIN' folder. Aborting... -echo. -echo !_miss! -) -exit /b - -::======================================================================================================================================== - -:: Extract the text from batch script without character and file encoding issue - -:RenExport - -%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" -exit /b - -::======================================================================================================================================== - -:_extracttask: -@echo off - -:: Renew KMS activation with Online KMS servers via scheduled task - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - -if not "%~1"=="Task" ( -echo. -echo ====== Error ====== -echo. -echo This file is supposed to be run only by the scheduled task. -echo. -echo Press any key to exit -pause >nul -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -::======================================================================================================================================== - -set _tserror= -set "nul=>nul 2>&1" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" - -set run_once= -set t_name=Renewal Task -reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && ( -set run_once=1 -set t_name=Run Once Task -) - -setlocal EnableDelayedExpansion -if exist "%ProgramData%\Online_KMS_Activation\" call :_taskstart>>"%ProgramData%\Online_KMS_Activation\Logs.txt" & exit - -::======================================================================================================================================== - -:_taskstart - -echo. -echo %date%, %time% - -set /a loop=1 -set /a max_loop=4 - -call :_tasksetserv - -:_intrepeat - -:: Check Internet connection. Works even if ICMP echo is disabled. - -for %%a in (%srvlist%) do ( -for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( -if not [%%#]==[] goto _taskIntConnected -) -) - -nslookup dns.msftncsi.com 2>nul | find "131.107.255.255" 1>nul -if [%errorlevel%]==[0] goto _taskIntConnected - -if %loop%==%max_loop% ( -set _tserror=1 -goto _taskend -) - -echo. -echo Error: Internet is not connected -echo Waiting 30 seconds - -timeout /t 30 >nul -set /a loop=%loop%+1 -goto _intrepeat - -:_taskIntConnected - -::======================================================================================================================================== - -:: Check not x86 Windows - -set notx86= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b -if /i not "%arch%"=="x86" set notx86=1 - -::======================================================================================================================================== - -set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" -set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" - -set "slp=SoftwareLicensingProduct" -set "ospp=OfficeSoftwareProtectionProduct" - -set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f" -set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663" -set "_oA14=59a52881-a989-479d-af46-f275c6370663" - -::======================================================================================================================================== - -:: Clean existing KMS cache from the registry / Set port value to 1688 - -%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName -%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" -%nul% reg delete "HKLM\%SPPk%\%_wApp%" /f -if %winbuild% GEQ 9200 ( -if defined notx86 ( -%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 -%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 -%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 -) -%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f -%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" -) -if %winbuild% GEQ 9600 ( -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f -) -%nul% reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" -%nul% reg delete "HKLM\%OPPk%\%_oA14%" /f -%nul% reg delete "HKLM\%OPPk%\%_oApp%" /f - -::======================================================================================================================================== - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%_wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%_wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -set _tserror=1 -echo. -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo. -echo Script will try to enable these services. -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -) - -::======================================================================================================================================== - -:: Check installed volume products activation ID's - -call :_taskgetids sppwid %slp% windows -call :_taskgetids sppoid %slp% office -call :_taskgetids osppid %ospp% office - -::======================================================================================================================================== - -echo. -echo Renewing KMS activation for all installed Volume products - -if not defined sppwid if not defined sppoid if not defined osppid ( -echo. -echo No installed Volume Windows / Office product found -echo. -echo Renewing KMS server -call :_taskgetserv -call :_taskregserv -goto :_skipact -) - -::======================================================================================================================================== - -:: Check KMS38 activation - -set gpr=0 -set _kms38=0 -if defined sppwid if %winbuild% GEQ 14393 ( -set _path=%slp% -set _actid=%sppwid% -call :_taskgetgrace -) - -if %gpr% NEQ 0 if %gpr% GTR 259200 ( -set _kms38=1 -call :_taskchkEnterpriseG _kms38 -) - -:: Set specific KMS host to Local Host so that global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions. - -if %_kms38% EQU 1 ( -%nul% reg add "HKLM\%SPPk%\%_wApp%\%sppwid%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" -%nul% reg add "HKLM\%SPPk%\%_wApp%\%sppwid%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" -) - -::======================================================================================================================================== - -echo. -if defined sppwid ( -set _path=%slp% -set _actid=%sppwid% -call :_actprod -call :_act act_win -call :_actinfo act_win -) else ( -echo Checking: Volume version of Windows is not installed -) - -if defined sppoid ( -set _path=%slp% -for %%# in (%sppoid%) do ( -echo. -set _actid=%%# -call :_actprod -call :_act -call :_actinfo -) -) - -if defined osppid ( -set _path=%ospp% -for %%# in (%osppid%) do ( -echo. -set _actid=%%# -call :_actprod -call :_act -call :_actinfo -) -) - -if not defined sppoid if not defined osppid ( -echo. -echo Checking: Volume version of Office is not installed -) - -:_skipact - -::======================================================================================================================================== - -if defined run_once ( -echo. -echo Deleting Scheduled Task Online_KMS_Activation_Script-Run_Once -schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul% -) - -::======================================================================================================================================== - -:_taskend - -echo. -echo Exiting -echo ______________________________________________________________________ - -if defined _tserror (exit /b 123456789) else (exit /b 0) - -::======================================================================================================================================== - -:_act - -set errorcode=12345 -set /a act_attempt=0 - -:_act2 - -if %act_attempt% GTR 4 exit /b - -if not [%act_ok%]==[1] ( -call :_taskgetserv -call :_taskregserv -) - -if not !server_num! GTR %max_servers% ( - -if [%1]==[act_win] if %_kms38% EQU 1 ( -set act_ok=1 -exit /b -) - -if %winbuild% LSS 22483 wmic path !_path! where ID='!_actid!' call Activate %nul% -if %winbuild% GEQ 22483 %_psc% "try {$null=(([WMISEARCHER]'SELECT ID FROM !_path! where ID=''!_actid!''').Get()).Activate(); exit 0} catch { exit $_.Exception.InnerException.HResult }" - -call set errorcode=!errorlevel! - -if !errorcode! EQU 0 ( -set act_ok=1 -exit /b -) -if [%1]==[act_win] if !errorcode! EQU -1073418187 if %winbuild% LSS 9200 ( -set act_ok=1 -exit /b -) - -set act_ok=0 -set /a act_attempt+=1 -goto _act2 -) -exit /b - -:_actprod - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%x in ('"wmic path !_path! where ID='!_actid!' get Name /VALUE" 2^>nul') do call echo Activating: %%x -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%x in ('%_psc% "(([WMISEARCHER]'SELECT Name FROM !_path! WHERE ID=''!_actid!''').Get()).Name | %% {echo ('Name='+$_)}" 2^>nul') do call echo Activating: %%x -exit /b - -::======================================================================================================================================== - -:_actinfo - -if [%1]==[act_win] if %_kms38% EQU 1 ( -echo Windows is activated with KMS38 -exit /b -) - -if %errorcode% EQU 12345 ( -echo Product Activation Failed -echo Unable to test KMS servers due to restricted or no Internet -set _tserror=1 -exit /b -) - -if %errorcode% EQU -1073418187 ( -echo Product Activation Failed: 0xC004F035 -if [%1]==[act_win] if %winbuild% LSS 9200 echo Windows 7 cannot be KMS-activated on this computer due to unqualified OEM BIOS -exit /b -) - -if %errorcode% EQU -1073417728 ( -echo Product Activation Failed: 0xC004F200 -echo Windows needs to rebuild the activation-related files. -echo See KB2736303 for details. -set _tserror=1 -exit /b -) - -set gpr=0 -set gpr2=0 -call :_taskgetgrace -set /a "gpr2=(%gpr%+1440-1)/1440" - -if %errorcode% EQU 0 if %gpr% EQU 0 ( -echo Product Activation succeeded, but Remaining Period failed to increase. -if [%1]==[act_win] if %winbuild% LSS 9200 echo This could be related to the error described in KB4487266 -set _tserror=1 -exit /b -) - -set _actpass=1 -if %gpr% EQU 43200 if [%1]==[act_win] if %winbuild% GEQ 9200 set _actpass=0 -if %gpr% EQU 64800 set _actpass=0 -if %gpr% GTR 259200 if [%1]==[act_win] call :_taskchkEnterpriseG _actpass -if %gpr% EQU 259200 set _actpass=0 - -if %errorcode% EQU 0 if %_actpass% EQU 0 ( -echo Product Activation Successful -echo Remaining Period: %gpr2% days ^(%gpr% minutes^) -exit /b -) - -cmd /c exit /b %errorcode% -if %errorcode% NEQ 0 ( -echo Product Activation Failed: 0x!=ExitCode! -) else ( -echo Product Activation Failed -) -echo Remaining Period: %gpr2% days ^(%gpr% minutes^) -set _tserror=1 -exit /b - -::======================================================================================================================================== - -:_taskgetids - -set %1= -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %2 where (Name like '%%%3%%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %2 WHERE Name like ''%%%3%%'' and Description like ''%%KMSCLIENT%%'' and PartialProductKey is not NULL').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined %1 (call set "%1=!%1! %%a") else (call set "%1=%%a")) -exit /b - -:_taskgetgrace - -set gpr=0 -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('"wmic path !_path! where ID='!_actid!' get GracePeriodRemaining /VALUE" 2^>nul') do call set "gpr=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM !_path! where ID=''!_actid!''').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" 2^>nul') do call set "gpr=%%#" -exit /b - -:_taskchkEnterpriseG - -for %%# in (e0b2d383-d112-413f-8a80-97f373a5820c e38454fb-41a4-4f59-a5dc-25080e354730) do (if %sppwid%==%%# set %1=0) -exit /b - -::======================================================================================================================================== - -:_taskregserv - -%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" -%nul% reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" - -:: Thanks to @dialmak for Office non-genuine banner solution -:: forum.ru-board.com/topic.cgi?forum=35&topic=81283&start=6080#19 - -if %winbuild% GEQ 9200 ( -%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" -if defined notx86 ( -%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 -%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 -) -) -exit /b - -::======================================================================================================================================== - -:_tasksetserv - -:: Multi KMS servers integration and servers randomization - -set srvlist= -set -= - -set "srvlist=kms.kure%-%tru.com xincheng213%-%618.cn kms.six%-%yin.com kms.moec%-%lub.org kms.cgts%-%oft.com" -set "srvlist=%srvlist% kms.hen%-%g07.com kms.moey%-%uuko.com kms.lol%-%i.best kms.zhuxi%-%aole.org kms.ca%-%tqu.com" -set "srvlist=%srvlist% kms.lol%-%i.beer kms.ca%-%ry.tech kms.wx%-%lost.com kms.moeyu%-%uko.top kms.ghp%-%ym.com" - -set n=1 -for %%a in (%srvlist%) do (set %%a=&set server!n!=%%a&set /a n+=1) -set max_servers=15 -set /a server_num=0 -exit /b - -:_taskgetserv - -if %server_num% geq %max_servers% (set /a server_num+=1&set KMS_IP=222.184.9.98&exit /b) -set /a rand=%Random%%%(15+1-1)+1 -if defined !server%rand%! goto :_taskgetserv -set KMS_IP=!server%rand%! -set !server%rand%!=1 - -:: Get IPv4 address of KMS server to use for the activation, works even if ICMP echo is disabled. -:: Microsoft and Antivirus's may flag the issue if public KMS server host name is directly used for the activation. - -set /a server_num+=1 -(for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%a" -if [%KMS_IP%]==[!KMS_IP!] for /f "delims=[] tokens=2" %%# in ('pathping -4 -h 1 -n -p 1 -q 1 -w 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%#" -if not [%KMS_IP%]==[!KMS_IP!] exit /b -goto :_taskgetserv -) - -:: Ver:1.5 -::======================================================================================================================================== -:_extracttask: - -:====================================================================================================================================================== - -:_Check_Status_wmi -:_Check_Status_wmi_txt: - - - - - - - - - - - - - - - - - - -:_Check_Status_wmi_txt2: -:kacttxt: - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:cleanospp: Compressed2TXT v6.3 -$k='.,;{-}[+](/)_|^=?O123456789ABCDeFGHyIdJKLMoN0PQRSTYUWXVZabcfghijklmnpqrstuvwxz!@#$&~E<*`%\>'; Add-Type -Ty @' -using System.IO;public class BAT91{public static void Dec(ref string[] f,int x,string fo,string key){unchecked{int n=0,c=255,q=0 -,v=91,z=f[x].Length; byte[]b91=new byte[256]; while(c>0) b91[c--]=91; while(c<91) b91[key[c]]=(byte)c++; using (FileStream o=new -FileStream(fo,FileMode.Create)){for(int i=0;i!=z;i++){c=b91[f[x][i]]; if(c==91)continue; if(v==91){v=c;}else{v+=c*91;q|=v<88){n+=13;}else{n+=14;}v=91;do{o.WriteByte((byte)q);q>>=8;n-=8;}while(n>7);}}if(v!=91)o.WriteByte((byte)(q|v< - -:cleanospp:[ -::AVEYO...Q5u2......*D........j}?.d,..;>_}..O}..v;qGy+yK;.......Q56S6)f}v;nrMFzHJebzC2r2y@IR5?bp~]..p...l|....u|O.I>Q5q8b@m]Ds&#Vk|p<-!2\K$]GsyK=@uf2e[.iJc}qT+>Ph~K3.#I3;;[,.^.uEuCSZ(aAE7KKEl-g)IoDSqELE.y6w7)d2ik8!#;xQ1z2.%]APz_..}V0RT;YkLxte6hCe!z7cXup8Z88{\2f8=Pna,L-F<2BBhs.9\w@}1INx1/m;2wXi!fe/,b>3]1t^J7]w~]YQYLxl}FEs|{autWtHu8Zp!x`_*\p!vRh4;>..F7->s/B#]m)EPNG/w0A$OOS=s{|2,V}6%9tQEIh37=/keUZ9qH$0{9}RnE~,P_h8LS^J=,mrkq+QtrIiV^_v2O+YKI#OsW`6Jp3uR%T?<&6}U.$i_-S|tsI)A{A8A7)Ro\.zs.<_iOC.qs$VBy7vGpR*%[w@ffzZ!CppP=.z_$C!C&5p<6?)B5!!%^mxHy0q%l&fb*wn##JY|iW.1Ra;sQj!9JORB$CR<6u.X?SeSAipH\d?mtgnBrtZvdZ4+Z@cK1NwsQ_^=Ji.h,cK`&i!ZY@LZ9|U$YngSRw1[\C6nBYZWFM6F,7~PBkx2,YfdDCS>03)(yn{sVii*_H)xlcM+RK3I4ZzcwLrX/{6YBK*rf+_GCFXFjR/#g7toZ[$4*.lrSH0\[y#^%ub7.Z& -::WyRL~bTL`685r_w/l5t_we)]RL{WV~0Gcerz.*44h=Ak*\I^0FDE&sXSdmx/RC#0{P[qRQB|Bl*SV|^#-B4LLxh2uE[mH-B,`FcKvAZZWs%a`cjMJWTd.K;[aF5CSi]{[jr?1ucN-OBnc%sZ=5aY{5H%\m=<$UiU?IRQ-|Pj^;o+EZHDmK7E?Za$zkJhdZ\vuqPA5]TlqP}c_3kpe+|*ux`~S0oz;ezH54\b62Oee9;zGGV)-\{yPasOL`=?i>!8(`5[Rty[gPZQn869Kgi*bYJx#0S?&07<3WSN!lBba2_~l2P>G4ANo+KITny\Nm/bgQsbIz=!tVil.21cLp^<\5UD>;aEK}\8W]^/fQ@Z|hlpZVvGfGrK[M{POy{YmhKeMGg\;e!*`7wp*qKGuq&(Lo0b.+%@l~NRW(S^|!#o5dC,bn&@?T1wn>X)ZEU*`oXi[7w]W[yyaa)1Y{|dDuA~9(^K,\P)(].TfNa30!mSKAIlQUKY=)al7n`T>`;nAB_wYgG6nK`Hn=mOWfLbD{&1tAMmN0y$LTNWov\?sO!-BOh02QhE3?iopO+G2ZTwZqPJN08}H6\>=jg3T#nAxXd*])O]WB_caew@?9!L1Vp_1)U-W|4CyNfdI3GV+<)iBFbB@,*.t*vU%{^UrP7Fa_)FE\I@l4T|IB]s@>XT^BiqYP,`JmW`/AD5JeGc/z%HnvL^%6^7gxGnmd6rqWZvY#Vq4C_;i$NIZ~,DrV*uPR|-%%\e);rLR!v+K|}iL=o`j]ScZRIAlDYmk0,ADmCZBCEZ?jhw&$(LP15FG*T2TUX%D+ZwJ^WWA_BT)Bn,>C.NkY7a6mnDHIX{=5rb*&bW3fTng95)8XlwV|sle^U|]JI~(qf!HZktQ/RG[$YxLP8{D0lX?)Fl>-avn1(O]K?XVEuu&}A2=H>JpS3zQ,QfOpvkvAeUd$+zMvwt+rR*=?6H}NM`l\u3H3E,OYDI=[{S-z*w$I+Gz2na4~?zj6MF>xXGx{VW&mw`9XWU\~KH5e2k,G_G7@Q8}Swp@y$*qN](]KTjV@Ew;m=<0!2?}MvWe>*pJBrm2;&Y,o90mZtSKBYu]<&-Y3J?(Ot;z_#pM*$[j!*Iggf!Z}1F-z8nfZ_&9ad%0TZkr3\+{dC8keiH~Nee+h%-xc}A+,t()%,/*<\|mu3,}Wj{hF_T*a}Ml+XMwlI|a7=ky]%2[ckY}#~y(`\8T2JUaFFX@7$9LcyiyWznl|?+J\~^a~7~)|2&I~GpST(#)Ss]qk_~=h%k.c~!T_7^At!y2^Y*1RZ=f}zq^Tzw$V\Y[[Fj6(_sJBt~\>Zj2;Fj9 -::Dupk1EuI.MWtDYeSX@q36JIhTbNRw{AeM]+?7%/A;![&D,CRa)oQt.`@7vESa/v/iJOIh%[fbHkE8lBQ\d0~s<J^RikG<~*$y!Rr{at#WthL4x<=6U!8b{FlG}4VkEa/?Vd}>{\.uyeInH}n8n1{A)18adnE1,ac`BdhEf}kdx13Lz(yMJd+c!$g~9XZVg4n`#!D\;A8~XzIy~J44FZ@CJX`7rx\7o#q2cFW5IiL(dc,<\{)%k<3,8]@`HQ,k,DzSij4j_f2XW%cVcpsD&vZK}l?Sz$Nk}q_JGB~*qovn`iP[sN5Bh;K8bBht=UmS|44Z|fxHQ/EQ`&$@lSI;FiGX/bWUh;_lD5\(anZEwl%duHxqL5!Y?wcw~LR%?d~ImQgH`,-?|~C2ae!FBn4pz>Yajjdzv\]#v>a=&/rS%cjO,KN20K[Nd!,_$hDVA}}=&yAtO_5L;V{)|plFw9YAa`-EJbn\sw6?oO+Nd7bTEW(eB-,)ZMni2ily\mp\Y!CIloe#k*)o.,ed|-49PR9@4S?.+=Tkw1R.81#=QJ3b?^$@S*L_+tA(L$@[X+5?`M5(T@)ugqp]l_{EZ#1d]e#AV?o7K=[5v//o)>@P%VMO},AUkp[UJB3MLl\(Qm.X~l8=$6Gq)0{EKYc|!\~o$xX7O@QbX7HZ2Nnoz7saM%[nGcl,dB?7LJGm2d=a`dpD6%}\)r(EJ8$GNGJ2r8+4[}ZxV\r}#cf04\D``x0Z@K&Uwl6u6+Lu/W%G4ddVYMnzO-*3dZ#7!)=N7|B2{!@efFUre<|h2(l2^tkKAp[*Q}Zl&!Z#~lw^qkprFPv~vBGz~H);A{!]|3LNpD?T7~$[Nd*g*rpkeQ0+hdwt9Z=h{?Y!;ol*O&9N1Oa8dLjzmEZNQc?sZd9k@iLC=`4MG?UbGDA[MKY_B?zO0GvTmn)d-hd@buZ~wMOgF1/)s+c.&xieLo//t|x9Sjba?BLzlTzVc\#Lp9^x;=%X9=*UNkn)FsKxb=Hni<.a;Qvg.Z>y!0x_g94}[7iSDhXiN%z.bM3]a7EsY{+j#9uj|o>lfUwM$|#QO{}<{kHsqk6W6.#\yiV@%2bivkx291W0KN$Qz%2]Iy~G]SRr?a\.fzGHMB;DEXFO*w{6rFN{dD|q~QsPG`t[lx8!yQme^OGq9yp}.Rjku)S@b7V4I=p/%J}leN-~c4^z]Oge3Ewi-KB3Nqu*R+Q5$|8&5p8cXlu^WY6lB$+hYI/o*Nx6jl+m#K#@jn9FpZz{EVAGc1~b2Mrf_u&PH!le*K2[cQ+WD?F8#B58=_6xcS}/%,Wl|O>Z7k!U0fF_~Ub+M?)lc$94,jV]gw1PijzSjCVq=3)H&-fd/iJtqAHX(X\j<3XYtMDRt}\3Ey>r58Yi?uT_z`AGKSZdeuFIYF^QY+3n^wcgF<&6Cz,#cj-DXftH@Sx+unM-(0/XM\XB=~*=x*6}SVYjM!|.3%%Bj_M|#sjC|*dTu{3Pr_toq28Lf2ev~8RE69w!`78B|]Kqs~in,Mk`1GKqc\Ky}fpyd -::*[trJR+]i;pV=zK$}%@~L>\i\\p[33=6V?Bp1GDW~bnI*uf{#4xq[]8;E|P@_c1GJAz4YuiFz}D/A4v}4~ANel,c`#CP!-mX>ZxJ|CKL\s]XO}^HdmSXkCZH&8;=+TWK!J^hOSwYft|7F9&faK&3XFOoAUPnhj6NNxeh6zt}nrTN9z1a.(&sn@j~!|[|8Z;2g^CV6@z.E$C_s`cP!4n5(?JThA[DPB6FC]ck>Rra.Sase|&-,*}f(9Q(ei7J`#Id,QPpB.=x?o`_\`7j(k#^PxmBa`!g4(^F[;vI0@qoTA5t]o(kjZubJHc)R;I6L(Q/-|mUSgyh?`Zd{3OYVRxgeV%DUi;d6PG|(6P\q(#nuBXt{GkH1+B^XCufNRsp_c#B\%N\S+BH#;tSQOGp]X}rw -::5E8h`;QKtH#-|p1s6-5vftZGS/EBwn0Rxx?=/ykq`{=;gg#$,_M-Dly3jV3iPC&fA6P)j+;SH9r6]P!i!p>XuUkrwLv$,@lXt%vN.g,pJp&KH_vLKsMuPRP)lrV9=?%W~5BWB,.qA4+Zd^yD_]5So[zPNZjQf7c(7V|DsrEr7#n1HuRO-CFbWLTrc7T]$_mSQaCRFu3y47MjE/,p]_GjxISK.Y>CpK[8M$s{ofgb/<#gV)L2S=-;eP/F\,X1c^u}A4J+[|vK~iEDq,wai<&P9E_e-D8=>RlS3FaxJ;,^NYa#\9HehKI*o[&)p3lsqO8AF^x!4&}|,s?*T&O]?mtPT?D8hvP}WW.eo%@vg]PLg]HO%uFd#J#y8((e;;=deySsr^+jBR0RlOdjRkZ9YuFci)BJrnoU7&CYdWGV/KvPcG!;A3jof#gu0tW8~geu@d*Oyp}SF*-uPf/G$5T]Ae/(C;~g_,lNRrF1#;)piPG7M_yjIWKvqrU=W<^mReji2z9[.068~tJjn;D|,C;InF)hLhRYH__xzC`3;1NBv=.5O=5`Egt?iWk9NpnMa1z,a={M[V=qgc[,&j&qPFF;1Gx3F$b5@UR6nJ,;y0w[^/NwgiYJMI,VSeuyi/w7Z2E2qqwh8N96m}rrcmXTU^n3aqQ2S3yUJ!ExYF~b -::8k)S[=CDM}$|3a(WS;>m,@1[fTGc^W8fMsUH+bG#/Xw,[=j59U>[;oF8doOGU(@FR!&gi_\,/7~q1M8o.=a@w7cMf#BXGaO-ixWFyO(-vSn>IS0gU<-QA.e3+8i=@70|obrU|+\GYC|f!XfMHI%9ByToU1[c\OCp9G_;?f]js5k(>B6D3UJfJYWUvsu1Hr!O=I8SFd!prYTE^~2{3CKSM=coAB/www9K2<_,KkZ^;%3p]?![?hF]]e^%fHUsR24uvg9zoVRE~=dqMkGb~L{tG6uO8q&ZV6@];J)4WQHcyKxvh4kcE8l@%[y9&;xB#eP{hRd|qOtzFn/PRU#$<=jY[Dngn{Xv4uNaW|Qgpv-DqI6PYnc@ut[F)c/~$,pDWKP*Mw|fH5BdTT^2#YvToXp4](gPLV2!wO#$tmMXz?gTto`7}}P;2?%aCdFH*!?[uUib\4&|1jS$p17&zUBLY_z%tz0i}l&HmzUVvoYUPqBT+YDu^k#O9C=62lFAnbP2qWh,^D^@NU?1$jkVJx!5on~NpHRQ(Jj8iMpOls@Zft=M;Qz`=83GqF!R^Sn!8.Q.jy;Zrk~ehz=0s4_f/~$r_ -::4/|UT+^]()Jgf?1,^hSZx5Y_uNE9H3VVijpG$6^DGgl-d.>1xw~c_iZ>lCp`l)/OrOottQw9Q<|M+5T&q;._tX}fCJ_IjwT>lW>pL;(v8deUqqF1E(%Ua0=B^,fhFybOMl3f7}PEc;9|~,Q-*[y.gq3I}6Zy\Rd;]!FFzn-3zG9U{}k6[o?#cpb0D![m0u8]e1zH#u`%OY3rt>Wxy0rmpD_}hE%zh?E\R{VxD31-\P]Fh$p^?,z!d675Pgb;^4>J*ny!?wGWAQh,0Zc1RZ[ihuDZ&1feA8yMuy~o3P\aJa7F3+e=8xSZKUMF9ol2#PTGb}EivmFDdKSY/@j=2Ol+2p_c8R/8Me#_x.S[(&Tyoya<&d<1Wl^yp&F|$PdGyb^6Tyi~|7X`qz}Q~2wZ8L1J%s#Yp0Et]is./6@X-stdozPW*dN91y^FhZg`U4DnZRyDnc55?;9zd1/z$NA*2m,v|8/GkS8m}Ia5EK|iExm,1sc73qrTS-]Q_=3Ir$SM(7?o#s|`?MS,}h#QWcAN\+TYA3-5a$$7I_l -::Jsm|T12&sJ=LA2{c,L-m+$i1`ScPizNL!1BT6[bF*s%w4qTRto%sBz{Ne%J4VLWZuJHpdv+YVLtV-6O]uL)789pmwcbcxMZj4/~$x9b/JlC/a&LFBGw*]rglxvVG`Y2]9/f-U45Ja~L*441#Qo7ZIU`ueLj?3UXcu26pa}%{\p8jA-[h=x_n9u!,[uPf+3=Wg\fN]dXZApOCDI?,@+a%wE0XngP>s-Qvzmiv)V4q#@O&d\gGYCEZ=}0x5R.Awt*%M4~4~BgpsJ\tR%;vkEch>!?Jda,_)pmKm4JL`p!s%_2L67l$;VXVw^Q4f4+bK`D#i>q&h{[c#XZ~{UhX5)_sA1u`59]yXn6O.G]s$@NvK[W;,u+v_*TXRrMdPT-jPm7aFT_W+BJi8i$EED*h{arRMOH?=1DS5568X6bzYEnh(jF&oe8$ay5HO;YOo3EvG[ON|5p~nwF}).R{O8,;+W17Jv%=`s6OV@QM-y59(3H-fTA~QR^QC/F[&(MTfr8;d\*OtTfqLs8necZh+5/3AJd=3suJuVceb!g%A=cQ!Mvx7q$DKVB2^P22,lI]1(tr)2t~~t$MYR&R5EBKIdP{.b;\)r/m>-Pk3h_uac1~9l}wlFh&tlB+o^+V~9OhsEiRmmwi\]zDP`4Q_+^-5p7&l$cDbwJ*}<~F!g_t0WEZNoDV5jwY%),PfN8Un@n,.b5D6_>qOf$Q>u,fU?;([7_-WG,>NP..yR3;D)CZ0(|ZEVl/ -::Jn}FUkOT)uIk@I7tr{]_wyfodWbC(b66i)2wG|ilLTKd#9C0R&,gDE*j.g)gV_GcpY^EODTBL~l~L+Z0#b4{]`/,WS)5j5FJ,7LQU-WH_0Z,za7vtqRO!_^[i03V5^YLU{|!X)bf*`r*9R7i1R1w^8jm2m;F1W6Bn#vfXO}#4^((`v6PZ3@6&[m9CbA^Ed+cw)b7W8+hqjS8CTk/P\~o)aT_oz_&5P4J%FH5BUl[`5A&GN9Md71>L$uoB>OI1=oGjYU3&&)u{,sxac!Z)K2Ub{1!7g2?o^3>Y2c]|.]?28SyW#c}+h7\WTv;8Z5v\o)=;N9me(.!7ktqAX(e8s]8ez}8qt(>TeGvGP<98K;.7k\*+tcF~Q!y5x@X!yo~?mU/sJ)wNn@bfq9YM+\D^n{xh#Q!!!hv0|%a$thLJ)R2wbC(=/_6f#I.k*uog;-.%}DX.I`Wm8Ta^NIe;$s!fZ{}nq1].u#4W&dK1/XIt08>kgVDAIVV8uPGA{_$#[xQ5pQ096V7KR0ZLW\X@.5\E!ELd6mw%x\Is-`EX|$[Gw},^?Y%|/MNLx|XJ~2Pstn]2^)l!yohpX\bCr**t-h&/vIK5wBP%fBHBt&pNDF&^-]MQhjOw=729`$fq=J-0B].Yo*&Km?_6iIN^lYl.^WXKU>ehTlVjy,ozWN8DO(& -::2w$EdvM)v5i&gIP!e0jjE/}&hTWK`JhK6(VfK=M@%AFkedXi(8@2BMwp`qEXrHXH)4FVSc~Q)h}G$b,w_o}qBSTrCDfFBiHzUI00{}Agr1Hu[X|wvz=zEi^\Pp+n{&ka[~L+`+K}18+ALX8K)sgmul~f%N#[@mmY].HWIyO9b?~K@IQ\e[G>D]I2!lh9ZF=*R1=1GK3y9u.yM&oB8l}/&Df$8s!&yI\EvMv(+/T$=DJUMmts$b>I\)>9>K|4BXL1tQ/ng~1>l=$3yC2cScpTXucwu{QHIAE1M0QwN0;}#@8H+f-)HV.Wdf!*Ejy@?iLG=u-h$bT\3}thUwPDdWOey8&B=S%}K\*LHxb;!~$CbF4LK)`^)Sz?aOzf(b34H4r*z~Ua_Mc,60}cdr.TtE]h,c}8$qtW?VCs$tp@)qz5hC-p|`kVoY{H(--X@d]ct\{lVBvuA2b3ci6&+@riqNyD<9SEL8VBB^=Cw<K4A%xVuHT.6E%[F(lecOMTGQY;| -::|hE@m`SD+4G]?G(g2/ztG3XU\G-iM<+u|KeMMh]hg<[c*^K[{0UUr1z$S&2=g4wcp!^k@L^kI_bRV*Euc2AFwxnc_LjOBO(gp<\IfMUzQ?#8VOLo*rqUYh`F1*/2&H\LeSylLi0ck+<9gM##W?Oe,(n-ctzHH-A~c}M$CxCr~#WePpWppC<&f-~=NURw\ZK@n,XZo%LCYes}(\ZhQrsuru2)bro[(lm);M5}.&8(K9tLz_cIPo2icgn|Y5&)AXS@<8%B_oA]2Ue=9mH3h0Pd0HbRnGcmAr(I]R~qf|eRTj%%&&7(N?~=z1mbtHp|gk;d|oeaLAdd2axuQ>;LR`VV8PvYqU`z10D/F6E>*Fbg[n86Ns\mh&uQ)y,NMYK@Gh]+_s3opEJ0efpid.rZ#[>-0S|jVPke*LOU,Afk!{1[<$8@E%PM7yg*PlRhJAmbNe~cDGv>7>%^NY?B!u]!jeXjG2sbT?7}ngz}(`]wk9bvgLT^t`3c1+0dd;e69awr3f2@%&F$Ve|@L<7]w~4xS.hJ|EHbx!>e&F\thGGWY11{ZqI|g]ibbYUHMHn^T[qM~@c\ui7L$AJnyS0*4 -::+{U({z,LwH[`f8eub[yTgShzExq|iA\ZVP~F]%#]+>xZb[I=XyeAD!=510|E[pm1i\]*X~W4&r=uu(#METhm(/9Kqr=fygK+UQ/k\x-En_^*]%!QQZd2%iDi]s#23OWwIDJ<{X[GTH<2Khu7WG|6#X\cP6=%bM8rHF;c1GWhI-rt6w#X\R*,i#iIom51vOHz?=zzdKY<.rJc[*smZ|_bO0UUhOC5zM\?Ff6vy+byN~P$S8Y(`$+Tk{|,*1]1{l=hm;,ah_hp8jez7$1q!sRB]CSx5b\g]68cy=b!WAI}sb$#Pt_U)Zb-)pD&sg/unJoJ6,%kFd>KE.od;_2O0pB{c+h|h(5y8zK@`pkSmU(~IlgR,QMp=d_bi&`kSMK+s4OcE5^&*1WUR|G[x]AO$mVf!H\$MR9@]%cTyG2u6KYLfm*G-Bnd2&k829xzD!OA%4*`LE+xS9Q0XR%s,0v?]nIqw1Y#Avf/SHl!>zqQH]vh{=0kLmvJ-QNpNW5~r`o1Y*l?Vj![pd4}wxjco\7c(,idILL^#^SmM,PydE1aKu/+8O!-Sp1}D\Yv@.NRZm)qvyiHvE&/4o$!nMi(oL*h0I9Sj>76ZkHX|Uc{Fth{5|Ev?-M!dUc[e.n)T#kxX_buv}8wir+gAMwiP{;Yd8Gol3E3{h3t|3DO=xYU{WE]3/>^sc9${}1Ym*QxbMVbm;_j\^t{N-tvJzzNO)JIpE -::Zux8+{UUhqb)PrP`*vytFyp^psQ9$s7po?CxQ]v>knk-+{GJ*vNW}nGr0ixgeVs8XU\Dq3)UIC#?l)1cdu?oto)rwR\%vhfCl?9JaSn`hJFqEG4zY*krP=mwPOE*G|;`WIO{i<.]6~+4d-*TnFRvqkOH&evEKC@~wyhlWzm`,R0_4NT08C8E/p{Y\l\cq7puQ4S=\uN^n!`3lb%B^P}aK^{VelCKd1#WC{>f7SGiGX~Y/&bE=d?BM*I]r6iL!0TycDbl+/W?&-xHUK&Zc07~&/{o`CfggJ#uD+y1q&bdDA;I*J|HB9k9`1BXHoGCl%;0`&J{-jM$V=$+{^Ubo#zq`a3#k\Iu.|=fX&IzWr*+um+|]0_m{.UR4E4hS{6)!MvH>`I%7i1!S!F\Y`[5T&rUB)*P(r!(w`WM/r#l}cetE8M*^KsN?V8P[@99vR^jPREqTd[i\(bb]8diif_BX8-2Zq$/l(jijL=/uP^^yzMQ\#S$ -::bx(;LY8sQSg>KoBjS(m#r^]JQF`R)Kg=c]Vp^!++@L>K3OjCiGND;=%LqK/w4]G>V[?eK$NF.S,>LDo%v>KuKt^Kt24DD4_AuAK#Xu>M$M1aNV6MuWE^fFV_MlQx\i,%d1mC!b|LOibK-qI>yoBw_qfvtbH|!=E&07*\wzDkR1Y\0m%1_/[K7fRRX92J70xI<]FA8R=-KY#6O/LwYYQS.-o|KYo\<^Ser+{7^ED37V_g=eTOddl+(D\*m^?!Mp&l;!#ppgEU=RR0hns4QUK}O3^Vrz/;zO#=/WSm.k~uBgR###.7BQ];Hk_PPFt*iq5WJ\hv2u(K,ui*KU_#?\e5leay@~bp9bET5xkRDhL,Nl\gNvV&/3pj)\]<;g4IK-Rjn0Ra.,/|;bQI|0`]FL.%F].8R%T,.AHQo|l~x]tUCQjXsn;[)U+Cr|@[j>l#CEUf8iFs52Y3xo,R{`QuFe&Lc`,VP7$X/vq91EWJkCt.hPJ%eR(}aA5Em-JNrZfn](yPqU2sz$}Nq$}X/uavcZ@Q_E88}54/<3t+ptqL-XVf1Gp?2HvlFl0^+m-b1LF1NTp?i@75tg1f9.u~8U(SN{%&ldm~7,K&04oD@E}GvrVf!Cl}E^Zk613~sayWQr6UAfL\sz_?X#I+O8ZU?&I@c@3>ez`b=6Y%v]f5q_rFZ+mSuN\jL4YzM7E^*y&>w~_*t5N(lC\#R|SrAeZZ~>X.q!p1G4$vK71F}z*ZrPQ4&jphs+o-~NHwxJ=%cc4?~`5+7%|#ZRNy4,I;)5\6~Jw/BF}~\@~hmO>UI#0}`\o&`2as4+\tEBq,/3T%0!0M\p`&RWT)B&d?>@d7gmwVi2Qy=33-PF}Eohb);qu4o~G]?~`+P=pD8Ka@2]SEh)6x/8\jUT5b.}}P$,P9d@R}7qVwjb$Gpz[GX5^*[;WQQ>;auO8*62]h##&+In+TaM%X-XEzf~fm)_!-g0!$ -::oQ9@S$D5ZN3%u*\>$Yk9f?2A;2^z\,xqa1VdFdPJk4xXWJ?1.Wd]#w,hlakOZN(N(#+{k[ROb6=X5;^1lVK!T,$H0->OMm%w2MOQU(BwdO5s;OBJ*7;!|{o#_gOiCm9sjMP@Gw@s5Ogv,\ig_!n??Ee8PmOb}A.n.Jm!uC>,;4lY5M/?.IZ7Rnq}B-oQycS.V]b}-Pi(xE0=?;?Pr!T.v]h__,@5TPF[(q$({9>}i7+sQQ(S}(HPBK=[EIdKknk|$n7+{-5lLaZ_TMss,qY/{&oGm%=Hi[`?J,%Ge{TXtQxK$}CTw@=^+qwXT}>hF{uXZU,7X,@X^;Q,a){v0B*Ye);S$uDqxPzXX_8.D[ -:cleanospp:] - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:troubleshoot - -@setlocal DisableDelayedExpansion -@echo off - -cls -color 07 -title Activation Troubleshoot - -set _elev= -if /i "%~1"=="-el" set _elev=1 - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -call :_colorprep - -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set ospp=OfficeSoftwareProtectionProduct -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -set cbs_log=%SystemRoot%\logs\cbs\cbs.log -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" -set "line=_________________________________________________________________________________________________" - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -::======================================================================================================================================== - -:: Check desktop location - -set desktop= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" -if not defined desktop for /f "delims=" %%a in ('%_psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" - -if not defined desktop ( -%eline% -echo Desktop location was not detected, aborting... -goto at_done -) - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -:at_menu - -cls -color 07 -title Activation Troubleshoot -mode con cols=77 lines=30 - -echo: -echo: -echo: -echo: _______________________________________________________________ -echo: -echo: [1] Troubleshoot ReadMe - HWID -echo: [2] Troubleshoot ReadMe - KMS38 -echo: [3] Troubleshoot ReadMe - Online KMS -echo: ___________________________________________________ -echo: -echo: [4] Dism RestoreHealth -echo: [5] SFC Scannow -echo: -echo: [6] Windows Rearm - Specific SKU ID -echo: [7] Office Rearm - Specific KMS SKU ID -echo: -echo: [8] Clean ClipSVC Licences -echo: [9] Rebuild Licensing Tokens -echo: -echo: [F] Office License Is Not Genuine - Notification -echo: -echo: [0] Go Back -echo: _______________________________________________________________ -echo: -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard :" -choice /C:123456789F0 /N -set _erl=%errorlevel% - -if %_erl%==11 exit /b -if %_erl%==10 start https://windowsaddict.ml/office-license-is-not-genuine &goto at_menu -if %_erl%==9 goto:retokens -if %_erl%==8 goto:cleanclipsvc -if %_erl%==7 goto:officerearm -if %_erl%==6 goto:rearmwin -if %_erl%==5 goto:sfcscan -if %_erl%==4 goto:dism_rest -if %_erl%==3 start https://windowsaddict.ml/readme-troubleshoot-onlinekms.html &goto at_menu -if %_erl%==2 start https://windowsaddict.ml/readme-troubleshoot-kms38.html &goto at_menu -if %_erl%==1 start https://windowsaddict.ml/readme-troubleshoot-hwid.html &goto at_menu -goto :at_menu - -::======================================================================================================================================== - -:dism_rest - -cls -mode 98, 30 -title Dism /Online /Cleanup-Image /RestoreHealth - -if %winbuild% LSS 9200 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. -goto :at_back -) - -set _int= -for %%a in (dns.msftncsi.com,www.microsoft.com,one.one.one.one,resolver1.opendns.com) do ( -if not defined _int (for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do if not [%%#]==[] set _int=1)) - -echo: -if defined _int ( -echo Checking Internet Connection [Connected] -) else ( -call :_color2 %_White% " " %Red% "Checking Internet Connection [Not connected]" -) - -echo %line% -echo: -echo Dism uses Windows Update to provide the files required to fix corruption. -echo This will take 5-15 minutes or more.. -echo %line% -echo: -echo Notes: -echo: -call :_color2 %_White% " - " %Gray% "Make sure the Internet is connected." -call :_color2 %_White% " - " %Gray% "Make sure the Windows update is properly working." -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 110, 30 -echo: - -call :_stopservice TrustedInstaller -del /s /f /q "%SystemRoot%\logs\cbs\*.*" - -set _time= -for /f %%a in ('%_psc% "Get-Date -format HH_mm_ss"') do set _time=%%a -echo: -echo Applying the command, -echo dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 -echo: -dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 - -if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% -copy /y /b "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" "!desktop!\AT_Logs\RHealth_DISM_%_time%.txt" %nul% -copy /y /b "%cbs_log%" "!desktop!\AT_Logs\RHealth_CBS_%_time%.txt" %nul% -del /f /q "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" %nul% - -echo: -call :_color %Gray% "CBS and DISM logs are copied to the AT_Logs folder on the dekstop." -goto :at_back - -::======================================================================================================================================== - -:sfcscan - -cls -mode 98, 30 -title sfc /scannow - -echo: -echo %line% -echo: -echo System File Checker will repair missing or corrupted system files. -echo This will take 10-15 minutes or more.. -echo: -echo If SFC could not fix something, then run the command again to see if it may be able -echo to the next time. Sometimes it may take running the sfc /scannow command 3 times -echo restarting the PC after each time to completely fix everything that it's able to. -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -echo: - -call :_stopservice TrustedInstaller -del /s /f /q "%SystemRoot%\logs\cbs\*.*" - -set _time= -for /f %%a in ('%_psc% "Get-Date -format HH_mm_ss"') do set _time=%%a -echo: -echo Applying the command, -echo sfc /scannow -echo: -sfc /scannow - -if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% - -copy /y /b "%cbs_log%" "!desktop!\AT_Logs\SFC_CBS_%_time%.txt" %nul% -findstr /i /c:"[SR]" %cbs_log% | findstr /i /v /c:verify >"!desktop!\AT_Logs\SFC_Main_%_time%.txt" - -echo: -call :_color %Gray% "CBS and main extracted logs are copied to the AT_Logs folder on the dekstop." -goto :at_back - -::======================================================================================================================================== - -:rearmwin - -cls -mode 98, 30 -title Windows Rearm - Specific SKU ID - -if %winbuild% LSS 9600 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. -goto :at_back -) - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Rearm helps in troubleshooting activation issues. -echo: -echo - Windows KMS activation will reset. -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 105, 30 -echo: -echo: -set app= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do call set "app=%%a" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).ID | %% {echo ('ID='+$_)}" 2^>nul') do call set "app=%%a" - -if defined app ( -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%x in ('"wmic path %slp% where ID='%app%' get Name /VALUE" 2^>nul') do echo Rearming: %%x -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%x in ('%_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE ID=''%app%''').Get()).Name | %% {echo ('Name='+$_)}" 2^>nul') do echo Rearming: %%x -echo: -echo Applying the command, -if %winbuild% LSS 22483 ( -echo wmic path %slp% where ID='%app%' call ReArmsku -wmic path %slp% where ID='%app%' call ReArmsku %nul% -) -if %winbuild% GEQ 22483 ( -echo Powershell "$null=([WMI]'%slp%=''%app%''').ReArmsku()" -%_psc% "$null=([WMI]'%slp%=''%app%''').ReArmsku()" %nul% -) -if !errorlevel!==0 ( -call :_color %Green% "[Successful]" -) else ( -call :_color %Red% "[Failed]" -) -) else ( -call :_color %Red% "Error- Activation ID not found" -) - -goto :at_back - -::======================================================================================================================================== - -:officerearm - -cls -mode 98, 30 -title Office Rearm - Specific KMS SKU ID - -if %winbuild% LSS 9600 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. -goto :at_back -) - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Rearm helps in troubleshooting activation issues. -echo: -echo - Office KMS activation will reset. -echo: -call :_color2 %_White% " - " %Gray% "Office rearm can be applied only a certain number of times." -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 105, 30 -echo: - -net start sppsvc /y %nul% -call :getapplist %slp% - -if defined applist ( -for %%# in (%applist%) do ( -echo: -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%x in ('"wmic path %slp% where ID='%%#' get Name /VALUE" 2^>nul') do echo Rearming: %%x -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%x in ('%_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE ID=''%%#''').Get()).Name | %% {echo ('Name='+$_)}" 2^>nul') do echo Rearming: %%x -echo: -echo Applying the command, -if %winbuild% LSS 22483 ( -echo wmic path %slp% where ID='%%#' call ReArmsku -wmic path %slp% where ID='%%#' call ReArmsku %nul% -) -if %winbuild% GEQ 22483 ( -echo Powershell "$null=([WMI]'%slp%=''%%#''').ReArmsku()" -%_psc% "$null=([WMI]'%slp%=''%%#''').ReArmsku()" %nul% -) -if !errorlevel!==0 ( -call :_color %Green% "[Successful]" -) else ( -call :_color %Red% "[Failed]" -) -) -) else ( -echo: -echo Checking: Volume version of Office 2013-2021 is not found. -) - -call :getapplist %ospp% - -if defined applist ( -if %winbuild% LSS 9200 (set _off=Office) else (set _off=Office 2010) -echo: -echo Skipping the Rearm of OSPP based '!_off!' -) - -goto :at_back - -:getapplist - -set applist= -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %1 where (Name like '%%office%%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %1 WHERE Name like ''%%office%%'' and Description like ''%%KMSCLIENT%%'' and PartialProductKey is not NULL').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) -exit /b - -::======================================================================================================================================== - -:retokens - -cls -mode 98, 30 -title Rebuild Licensing Tokens ^& Re-install System License Files - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Rebuild Licensing Tokens ^& Re-install System License Files -echo It helps in troubleshooting activation issues. -echo: -call :_color2 %_White% " - " %Gray% "Windows and Office activation may reset, you may need to activate them again." -echo: -call :_color2 %_White% " - " %Magenta% "This option will uninstall Office licenses and keys." -call :_color2 %_White% " " %Magenta% "Installed Office will need to repair itself ones upon opening an office app," -call :_color2 %_White% " " %Magenta% "you may also need to repair Office from Apps and Features in Windows Settings." -echo: -call :_color2 %_White% " - " %Gray% "Script is designed to skip rebuilding tokens where products may not be able to" -call :_color2 %_White% " " %Gray% "restore their license." -echo: -call :_color2 %_White% " - " %Red% "Apply it only when it is necessary." -echo: -echo %line% -echo: -choice /C:24 /N /M "> [4] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 98, 30 - -set nosup= -set 68=HKLM\SOFTWARE\Microsoft\Office -set 86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office - -%nul% reg query %68%\16.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2016 MSI x86-x64 -%nul% reg query %86%\16.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2016 MSI x86 -%nul% reg query %68%\15.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2013 MSI x86-x64 -%nul% reg query %86%\15.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2013 MSI x86 -%nul% reg query %68%\14.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2010 MSI x86-x64 -%nul% reg query %86%\14.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2010 MSI x86 -%nul% reg query %68%\14.0\CVH /f Click2run /k && set nosup=1 REM Office 2010 C2R x86-x64 -%nul% reg query %86%\14.0\CVH /f Click2run /k && set nosup=1 REM Office 2010 C2R x86 - -if %winbuild% GEQ 10240 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msoxmled.exe" %nul% && ( -dir /b "%ProgramFiles%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set nosup=1 REM Office UWP x86-x64 -dir /b "%ProgramW6432%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set nosup=1 REM Office UWP x86 -) - -sc qc osppsvc %nul% && ( -if %winbuild% LSS 9200 (set _off=Office) else (set _off=Office 2010) -echo: -echo Skipping rebuilding OSPP tokens for detected '!_off!' -) - -echo: -if defined nosup ( -echo Detected Office may not be able to repair itself, hence skipping SPP tokens rebuilding... -goto :at_back -) - -net start sppsvc /y %nul% - -call :at_permcheck Office -if defined _perm ( -echo Office is permanently activated, token rebuilding may deactivate it, hence skipping... -goto :at_back -) - -if %winbuild% LSS 10240 ( -call :at_permcheck Windows -if defined _perm ( -echo Windows is permanently activated, token rebuilding may deactivate it, hence skipping... -goto :at_back -) -) - -set token= -for %%# in ( -%Systemdrive%\Windows\System32\spp\store_test\2.0\tokens.dat -%Systemdrive%\Windows\System32\spp\store\tokens.dat -%Systemdrive%\Windows\System32\spp\store\2.0\tokens.dat -%Systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\tokens.dat -) do if exist %%# set token=%%# - -echo %line% -echo: -call :_color %Gray% "Rebuilding SoftwareProtectionPlatform tokens.dat" -echo %line% -echo: - -if not exist "%token%" ( -%eline% -echo tokens.dat file not found. -echo Restart the system and try again. -goto :at_back -) else ( -echo Detected tokens.dat file [%token%] -) - -echo Stopping sppsvc service... -call :_stopservice sppsvc - -:: data.dat and cache files are not deleted since doing that may corrupt the office license in a way that only reinstallation can fix - -del /f /q %token% %nul% -if exist %token% ( -call :_stopservice sppsvc -del /f /q %token% %nul% -) - -echo: -if exist %token% ( -call :_color %Red% "Failed to delete the tokens.dat file." -) else ( -echo tokens.dat file was successfully deleted. -) - -echo: -echo Reinstalling System Licenses [slmgr /rilc]... -cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% && ( -echo [Successful] -) || ( -call :_color %Red% "[Failed]" -) - -echo: -if exist %token% ( -call :_color %Green% "tokens.dat file was rebuilt successfully." -) else ( -call :_color %Red% "Failed to rebuilt tokens.dat file." -) - -goto :at_back - -:at_permcheck - -set _perm= -if %winbuild% LSS 22483 wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "%1" 1>nul && set _perm=1||set _perm= -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "%1" 1>nul && set _perm=1||set _perm= -exit /b - -::======================================================================================================================================== - -:cleanclipsvc - -cls -mode 98, 30 -title Clean ClipSVC Licences - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 10/11 and their Server equivalent.. -goto :at_back -) - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Cleaning ClipSVC Licences helps in troubleshooting HWID-KMS38 activation issues. -echo: -call :_color2 %_White% " - " %Gray% "All installed HWID-KMS38 licences will be cleaned from the system." -echo This will remove KMS38 license from the system but HWID license can't be removed. -echo: -echo - System restart is recommended after applying it. -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -echo: - -echo Stopping ClipSVC service... -call :_stopservice ClipSVC -timeout /t 2 %nul% - -:: Thanks to @mspaintmsi for informing this command info - -echo: -echo Applying the command to Clean ClipSVC Licences... -echo rundll32 clipc.dll,ClipCleanUpState - -rundll32 clipc.dll,ClipCleanUpState - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" %nul% - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( -call :_color %Red% "[Failed]" -) else ( -call :_color %Green% "[Successful]" -) - -:: Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after -:: system restart. It needs to be deleted to activate the system without restart. - -set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" - -call :regown "%RegKey%" %nul% -reg delete "%RegKey%" /f %nul% - -echo: -echo Deleting a Volatile ^& Protected Registry Key... -echo [%RegKey%] -reg query "%RegKey%" %nul% && ( -call :_color %Red% "[Failed]" -echo Restart the system, that will delete this registry key automatically. -) || ( -call :_color %Green% "[Successful]" -) - -echo: -echo Restarting [ClipSVC wlidsvc LicenseManager sppsvc] services... -for %%# in (ClipSVC wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) - -::======================================================================================================================================== - -:at_back - -echo: -echo %line% -echo: -call :_color %_Yellow% "Press any key to go back..." -pause >nul -goto :at_menu - -::======================================================================================================================================== - -:at_done - -echo: -echo Press any key to go back... -pause >nul -exit /b - -::======================================================================================================================================== - -:_stopservice - -for %%# in (%1) do ( -sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% -sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% -) -exit /b - -::========================================================================================================================================\ - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of PowerShell is installed. - -:regown - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} -$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:insert_hwidkey - -@setlocal DisableDelayedExpansion -@echo off - -cls -color 07 -title Install Windows 10-11 Retail/MAK/OEM Key - -set _unattended=0 - -::======================================================================================================================================== - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Green="42;97m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Green="DarkGreen" "white"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -set "line=echo ___________________________________________________________________________________________" - -::======================================================================================================================================== - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11. -goto ins_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto ins_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -mode 98, 30 -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -if %_unattended%==0 ( -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -:: Check SKU value - -set osSKU= -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -if not defined osSKU ( -%eline% -echo SKU value was not detected properly. Aborting... -goto ins_done -) - -::======================================================================================================================================== - -:: Detect key - -set key= -set _chan= - -if defined applist call :hwiddata attempt1 -if not defined key call :hwiddata attempt2 - -if not defined key ( -%eline% -echo Unable to find Key for [%winos% ^| SKU:%osSKU% ^| %winbuild%] -if %winbuild% GTR 19044 echo Make sure you are using updated version of the script -goto ins_done -) - -::======================================================================================================================================== - -if %_unattended%==1 goto insertkey - -cls -%line% -echo: -echo Install [%winos% ^| SKU:%osSKU% ^| %winbuild%] %_chan% Key -echo [%key%] -%line% -echo: -call :dk_color %_Green% "Press [1] to Continue or [2] to Go Back" -choice /C:21 /N -if %errorlevel%==1 exit /b -cls - -::======================================================================================================================================== - -:insertkey - -cls -%line% - -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not %errorlevel%==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if %errorlevel%==0 ( -call :dk_refresh -echo: -echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] -echo Installing %_chan% Key [%key%] -echo: -call :dk_color %Green% "[Successful]" -) else ( -%eline% -echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] -echo Installing %_chan% Key [%key%] -echo: -call :dk_color %Red% "[Unsuccessful]%actidnotfound%" -) -%line% - -::======================================================================================================================================== - -:ins_done - -echo: -if %_unattended%==1 timeout /t 2 & exit /b -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:change_edition - -@setlocal DisableDelayedExpansion -@echo off - -cls -color 07 -title Change Windows 10-11 Edition - -set _elev= -if /i "%~1"=="-el" set _elev=1 - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Magenta="45;97m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Magenta="Darkmagenta" "white"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -set "line=echo ___________________________________________________________________________________________" - -::======================================================================================================================================== - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11. -goto ced_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto ced_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -mode 98, 30 -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Check Windows Server version - -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( -%eline% -echo Windows Server version is not supported. -goto ced_done -) - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check Windows Edition - -set osedition= -for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a" - -cls -if "%osedition%"=="" ( -%eline% -echo OS Edition was not detected properly. Aborting... -goto ced_done -) - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -set _target= -for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _target (set "_target=!_target! %%a") else (set "_target=%%a")) - -if not defined _target ( -%line% -echo: -call :dk_color %Gray% "Target Edition not found." -echo Current Edition [%osedition% ^| %winbuild%] can not be changed to any other Edition. -%line% -goto ced_done -) - -::======================================================================================================================================== - -%line% -echo: -call :dk_color %Gray% "You can change the Current Edition [%osedition%] to one of the following." -%line% -echo: -for %%# in (%_target%) do echo %%# -%line% -echo: -call :dk_color %_Green% "Press [1] to Continue or [2] to Go Back" -choice /C:21 /N - -if %errorlevel%==1 exit /b -cls - -::======================================================================================================================================== - -%line% -echo: -call :dk_color %Gray% "Current Edition - [%osedition%]" -echo: -for %%# in (%_target%) do ( -choice /C:NY /N /M "Do you want to change to the [%%#] edition? [Y,N] : " -if [!errorlevel!]==[2] ( -set targetedition=%%# -goto ced_change -) -) - -%line% -goto ced_done - -::======================================================================================================================================== - -:ced_change - -cls -set key= -set _changepk=1 - -call :changeeditiondata - -if not defined key ( -%eline% -echo [%targetedition% ^| %winbuild%] -echo Unable to find this product key in the supported product list. -if %winbuild% GTR 19044 echo Make sure you are using updated version of the script -goto ced_done -) - -::======================================================================================================================================== - -%line% - -:: Changing from Core to Non-Core & Changing editions in Windows build older than 17134 requires "changepk /productkey" method and restart -:: In other cases, editions can be changed instantly with "slmgr /ipk" - -if %_changepk%==1 ( -echo %_chan% | find /i "OEM" >NUL && ( -%eline% -echo [%osedition%] can not be changed to [%targetedition%] Edition due to lack of non OEM keys. -echo Non-OEM keys are required to change from Core to Non-Core Editions. -goto ced_done -) -for %%a in (dns.msftncsi.com,www.microsoft.com,one.one.one.one,resolver1.opendns.com) do ( -for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( -if not [%%#]==[] ( -%eline% -echo Disconnect the Internet and then try again. -goto ced_done -) -) -) - -echo: -echo The system will automatically reboot to complete the process. -echo: -call :dk_color %Gray% "If the upgrade Window shows an error then you can safely ignore it." -call :dk_color %Gray% "However you will need to manually reboot the system in that case." -echo: -call :dk_color %Magenta% "Important - Save your work before continue." -echo: -choice /C:21 /N /M "[1] Continue [2] Go Back : " -if !errorlevel!==1 exit /b -) - -::======================================================================================================================================== - -echo: -echo Changing the Current Edition [%osedition%] to [%targetedition%] -echo: - -if %_changepk%==0 ( -echo Installing %_chan% Key [%key%] -echo: -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if !errorlevel!==0 ( -call :dk_refresh -call :dk_color %Green% "[Successful]" -echo: -call :dk_color %Gray% "Reboot is required to properly change the Edition." -) else ( -%eline% -echo [Unsuccessful] -) -) - -if %_changepk%==1 ( -echo Applying the command with %_chan% Key -echo start changepk /productkey %key% -start changepk /productkey %key% -) -%line% - -::======================================================================================================================================== - -:ced_done - -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = Generic Retail/OEM/MAK/GVLK Key -:: 3rd column = SKU ID -:: 4th column = 1 = activation is not working (at the time of writing this), 0 = activation is working -:: 5th column = Key Type -:: 6th column = WMI Edition ID -:: 7th column = Version name incase same Edition ID is used in different OS versions with different key -:: Separator = _ - -:: Key preference is in the following order. Retail > Volume:MAK > Volume:GVLK > OEM:NONSLP > OEM:DM -:: OEM keys are in last because they can't be used in edition change if "changepk /productkey" method is needed instead of "slmgr /ipk" -:: OEM keys are listed here because we don't have other keys for that edition - -:changeeditiondata - -for %%# in ( -2ffd8952-423e-4903-b993-72a1aa44cf82_44NYX-TKR9D-CCM2D-V6B8F-HQWWR___4_0_Volume:MAK_Enterprise -23505d51-32d6-41f0-8ca7-e78ad0f16e71_D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ__11_1_____Retail_Starter -c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT__27_0_Volume:MAK_EnterpriseN -211b80cc-7f64-482c-89e9-4ba21ff827ad_3NFXW-2T27M-2BDW6-4GHRV-68XRX__47_1_____Retail_StarterN -4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T__48_0_____Retail_Professional -9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PKCKT__49_0_____Retail_ProfessionalN -f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WXCHW__98_0_____Retail_CoreN -1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8TYMD__99_0_____Retail_CoreCountrySpecific -3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_100_0_____Retail_CoreSingleLanguage -2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8HVX7_101_0_____Retail_Core -2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_119_0_OEM:NONSLP_PPIPro -e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_121_0_____Retail_Education -c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DRR8H_122_0_____Retail_EducationN -cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_125_1_Volume:MAK_EnterpriseS_2021 -97348f2f-bebc-4653-a4bd-18a895d316d9_VBX36-N7DDY-M9H62-83BMJ-CPR42_125_0_Volume:MAK_EnterpriseS_2019 -2782d615-3249-495b-8260-15a4c2295448_PN3KR-JXM7T-46HM4-MCQGK-7XPJQ_125_0_Volume:MAK_EnterpriseS_2016 -6366a32b-72e4-4212-bf11-c22b0e98a435_DVWKN-3GCMV-Q2XF4-DDPGM-VQWWY_125_0_Volume:MAK_EnterpriseS_2015 -2c060131-0e43-4e01-adc1-cf5ad1100da8_RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_126_1_Volume:MAK_EnterpriseSN_2021 -e8f74caa-03fb-4839-8bcc-2e442b317e53_M33WV-NHY3C-R7FPM-BQGPT-239PG_126_1_Volume:MAK_EnterpriseSN_2019 -3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_126_0_Volume:MAK_EnterpriseSN_2016 -60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7V2X_126_0_Volume:MAK_EnterpriseSN_2015 -a48938aa-62fa-4966-9d44-9f04da3f72f2_G3KNM-CHG6T-R36X3-9QDG6-8M8K9_138_1_____Retail_ProfessionalSingleLanguage -f7af7d09-40e4-419c-a49b-eae366689ebd_HNGCC-Y38KG-QVK8D-WMWRK-X86VK_139_1_____Retail_ProfessionalCountrySpecific -eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2YV77_161_0_____Retail_ProfessionalWorkstation -89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_162_0_____Retail_ProfessionalWorkstationN -62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_164_0_____Retail_ProfessionalEducation -13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QPF8P_165_0_____Retail_ProfessionalEducationN -5f87a508-7e1c-4fab-9d45-2356c6002081_C4NTJ-CX6Q2-VXDMR-XVKGM-F9DJC_171_1_Volume:MAK_EnterpriseG -1681ae34-3080-4bfa-a1b5-6d792342e692_46PN6-R9BK9-CVHKB-HWQ9V-MBJY8_172_1_Volume:MAK_EnterpriseGN -df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2YV66_175_0_____Retail_ServerRdsh -d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_178_0_____Retail_Cloud -af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ4F6_179_0_____Retail_CloudN -c7051f63-3a76-4992-bce5-731ec0b1e825_2HN6V-HGTM8-6C97C-RK67V-JQPFD_183_1_____Retail_CloudE -8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CKFFD_188_0_____OEM:DM_IoTEnterprise -ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NONSLP_IoTEnterpriseS -d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN -92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition -) do ( -for /f "tokens=1-7 delims=_" %%A in ("%%#") do if /i %targetedition%==%%F ( - -if not defined key ( -set 7th=%%G -if not defined 7th ( -set "key=%%B" & set "_chan=%%E" -echo "!applist!" | find /i "%%A" 1>nul && set _changepk=0 -) else ( -echo "%winos%" | find "%%G" 1>nul && (set "key=%%B" & set "_chan=%%E" & echo "!applist!" | find /i "%%A" 1>nul && set _changepk=0) -) -) -) -) -exit /b - -:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - -:MASend -echo: -echo Press any key to exit... -pause >nul -exit /b - -:====================================================================================================================================================== - - - - -::End:: \ No newline at end of file diff --git a/MAS/All-In-One-Version/MAS_AIO.cmd b/MAS/All-In-One-Version/MAS_AIO.cmd new file mode 100644 index 0000000..0d908a9 --- /dev/null +++ b/MAS/All-In-One-Version/MAS_AIO.cmd @@ -0,0 +1,11116 @@ +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title Microsoft Activation Scripts AIO + +set _elev= +if /i "%~1"=="-el" set _elev=1 + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +call :_colorprep + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" + +::======================================================================================================================================== + +if %winbuild% LSS 7600 ( +%nceline% +echo Unsupported OS version detected. +echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. +goto MASend +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +echo Aborting... +goto MASend +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%nceline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto MASend +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%nceline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto MASend +) + +::======================================================================================================================================== + +setlocal DisableDelayedExpansion + +:: Check desktop location + +set _desktop_= +for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_desktop_=%%b" +if not defined _desktop_ for /f "delims=" %%a in ('%psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "_desktop_=%%a" + +set "_pdesk=%_desktop_:'=''%" +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +:MainMenu + +cls +color 07 +title Microsoft Activation Scripts AIO 1.6 +mode 76, 30 +set "mastemp=%SystemRoot%\Temp\__MAS" +if exist "%mastemp%\.*" rmdir /s /q "%mastemp%\" %nul% + +echo: +echo: +echo: +echo: +echo: ______________________________________________________________ +echo: +echo: Activation Methods: +echo: +echo: [1] HWID ^| Windows ^| Permanent +echo: [2] KMS38 ^| Windows ^| 2038 Year +echo: [3] Online KMS ^| Windows / Office ^| 180 Days +echo: __________________________________________________ +echo: +echo: [4] Check Activation Status [vbs] +echo: [5] Check Activation Status [wmi] +echo: __________________________________________________ +echo: +echo: [6] Extras +echo: [7] Read Me +echo: [8] Exit +echo: ______________________________________________________________ +echo: +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7,8] :" +choice /C:12345678 /N +set _erl=%errorlevel% + +if %_erl%==8 exit /b +if %_erl%==7 start https://massgrave.dev & goto :MainMenu +if %_erl%==6 goto:Extras +if %_erl%==5 setlocal & call :_Check_Status_wmi & cls & endlocal & goto :MainMenu +if %_erl%==4 setlocal & call :_Check_Status_vbs & cls & endlocal & goto :MainMenu +if %_erl%==3 setlocal & call :KMSActivation & cls & endlocal & goto :MainMenu +if %_erl%==2 setlocal & call :KMS38Activation & cls & endlocal & goto :MainMenu +if %_erl%==1 setlocal & call :HWIDActivation & cls & endlocal & goto :MainMenu +goto :MainMenu + +::======================================================================================================================================== + +:Extras + +cls +title Extras +mode 76, 30 +echo: +echo: +echo: +echo: +echo: +echo: ______________________________________________________________ +echo: +echo: [1] Activation Troubleshoot +echo: +echo: [2] Extract $OEM$ Folder +echo: +echo: [3] Insert Windows HWID Key +echo: +echo: [4] Change Windows Edition +echo: __________________________________________________ +echo: +echo: [5] Go to Main Menu +echo: ______________________________________________________________ +echo: +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5] :" +choice /C:12345 /N +set _erl=%errorlevel% + +if %_erl%==5 goto :MainMenu +if %_erl%==4 setlocal & call :change_edition & cls & endlocal & goto :Extras +if %_erl%==3 setlocal & call :insert_hwidkey & cls & endlocal & goto :Extras +if %_erl%==2 goto:Extract$OEM$ +if %_erl%==1 setlocal & call :troubleshoot & cls & endlocal & goto :Extras +goto :Extras + +::======================================================================================================================================== + +:Extract$OEM$ + +cls +title Extract $OEM$ Folder +mode 76, 30 + +if not exist "!_desktop_!\" ( +%eline% +echo Desktop location was not detected, aborting... +echo _____________________________________________________ +echo: +call :_color %_Yellow% "Press any key to go back..." +pause >nul +goto Extras +) + +if exist "!_desktop_!\$OEM$\" ( +%eline% +echo $OEM$ folder already exists on the Desktop. +echo _____________________________________________________ +echo: +call :_color %_Yellow% "Press any key to go back..." +pause >nul +goto Extras +) + +:Extract$OEM$2 + +cls +title Extract $OEM$ Folder +mode 76, 30 + +echo: +echo: +echo: +echo: +echo: +echo: Extract $OEM$ folder on the desktop +echo: ______________________________________________________________ +echo: +echo: [1] HWID +echo: [2] KMS38 +echo: [3] Online KMS +echo: +echo: [4] HWID ^(Windows^) ^+ Online KMS ^(Office^) +echo: [5] KMS38 ^(Windows^) ^+ Online KMS ^(Office^) +echo: __________________________________________________ +echo: +echo: [6] Go Back +echo: ______________________________________________________________ +echo: +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard:" +choice /C:123456 /N +set _erl=%errorlevel% + +if %_erl%==6 goto:Extras +if %_erl%==5 goto:$OEM$KMS38_KMS +if %_erl%==4 goto:$OEM$HWID_KMS +if %_erl%==3 goto:$OEM$KMS +if %_erl%==2 goto:$OEM$KMS38 +if %_erl%==1 goto:$OEM$HWID +goto :Extract$OEM$2 + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:$OEM$foldercreated + +cls +if defined _error ( +%eline% +echo Failed to extract $OEM$ folder on the Desktop. +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || echo PowerShell is not responding properly. +) else ( +echo: +call :_color %Magenta% "%_oem%" +call :_color %Green% "$OEM$ folder is successfully created on the Desktop." +) +echo "%_oem%" | find /i "KMS38" 1>nul && ( +echo: +echo Note: If you need to KMS38 activate Server Core/Acor Editions then +echo extract from MAS separate files version. +) +echo ___________________________________________________________________ +echo: +call :_color %_Yellow% "Press any key to go back..." +pause >nul +goto Extras + + +:checkOEM + +set _error= +pushd "!_dir!\" +for %%# in ( +%1 +%2 +%3 +%4 +%5 +) do ( +if not exist "%%#" set _error=1 +) +popd +exit /b + +::================================================================================================= + +:oemprep + +pushd "!_desktop_!" +set "_dir=!_desktop_!\$OEM$\$$\Setup\Scripts" +md "!_desktop_!\$OEM$\$$\Setup\Scripts\" +popd +exit /b + +::================================================================================================= + +:$OEM$HWID + +set _oem=HWID +call :oemprep +call :oemexport HWID HWID_Activation_AIO.cmd +call :oemexport HWIDsetup SetupComplete.cmd +call :checkOEM HWID_Activation_AIO.cmd SetupComplete.cmd +goto $OEM$foldercreated + +::================================================================================================= + +:$OEM$KMS38 + +set _oem=KMS38 +call :oemprep +call :oemexport KMS38 1.. +call :oemexport HWID_KMS38_Files 2.. +copy /y /b "!_dir!\1.." + "!_dir!\2.." "!_dir!\KMS38_Activation_AIO.cmd" %nul% +del /q /f "!_dir!\*.." %nul% +call :oemexport KMS38setup SetupComplete.cmd +call :checkOEM KMS38_Activation_AIO.cmd SetupComplete.cmd +goto $OEM$foldercreated + +::================================================================================================= + +:$OEM$KMS + +set _oem=KMS +call :oemprep +call :oemexport kacttxt OnlineKMS_Activation_AIO.cmd +call :oemexport KMSsetup SetupComplete.cmd +call :checkOEM OnlineKMS_Activation_AIO.cmd SetupComplete.cmd +goto $OEM$foldercreated + +::================================================================================================= + +:$OEM$HWID_KMS + +set "_oem=HWID [Windows] + Online KMS [Office]" +call :oemprep +call :oemexport HWID HWID_Activation_AIO.cmd +call :oemexport kacttxt OnlineKMS_Activation_AIO.cmd +call :oemexport HWIDKMSSetup SetupComplete.cmd +call :checkOEM HWID_Activation_AIO.cmd OnlineKMS_Activation_AIO.cmd SetupComplete.cmd +goto $OEM$foldercreated + +::================================================================================================= + +:$OEM$KMS38_KMS + +set "_oem=KMS38 [Windows] + Online KMS [Office]" +call :oemprep +call :oemexport KMS38 1.. +call :oemexport HWID_KMS38_Files 2.. +copy /y /b "!_dir!\1.." + "!_dir!\2.." "!_dir!\KMS38_Activation_AIO.cmd" %nul% +del /q /f "!_dir!\*.." %nul% +call :oemexport kacttxt OnlineKMS_Activation_AIO.cmd +call :oemexport KMS38KMSSetup SetupComplete.cmd +call :checkOEM KMS38_Activation_AIO.cmd OnlineKMS_Activation_AIO.cmd SetupComplete.cmd +goto $OEM$foldercreated + +::============================================================================================================= + +:HWIDSetup: +@echo off + +fltmc >nul || exit /b + +start /b /wait cmd /c "%~dp0HWID_Activation_AIO.cmd" /a + +cd \ +(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") +:HWIDSetup: + +:KMS38Setup: +@echo off + +fltmc >nul || exit /b + +start /b /wait cmd /c "%~dp0KMS38_Activation_AIO.cmd" /a + +cd \ +(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") +:KMS38Setup: + +:KMSSetup: +@echo off + +fltmc >nul || exit /b + +start /b /wait cmd /c "%~dp0OnlineKMS_Activation_AIO.cmd" /rat +start /b /wait cmd /c "%~dp0OnlineKMS_Activation_AIO.cmd" /wo + +cd \ +(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") +:KMSSetup: + +:HWIDKMSSetup: +@echo off + +fltmc >nul || exit /b + +start /b /wait cmd /c "%~dp0HWID_Activation_AIO.cmd" /a + +start /b /wait cmd /c "%~dp0OnlineKMS_Activation_AIO.cmd" /rat +start /b /wait cmd /c "%~dp0OnlineKMS_Activation_AIO.cmd" /o + +cd \ +(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") +:HWIDKMSSetup: + +:KMS38KMSSetup: +@echo off + +fltmc >nul || exit /b + +start /b /wait cmd /c "%~dp0KMS38_Activation_AIO.cmd" /a + +start /b /wait cmd /c "%~dp0OnlineKMS_Activation_AIO.cmd" /rat +start /b /wait cmd /c "%~dp0OnlineKMS_Activation_AIO.cmd" /o + +cd \ +(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") +:KMS38KMSSetup: + + +:oemexport + +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\%~2',$f[1].Trim(),[System.Text.Encoding]::ASCII);" +exit /b + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:HWIDActivation +:HWID: +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + +:: To activate with Downlevel method (default), run the script with /a parameter or change 0 to 1 in below line +set _acti=0 + +:: To only generate GenuineTicket.xml with Downlevel method (default), run the script with /g parameter or change 0 to 1 in below line +set _gent=0 + +:: To enable LockBox method, run the script with /k parameter or change 0 to 1 in below line +:: You need to use this option with either activation or ticket generation. +:: Example, +:: HWID_Activation.cmd /a /k +:: HWID_Activation.cmd /g /k +set _lock=0 + +:: Note about Lockbox method: It's working method is not very clean. We don't suggest to run it on a production system. + +:: If value is changed in ABOVE lines or any ABOVE parameter is used then script will run in unattended mode +:: Incase if more than one options are used then only one option will be applied + + +:: To disable changing edition if current edition doesn't support HWID activation, change the value to 0 from 1 or run the script with /c parameter +set _chan=1 + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title HWID Activation + +set _args= +set _elev= +set _unattended=0 + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +for %%A in (%_args%) do ( +if /i "%%A"=="/a" set _acti=1 +if /i "%%A"=="/g" set _gent=1 +if /i "%%A"=="/k" set _lock=1 +if /i "%%A"=="/c" set _chan=0 +if /i "%%A"=="-el" set _elev=1 +) +) + +for %%A in (%_acti% %_gent% %_lock%) do (if "%%A"=="1" set _unattended=1) + +::======================================================================================================================================== + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Magenta="45;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Magenta="Darkmagenta" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +if %~z0 GEQ 500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") + +::======================================================================================================================================== + +if %winbuild% LSS 10240 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11. +goto dk_done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto dk_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%eline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto dk_done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%eline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto dk_done +) + +::======================================================================================================================================== + +:dl_menu + +:: Lockbox method is not shown in menu because it's working method is not very clean. We don't suggest to run it on a production system. +:: Will enable it back when we have a better method for it. Till then, if you want to use Lockbox, you can use parameters, check at the top. + +REM if %_unattended%==0 ( +REM cls +REM mode 76, 25 +REM title HWID Activation + +REM echo: +REM echo: +REM echo: +REM echo: +REM echo ____________________________________________________________ +REM echo: +REM if !_lock!==0 ( +REM echo [1] HWID Activation +REM ) else ( +REM call :dk_color2 %_White% " [1] HWID Activation " %_Yellow% " [LockBox Method]" +REM ) +REM echo ____________________________________________ +REM echo: +REM if !_lock!==0 ( +REM echo [G] Generate Ticket +REM ) else ( +REM call :dk_color2 %_White% " [G] Generate Ticket " %_Yellow% " [LockBox Method]" +REM ) +REM echo ____________________________________________ +REM echo: +REM echo [C] Change Method +REM echo: +REM echo [0] %_exitmsg% +REM echo ____________________________________________________________ +REM echo: +REM call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard:" +REM choice /C:1GC0 /N +REM set _el=!errorlevel! +REM if !_el!==4 exit /b +REM if !_el!==3 ( +REM if !_lock!==0 ( +REM set _lock=1 +REM ) else ( +REM set _lock=0 +REM ) +REM cls +REM echo: +REM call :dk_color %_Green% " Downlevel Method:" +REM echo It creates downlevelGTkey ticket for activation with simplest process. +REM echo: +REM call :dk_color %_Yellow% " LockBox Method:" +REM echo It creates clientLockboxKey ticket which better mimics genuine activation, +REM echo But requires more steps such as, +REM echo - Cleaning ClipSVC licences +REM echo - Deleting a volatile and protected registry key by taking ownership +REM echo - System may need a restart for succesful activation +REM echo - Microsoft Account and Store Apps may need relogin-restart in the system +REM echo: +REM call :dk_color2 %_White% " " %Green% "Note:" +REM echo Microsoft accepts both types of tickets and that's unlikely to change. +REM call :dk_color2 %_White% " " %Green% "On a production system we suggest to use Downlevel [default] Method only." +REM echo: +REM call :dk_color %_Yellow% " Press any key to go back..." +REM pause >nul +REM goto :dl_menu +REM ) +REM if !_el!==2 set _gent=1&goto :dl_menu2 +REM if !_el!==1 goto :dl_menu2 +REM goto :dl_menu +REM ) + +:dl_menu2 + +cls +mode 102, 34 +if %_gent%==1 (set _title=title Generate HWID GenuineTicket.xml) else (set _title=title HWID Activation) +if %_lock%==0 (%_title%) else (%_title% [Lockbox Method]) + +::======================================================================================================================================== + +if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( +set _gent=0 +%eline% +echo File '%Systemdrive%\GenuineTicket.xml' already exist. +if %_unattended%==0 ( +echo: +call :dk_color %_Yellow% "Press any key to go back..." +pause >nul +goto dl_menu +) else ( +goto dk_done +) +) + +::======================================================================================================================================== + +call :dk_initial + +:: Check if system is permanently activated or not + +cls +call :dk_product +call :dk_checkperm +if defined _perm if not %_gent%==1 ( +echo ___________________________________________________________________________________________ +echo: +call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." +call :dk_color2 %_White% " " %Gray% "Activation is not required." +echo ___________________________________________________________________________________________ +if %_unattended%==1 goto dk_done +echo: +choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " +if errorlevel 2 exit /b +) +cls + +::======================================================================================================================================== + +:: Check Evaluation version + +set _eval= +set _evalserv= + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 + +if defined _eval ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID 2>nul | find /i "Eval" 1>nul && ( +%eline% +echo [%winos% ^| %winbuild%] +if defined _evalserv ( +echo Server Evaluation cannot be activated. Convert it to full Server OS. +echo: +echo Check 'Change Edition Option' in Extras section in MAS. +) else ( +echo Evaluation Editions cannot be activated. Download ^& Install full version of Windows OS. +echo: +echo https://massgrave.dev/ +) +goto dk_done +) +) + +::======================================================================================================================================== + +:: Check SKU value / Check in multiple places to find Edition change corruption + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto dk_done +) + +::======================================================================================================================================== + +:: Check if HWID key (Retail,OEM,MAK) is already installed or not + +set _hwidk= +call :dk_channel +for %%A in (Retail OEM:SLP OEM:NONSLP OEM:DM Volume:MAK) do (if /i "%%A"=="%_channel%" set _hwidk=1) + +::======================================================================================================================================== + +:: Detect Key + +set app= +set key= +set pkey= +set altkey= +set changekey= +set curedition= +set altedition= +set notworking= + +if defined applist call :hwiddata attempt1 +if not defined key call :hwiddata attempt2 +if defined notworking call :hwidfallback + +if defined altkey (set key=%altkey%&set changekey=1&set notworking=) + +set pkey= +if not defined key call :dk_hwidkey %nul% + +::======================================================================================================================================== + +if not defined key if not defined _hwidk ( +%eline% +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +echo PowerShell is not responding properly. Aborting... +goto dk_done +) +echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] +echo Unable to find this product in the supported product list. +echo Make sure you are using updated version of the script. +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system and try again. +goto dk_done +) +goto dk_done +) + +::======================================================================================================================================== + +set error= +set activ= + +:: Check Internet connection + +cls +echo: +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] + +set _intcon= +if not %_gent%==1 ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 licensing.mp.microsoft.com') do if not [%%#]==[] set _intcon=1 +if defined _intcon ( +echo Checking Internet Connection [Connected] +) else ( +set error=1 +call :dk_color %Red% "Checking Internet Connection [Failed To Connect licensing.mp.microsoft.com]" +) +) + +::======================================================================================================================================== + +set "_serv=ClipSVC wlidsvc sppsvc LicenseManager Winmgmt wuauserv" + +:: Client License Service (ClipSVC) +:: Microsoft Account Sign-in Assistant +:: Software Protection +:: Windows License Manager Service +:: Windows Management Instrumentation +:: Windows Update + +:: Check disabled services + +set serv_ste= +for %%# in (%_serv%) do ( +set serv_dis= +reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start %nul% || set serv_dis=1 +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b equ 0x4 set serv_dis=1 +if defined serv_dis (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) +) + +:: Change disabled services startup type to default + +set serv_csts= +set serv_cste= + +if defined serv_ste ( +for %%# in (%serv_ste%) do ( +if /i %%#==ClipSVC sc config %%# start= demand %nul% +if /i %%#==wlidsvc sc config %%# start= demand %nul% +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% +if /i %%#==LicenseManager sc config %%# start= demand %nul% +if /i %%#==Winmgmt sc config %%# start= auto %nul% +if /i %%#==wuauserv sc config %%# start= demand %nul% +if !errorlevel!==0 ( +if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") +) else ( +set error=1 +if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") +) +) +) + +if defined serv_csts echo Enabling Disabled Services [Successful] [%serv_csts%] +if defined serv_cste call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" + +if not "%regSKU%"=="%wmiSKU%" ( +set error=1 +call :dk_color %Red% "Checking WMI/REG SKU [Difference Found - WMI:%wmiSKU% Reg:%regSKU%] [Restart System]" +) + +::======================================================================================================================================== + +:: Install key + +echo: +if defined changekey ( +call :dk_color %Magenta% "[%altedition%] Edition product key will be used to enable HWID activation." +echo: +) + +set _partial= +if not defined key ( +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" +call echo Checking Installed Product Key [Partial Key - %%_partial%%] [%_channel%] +) + +set _channel= +set error_code= +if defined key ( +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% +set error_code=!errorlevel! +cmd /c exit /b !error_code! +if !error_code! NEQ 0 set "error_code=[0x!=ExitCode!]" + +if !error_code! EQU 0 ( +call :dk_refresh +call :dk_channel +call echo Installing Generic Product Key [%key%] [%%_channel%%] [Successful] +) else ( +call :dk_color %Red% "Installing Generic Product Key [%key%] [Failed] !error_code!" +) +) + +::======================================================================================================================================== + +:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names + +echo: +set "temp_=%SystemRoot%\Temp\_Temp" +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +md "%temp_%\" %nul% + +pushd "%temp_%\" +setlocal +set "TMP=%SystemRoot%\Temp" +set "TEMP=%SystemRoot%\Temp" +%nul% %psc% "$b=[IO.File]::ReadAllText('!_batp!')-split'[:]batfile[:].*';iex $b[1]; B 1" +endlocal +popd + +if not exist "%temp_%\gatherosstate.exe" ( +call :dk_color %Red% "Extracting Required Files to Temp [%temp_%] [Failed]" +call :dk_color %Magenta% "Most likely Antivirus is interfering with the process" +call :dk_color %Magenta% "Use MAS separate files version" +goto :dl_final +) + +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "hash_g=%%#" +set "hash_g=%hash_g: =%" +if /i not "%hash_g%"=="FABB5A0FC1E6A372219711152291339AF36ED0B5" ( +call :dk_color %Red% "Extracted files verification failed. Aborting..." +goto :dl_final +) + +echo Extracting Required Files to Temp [%temp_%] [Successful] + +::======================================================================================================================================== + +:: Modify gatherosstate.exe + +pushd "%temp_%\" +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':hex\:.*';iex ($f[1]);" +popd + +if not exist "%temp_%\gatherosstatemodified.exe" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] Aborting..." +goto :dl_final +) + +set _hash= +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstatemodified.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" +set "_hash=%_hash: =%" + +if /i not "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] [Hash Not Matched] Aborting..." +goto :dl_final +) else ( +echo Creating Modified Gatherosstate [Successful] +) + +::======================================================================================================================================== + +:: Clean ClipSVC Licences +:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. + +if %_lock%==1 ( +for %%# in (ClipSVC) do ( +sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% +sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% +) + +rundll32 clipc.dll,ClipCleanUpState + +if exist "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" %nul% + +if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( +call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" +) else ( +echo Cleaning ClipSVC Licences [Successful] +) +) + +::======================================================================================================================================== + +:: Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after +:: system restart. It needs to be deleted to activate the system without restart. + +:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. + +set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" +set "_ident=HKU\S-1-5-19\SOFTWARE\Microsoft\IdentityCRL" + +if %_lock%==1 ( +%nul% call :regown "%RegKey%" +reg delete "%RegKey%" /f %nul% + +reg query "%RegKey%" %nul% && ( +call :dk_color %Red% "Deleting a Volatile Registry [Failed]" +call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" +) || ( +echo Deleting a Volatile Registry [Successful] +) + +REM Clear HWID token related registry to fix activation incase if there is any corruption + +reg delete "%_ident%" /f %nul% +reg query "%_ident%" %nul% && ( +call :dk_color %Red% "Deleting a Registry [Failed] [%_ident%]" +) || ( +echo Deleting a Registry [Successful] [%_ident%] +) +) + +::======================================================================================================================================== + +:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. + +echo: +set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" + +set pfn= +for /f "skip=2 tokens=3*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "pfn=%%a" + +"%temp_%/gatherosstatemodified.exe" Pfn=%pfn%;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% +%_noxml% net stop sppsvc /y %nul% +%_noxml% call "%temp_%/gatherosstatemodified.exe" Pfn=%pfn%;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% + +:: Refresh ClipSVC (required after cleanup) with below command, not related to generating tickets + +if %_lock%==1 ( +for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) +call :dk_refresh +) + +%_noxml% ( +call :dk_color %Red% "Generating GenuineTicket.xml [Failed] [%pfn%]" +goto :dl_final +) + +if %_lock%==1 ( +find /i "clientLockboxKey" "%temp_%\GenuineTicket.xml" >nul && ( +echo Generating GenuineTicket.xml [Successful] [%pfn%] +) || ( +call :dk_color %Red% "Generating GenuineTicket.xml [Failed] [%pfn%]" +call :dk_color %Red% "downlevelGTkey Ticket created. Aborting..." +goto :dl_final +) +) else ( +echo Generating GenuineTicket.xml [Successful] [%pfn%] +) + +::======================================================================================================================================== + +:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script + +if %_gent%==1 ( +echo: +copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% +if not exist "%Systemdrive%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" +) else ( +call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" +) +goto :dl_final +) + +::======================================================================================================================================== + +:: clipup -v -o -altto & clipup -v -o both methods may fail if the username have spaces/special characters/non English names +:: Most correct way to apply a ticket is by restarting ClipSVC service but we can not check the log details in this way +:: To get the log details and also to correctly apply ticket, script will install tickets two times (service restart + clipup -v -o -altto ) + +set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +if not exist "%tdir%\" md "%tdir%\" %nul% +copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% + +if not exist "%tdir%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying Ticket to ClipSVC Location [Failed]" +) + +set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" + +%_xmlexist% ( +net stop ClipSVC /y %nul% +net start ClipSVC /y %nul% +%_xmlexist% timeout /t 2 %nul% +%_xmlexist% timeout /t 2 %nul% + +%_xmlexist% ( +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +call :dk_color %Red% "Installing GenuineTicket.xml [Failed With ClipSVC Service Restart Method]" +) +) + +clipup -v -o -altto %temp_%\ + +::========================================================================================================================================== + +call :dk_product + +echo: +echo Activating... +echo: + +call :dk_act +call :dk_checkperm +if defined _perm ( +set activ=1 +call :dk_color %Green% "%winos% is permanently activated." +goto :dl_final +) + +:: Refresh some services and license status + +if %_lock%==1 set _retry=1 +if defined _intcon set _retry=1 + +if defined _retry ( +for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) +call :dk_refresh +call :dk_act +) + +call :dk_checkperm + +set "_unsup=call :dk_color %Magenta% "At the time of writing this, HWID Activation was not supported for this product."" + +if defined _perm ( +set activ=1 +call :dk_color %Green% "%winos% is permanently activated." +) else ( +call :dk_color %Red% "Activation Failed %error_code%" +if defined key if defined pkey %_unsup% +if not defined key %_unsup% +if defined notworking %_unsup% +if not defined notworking if defined key if not defined pkey call :dk_color %Magenta% "Restart the system and try again / Check troubleshooting steps in MAS Extras option" +) + +::======================================================================================================================================== + +:dl_final + +echo: +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +if exist "%temp_%\" ( +call :dk_color %Red% "Cleaning Temp Files [Failed]" +) else ( +echo Cleaning Temp Files [Successful] +) + +if %osSKU%==175 ( +call :dk_color %Red% "ServerRdsh Editon does not officially support activation on non-azure platforms." +) + +if not defined activ call :dk_checkerrors + +if not defined activ if not defined error ( +echo Basic Diagnostic Tests [Error Not Found] +) + +goto :dk_done + +::======================================================================================================================================== + +:: A lean and mean snippet to set registry ownership and permission recursively +:: Written by @AveYo aka @BAU +:: pastebin.com/XTPt0JSC + +:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of Powershell is installed. + +:: This code runs only if Lockbox method is manually set by the user in this script. + +:regown + +pushd "!_work!" +setlocal DisableDelayedExpansion + +set "0=%~nx0"&%psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText($env:0)-split':Own1\:.*')[1])&popd&setlocal EnableDelayedExpansion&exit/b:Own1: +$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn +'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} +$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} +$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] +$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' +$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) +$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} +};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') +$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} +$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; +foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo + +::======================================================================================================================================== + +:: Get Windows permanent activation status + +:dk_checkperm + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Name FROM SoftwareLicensingProduct WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +exit /b + +:: Refresh license status + +:dk_refresh + +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% +if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% +exit /b + +:: Get Windows installed key channel + +:dk_channel + +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" +exit /b + +:: Activation command + +:dk_act + +set error_code= +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" call Activate %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% +if not %errorlevel%==0 cscript //nologo %windir%\system32\slmgr.vbs /ato %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 (set "error_code=[Error Code: 0x%=ExitCode%]") else (set error_code=) +exit /b + +:: Get Windows Activation IDs + +:dk_actids + +set applist= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) +exit /b + +:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) + +:dk_product + +set winos= +set d1=[DllImport(\"winbrand\",CharSet=CharSet.Unicode)]public static extern string BrandingFormatString(string s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $AP::BrandingFormatString('%%WINDOWS_LONG%%') +for /f "delims=" %%s in ('"%psc% %d2%"') do if not errorlevel 1 (set winos=%%s) +echo "%winos%" | find /i "Windows" 1>nul || ( +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +if %winbuild% GEQ 22000 ( +set winos=!winos:Windows 10=Windows 11! +) +) +exit /b + +:: Check wmic.exe + +:dk_ckeckwmic + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) +exit /b + +:dk_initial + +echo: +echo Initializing... + +:: Check and enable WinMgmt, sppsvc services if required + +for %%# in (WinMgmt sppsvc) do ( +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b NEQ 0x2 ( +echo: +echo Enabling %%# service... +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% || echo Failed +if /i %%#==WinMgmt sc config %%# start= auto %nul% || echo Failed +) +sc start %%# %nul% +if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 ( +echo: +echo Starting %%# service... +sc start %%# +echo: +call :dk_color %Red% "Failed to start [%%#] service, rest of the process may take a long time..." +) +) + +:: Check WMI and SPP Errors + +call :dk_ckeckwmic + +set e_wmi= +set e_wmispp= +call :dk_actids + +if not defined applist ( +net stop sppsvc /y %nul% +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if !errorlevel! NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +call :dk_refresh + +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 set e_wmi=1 + +if defined e_wmi (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +call :dk_actids +) +exit /b + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. (Partially on 1803 & 1809, fully on 1903 and later) + +:dk_pkey + +set pkey= +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int SkuGetProductKeyForEdition(int e, string c, out string k, out string p); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k=''; $null=$AP::SkuGetProductKeyForEdition(%1, %2, [ref]$k, [ref]$null); $k +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:dk_pkeychannel + +set k=%1 +set pkeychannel= +set p=%SystemRoot%\System32\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms +set m=[System.Runtime.InteropServices.Marshal] +set d1=[DllImport(\"PidGenX.dll\",CharSet=CharSet.Unicode)]public static extern int PidGenX(string k,string p,string m,int u,IntPtr i,IntPtr d,IntPtr f); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k='%k%'; $p='%p%'; $r=[byte[]]::new(0x04F8); $r[0]=0xF8; $r[1]=0x04; $f=%m%::AllocHGlobal(1272); %m%::Copy($r,0,$f,1272); +set d3=%d2% [void]$AP::PidGenX($k,$p,\"00000\",0,0,0,$f); %m%::Copy($f,$r,0,1272); %m%::FreeHGlobal($f); [System.Text.Encoding]::Unicode.GetString($r, 1016, 128).Replace('0','') +for /f %%a in ('%psc% "%d3%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:dk_hwidkey + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (Retail OEM:NONSLP OEM:DM Volume:MAK) do ( +call :dk_pkey %osSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + +:dk_checkerrors + +:: Check if the services are able to run or not +:: Workarounds are added to get correct status and error code because sc query doesn't output correct results in some conditions + +set serv_e= +for %%# in (%_serv%) do ( +set errorcode= +set checkerror= +sc query %%# | find /i ": 4 RUNNING" %nul% || net start %%# /y %nul% +sc start %%# %nul% +set errorcode=!errorlevel! +if !errorcode! NEQ 1056 if !errorcode! NEQ 0 set checkerror=1 +sc query %%# | find /i ": 4 RUNNING" %nul% || set checkerror=1 +if defined checkerror if defined serv_e (set "serv_e=!serv_e!, %%#-!errorcode!") else (set "serv_e=%%#-!errorcode!") +) + +if defined serv_e ( +set error=1 +call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" +) + +:: Various error checks + +set token=0 +if exist %Systemdrive%\Windows\System32\spp\store\2.0\tokens.dat set token=1 +if exist %Systemdrive%\Windows\System32\spp\store_test\2.0\tokens.dat set token=1 +if %token%==0 ( +set error=1 +call :dk_color %Red% "Checking SPP tokens.dat [Not Found]" +) + +DISM /English /Online /Get-CurrentEdition %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking DISM [Not Responding] %error_code%" +) + +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +set error=1 +call :dk_color %Red% "Checking Powershell [Not Responding]" +) + +for %%# in (wmic.exe) do @if "%%~$PATH:#"=="" ( +set error=1 +call :dk_color %Gray% "Checking WMIC.exe [Not Found]" +) + +reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( +set error=1 +call :dk_color %Red% "Checking Rearm [System Restart Is Required]" +) + +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( +set error=1 +call :dk_color %Red% "Checking ClipSVC [System Restart Is Required]" +) + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" 2^>nul') do if /i %%b NEQ 0x0 ( +reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% +call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found, Changing To 0]" +net stop sppsvc /y %nul% +net start sppsvc /y %nul% +set error=1 +) + +set _wsh=1 +reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +if %_wsh% EQU 0 ( +set error=1 +call :dk_color %Gray% "Checking Windows Script Host [Disabled]" +) + +cscript //nologo %windir%\system32\slmgr.vbs /dlv %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking slmgr /dlv [Not Responding] %error_code%" +) + +if not defined applist ( +set error=1 +call :dk_color %Red% "Checking WMI/SPP [Not Responding] [%e_wmispp%]" +) + +set nil= +set _sppint= +if not %_gent%==1 if not defined error ( +for %%# in (SppE%nil%xtComObj.exe,sppsvc.exe) do ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%nil%ge File Execu%nil%tion Options\%%#" %nul% && set _sppint=1 +) +) + +if defined _sppint ( +call :dk_color %Red% "Checking SPP Interference In IFEO [Found] [Uninstall KMS Activator If There Is Any]" +set error=1 +) +exit /b + +::======================================================================================================================================== + +:dk_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' +) +exit /b + +:dk_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' +) +exit /b + +::======================================================================================================================================== + +:dk_done + +echo: +if %_unattended%==1 timeout /t 2 & exit /b +call :dk_color %_Yellow% "Press any key to %_exitmsg%..." +pause >nul +exit /b + +::======================================================================================================================================== + +:: 1st column = Activation ID +:: 2nd column = Generic Retail/OEM/MAK Key +:: 3rd column = SKU ID +:: 4th column = 1 = activation is not working (at the time of writing this), 0 = activation is working +:: 5th column = Key Type +:: 6th column = WMI Edition ID +:: 7th column = Version name incase same Edition ID is used in different OS versions with different key +:: Separator = _ + +:: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK + + +:hwiddata + +for %%# in ( +8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8HV2C___4_0_OEM:NONSLP_Enterprise +23505d51-32d6-41f0-8ca7-e78ad0f16e71_D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ__11_1_____Retail_Starter +c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT__27_0_Volume:MAK_EnterpriseN +211b80cc-7f64-482c-89e9-4ba21ff827ad_3NFXW-2T27M-2BDW6-4GHRV-68XRX__47_1_____Retail_StarterN +4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T__48_0_____Retail_Professional +9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PKCKT__49_0_____Retail_ProfessionalN +f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WXCHW__98_0_____Retail_CoreN +1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8TYMD__99_0_____Retail_CoreCountrySpecific +3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_100_0_____Retail_CoreSingleLanguage +2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8HVX7_101_0_____Retail_Core +2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_119_0_OEM:NONSLP_PPIPro +e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_121_0_____Retail_Education +c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DRR8H_122_0_____Retail_EducationN +cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_125_1_Volume:MAK_EnterpriseS_2021 +d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P39PB_125_0_OEM:NONSLP_EnterpriseS_2019 +706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DYJWX_125_0_OEM:NONSLP_EnterpriseS_2016 +faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MDWWW_125_0_OEM:NONSLP_EnterpriseS_2015 +2c060131-0e43-4e01-adc1-cf5ad1100da8_RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_126_1_Volume:MAK_EnterpriseSN_2021 +e8f74caa-03fb-4839-8bcc-2e442b317e53_M33WV-NHY3C-R7FPM-BQGPT-239PG_126_1_Volume:MAK_EnterpriseSN_2019 +3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_126_0_Volume:MAK_EnterpriseSN_2016 +60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7V2X_126_0_Volume:MAK_EnterpriseSN_2015 +a48938aa-62fa-4966-9d44-9f04da3f72f2_G3KNM-CHG6T-R36X3-9QDG6-8M8K9_138_1_____Retail_ProfessionalSingleLanguage +f7af7d09-40e4-419c-a49b-eae366689ebd_HNGCC-Y38KG-QVK8D-WMWRK-X86VK_139_1_____Retail_ProfessionalCountrySpecific +eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2YV77_161_0_____Retail_ProfessionalWorkstation +89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_162_0_____Retail_ProfessionalWorkstationN +62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_164_0_____Retail_ProfessionalEducation +13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QPF8P_165_0_____Retail_ProfessionalEducationN +1ca0bfa8-d96b-4815-a732-7756f30c29e2_FV469-WGNG4-YQP66-2B2HY-KD8YX_171_1_OEM:NONSLP_EnterpriseG +8d6f6ffe-0c30-40ec-9db2-aad7b23bb6e3_FW7NV-4T673-HF4VX-9X4MM-B4H4T_172_1_OEM:NONSLP_EnterpriseGN +df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2YV66_175_0_____Retail_ServerRdsh +d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_178_0_____Retail_Cloud +af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ4F6_179_0_____Retail_CloudN +c7051f63-3a76-4992-bce5-731ec0b1e825_2HN6V-HGTM8-6C97C-RK67V-JQPFD_183_1_____Retail_CloudE +8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CKFFD_188_0_____OEM:DM_IoTEnterprise +ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NONSLP_IoTEnterpriseS +d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN +92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition +) do ( +for /f "tokens=1-8 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( + +if %1==attempt1 if not defined key ( +echo "!applist!" | find /i "%%A" 1>nul && ( +set app=%%A +set key=%%B +if %%D==1 set notworking=1 +) +) + +if %1==attempt2 if not defined key ( +set 7th=%%G +if not defined 7th ( +set app=%%A +if %%D==1 set notworking=1 +if %winbuild% GTR 19044 call :dk_hwidkey %nul% +if not defined key set key=%%B +) else ( +echo "%winos%" | find /i "%%G" 1>nul && ( +set app=%%A +if %%D==1 set notworking=1 +if %winbuild% GTR 19044 call :dk_hwidkey %nul% +if not defined key set key=%%B +) +) +) +) +) +exit /b + +::======================================================================================================================================== + +:: Below code is used to get alternate edition name and key if current edition doesn't support HWID activation + +:: ProfessionalCountrySpecific won't be converted because it's not a good idea to change CountrySpecific editions + +:: 1st column = Current Edition Activation ID +:: 2nd column = Alternate Edition Activation ID +:: 3rd column = Alternate Edition Key +:: 4th column = Current Edition Name +:: 5th column = Alternate Edition Name +:: Separator = _ + +:: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK + + +:hwidfallback + +if %_chan%==0 exit /b + +for %%# in ( +cce9d2de-98ee-4ce2-8113-222620c64a27_ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_EnterpriseS-2021____________IoTEnterpriseS +a48938aa-62fa-4966-9d44-9f04da3f72f2_4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T_ProfessionalSingleLanguage__Professional +) do ( +for /f "tokens=1-5 delims=_" %%A in ("%%#") do if "%app%"=="%%A" ( +echo "!applist!" | find /i "%%B" 1>nul && ( +set altkey=%%C +set curedition=%%D +set altedition=%%E +) +) +) +exit /b + +::======================================================================================================================================== + +:: Script changes below values in official gatherosstate.exe so that it can generate usable ticket in Windows unlicensed state + +:hex:[ +$bytes = [System.IO.File]::ReadAllBytes("gatherosstate.exe") +$bytes[320] = 0x9c +$bytes[321] = 0xfb +$bytes[322] = 0x05 +$bytes[13672] = 0x25 +$bytes[13674] = 0x73 +$bytes[13676] = 0x3b +$bytes[13678] = 0x00 +$bytes[13680] = 0x00 +$bytes[13682] = 0x00 +$bytes[13684] = 0x00 +$bytes[32748] = 0xe9 +$bytes[32749] = 0x9e +$bytes[32750] = 0x00 +$bytes[32751] = 0x00 +$bytes[32752] = 0x00 +$bytes[32894] = 0x8b +$bytes[32895] = 0x44 +$bytes[32897] = 0x64 +$bytes[32898] = 0x85 +$bytes[32899] = 0xc0 +$bytes[32900] = 0x0f +$bytes[32901] = 0x85 +$bytes[32902] = 0x1c +$bytes[32903] = 0x02 +$bytes[32904] = 0x00 +$bytes[32906] = 0xe9 +$bytes[32907] = 0x3c +$bytes[32908] = 0x01 +$bytes[32909] = 0x00 +$bytes[32910] = 0x00 +$bytes[32911] = 0x85 +$bytes[32912] = 0xdb +$bytes[32913] = 0x75 +$bytes[32914] = 0xeb +$bytes[32915] = 0xe9 +$bytes[32916] = 0x69 +$bytes[32917] = 0xff +$bytes[32918] = 0xff +$bytes[32919] = 0xff +$bytes[33094] = 0xe9 +$bytes[33095] = 0x80 +$bytes[33096] = 0x00 +$bytes[33097] = 0x00 +$bytes[33098] = 0x00 +$bytes[33449] = 0x64 +$bytes[33576] = 0x8d +$bytes[33577] = 0x54 +$bytes[33579] = 0x24 +$bytes[33580] = 0xe9 +$bytes[33581] = 0x55 +$bytes[33582] = 0x01 +$bytes[33583] = 0x00 +$bytes[33584] = 0x00 +$bytes[34189] = 0x59 +$bytes[34190] = 0xeb +$bytes[34191] = 0x28 +$bytes[34238] = 0xe9 +$bytes[34239] = 0x4f +$bytes[34240] = 0x00 +$bytes[34241] = 0x00 +$bytes[34242] = 0x00 +$bytes[34346] = 0x24 +$bytes[34376] = 0xeb +$bytes[34377] = 0x63 +[System.IO.File]::WriteAllBytes("gatherosstatemodified.exe", $bytes) +:hex:] + +::======================================================================================================================================== + +:HWID_KMS38_Files: +: + +:batfile: +$a='.,;{-}[+](/)_|^=?'+'O123456789ABCDeFGHyIdJKLMoN0PQRSTYUWXVZabcfghijklmnpqrstuvwxz'+'!@#$&~E<*`%\>'; $91=@" +using System.IO; public class Bat{public static void File(int x,string fo,string d,ref string[] f){unchecked{int n=0,c=0xff,q=0 +,v=0x5b,z=f[x].Length; byte[]b=new byte[0x100]; while(c>0) b[c--]=0x5b; while(c<0x5b) b[d[c]]=(byte)c++; using (FileStream o=new +FileStream(fo,FileMode.Create)){for(int i=0;i!=z;i++){c=b[f[x][i]];if(c==0x5b)continue;if(v==0x5b){v=c;}else{v+=c*0x5b;q|=v<88){n-=1;}n+=14;v=0x5b;do{o.Writ`eByte((byte)q);n-=8;q>>=8;}while(n>0x7);}}if(v!=0x5b)o.Writ`eByte((byte)(q|v< + +:batfile:< +::AVEYO...,PUT;.....*D........j}?.k...RnK;..K{..N=qGy+Q5M.......Q5Cf#gn}!V9TmIpUBzO$?]Nl6lL-iy1oT49@Dz-.Fkv;$q;PNfzoU,Ixf{p_;.3.Q5G] +::[[vzAKrv0]B).8-stdriz/7i%(EkOX19x2&s>T[*noQL8fYZ+dMt(Ff8z>#Fp_j2;d$ze,C6}W*D@)KcU!GJ#G#1yaa-[PO}/cQ5X6(^V-iJV;sf2*U8U>5?1;zx/;u}wj +::2K1Q3.Z!s8d-u8g%Fb^t`$D4;OLTgoz7H1wL]o_ZXI.mO18zok?Oa]vzc?8Pw\`0f_k]....+{?.h4du)FiiH>n|HoXnH,l!Q\rL>-\G6A/[ZT)H +::i;%]m<6VnjvUrSFK.d=;qQ81^FFi9cvRiLUqhr&qMWB1!p0t-N+yh@vx;q|t@v[T{#<\[!N2TqGJ4jMVQX^L9=9UHuQO=^QUxADiRD]/br?UnhQbjS#=(]N>bz3L\4xO1 +::Q$-X8i(Y9=@9+Y2TXEtBeB@iSsl9K_#J]|6+{nMI_fK0+^.{;f/fslq$nQZdx^}Za/WcxIjW=|M7goOTg4)|l)Eo^3WUe`qco-V(hZo!+dof%v377XwlDWr?{u&Jy}s^*Z +::e]34I$OpPR+2aiRNy;!tN%kR6S%;6`!?)o_K]%&WO}gGOZ3zY;>fbAfQw=W0U`.[dsYgqa+=XKI6-`1%WZD}eB=,lL>l}2xEp1_}kbvhJP#WAwfz8&2fGhkUN>M/v._${=n9dWTU[e}qMlMbI\I +::$!#i%ah+BI4F7!Hv`9McZ{uA#YwT*&NDmS=OzEh0qP>l~5lMJb+i221-l<-Jwg8Jug}`zIY[P!R~T{/POgLz5L\b7{$R>nV4|IlA`z[Nk% +::%<>/)!Va)\&]xY-c(-y!=&Q00;h=zA>#A^4hvv6UOOLYWF*)Ia)#QB+4}cstIe\->xi!3*KjsEGr#,]?J6W$ZZ$}WG)FkhhXLA)KTk|1O#|q~)}&{KCc +::>S4l;lXMw[I|2Dz3GsrJ%6lSAD%}4mC6)=Um)2$r7Dn%!6`lJxIJb6KF94.Y/C]mzu!J(#=#0O_Z`yAG|\j\JC.,AM[aWH^-*vu-LMC}7-7yX[d{YBMU{X\9iW?5 +::a#.o_sv8+[%x&x59~;{Nj*SfECvqUO&=CI-U./Yh8dBFh6k5+Cb[G1Hic_C6J9Xp\**Q&*DA\bBrvfDY)9F8SuuC>DF1%_-f.,uWVEGC3_uX$[Y4S\GChOCvR62N{hcj\o +::KiC#GAodZl&N8WG)wo2d%l,,`~$]$lS]Ceau`<^|=k{;0D1{e88}8la0Z\uF0Kv^86Uc665dba-v,n]^l`bDO@x0WJK);1]EoOBnH%-.%/Rara` +::LHld@[$xzT7WTN!7>z`g>;!;ZS}HBODO_x*[?~MD<+[>@,m/0rZm#8[RG2$-u50-]T*_%`oVFS<}oz_\?X2FxCvEgZf@7/C&-+II&R2XnOc`sTnY%*#-g4`iWN#Y-ihF2y +::H6i)^d>|?}#x$/&.ur-F`AAu,t&QTQvmNWv7$b$Zire;_F(Ls|GNT[{ygX62u>D)V.&bq`swMrC4 +::D{7Oy*,1eQMjbt[IA3Tj=}li~$Z[?)66\E$(y?|//N7WSX&@fp`4Qx^W\)?pD8/SA{zSS5(%^$!-ON`CI1W;DhMtxP\a&`gRS)0K(Mus$2*=_suE.6t)wKI)wjpCw{Inl~ +::r;&WagW4Wxp1FO]d(?)F^_{Ra5ug4.8s5R&}D@eAq?q$W*{+Fd`u;-Wl83-XSoD)DPw6PnLFYLI-Ic[}qQ@4_/wfDE8zaB?V~/OM9(T8tl^\,FSOv}ICDJV)JdLFM~OOz0k/w,f +::OYHW#,\i>_/G02|3+v/;px!Hv4UVa13y]bVs>1~i3Qa&dDI,|pC$Itu+HJLUN,{tKsfcM#2OL3R_sC=|i9>Q[A]UH8gS# +::y~&tV|g*K`;SrMjz%JLx{wkvDd_;pmos5}maaiJyz9p4J*3BAOqWFZ8%@f(Xpr@_0we67v0J;7.h%Edx!k]LEn?C|+kjTV|FK8Z0Ox{JV%SH;yq)~=Hus9l[@_,K0{5vX6 +::@>}^rXn&K9aH>HA>Fhkj[bb*{vRq@y7cO(lH5-y=Y5;*KMbB!}*_[]IhyKR=~)@8Eea5_kknGY}/3MkM=VN]2vnh>$WNL#+vbj,d=QZX5AGu;nQlh@16jO+vW;zL3mm<<_Xb2r&ewpxNz_CpM!rkH3>13Ud6sg$T +::d~2<=9,t&FUu-HGDgK07Dkx[|9{H}v9@7DG<,/xpq#LZ&N}6`7E|ODB}.X7DI/s``bTmNfCCC-6>`(1m!S/=6JWVh_11OWpq{vfAMf%XKZKAet/h3r0cK1{g451I@sm%sb +::5$.OoCoPFKc10xypvmZTF-5M5QkhF1!+rBH(&1e(WFO3^acmyYDM6lz)8S55McPLNU~j-VSBut0[#{8Q.cFV(}dh$Z83IQ&8bI^IUu3.GrhvY[#dM7};KmnoLd](+|QJp@ +::-N%gClH%N9btT]{9aWJQ|$QWQDq_uOX$8IHs*4N%#a6rW%!a6v9(vq1+,4+vw7(52pz(U#,CyDun#!d;HM.s^~_ZvD8C_;u,7Df+p\dbr*dYn7n9qoNLQj(ly*I>dR\kg5y-prZ1OjR6cl|A[C04H&`}RjCMXB;+Z]KQ0]tk}ZQi997bM\?)M]+0y~-xM_P9*6w{V +::InW{!mklZNXv`k,q9_n9hVv/vl)jV3*Rg@F]a2iBD_b<2#sXZ8WCvy*ji|=SLYz|m483.!%~#^Nr]uGoiS(*6.?d}h}a)}F3]%-t)A$ +::[1&}q-oD,|La.&m8&6.SLVe/?_SY@1_*w=IJoJ+khxVIDv-)7g-ZUEpbYjQ,u@V#opG)[_QUV2I`~s~k]s~VVRue?]#F+m!p$QHGN(2w`~L3)9fH,*|fE3agj7s`Ba&>`2 +::mHJp<_oS(O{x-C0XL5nN3&]ySU_R~a|P]SjKzxgCs|B5v6@qX|EyB=nN5O1d+@i^FXx-Em-]{eDw^_tU^sYu/R*@T51GwfzW>*S{iFHpes37ZX,6[BGg/`k+0G!HpWb_.B +::t1D8Z}%i\?,u?u\?\[l3!-\__{$B$/fTU4ZyH~Og4HiPChKGX;_N^1oKzB`LWj2m=|=p-=z|zI6\pE/ZFQ0.Q8%Y0Y5FDbH<|oR1$f_!ZXt}r+Ph$M +::Ql%zRm?$t{7\h4b2S]}b!!_@vT_^9q5)q#,?^3oQ1Joa^x1``)bXdI5y)?WEHPtik8[@ej4pW5j/dYt|VV!j%u)bE[MZ-?mJ,FYknOp!$2Ug3,Z(Ml}WHo][b=)tfkS++qRrT}c2+4L-Sn4 +::536QF45[&*ppIS+sayPH~UY`pEg@]?5xbP|+yNdN{#_mW#3d;FsNp_3eZngi2y,qBiwU}}}_c6BQiP\)PO7@AzWR;7s{htYyvw(`N.|6>{=Kk*kS^f]eg|Gq4]vI3kWi +::j;s$;T-}+rUYv*|DGbqJzLPr+tmPAS1A5}rJo16vE(KkGhc7]q~QB=1@)O{@v(Cn9{&s@|OI-9#FymUM-nB^a+B;p9X_vayoHgWp(VDMU%k5?d%@@kEr_Tn0{qX$\<>1rQ5I)lH*b8hy2))ud/iu#NHSQQbAcV2I4 +::5T=L,Z~CoxgCy,ivu#;_QUjsEwnhnwa?|(n#Hd +::`H#$/-cs^CRPjT6860+[Cop4w21T{4CjhIN0H6CXS?iCr/dr,Z1S@/d)E6-a^}._&QY}7UrTu6QREpAQUtQ.wS6.&jKcnRTwe7-zZzlR{DIvdJrKULuJVR20rSOP^iHzwK +::Vlcu~~2P7)5F774!S6j|B]cmwnO{ORc6uIP|Y*mR<,6.eHd^I^![E.7p0`b}{3vt11tkeeZ`sNX|kld|fob$CbLEi=o@2BHQn|buGq;q}LySbSy[Upl\z80H_Y,Af6pb7p +::TH,Wfc5re7Ddra3/iQDJl~diwZLh|bb?W@A?b.aot93Bl[&SB7QM=_2X4C{UB]b`n9v;@_d|bS]~dC&&/7r_.*s\&`xnur-icTb&}0k{P7D%Y.X!/0]n~pJj*lR#2]STn! +::;o=oJE8<*n;xuzA(\\DNIMAr-8,)!T1C,yB(uzDm>N7qj|vD.[WH,8c/mnqrR^~SYu+{aSGz5u_{lILVe?]~uAFv3^;ce_i^+^xQ|CZ?drS$C/mgr5O+T\G6lWk!q|1O.n +::oZN]x~h^@FS4w}c\Ut@q}y#4+m$)E@{99G +::;sZ&Cr]%AIwU]b+Zq!2#nBSz7E=,J,]aUca_7lG@\aVqN2y})b(M$*rf,3SQK7sG|~bt$jmcmBf0mf,,W@WMAEqvJ4j4,uFCztXKRA(\}Lr/=5=,fDXrL~\[+e_[%7A5=!R+0HHETA=q>xU5 +::JC(dMAm3bo5}b[N[nHW,H;_\}8!-CdYS!!rrVr-6.FDevzV(AQY?OMpUkC@%bs<[+KXh^=_w0NHRw?tU91Fh~$[+J3M38MJ5(-ZP*YBz5oC7-}NlO\PT937G/0GUz,?vhmXnv;vNY7r9U(iU%}+v0e$$R04P0<\N`Krx}>trsJW]B+Td3I},..SWk/I)VVH+et;~&?}IlV[>R?[bJEqpOGY6`GF8~\oH}R@FE.owQkUN9Xe\F=LdJodLPs]0b~FmrzD%NDw`I;sfZCcO]D%RF77p!>;hwE +::d;6tRTUe^17)9`&rQ]y;YVli+UmM6x)$}....6)].i=6N3El!#hlj0idt#K\pN\w,&d5f$9J9^*7l}933#T1z*uB%394=Glc@I0coLsj(#{LkFV0jN#d}+|%}wGB=a,((b$`v!# +::NSd)zFZAlXe<}}@[E5ZBFCd18M2]cAytWcO]rqUkJrTmVB[=41b96t.Km_oq]1pvp%0=[{ay,?TmfJm(qO{suT)~#HUoPf[Bauw.BUpNlF)$.glCSWGg%7}T,xo7SC#ga[ +::Uut2cCvlc!?+#CyB!cJ&,NN9E6zp|H[K>v\NzaK|0BBBu#$(wkxJIDue3fXy~ui`L&z4HalfP`XOb+F}{Bq/XJC-6)&eAo#/QcRH/5<^~&LrQcB+MAUvQZXQ?NM+W6}R/i +::Fh`&?I},=sH(L7FqhH;l#[<#WR(Q(_=QzyLKi@)|b[j!\N4/SQH|`~rjfK00S;TW/)j*|qu=uVZ?4&J]K$d=5?1y7GDcS3cILGZT+\k!!MiSaxVT5|lhyIRvK5G,[unSR] +::T8ZSTuYy}m2&*NqzfW@_-9ghrqeITVg%+X9Vf953MepF7k3}-e?or%G{{N@w0hlH]rdr|nxWH~/-P*k_YytQb&(+PfeS&=|XEbdCA-%iSsQMaz>I;{}v(iC\mvJ^ib3EB! +::b{{t-QJT-.m[NJEY^Fd|?o^k{%gn,m>_E/efK$Tr^*}LF(RFDJ/sBljzkPWFD-@_V4O&H42al]AcA,jLncmu%o7I,jOjs< +::L37x?Ts]&#=@}WST^-_6gs7YLnPO@UJv&q5uLlge}@BC|ouu!L74yvMcO(m#AXQPYT7yfyDTrgKwN6@ntHv7c1$2,r)3g~,e+mdhiOR>a,%np=X, +::/N`w6!YX3w|c#2ELdy$~#N!zfQzau^&kQ(;bvbjPh46f1e)?9oSvAo0#F*Ghaoxoix=g|wc>LhFI]]xZK +::|LeW#+k&3XNpu3_h~1d7RC\UQqCnj*TG?*s)a)%PtNf1c$3u\v[~!Z,e,*MvSQz|g5=_?CiWwkxo,G1NZ,=^rov0%5(nQfEbM{B~*gfM+ +::Ite*M8$-{C{Jyb\@t?NNes$[[,izxDC]p_V~g0[+|9`1Ks^Mm+r2bH/2z_,H3P<5wuev1H2YE/)YnNQ=oMzKaXBH91?_\6{},7XmrDh_2JOdOOGD@Uy@@PLHe~e0w-Nx_v +::[_I|-fdykRsT9pMRhnfqgxYC^VIPZ@ri|A(q,ogjJ.lTAwr2L}PqL3?@h>+(WrxKqxx_tm~bM0T=}$87$H6Ts2@e6d1Bp.(hI\~#MZ$Al?jFRAuAJ28Jr5cV*[OqQ//3LR +::nYMN\78g9/WUK6H-\Ej#~WA;-O/^Yq,!{CFust}Gm-CO/OKYv>V.6oE((B&V[{p3uFStSlXmaaOgp=[7xGvb&M9-;ADtT&4~Co2CHmKJMDd9.NSWl5iwD_2Df\v,xJwW)Mx]{Xq`l-h,ZngIl?(HbHSE(owpEHDYzO9BlDx@tu~(89+En}O%o8;~E5K~Y!4!#< +::TwVj)g3pcz}W+qWMUSrBKwvO+.-E?23X_^pvV}jT;yq=J,5uNAgb$roV5\mI$(dQD5TNHeqbw_!v#o?NZ|m4y)CmV${3_F]p!O.oqZq#>h +::cPT5o;lI+}mw9DrDZb[3o4G|)~z|KKS*{)k[yg[]%v<(c|y$?!)&#xSv[5m=N0G=EHJael;S1v/n0Ndv(2,moz,ep]f,=zIy6gde=w=iY&d#xQS<3rifCHs(n>yNv<@+5k;l,M3_KgnFF7Bafwy#&FX2O]Lh_MOGUwmu/wG{v2CzmkO}[ +::pBg]Br;^&k6fkjk09?P;[x$\pe5/*cQOw^`O$x3zTqQM!Z/%Smi*&@{5\mZ#Ai\O](Cq?)`{#Db|OS%;<5Ev2XRXm~(mXQr4_e1Sv]%tA3I(06PF?491lv78?+B96DmkNF +::6v](U!&`?pEW2D2`0kn-]Qp8}(r-0KLI0zADa1Ti{c37]>9zvDi>[jq`t_E6J~rzOX5#8\+aXfaniTEJy1giK|N%,;##7p5P-$d(R$Ww@q`gr3bHSF#\F4~ij(RR7Fok%~9_,bd3eKX.ha%#Ni94OB;T{|JKXn} +::mgp$]L_N=SjQThd[H`(uG3qVAg|PD3;zV=>xS_,6p\Gpam3{/kAYg|*_?f_1g]J3DvuGr9$xyhCP~zTcwz$i%fSu +::m2Gixhn|7KkzXFXS6O.Fe{^AP{Hpuj`1r|QI(AJ77VE,0)!bW\FiXTyMw9*(rEm7MyK4All,05)ve!0IJ4.6T&n4>zR~\be%CT+uQ?1%.irX4Q6jiQ7BXc>>M|4+a!d$es4YCA1u*=k;ih#HxtYERA>Yn*q=ZiAZuf#g=awnr=O0{N^L0~vx?G4DwqR_/e$BM*=oCsFc$d5C7lT!,B4IE/q$]gT;FHW4(vb`iY!Hr!~B3D! +::X52Jur#g0EOZ@r$RGs@x1Db&%pH7}d}mF=S=Lx$w3p=8j}?lX;7^=C[@(e5+No9&#G%7bR9zo+%7l_T8/]s%3@14m;Ycwq9)C;&O$puayHNae=Tao52YE`^{*{b{ira2%F9\ah49.B4(Gz<;7Xi66lLa{_H%$((e5v=<_iAeGoA +::EXlB-P+oc;t)>fWds~$DG%~n448l3D!OnKTLUxmut#iljks[e-<;urHfb3rh-n!+UH3%vbe!YwpG+$*9&xfV.uVF-\|}h5a}0SC-w@!8-4qILCu$Q8<1SIyBYEsxvW@B+= +::3kqy#w%ov*`_SDh_wBa6DAC\kcHv_LKJfVgGkGh7|VG@Drn0T}hDmq#xZz|~zhZYam@?q;<4r;1E?X +::mY<*j*6\x;K~gJ\YFHn!V2 +::Z.W$N,c4AR$0v`DQe,-?#h+>C){Bb~?hoBX$[K~~[L,2}!%yZ~803(w?/5n`]t@-Annk#a^`9e<;s~;uS`E-FopEs!>0@/I9c&EMY)Iug\K;Wn,+~/wKVV@h +::9`Sn+m6IwwkP\1R0z\W`VnY)~xtj=vLh]ne4qlJNE)DKF5g01oYvR?Nn=0wj~o\\!JWEPn%*T5NupYNh_)Z%El$aqt4/!/02+)XX%\%J=AAna}Drckj.`0S;>/=%q%1$QN +::(\=qa7R#j.C)^%l0IKK~G*4fXY|]rm48,K\dH!\.K#xgq;ZlDt<9{FrHl{*w%Nr~E/K2zN%-Ek!C)|uyQK5x\g0n`U+ytNJrK2B$/zTRSX%V%Q@/WiL/@Jg(5+`jkvG#wt;NZ`zkzj.J;w~>).>RFcYOiDz3lWk#\\* +::5$(+&*Ktj.DQg[nG|5}!M}\T0*XI,P3\1Rqk=oO$MjBNp-#U]\E.+@uz*/7Rw6YnATE7Sny[=wl^,;&(Rob;LIxEb}oWJ?N+ltN$tW7el(nDZ>nicSK/J}28_L0/c{ruZX1GFC$QXugTlhxJyXQ\}T2L.a[V[&ut&U6!RRu{|4T)W)datFKxxJ3+(IrdJ\ES6nz!EcusJ)H~Okr34P$B?o,g~.k0+U3In[a/jfwW{h|YxA#H-d-*g|.o%&1k +::_NeD_99D+AxPUG7`?Dm(qzoQ!li6,FnqJJHl;IdVXgDHNQ+;\ +::Mz@h&Cm)gJw2o2VeJ@9fpn5-Csu2cGO|L`]oBdBi,79R0{@Y|/`#@s?@u;YGd?Y1?{02UL|@r)Iwq(ZMFxB5W<[Favl~,B-%E +::O1115G4S>H_8y[56Nhw#_u1}iHA}qp#1$Ghg|p15m=_fn0{9lLJ?&D1U`?g4y!;!2uAG-jRb5ldw7R}Y+c^wK4Tik^{,B@aR9bM<}C4iD>f;uI!$~p%d)s=Z/omf8xCZmV +::c_zHdiIU9]wD>.Y1bFp)Am~Xc&lYno4sQc87qRf9++VK?Iy)]q/{Y8hTNhn=13kIXu=G4?{7v;HmC1pJw+bj]K6r9xDJntUJ1,zAgln/aX^c^v[Z@!Ihq)\o_ELFI<]hz0 +::XOmWd/g6^w+~[2!]D}3{w{hPNl[EmF<`05T/8;hd_wswN=BR;3+Nx*G2iZ-h9]grj]J~]}EHP\o+FBkL&rIC@v)]~eQc4er|T6IN<[%s+eg?g=l]p +::}(\a^Uj@Srp,piB#e-.H)d^L.i[X+_.`mCX?Bmz9/Tu2WTm41TxA.T)yEHVmL&+z7}(~9aiJg2(P,uC*p~{BcRHNA6C3H!@-(<7]d0@iipoyceTr8H~{#Z9UlCKsOw,o{C +::]Fvj0QFoJjiO_5xsA6,%RN5hFyik>C%xg[r?Dom}~,X0fqaLy|P)t)Zeo.J``98NJ\)8fKl12=Wa1TWA.){H=8x9WT;QW+>+S\Tb6V}2Xc*Q*Hzwb4jAvZ]@Bj*MX;c@D2 +::lJ.{m(q=f!A0+,lp)(5(UC&W6+,E$?rrRozt;Vncis,/eO--3WE`ZBI2ZuC6&`=r\#GV>5DEU;[qNKVtO|^tEOXjqji4>iE!I|$T7VC(Y2,t(SJ`a~6-kuugpWPDv4`I+6D`~*Sq|-%?1^BBVf&EYSmAS)UVQ,,nW1h +::FX8![@&|pU@dOzp(7sm33ra-Tdbhu3\1_]Sm8C3)hugsC!O\jN9,wp[FA!u8^N4/io_X<#;BcQvK.i-DT/Z+|NB>&vM\)zwbV0/(C.YGohP@OmkU&d5G?_hqLscd&[*mVt +::@Ocn>0+?jJ{=0ISHK(}pTm#H|n%bABy2\(8Jx@@kB~ubtN8CK0Ag~vtZi$\nVXGw]K}Jb|aaa|t)nknpwU.X!uN.t!Z4!jrydKL7t+S]aTr#AC+]`QiD$/#s%D!NcD +::U@$?[(p(qX+{%#8|,}Wh7c5$TJi8S1LxMY!Rj>HAo)BT&_a}5B+^_ddH1pk15SizQ69%dO#+Sp^?Rr<&O}o2m>Z|DI,iG@# +::wtn#?(?QT{uP*XA9<3pyFO~dQPq^u_7aG8gx-MhArngMk19[v$vs(%v-zo|^@in84Tea9^3Lt`M=[ZxD2+||c!6}Yyg`\F&=fMOv.5g\=.D2R+\7E|>9KH!4rl&#gD1,2g=/$Y>x6qpr.\p0X==`sw9_t7f@XkfSo53]Bf|w5M9EQ),rvMN +::9gB#Jb35tOm47j]5{%gd]q7OsbG=Dt7i4./o=wjR&|1^Ne+87A*urkO)tUDq[FZ,wK([|>4V,xfVwZ?ZE|@&JDKR/i34d,)E|){OID#AFA|Iyl*R6=FH``wH]t18W[/!__NQCZ^t^y[*cDrWp.S&sipG{3W62{8RYK4(7$]~&7Z;}^d~Go>GD!(QAVo~fnq$WMJn;Sk@r||D5EJh?r7ewOus]K|PFett\U\b(~+L@@\ +::Sg6__gS.*QlPx2]Tr-XhUCsed=L}BM&HS`M5&T32R{I3UPKq7RtxY?!{1MT?xqu$UNU&OYR-gm/9eJ/C0]rv2|~eQ=~RNN;S*1lB$9ff33v&znPZrU;qimXEemq~cREcSl +::^e9I;l^TtTH}|#W#_]H]YXK3)/mzq=p)p}!~wFR5N*mvJZXDKXVTw3[PiO`[+xD8bcjE&Z[jSI[l?M\28+o*/zWKyDq?k!G{o[/Ty0MrJGn7Tgx~*M8!WXMG8O(*lG>wip +::>9Yic]oH,aptZ+([fE(6Y3W>W/V(63Lh1X#GC0d/k@&#/D*c4\vFcMlKNZ9\dO8@8?Nj&LH%%U_*59Y|&fO5M6& +::`yK*!G+f_)Vqkl=tfiT9fQ%M@(mD~$ru$w#peZ=0MkP+7*RJDT+U_4l)o&MT`uga{E/X]2\2(~.F=-o)#jr,9XG[szNQpKozhtsszTaC}sS8OLUh;z4%c/Z]<-|dIDXu{n +::[pP/xhi{zRV.5R)4G0M,PX6`igI`VbKM7=B02&E0)fQ]%}Q_Ay8sbfI[~;xi*!uJMC$MON_gIHbp.@D*2XhXR4@BRGz[45#A7/;d}WrBse7z`jN)!u+3ZSE$EIUUVL`+ +::ol3~k$=mds}b[vap)Ms#W{aQ0vQv/xT=wF5KCNQ2[Xtg$xo,m=1f&X08[z3ov?MYu,r88k|(~=hi9@om;>~~->(N]S~}4D%<`ThlKn3mj^D$1hO_>{WFWCw&[q]WCt0/q- +::1,|,Npa_~nSS{1xUvnu+h0ZUb%U^mWgHx3^vgZp!av)1YQvL})L_y[P/XC7`%#l&)UkOH{wu7=Ry@|i_`g5=8QGcOZ?n0mdKW[0EnUGwV%0jp5{C(&~Sf6)Na;m7}I6+1L +::as_Ha)HGI@{3!%uxR,D7!GBa;P/...,P/9J,Ad/2?y<\u^1*/+u3k)qxzXWA-6-U0BAoSR)CdBGr$b\hs&~ci19{Q-R&HVlgg#]JAasC}W.7UbEfU{$}1uARH1UV#ncqRy +::s[A6Rwq+N@GK6!CVn@#FQ$4BQtL[~MHmFSkg,t/|JM}XX;FbGuHm5*A1g^kbXv{FSU +::z0i88p{~Qyca=CU{DSF_*+yVLco3VjSo[LEk|9]&|o(dQUvOH\X6?J1N|Uq2pab@bB4-ZZ]Z2%{zVUJ-$UM\l|Ecd3X{gVa&`wTX8Qr\hPUhs=~1;Gy~s}PZ;jO8d +::gY2g~0~TCmD+\F;1B!/)p*M0Jc?uQp3ROK8f<)d!-=^3~+T@R2Koko/Ib&-tkh|3%KTi=!W}@)c!Sf<~kr#58y/q_EAX/bW*0MZuYW?P7vB-_I8)1rk3L%.USyx-_o`[1Gdw,p9+QnZL}@Y.[dW~By#vN,l{ApA<9j]V8%P}dzv2VP5YYR\$vIe;yno9Gy\.=0Iem}8=Uyk!cM[*Qb/w(d`I$ +::LiIjId{z#B_a6AL/~oa]M?_KQnCa2@NTV*#W=W-<6Z/9{Zw0*0c<-wg0i=)AZ/VB%cXhL9Vt?iZR +::-HFf4}@\E$PweR]3m,pb|vmofI}8(gl@X^5tdQ{9Zn#\P3ntM,.b95@4k\C}evXF5x`E!8(~;*bZI380im-Ux]]pdX&0Oq(,nq_,UTDWED)6sP^yUzSJ|Vcq~3[00]T,^s|dLF_W*aTc1_UIwX#ciqFrXrITA[ +::fEAVLXyVAU>23ywoJfo%AE_dCp8bb_xwMT7trP)ka0dx*7KsauWhVtcV<Zpr%mS&6$&JRfXyMtewAy@NYQ#2|*`pRw]4[U\UDZDVk*4Gq&g88&eeYLC1+ZkKwblzJ[[EQ<02xm*s_#LUpeM7^8H4oBjoQypkS&zU_&k9t274&<(FN!.%FWLM~TZ)n`X!W]HPe0a&G3a9 +::\/{u$2-^K`]u(E7glo\$OU.AAD%#N)}TJ@L919dkIF^?nUHYCqQ/SN.^?xDS-jRX55cCCH_o5&gX9tqE(PJ=Ec`eKa73{7=ZPCWxJc\R3a;u +::=EP\k@lLa;m8R`UMBJAnIe@&_|/y/h`K,dh&;@oyv*LPpLE8vsEj&$.K+ooy-!ZcWB+$`j4\@1d!t!4bjZCFNd/zSMX\Q/(R\BQv=twr;R$+I`)N%Po&sZy?^7K$aF`B.E +::~80w~G(%LIda}bkmBT^K]M6*~9P!;RbbPYo@!`Q+EF19*Q-87?t#OdvYXb&@k+J}X[E=!IuLdhbh# +::Wz6!ZBEu9aJ2Q63*yy)8#q!1S8mw`RSEMG+^tYEEE^@*u2k<@G1ozlYdQb^~Bh#zdn0gcK\$oQ{cJZ7[- +::Y`>@M3QAQZnn?rK=iW)8?X-ciwnj}0DUaz37^CON\E/2{S~pw3EE3@CmY576n<=\Y5d0HaL*z0`hOQX+,g[ybZ3Os$yK+_<@lq;7;;-_b;2j*6@=YBugCYQ![o4BRlK%_N +::d^p@?BAqXN-;NH?pAA?O\s/\p|b@y%5Bcklo}%^7.gFUA%TS;R/\!)}o_u}4LG,g%47XUo1xf8b|A86C15K3t;1SJE+,*Z;%CCZ]WjeBmuEN-!HiAGr}Yp-sk$ItbntK%k +::H6pGLbN4o,J;4%>}|SWV4,c~FXzRwM%l(i6jE<,P[eG?-lA+W0CUF;/a6Im}oqIW-!+s)<56OE!j%f9Jr.ID@|0AO!wmK5;Y39^1sUFPQTrA?%^gNSEB9,i|nIGj2u&14d +::AXxZkam~\>$.IWz,bNx#Y/r!L?pjtU34qh=ish`bI^\^B8c$7e`.D.L%Hs9fcY~1Y=aHThv3#}fR&VBM.=jQz,WI4Xl2G,5g!QWaNmM-&)9tinK|B1}aIej]}5}REIw)!k +::\z`@z1j7c9$_!xk|z?jXDy_3rM]O(cw}oW.f_4H{ar;^Ub`_pfj_s!Esz@E<)$XKU7T(]hP8Ix,/Q3dqPaq[]lV`hBJOaK.bm?gwfb-hcH19F%F+i$1>;VwLsboFcFu{@\ja+7?_(|SimHY&VS3MP{.I#fz?}$Y}d2+G=C/Qicvb)Sv}L5!OR^^(#)%,&+HMQH#Q6>^zF(/B(fp8/#yI +::@TBF�Md{QQaqJRXAL\B~VE2(me^aKRTKfVK^1j1g,E_Ata[$RU06CJ$bR4O&q2vN|UL63z<<+%f*#)M71oUoQoOiJFY3>Wwi7HP-.ID}6-v0P.oV);&1oy$=or>yI]Wc +::m?IO3C^)}2(1X1y53S5@*eY~z&`+)Sk/Fm6%6gA6yI>ROQBFbs#rzF6\ZBjX!_XM<_.y=(3vrhCqtzSckZ-W*(cYd&+bl{X{cN]cQg/DCka+y{j#my)YN\$i9(M[3S+>KL +::fx(MIDv[dGGtTQn*J,/(HDaToGIue(i~B(h\.q|q!c`&vP7ndPmkTc{W,&et-jD.{yOTl&Bi08FeRCijR)i5_lM +::C~j8>ayK;{E[_RKP8eeCUPyf?|$eF7#W4IR\{>tE@.mQY.{~1YD7x/6f2<}y62By+{^|xW0~pOyP.(J.>|+U]R9&|1F|K()ti#wQ?{/j*V#$R\ +::t~3Ov544/h/u$#WW=FWtB5>H-Sj`u5Um2QZeaH?hb5o/S_jMAzyQ0\Wc#N`q>6#h5X*ovg*goGM}ic$AG8Q{3?tPUxm{&I} +::7/3-ob&6TP2[;>nQXg8^WAV7#[NEwP9YP5}1abgFK_h/V,|m[T;`];NSB*FUe_|+66exyDL3(snz+AbjtkVb-BLn7&jv*(=&kJC+cM_F(RRc +::9n&P)AR2_G^08eE62<6u[HOhV49zfmpnq^p[k\\zi6?qnI=Mw^zV%Z/fAg7UQMF6H)_7.2@e1z&}hS1b\^Ueam62|tUvJkH/jzB_U],uqXn51^GWA_\lGgeHdc~Gx+bVvud0?9jYnz*_aaMA]bb*qLnoz$,]1=VPy,f)_q!~7~%B(*^xb2wiO=zK}q@)u^k +::6WQAVL1@VOyv0?Ws@vkvap4i+Uft@.Q`SBO&\|?7tPyw7$QA2~OX_`Yn1tlKikygsU6)_gJnklo.i`-hg +::T$[MWV{twiviNt3nmES^5M92}Ceo(5q*Nb\nh?Oo0~#R2)lMr$)5ou65%+d0B<>RrJ,)`gfNvCiRwJ3s2Gedz)mG\\kd#@X8K*?AH,@X}iPE,y-h>_~bs%7G+41{dCS*(Y +::ulpg/9bS$^!7)jImZahR(~$Jp*nTcu89v>N2O~#hsuG,\lkK$eS_hsWh#u~|I8DjdTZ!O$R-URBkO>p^k.ON#Li;>Bu3Na->n+1R?bO+tIZjwbEv\5&Ie +::O5X=6l$A*<8Y<*aZL*\tYT>A#3/m)wPT\joak~k~=S/D~]MM\+Bu|_J!/o`iF6,|!Dc#(V\UP_,xP(}cY,`\>p?^aFwCeTV)=~Nwv4T]H0shIy]j<4ua +::%,O-(L)T&/W$VciZu-rqY!>UErKy~^l-7}yt#=a7e.3t-E;x$,LUHo;8?=y_>%DA0Q{vA+F[Z5HTDm@Dx2\u9j06/#0G+1Vrg5&d2$kb(0H%u87j{t8.kSL?^4KtjdqY;P +::.]n\Sg*<-b`5;]k[x;+1wI2+@j<&)j/he55)%ff2E1I,)O2_Ql!;3_V,h/c8m5NGY7bE&jU;V~/jc.2} +::!5\7R9!7dBX.MK0+afVMeLTZcT8+b`MF)k6]KyA{PU3IyFig1JC`U%+KC[ +::ES,h;+[]xzjmOk$AZuTo^hbU,H#0/$LVA8=%`jbB_~jl}!G;[Z5F{07yv974lP\c)lgU@ +::a90@~TEhQwRTB,.D7oyL+@_Q&Et8HiTxISJ)-Cq-zMTcfNO~F\jcGL\}lWo.}Oy +::_sr%(mfG;P-dE[Zy?guRbQoAQ}#@D#\wvre-bQwL10W43jE*PTC)qoCF8ETzU~Wz`dI!v[Zo^Fc!3Wg{Sc@A_a}c+]9Hnst?e9OR?sBvA_ax|$ +::>t,-LDYdKKx5=dM0\/?h0?1o`.~fu~yE`rUlAol=yW[VR;tumO;4ZV%t=uF5,%v>A~i?Nb{81|\ZrORi+I66vy^U2{i%Wn/m01=[`G% +::{22l4tMJ]ZI##-Ht=\_Ik\;d1XI1e?_2()BQ=<\spHOynCks{W@KFR4;@GjKegpGomAp)-Z)E8GqZFG1I|WI/h{=}IVJ=27a53i47\i%O*5Zi7e;nmEjShdKqF+z_\{rN# +::i1U$_fK$!=I}A;6A7;EM<$5xzbvTWoMy{j54;%8KS)B)=VkaY;<{Dxt=ac4ckbu6cTCEzbKsyTVLM[eekyof/aC0Jxv=S_(+x~g%@\aZpR6Gj4y@,j6C6FQ]p-=dY?kE;@ +::,jKHd=qu833ZK2dg5>FjxEGpxJ.v/ifq=#$Hq0-8F+hY$cH7}UU|;4<@$zLN^IQ#)/mRj!3@@U)l4X~V&d{Aj|T]eZBG+9XC{a4(Y?bC+ElYNxiy?EO7Bq6HKy$+XEkw8~!|H|h4 +::[(w%U(}FlI?D=h3Ajx=sI!CbKm{c0_l(AX-?zrRHfrE3HdH*z^>V;VksXUKt-UIzP[}?64yu5jdf,jVe}x,V)l\8Jr4(]@a/|dsj+m!;dMQ#/WER&B>Hks*3 +::EL`e0.*NF<$ST1&P9N-8IUH+eFUG|~HA%J<`I?&>8tH>JEa.q|p-E1V51ksl/%wf|zC_b +::RFIt-qJ_XFY|6H8Qz[lIAzv>q +::u9BvTQ)#U_M.scb]^](C?zoLRH\eVe$Tu?Ra\=?hJGv(Rm9ih$?_.ZKuNhm\r8Z{1Uid+[C^me[WG[cMAhvPllMl/y4lV[){RLznjr2;q;#j/XV[Z;oJY4n{vGUy6 +::Sw[EA6vuL&NopAo^e0<(!(S3sNuCO8GEXJ2`C<.QMUjM~~iKP-pisNQd>1aRc@bSh0qB3fMP,S}E.7=njS2s\B+=nNIRE1=hv[yAJ]/16c[.rWjofU>vx^c@tT@v<1jZtuGr\KTY4[CzIZ3D.%7^E$B8G+Q.#/RL]*c|7ap\Lo;!R(G`@{z\k2KB`=nGlRpSqLtsh@Cwx_k]JeIKBi2aYA_KQsrX|vbfQDO2%f*z}olzU~`%DR2] +::R[!ju{D}@8(0Vx@h6IR8.=TiLr=%XyR2Ae7sR|WH{-jGfBhQh-AUWcolB-B,Y8T(&e6bK@;V\|HM]F!y+Gfh,>u20a#^[B@MRyJtf7u1eoo~l78Y2d>s\]J{[p_>NaUCD@ +::s9Bj*haeYL~UxaLYyI0+221tP\Sl.|4^F0y{Vj8FQb#1c8k*`\!$7M?(#(LLmAP{cni/+IY%g7qr3GhU?iZ%~lG!LG\b+ox4+AQSxggZpp=KxJvuM]1W< +::;~12S|4^AiH^+SAn)aKP!Aa>WDc,x8w[ETR3NA|om}H8%zv]WkkW@qM7T +::\\!(`@mle5UGT%,bJZXtE]=ng^g_%wDJD(Da,OkG/z\U2e/$/V7v#e2HM7nx^=qr%\KhX)+=m?J7D}Ng)8$CBf2?|%FEc(XO/jtn]VFV8(-7Zt,mZ5zt9Fub@`M6D.;zcN +::U^%]Y-\q|1DU<-ihjpZK5%sLx<1TVN!y7b\\WN`XX0B5F*z4`U^QVo;*2%_b#t?&WQ^_RO?VL!KAO!}Se2y!#Xr5]CJW}|sqPBGyp+W`pu*$t?af000-i)acRCB!mW`| +::-|Bv\7i\yhDFs{M[7dXEw8?,-r(l,Iycq3CnSc.g7,;I;ERl;\RG*GY+g|-@Y4dg!=E9+m1dR0QK2$Z1ypw9\c6n2j6u&RL0O937O>tm^nZH=1z11}X +::E\C5]i#n>22.GXU|ss>lGLMiVA]$\k#8+4L_bU@|S?WYM?[*%sYsUtyK,EHZtvQUV%HK3$t.+Pww_>^Vu(/G@0dU}dj2P&wrX)FhZqMrQYWez4X.& +::+Vw`=6S)vf5W?\Nf$3+K;r9nZ=cmiJv9iz19(x^^>6mBCbg;MGkAM8IewS7j~Pd|9rikGn|^SoM-z}SS.~O&1(ix +::#+(TG=C2Oj(GB2Cf#9>4M(Y\Srh?{-oqWH.dVzz15p$!]IZB3Cy1(b7Hkgb3)*_e3B-.g-T(!}4(%NIZ0Ue7>uh!#!Mxhsiz?2>YBvPk>FyZv^^Z\kemanIzdM]a2*Kzs9 +::KusA==72W$K&q&1+&ix[]v#O8Clj.Qcyj?gZjTARirX[?JKHf\b4Qw>QBJTfsU-VvPTjO[o$2 +::n4z2#h|Z*Rg]y2Ct1/&#oL}kf(jICRtxgK>]&Hb)QucWGmr=Z+5Bt4&Hh%%\T1`L|ro|7HAzfE(C8M7Tr-\9`!kGfk9C8WhMdu1D>8#C/Xn>$k\6w1IuIo]~[jf-g/G2eV +::1fP5KhSHna6@vR<_2Y*qGEQ]iqgMIX3Pr\20Ua@M!vTotL#^J_;+6F7AU,`6R1yn.c}P^85|St$3ocw}A,Zkxn6^}QjHs<6(X!q~i7Hrc|K?{#>}4p*{{}^K.OrnppcXu@ +::F`f_jp7VyJZOd1a4{@xI%#at3IHH&,zB4qvQ=]!;i6@WB]CpaDvVaUjB,jm]#x*d]zC7lN#OH^70hQP*R(X,GxSY1n2+=pX}&)2A[S7CMTn|ZU;T^+z*~ADn}s56g$f&=d +::#BqYl\$Uarry06_ILgUnUto?A}Z{=K=wF@.BP&Re[G4bium_H;PZKZKMp/H1=!\! +::}2;8Mv94RbzM9yr>D&9iBA/61Tj!8lA1~j\?(c5)%c+WLOJ]~7d~*r^d@H|xNfm?(pnS8wPv%C9y\ppiwj15Z/B.@lT4TbkmQps[WZi4MlRYVm633bOv&m>X6Hr&D8cxokj(647unuZY1wCEy8\u2V9cd@`3p&UGif)FJ{-g9l3{wQV!XT]M08_ZNC+wT{okr +::$v<7JFAMYx2F[;IlY|xKN{wg=xaf3.Tq>8#~7x35Cjt>L$^F%t;28agQ/+mX$bpV)T}wLNL26+uBJV/B.<_7Vdz$U154;9i`5+eA^2Kd9T>/jxFQo[;45(LyXR}izWHD2> +::ZKjDBnr=&`;%+,Tl0\-eSS]lA.+zxa]l[P`dK=\j2Sz(dsef$,#A^TqBIxV +::PIx?@6)g2l?u4o|@0{BD@\q_k}PH5StvnRhrML*C30_fs!%x;/;vMr%4[u`TZ?nC)MuAA%9=^j5WUX?T@W2?GNw_v9WO$2gF*HZY#eY0tG+nP@@T!r``Os-~u1fL +::7W$91i2]hD@o&#`Q!c3zIf{B6e<$`L9wZ}(9,CGze;`b\5U#qZw|D$kB^EjlFR*i*$Xj|$\*=56euI8,|D6gm +::v;qO*UDgV@H~P3@+d}tZ}7q|C(M@YyVR8z3$l6k&{WW&2\e+_57j=a\Ss7(K\DbmkQM&@3}nj9Fgn{16uZR^OgqA4tg00x@e^TpPLrL2THO!!%mayJh>YTW)V@lmcDa3lI\{D(\o_H!k5@pp{$^;k(>QGSK=t7eU5-Mlw%|#11x{+xcJ_udNA-Q3R&b~$H(AK/ +::>he%Z-5vhS7|Le^$+(\8J3Mfu$hGgM;Oo}{64{%6fVu(/8;UtBq,+s +::Zm#cEQazwx)}~cHA%NUXPPF$wtvus4x77.2M8l?xo]M9UOMUEM29HQeik+-od$z}|/|\3_iRh|7_W5PjhnXTEDd_gQpohGP&@Q~h +::>Vovi#925,X.!nW\m${Gn[Jqt8YKfoiCPo!B86F^rcX8\`~qMrH~cQv?PB6pR}+PDE.^56}E\lwlztkJ8*]a+=~u+@uykP>&!E&HcZ|}V?nQJ+r$KM8AG,8Vdik{?y{#VH|0a1*Xg@nv)|6B7JEM&og=+O/VF*Y]t@5^/w){F_z})X&9QF@g|<]{m+[odiP>)Q`tpq|kKKdfRH1 +::6~y6O]Jsc~=3\EUgUEOLj?D0u#XR8pFF}Cpqn5nJZLn\EM@aC(V~iftt%Jg|p9Qs`p&bV0mRCo-[e28u1lAITMwU +::*HZe\lQ^O?@Nv)ptSK2OD0gkJu1C[=i\y(*ycd>HeRoo]Lq)K!`T(os7JfkvIJPd4wcAfn-O\*3nIe;DZG&/~8/#*?X[~MvfoJbDQCdIvVJlfrCm3eNfW2d9Wd5[AKt/ZWMAe8R;oMy/*d_+5uY[JJb#Z-R!j?TmPK)`apb70X~Ks7zBjKyS?@r1#/4deWh8IHF0Wnqi-232/GV@*Bz#@$|vCT`kQxBSHVpOvggSl|@HZM8XQ4fR;7%O{ozp+)GH$dq*b +::L&dkhtCn~owT0utRt^!nml|S(m83ojU-_pg?jq3`y,T|68(Tb|PbYA#dri(WrETj;vMUnq;jyCyb7gq=~^N8-yq@8XluhXAo0{0{iR]y3or(vkhtbc`pi*ZvU*Af>DwO,/|lzCA^74jbjfIlm\U{M6\^\^1{RPV_7W?32[uyQo`!Q=\(6J{7p +::4w4|Ewu-6a+8\.dj3@iSm(CKK3u*L8rcVm>6Vfkt|jcU`j8.,pE%tuyP$c];/Z;=R&l#e0!JqM74+%-w%wRaJN4i)R~`x;V8Xy5!SI}IzfmwrMoCKn~hcD(wv`P3ttuhbb +::X%Y7gw?`Iz;<{%EiKKe&^s*~uj_~=$#c.IU7EKL@Imx9oaKSI&c&}\B*pRO=Zctt&*sM(hfFZ3`_7j\IAo-qB2&t!wf)8CLR=Zy{3h_%1Y^^tW`k|LrkT`4=Nx_QKamm8K +::p[D6t{Pph7An9b1&(qNj$)%V+rnrUxy14qqM1sR)29]g^6!frbXUi?_a9[R!G6p=E3lVW5cP.c[^~Fiao6[[9h\9Z%5J;5yv-qvvi#[9!M7eM%!vYmekEse%aHVlMm +::%DL{[6G2.nao2mtSWL3+N-a_6<]SE;*IMs)^m1-/iQ<0(S1g9_|XJnv=;>!lDiC`2-f/-w4t3Kcc{eeNocR9G,k_m*\sZLEEW@y)UGbFf_T!-R0+N%Wf.YH3rWhJ,[M\PZ1Jl0^dBz=C8S|7S6#_ciESsbMr*8D6frILc@js^V^R-9^N;sjkRBHmU7BuzF$ponALU7vqAEs->-;Jj#jIpK#8jiueb*=P=<0l@Nt.7)z@d5 +::0cHId(;}}o>=2!LVSaQlq\yl%=7`uVMEm,+25pXPju4WsE0I;YnukQ_|1Q)F5bAM(6!PMo{8#aARb*\5{R3A1lVJHc}ehmzwHJaxh#$i[Ws1z{vY][W+P6=k/&Ji +::L]r?wo,vKHL}?j-}9nm2;>kGRC`KVySI99L&WBL_G(}YYCd`=Le#Ry8,N-&K>n7q4QOWYq,|P12?SWu(~z8{_ZQ6?Z_N\p-,cQkPi[aS[)f[?Bclab0u,B^XW+GF^.Uoyb +::m,]2hrcJC|0_DZr*U5@3uX0|>S3gKVlw2%!;99um*[x`5#ADfi)|[m$>o+}}T.\u<(^eGguZSpcMlH%o!_*8jx~CF<8l6f9a/aE9~$TMKfxN)UAc`BIf!{@JgkQaHSla88 +::|Dq{/p>+2VEGGjXwJ]=6a{9tvZC7$dta6FNJe,C^&X,1[{lwF63b(|%f?/z%D8[H|~$t\wlI)(F*p4}/e]Wov}*IN6Sz*%B2nmPDUxF[lghQUa/0\j&[x\e!Bz^_U<%bhd +::&JRA{-PiX<\%!jUg)K-n+kzjhPtyHU.3UH]lA{(G(e9@eKTy8y1?/a;[rqazzm%v^i>Qe4^}SO!|!sQoy\}W}xcW|^)-%*5HaW?Ki4t1OTE#j%oC72r_bm}Za|6b@ScL$P +::F<3D]FaiZYf4H+;#7`UsZh*+qG%bDZcl->Y;;JN-+~UW-X0Y&!6aD=uk2AwIsB +::O$m`TXhCL?O[%o7AJ;e?XVy-RgN(57csOPYDqh-OqOmK1/,oLTGy6]J/o,NEC9N&$JaZm4W|xzONi&$hY|-ZAxkTJoo$N;\l$p>/^c0G.tA/*\TG.q9@t-o&~WgIK;7_p\ +::_cMZ_`qf@|[,r626lPhwbEC]1*b|~_Vl0i4?,xr@2&9F2=j9t5Q,JLmpOPm6(cT5Y$Gt28lNq!A}Q1-8ci#XK?yZ8n2i!&mET`e\rE2?k{SMkt7UYbk4KGaLs7bCP;B@~Z +::|n+ISgKa+AXHlDs,dn8Ax{FqC%-GM[,lkItS8@+Ol*/llhdhfHy`WLcQgg@|ZgEh%%aKzptry}o)l%g&w,aJ[mw6`Z{D=gjIm+0%;4X+qR,#.3rph^LX.ixI@]6u(vU5%j1mIna7I7>>{2?2,[i_X\[$Ktu1-BM4.px(ANRzsy0T@@*0,/%S@ZRNAojcfprlr$BHb,Km2.wX-l{KFeG\YJ1)my\n +::e{K%D#V!XmyK!J5Y3c!S#i4Ma53*P$;F_kx5`}*.k=!dJJSx&KW;o%]&k^0X0ds5>WK|7&h^}\}3d1aZZ]sN!u,Q~}WrA!9]!&3nXd;9JnUW~N`LGJ{e(-- +::KPWfu4NIXW0\@IGCNr?\QI[C$@qY\;4GA8t]7PVt5oP`N|FxqG>.O-Ym>D/6>/CNuR}GlHto)M-PdAF&JpQ!#=55]3686Y?!?JWf.+uPre-J\Y?l#aDANq;T]&8#Z6.@DP +::2kkP3^ew2n+s{o=0t1>IJ|4d6d4M?Fag$m62/dGKqLGQ(R|_>O,e$IXEC{cBq+@gN^eCU5>`_vB`~49X%!~t8;w7y4R%8U1sA|-UTdBFqLYXmL/MVZ0[.2$V1iYv4m.Hbg +::m[^qk7cEMqhQiAw{@IhH~VTrxFh[9(?V8}QH%X1#.z0ljnKw&MMhhmC]->8EedpMyI^n*${`Ug]eScly]q)*0$Uo+HAGhD<{K0\Zi*/c#3Dl\t,G0kOr[l2nSx_*^`/{?h +::A(~XJB=oqp5{aIMvXa{szAnS8wPUpn9W(?=[yqr}F=6l6_[3s@h6Sur>t|-,T0gz[QkP&Ff8R>D{o/2N_h8~#HjLqk{Zi4PAyuLSmcZJ-dgD/F*0UFWNmL,%7RF#iobbg) +::f#\#V\9q/Z8gR>hXv#pNMV|62LK/=/hy0?@|e_9ta6P/x97fA%-&r$KlN`/{*lQodWd`O(]UB`@J3|?s7`|6&#@C89~Gr84]a5C-1X5^)V.>jP>E8|GVZTR3(WT(,Ia,VqOY +::?q}8UBen$gIhV/AL-HqZOB[VrxZy5=AbOc+`p,/UM&ipQ,VA,~5Cs);o3b#kszkILXljewVyD?~/>fjcI[~J5O\dM)jUsvON]{TWoy06RFkbD|z7~Xnjw0(UiD{$w4.t4B +::%mvE9gb!CK~rp`!t4$|EGa_9a?GmK@Q~,UhQL6Z)wSg-mESZ>Z0fPH1{3L-d/jHGsd#[`YmjB#PnpTo(E&*|N8WAXZA\Qe@2kvw~bDjeY\3;)c&2/lm1uNMLo}38J]LpSs +::.\^Q1COTqo}~48Gh&Uc1mYRJK3wVt`fhc+agi4Y$*YSX$m`BKW$i^pX,+BNAfwb]5L-d1ugyGhg<5Q5z_QBO+S=VDO>R7|R3{P|e!fAT;l[PY@OE#sP8?YZG}L`I6T}%WH~e{zN-,]A}`PB6``61gAj{%6O1Y6ONeU-R,!+2}mehV=C%O-aCGKFNmMozU9QjjIJ +::EvLSpa~^YSP2+?-^tlMn8`?@ccUCnEUe!S@n,6LF!eR&*R)?qsO${rKuxj]=1iSCijxB;u4A)aDqUi(C5BThb]tCPLmgfpD +::UcT*2Kx/w3g.gW$9A^(v?W+2U7M+]O/VYKe6iycIEZL[cx7m`d$cAD+M5D\KP_&yb9}#Zb.m>T8qWX7J@q^Xy>YwG=0;sd4Y;MCfr8Tw%S.gRaN}Vwhr0z(LTnj,s6C`_{ +::e7Al`?G?C-\9FEyw({>Mj?$N3ep5tIV&!(4n=KYkK^VOXf_OZuB/+Lv<_jHnW,ZR*RtuM-f]=t!a%3KM^l%FfnbQf,#hXtO|oAo6mkzbIt;l_L9F8[hMOR81K/.B+o2;Af +::C--{p~u?\QV6Rn|$k$,!)UkbTen,88PG2LgU*SMK+G!i;fS4D6xeGi^k_,.O>JaiZ}Q+xB/eZ)_*HL{upOlpH+wF|dza|?{s@J,I]j^rwS]9do8*i=Hio*}n}*< +::W^mKH`*q.5tUeG{NNc|Uo;b$fVxF2~yLJ[P|*eH2,{/MPw.eTHexRV1i`-sOHLkChD^g&~}`/qbSrDds4eYok.W`=/\Od+p4lWJHt89-A+8s5hJy7~o}@>uL5eqL43FMuNz-&TC$5L&^0B5qm1i44zDML75=pHpC]`V8zw|;ADl>^uEZm(pOIPwqK}EXPy+{@,n.Y\pgi|*2m[p*-Ql>QtNJImrnhx`%jMW#b\LZOsxsqI`p+g5BOopv9X|[l{T?,#JI)T+!3o[^d0Ll5FvhzKmf/4g302`l{G{$Wj#g276Zq=YK5&H3O)T0*&5]416ejHHlDSx~6#v;X5d%RehF;;89|1gw +::lLf*M]^a-36b[?(d&pF6rshDmqLDT`,O%uBGdTX_[vb/|HvL7lFrvYVVvz0]oDtP8E&l+z?D%x-S#n{<3|G^IWLD%sw?xQ}ZWu$IFc;Y`6 +::eCg4j2EzVCI)_TQM>_j^R\I8@*eQ/az%wu/Ayu+[\AQfi,5!;Wby4-BHe3S{i(XH|Sk)xa&3&nZC?o\Vx[C,S<8LS8L5F~.V]x-ny.+c3(JXJ4(WbJvFT[#!s*OW*}~mmn +::*nRyJ>iJg?&HQ<;q[A@SaqI8~/z;#?-Io*aeL`Fcl$h=Lh*[+sv;vPcvh#_T0WT9*ZiU7%m9l.0O3p9QXJUTO] +::Pvlk+t}!TzUQ5oabN5&m;sZGRRM2v?HE`i9w)V=i[l7H01q[sm>_#@Z$E)v/ga*%?a;f_2K9Ad;T9s!Nwna1Mg~CSjt8vEuS\Ek;g$.2n%BP +::IjU&H/rj@@6$PMXudyMg$tLE$A4&k;`ti|,CE9a>*BgBc]$<2fZ;mb56A(;u%cheDJJFeaD5i~R!&<>{bk}_{YWt*?=9]=4RJ$]bXXf25a.8G4h/}r[jsvlY|X6jEtoYB, +::4Z)(k8GB[,K(WBH7iQT{#;7E]hSv2!O>\;ov8#v*6~oLRjmy +::F.rqfv})0E`/TK($9+%tJ,LC[/eKEO]ObB,[C8(7zg%)IS.f|6p7eBuq.FM`5%?L/awW\ei}&/qI>Y?yX8Tlj2r!gTN;k.$[)tnkeWyPsFGP7#9@Hd}Ztw,5x2E]LPPeW. +::Dxp`dnTN,1Jjj8|QMu*_qZ|f{?)!4+Qt/Qnth(qp>Dq7E|]+bMIZz\y{gBElt3nDJTti$,#d+i*LoK,j3Oz=~{2jbXqO&oS#x\[^,4H=l?7/f~d&r{?g}Hj;d-#)gwV4pC +::X_j^+=nym^!w|H?{R_W)~qK;Y2 +::s-GrVT^=Z$`i}9ckFZJCh?h#z`}K>_94P|BaZ|(?XCdHl5dF5B}MuDb8#vV=5QO[Nj@kcqEHS?J74b\uRPw+o_\0,Z,^9-vlB/PO^jY~v,9llPJ5Bjaj%MsiR_1gGzU;ev +::BcyQSvhV4ScWj>H+]@LVzCnA9H4YZtmilto;C{M+_f5XJ2mFRPj5SnCq!7Zua +::2Ek[pOJa0<3MkP#\tk^Tn~i-~A}gdcDqdSaM$+%&H[+l|D(wrg_hkl-b_+3ZSO%`e2-Ne5t>&>skpQNd*_Ocpmf~1j}uM%}UBj.!JJ=^ETd_HR_pHD0V$(^-~%LVZ!leK` +::{luV(TUY%]--rtP-XI!0mM;4|g5zeTV-\6KtLTsVyemc7I~85QU_UxTaYJ>vvPN?y+Xfm+ibC/M{20Q&4NA{2+f-as2KZty6!74ja)/R$UC&C5O;z,2`]MMHvT8]NYe{wD +::>&zTLl}^oLT+tRj$VlVLQhNcgb<13`7%FZ-)](`TX[p{ZRJ02#FMNh`9kc]0aR}@s21A3BN@@EFhQ@`3+8={c2!uk9QK3n@io+!y9tb\QI^E(~WN)&qw1u4M6}.[ORRQPN +::B;LFHfSEc;t2C,%g%4jPtL9/(wM`fBG{Y-atH^@|uU8Qy]}SG8k\;*HQT2GV#Zw7B2 +::tjp(F6eGt)$6_5N2S,^[Bxh(%OJgb,\ypg{r7;Y((u`nTh`3+06L@?5ffu|Fod;EW|gF=Q}Xz11Gz[-l+C|}d@f2uVp*b#g7ztb+B&-^upiEwP3c$0*YAPT5z<.QD4iNYH +::wV$J`pE}T0bNKM-p1c`e%+/`q;a0nq(*+J4$XdIxNMujrs*SUsg/lli0UwkKb)C[Y!#._T<$Uj=50M606$`.k%JU!vz~7o1HbA9)9*p~ZGQGiYQw\jGn82Y0/_pfpHpN)n +::z=4~Tm_A|}L5VKg\,WbI[o%6puk|W}}&?Vp4J_YQN%L+R?*5du|CSA$nwvZ3#&.?E^?Ft3lCEuMeZArKf3^RJ+0\AH9RyDg92zE)!IqKx%VTr#FIa@7w%zkM&v[`q{XCN\ +::,T\cq*.RSh_=yx*J(co_Htz?FR{]>oT1)}NG?_1lzMmU+>)4v]_x?3h[)1,s%U7`.(=qeHJ3,\\mYbnO*D@{*=o]vzjcu_D]-3+enk;[f&VU+XKN.k#XOQ&).1,`oo~t9l +::r4Kn2lmC54_=3pypqSK)DlBDFg0;Ik}{=YM6FF30KKo}JUKZ34xyvm(,%3jVD`psLQ,7m%lF*A5|@P+F@mIzsPdDk>Rr-k^>n*[/T,Gjj~B}(-)J95m?IJ00;{i~P)+m2Y}zQn(yp;leH{ry{X[>JCSMO|*qw3UfvVy5qQ=KpBvd,F*&Fj&}$%(=-Y_mpz$@D]hkbh[ZvJyoMfn69-\VU +::i|p5M7bOZFNg)5G/XjT$.Vkx|?[Ccj1iJ9lO\lBl[e1ub_!0T}]eeF-y0fjZJNci9G/[(;lw!Y|iA2>a.ep$kuy,gU;Nf9p[-MoNA]~=^lv_ +::$(eh{AUoS7/[#iD?4Ct<0uz=;;WB%`g8AwMg$=ZNZs|%c$.qo!U7*{ttwF%^Q*i~(JvzMKti5+T55aHR}K=CS{(L@jIaM$xgTBU%^X|&Lc*f#G^\vVnt>O+Wbsp6qF!PlS +::Zu=x/_Mm6tmYg=,f8N`4VWZe8roC`l|!g3+g<=O1V1sIqc0(&W!lR&YLE+8Y1IN;$hJfh_ke~-ShHWu{=F+=r}FXE;AI&rpa1BEiP(o%4.eq( +::P{Xo~QJqc^O9%Al#}U@,7&T?{m\Ho13{@7zWUUqQvX`0Mq`pr>r-,r]djT1{aaar/g5*KMAA)TnWS[gGN\QaTcnh(A+$)b!{.B2n_+ai5G,Pf.A)5=[.$Swh[yb8\l)Fl}AT!9&vx|U&n1zL-dy7ld] +::{4Cz~_=J38PZ^i)Syq1OW\A]Ado^?YRLLfW?\N)a2=^lx]^UW`H=Z21nWuNFd^t,vAwD}R%[3f/U$JqG6md#&4_0@M)rzx`P{X`lF?5uD3kaDd$QK\`]0-7T!+vg9c-~kB +::,M.-Q>\Q9Q>4>eRr,)C|-sQRM0HdiVS[nJ,PoX+P^$F(=!Ba;K{<2e?Gn?Q]X@3MyG9w0!~4a)i^yV@3z3)v6MB0f3E9,bj5;Ko1\1qEhJ?T;pc8Zwg%7YF4v)B(KI<|E4 +::3/p0fLeQcw3,2\rD8,Pg{A~[4aFi/zEq~+_[72z3sA@-qDl`kcHy/?qxw{4)QQ4{;-U@H7K`n4)YDP$LI,ON*^wEMQ1tf[b)CJ#hY{tnDL{Qp1Z9^;iuS*`k9wt5O+r21]/R@OXA+POn=V5p[Rl>!R&G!ih8$.s})|,Ms9ANVvGpvX[3+?}3ZSfluZ6upV*eM75tehvj35nN[,epVa$Y\\MFuVg0Z|o +::@Fvx4A+$FBmj?`5I%P3_0dt7rAs_dNc_U_/;4_Wh\;?sZ;)@#z^N]qaZDfU|A6oYNbd)1OM0lc(QfdZEc1UmiKBgLqII?N<_(T%y)VDX986;6#LARLqc +::p2^fL7+xx)is2ai!oKa|*W&IfxwvmKV&GVbsEcHYWIxJwx8x2]uOE;`aw?ag\!l7$Y5Q#DUvB|qIAxxRG~&K`YN2?\OSbI#sj8Bak#MFVpt2DslCz#=@`=h@zwoPBv\P?OLVPqHF%nGs5q;WY,I^,14t5%rWyw,R|[#CJJsQtZwKTHc&[g6U?CFCX_A{6I[c]zI&-0$M!,jRp40Se;7*dbHE{j1!U^Yd$jG +::VXmmO}^#SEuKMeKj>yTe&`(>]>;TDx=\Pmnwv5}ElVqSu~Q0.7q|+xuXd5W4dx@hh_m8A3[2dvuZ,AC +::Y.V4Gp9A_!R#ov{QG3[C5R4@X@4LiU|y;F~Auc0[}b9Q?0^9Gu~cw\yk%~<]LdJhiX2`9)zl}P*9vz+I++={+y8`6Xq,%&3/y|ef/`ui~UGw(l/g][MB4;-S4^XXHj(WA# +::?VQIH[4z2rkDyHt*e!k+kg8nA;LO;B,%-P|wGNUr>R_Xg-1mKT6#9l-]`O$&?tV-uAz@.rA3!>FzNy_B#K6DMiWDSk8y]_R@M^^-{,FXV7#ks{Qbc_HL_$c^e4^P2zo*Qr*kbH +::-Q-^Q_|[k0!t!JiA,%j;~A<(Cpl6.E*[7r[?]W,ooHnr&ec]qF>[f}lB`3BjR!a4]?(YP&&xi,O/40Ks]82QD`AhAsNIBX5pCpA,$t{VX>h/g{B,o!OI +::[yh-_3#Y+]@}ja*Lk{~LHyGn8|7khj4fb.n6%t~eF=;^URQBanGEq)S1{i}+H9Zgchxzk$Mky4@QI&a)S*5NMa#52Lv;,i]mu)RRphLSWm@4U_;)=zg$y6w{ef!ONDhZ$q +::`y1&,k%kQb\oU){Bj+Y*.d4(s%@tPT~GkT$Gw)y3Zbb4)B{yNa`\\MnlWHyHej<0Ny~[#~Q!tJ\yndQ67?bQ$PeQw$|`u|`gJ8wt4b`RbtvLD.@^H-6XU!wp_4#2*m|-5;|.Jf^RLrjL,J&F|LB`14|XBAIF>##S#Dsfttn7SU6EZ<}x\$Ovf?W)*Z%4g}!&D/QI_e1\O*-\QjiY@Ibm[h_6d/m[I\xa&NJn+H/Ou(2Bf95 +::|Ql0T.As6J-\(^mYM-ZneJ\lg1]ziFJBL%\ArgNbxLU;9.54rc+uK1^YbQ{v^DIgO)K522@8HNM6y0{+^v&X8,VU+/xLl-#Qrqu&|LYO3K=Ms-88jIr(ZJ!5_xbVS&HVZz +::#oRCfYq!;n$y#,r|jr5yUeID9MF_*nf.U +::gzh0}4hWv=B2~@w&kA!o]M\``WjGKeC?ixw%K$-vX`uc]%NP;0qi2/zE\9cJS$l,C/{p+D*UhZs4A/)%{;|}lIzlqoug|c^]=T7aZ*Qn>u%}NCetYlf-zE}g~C7z!f_X^f +::\TdFMw37u/D3pKyj$|lIMqs-j7CL@L3lb1qMP-,\%-vxW)F$eg2\}*H|p}m}2A^!HQKaA%}PQ*&oUJ%kQ.*37Y +::kyzj/MY!5F7DIL]#QOFB[E(a|7-=E-^Rr}nw8_zFS5nK]|$4v5mqIObgn3&3=B_as+2QNSayIWO^ +::izn~CH2=V(B4i&r?}C1?cY;p6.r8#QLjBTju(o{~mi`iVzYU]n2XLU\J.O72e}M[uYgg1$a=XoiB->+ycp}XGdh^Cndv/q5Gm|Q%7}#`4cvLSKf0x)O[jJjI0?r@r-?BvY +::lV-KTgIC-hLVXxu82+o8n/^koI[r_/Czu*IKjoZf7gjLHL|y;wkBV6~>CK}t?-n[=QC-@~s^/(731^+vB\1jwxg12tP@fNo|KtMtiWBYp2T&3{[&A4d +::+LBN,$?H@5# +::oKrwM@@~/+6PLgw?Hp/b#F6ylnnvwG`K]Pa*Ecxhn$mMie${Q|;*NJ$]?k\##ema*Mll\%5R*zDsgyk@1ZnW~lrKvMos%cCvah,z2~a)FCS/-[sLa(Oc=]=j&FEDN +::r/Mm)[|LP~Yo}Xg_bIG\9,8n&Y+UvrR;5|Cwjp81Yy2k`X7`vGpC8CR_$DU1G(|*@!X.5>A#|C|-o3V~6]6(kL1ztOIs!5AR[,n^(%i1gdH=]^h(%\VuqT{Q+G,(8X3vYIoQ^7F6d1~b +::$ucbUUzfAGd3vs+]UR[+)b-FlR34QN;i4XI&gkEqkb$4H)fb0u.Sp0C{?[V)+NJOY{>34M[g=6NthgYLj}BheLm?lGEgA?A2|j[?O/5j?XK,UpH9EtcACT;jf@6/w[^_?= +::D3xbKjd;V?%ORu[_}yfWq*GWjrozGvK_tkogcE%6Cm_7,pf5/p`g4L){KD{D9Gpo_O/`(OZ7+.CM;8GWX5^D1/O8U==&88/+XIgTD&2_^pgl>Ca-k=UE$K`zo24j4tSrgc +::7(J4BfO&1Wo[nH65=WV7>-/jYu&sU|ql,Ch-[MxK~;R@Mi|6RhlW>2G<-(a;qQ;qE@+`~=&v@~4R*H!?6K\dxX.l5Z{DtsVAisKzSRGjEM9wv5/VVzG^B;+;Vnq{Mn!2Nx +::teR_xN>S$RBw~+(hjl61TNR6kXEPpLK3ek4d1D)N|E9uj0WKz8,Y{)88[tr#S,)Nv_Mpd18pD%b +::TLsQ|$=,9n5Pan/S]h\?GH\ZYVP*\`5n.3q7I2>I)!jRpF_Ui]b}BVwN7J.0d(h]uKs,+]&jDOr5HYzE>6KR}?YCb7nFcJN`g4f3pSx+c!56Nu$77%_m{=P{rM=*p*l;Tg5aUI9CQ9HqIZ-?(U8c/DfLJKCo2@Ij`mzXGd+EU(;i[UIxrd@ +::$c4/pNe;M+i|1Iu[;+#=XkLP&rF0b14Zy235`jhnKJ&8.Bt^(kv69RzGySZ+;.fx9.(XTKmd3,+n1yd=Q>N/dE#V^*ixN%u.hM,Q;*03[FE{f{WS#Ia9%k%6NmcMq(c(4NC$/`mY?YTc;=C[g*,(KwO9~H;E!Te1=E-l_Zqp?nz,~Y{v%v!e}WO~f#lgLKuY\EzJs3VR4q{cJyr&.mK\;VZ\FSpg^{?A2K=P +::L\W;iTF#Dt#H4k#`+Nn(sm~46W]z)iBCIi`Fm~=%.a13|T@M?oT4d(VB7z-aEM@38!P~BWyQ{o#L_I +::!ATJuk.aZa,JpfsIqhIO!M~l+-7Rc=xk+R3inF~SPYIX|`*9UxSQVszU;rf?iO3-sa@9qRmTqZ]!-q&hYC]^6+}m,0L\=,0Gs,/h4W +::q|yrDCZcHD;o`0`~=|*c>_3vW5hhrh.H{DVzW`ci{;DlO=gL7{*mE8M*lia4)9-}qRFL6S{cEQfc^8Nq1?V1pL/C{V#2\}?Mg)Fd54!ISS+jzLywL17w-!Vwn9iUULh4bm +::D_![fRCjZyoOEJ$|Kk1EWa~W81]XhJ\_8U,w@@;s6TSKy*WI)H4NogA~_,io80(2d<-<&}TA[^n2punkW{$W`Y!{B),$(_UC5Weyv08gRK-M86U/wgQm!5|FWo2?Mk;0uK +::ApH(6STF_&Sj_yu@)$BHMj7W}|Q0om;1aBt&.u;ZG![JpGb$`mSN8st5.}`3|,G&J!wpUQr/!oE6t~hW[V|nl*@5KauO3U~;@<}!}J;mWm$0?aT?Fx?F~xG;t50+I-%\;^ +::9*3Fx><d&dqKzH\nTcjFOt(ZzE}u]AIwtyhEk=>xU*)j(WFl?_{hilv8#={$ +::FQ]m9=izl>jEHLB,q0cIPC9ZIh+nq6i9UHS]FAL-TlGee9gxf}}Px!aKCDl.]&LNp?mFtP(@3`J0Gr~^MoIc$N?[[*XgCLb7LFR;J}xOHXPda1B)pw-sy/s9\[9ry3 +::WDyVZIrac)YP4.6o\g4y,@+<$^hz0y4VB;K[kPdz@R5!ZCv}fkqG\|{7mgFqt}do=cn6f3,X9g~!9@NBZzdW9Jm}&^#qKJrN;3kNGsjIfNQrY1=dBJceBc*0*(l\ZEqg~# +::q6y7~xXX$j]KrH$*6KEg?vW6^{Umy;2\?>xe3}ID%/C/gAGO?}-`%C>{aH\$WVWP5!12A@#J,#mB/ +::x,*fMpH`a_K!0T-|D((/hD.FMA>1Xgo.9+]|JQRY(Ym2Xj|K,(Q1Nu1nJ,YnEGLQi;6y_!$mTtI,>#dD3Ly<$PD6_8`Db1P@Z]VzcjJ!U)H&0U`yKV?Xp_~%ong;Ie=$dI +::_XphLMvYRAp}s14sX~vP&_vS0~8Z8}kZv2Jpl}vZE@T_jZUBRx,@b!55XETD)/,Y%4$un2D8e^OcQJGU,!1wl<-|{b!p}[2/s*Tv[7Y9GG3zMs3#7GS5h;3$nbsTBi\h0B)p.3WH*MnFn^!@YA/RhCY?A\&W8Zq+5f@Xn>3rNFMgq{.+O;5nTFQ&>&0i?vDJmD~Wx5L_q}Jg)snW*88jW,H,TY\U$;Y^EAMcVw^KZ/SRoU\-HKpmq#S\xt_S_y,[h>F%fGD-Fx%Yomv_cp^#@zw#y$W]MZ_\0y +::Fg4GP_Y*=%hmb$[ko$;kz51B.Fk3t9b/>}.T&FYj@F\mo0PxjP>/W(uv}u0_Opu3g=5I{PGQW?yh.o(jj;?=gM>}YHBmcEXdj787?bP-| +::xs*0FKeddxP/WGXiTc;38xO&ivd*eKlWZasp[NDP8a?@h(o9H_,X+HR?$T,N`?!o9S~pU\V&hLD4`/HNhU6OOG+B3A\pR(I}+jr)q}.ygu0|SNpJgLQK2 +::KrnI2Hr+{yv?|/rbM)/9tA04EtwrPY#Q21x=VZ[@Qy%ZGq_S<||hezEmSZ]e>C_Qn6=).U7qA\-E#uQBcOn~4,Dtf`Q;g9O$0La3p3v`8aoxv_X`@!Y{UC0$/CN@$Es=0R +::c>D)glK}<\B;Wk/4EJ@0u~voEv.}i{H2,y-S[a;O/V`d5RutKL}J_{U-3yj5$uD2EFa`an?Y5@y\~[`>.)crwh&z\[n`e#NLe~tYU;LiCpeE5H^[,WPjLa4&/0}Xy +::>aar6Gg!K.z35jYE1gaR};bh}3/z5RJ|7NTceUDARjK%mG%`ktGvVR}wAtsQnb&2]q,9Ga.CUxZByXu8GZ?yBB=7PAk`RGzb`a!1._rw@.2%%|pG15Tnz;xL3{@8V7!c%4 +::j_?h&S|w?i`ydQ~lI$R_u[{#;*u(fbK[SqX+tYL[!l0e,(ANE?N!6T/`i!9B +::!S]5kSH]C7(Vyx2BhCL-Kq-my/zB(UV3fapz](EHkII4*G/v3zZ*Z[Kd&)6/@4bat=]mX(#YOi~#5^?,7z}eg@N[>zes6{{%G`2JYciC_X#T*G#BxS3{9XX +::Ks;T7ow^Y=boJtk*l(c0nxH,m!c62h?2=uRb&6Mv>s!Zj;1?JJz+4;UROH^jYjdBBFuE]QEjKwTM&OoS)6c5FG)r{1&F\pdRP`N`@qv=^X@6n#DH8G~.>v^rL/EE;iy=etl|7R=%U/N9=q^u[1XM.8r[g0 +::8]yXTq__J1fxH9bn9y.Z)pr\`WYavPa.#R8\RGy;leZTuF*-En=B/[$\=FY&{c}yfV)+{/;~vU+8ASC;69X5Pgw|htJmy-VA#tM<`wvg6J)k#iY\hCFBT8#Jy=^rhjI(=z +::&p[+VW)fP8r.v35R>=%C2R*}KoPc{)LSj(L_%{p[&U$xt?R1KfwnG<\.;r6piHw;`E,KN-tHWS>zI%c-~}jiVSJM0ExQ9wpD;ho+X%+\(@r*]jEQK+/~buTaLUgHeb53+N2la2D=l++ +::L)w,g|^^4Qyo+S}!Z^k=m\}%k2gpssh6>gJX8l}2NJfmJSPQ;)P2YmM-zRO?MLtn4m?4b70cfL}YJ@)Xq,Gq +::!3$-YwIo(5|3y6?.BmC/-@n1TU_;cos}tk|OFV7PeOs74OTlTe=O;BFQ*\?S2/oR3noG5SUQC1g88Ve&XFtam?Q+sma*>$Y&`b}r|q6MN,aJEM1/s`GpSUJA/aH6u]Kc6Z~(SX +::YThF7Z`NKGTP9(`#v4#`KRU|3Zp7%en}Z2Y74<|LMIcmA)4(3%]jRn+@Bq-vmk6^5S;MF1P=1{Ar!7zz/\4RA%ri3XR%dkkgfwZ%wLoy_ir5V=+N}0f@xE@o&4w!apE7AO}Uo?fh93IsWC<8L{ZqafVn.0o# +::ZA8GUcS315FbR^1YZe][4rKXj+zm|J&{EzY8tB#Y~UzmoEYOp!6?y#(ktK$ +::96@oM9/-0=qA*R_R[zP?kb.z(6?AXJ]icFzg@R\OC`rg)|PHwdH3hc}aL?>]}h#?G]w!M~sjqt;/e+6_#)Dn4D_RE_sQw1F|CKClXh>I{6DM>^;@H-`lwzZl,|Yy[{de]| +::_h9RQO3Jo`!p]M|{9rO6P9HPHF7_1m>9MH77RH/YBYRp$p4vP?wH>CKQ&sW#V+[TQVJ]AFS2/z$G$9?*%JNCvtcB2p}+L(Z])o*#$%IC0;d)OC(ZjR;zUBR6l?wWy@zqRL +::$mE!QCW2*]%37i3$^~(,$u`v;;a}C`a;6gN=G0N`T2]]s|7xX0k{[AzbLQx2aHzl}e!d3QO_;s#uKz.;1$~7JHcX`u2@LxD%)Nh{V*5NG7%1JZ`<7^O{77[|W[E\m!;}+SCetoxLh_|rn>?5nhK9Bn2!DNy5}Ju8g2OUB.kagd;-?p|MSC} +::J_tj((?G).B-NYugWCQ(xe5m`WK~4PmhXk5F&1ve%FKj5K_A-3VCMl9>+M+E,0Stjrwn[*xRlfUNHK{%D[S_j]]Xo=@Zz+.+#KN%.KH&]S\e_BA7|\ +::k=s1/#8V#ND\E3aSP.}3.\BLEbLp2%w]?6GG@gg>z +::B;`%DeQQ*QS~+Bs/pIceO,ZmVY@BHeFSzccE+cN#UrJHI(Q%r$DIw{r9mv~9_F^\Pb@-=}dY\>aN*x%L|1Pq~ug,nxS{J_hhkb@+yrFq-mK=39?d81A}P}EcLEX/T?xUjQ_F#=%c5G +::DwjF`HUCigTx3YLj]X66]P@pU=94[Xi82_xYj{#p[8O9K6HTxbm1NdGHUo69E&w!d!?5[WmDIl|{jYjN/EXj(K +::D4G_voO5RX32Os7uvxbfI#*&HZ(5Wyh(p/uJ,M%*O7O}?C8gi&L>M%I{.9O8b3zd/1bD\)r?VSPvq48kz$?W5>A0i0|v0(}BWO>.<+1.\@tqZ*LsMg3SO^hfn*k}DDXoDk +::6/7aE!v[5t#sc*dG&a^BB+vBPif4NYi\^7r&aHHmZNpvdaxn$utC/DpZ,r@fM13_[(;pgIZ0rrg$6$Zs>}6*M`pjg/^XYgH39a>9+#;G-%l5(oDPI4,|Du+oP6KF-f>{yC +::D9!^DDrdv?XyyLwPaLONX1N5^9GGL@gOxwJsZ1[E_Cf;AhBkRh-4g%M4b!\UP`4D;$FSz%0^9@P_US!E9bjEVDtZPFk}~f4 +::lv^WiSIle1FIQTXB0BK25rQPb!^^)YJqd/P5Rl#TY11GXm7^VAdBB0bS8ZBD+.C$GRO`=oHW_$e8*jYHD!qk0`WK0+E)6;&^-%J)Y~[Nbb^a1-$~!(Tm!R>)JY5no +::_rIrkkYAzMFk`i9*2/C.Z>+9N+N00!t}#tO>o),jPlRs)I~[0be(b}Q$/mBZU5T;oP~|eU9O,w>k86pAl^uK71BcQYAYZ34g}9601ZAtOpji>JsS|NqWDe@5t[[R=dE5#[ +::Z6.hjrQiki]TA&tcfn8|Kh2*sbjLI5xi|FDWSn3W7+bm%iVGoT{q3dF}ETN,z6Zz8+hekSX|_p,bITQ+jEoSCBrM?a<[Vv,HedUvz0Ha)fs59V}lo)#[]LlUFlO8!<\z@o +::poO<@xa&;;i_Kxu]*h3UW7KQ#2c1e!YU~NvtwVFu=2,)\S\6Wi8M&AZS3gHc5|Rabs=$/b-i~6=Y0=@V%2r~Fy]E7nu}m&&40q}IG\~@B_9vu#7zaoT=z#&Ndu8*O_Pouls\?p$ghVy9u}Z\eS?!8,w|fA!B]NjV=+t3vO9k.9)\p(X./ahUA8#@rloVYO)s]/unJViPv=KrAU\1]SkxsRDocQ/%AFi$CmaHi +::x,+b{SVR`}F71x=^ypf&g{@}w}RCERx{[u9t+7O5u2Y*C;tugVxYS[x;4]LG&B!rHi!uMuX~w7`[b$sW}I2c5wa?P1CaC-jst@ +::X~G&_\m,~h922vb<;,F7[#*x_ZS0c%Nh^bO~Qd`6G`g>nn,{=p1I#S_Z3?WN)/yve7BT6w@`Jnp}jP~p7w]De^gKJEgH.grwXt]B4A0|TY`Bb$bo6eSMQF=1@K|x\y3_2[,e#qYkRNE$A;#c?W8e!Sj]V7 +::E@s-kk2/kd66cO+XFN_,8VAFXmj(l4HeD;Hh_}Kl&&X+c[WUisQrV~Z] +::#bJDcwn#v/P|>SAHkk{`k{s+bvXTaA2O/gMpo8t53H~ybOMCh9cBfKRPp|y@>wUQV^C5_3ZBiXo#[Gq6Uwo[t4;U*Qg0?jb^T.&L{g45tM!0x% +::rIYP)C%z=xJF9O2r#)<*>&*IOvR!mI5*&&dw{hCrD6sVzC7U%~S(1y>pM29Q3HU}XpX@shH%UDvL&As7s8&SF#.n#%gi#haG`nBBMCvh +::%J{gNEj1]~*U1P?fi1#kJrx=m/Ru[^4EgUuYZ=~H,`Fp$)lF!lO_**ip2Y~i_ +::ct&clJ*g+vSNUqq&_pMXLO./T=d,O*w%smD361+V?~?MDx2[UWrMi8tUDr|_,)lM~`bz/5D/N&q{}w~vS`bf$kZI}sgX +::vL|}nkwEN{^H8ws5aaF%E@TQ0-5eDqW@y1fG~O|*]1J|DICL#x|4rhh.DHq[[8viXnWHI4{#TBb*~.5[-#=sp&C=m7bmQAxK@J;KuInF1\=G3D}pZ+gS|uiWt=[tp^mnM( +::59O6hV5_TG;/H8pp&xUuL4$R=o{Lg~~LC!t6,+c6j+73LPJ_qOnJ]yw[?0K6S?CGwvaSvT0s%=NYi)Yujhx}}fkv2vUFa!c2wxPwnMO*VA1& +::S3m4`A%M<)fAW+-%TZa3ZDjtAK&GoDYP,~buV(LVZrps0(d@p.j-nJ+t@B\U_Z+WlSbigd^Ll5=~_vuqjL^gYqvQLrZ|XA]f!T&6&F9eZod12{?%}g^_!Js48;0yipGOgG +::um0@)DvD%@5?.Q*S5&!YJTM^l8j53\/pB-Y=u/O4;7~7KaS7Y+93$5YomrTw1+2C1Eq/1{>_A;z1c!$I;Z%$B1rIv6`x#df7&[lJTXExS@gK<3~SVlK8Ag]fH!OTQryl-v_#}xu08}n0U1ujfaY,irQ(Eik+-s%]asfDV)NM45wQpBg[0wd1?gSG4Z[;UOzp)a +::pR8@m/ew=lj>Bu];FPyx%jZb!2YdrQM%#W#(K~L,yhrYbk&W3TOF}?3OTK{j[~YuhArIo`Z|*5t/W~gWRB&Sx!-HiI1gp73izCQ,LGJ~?vbqBI-RP4Bl^3M~hH^v8}}-Hw +::r(RaO^xQI{o^u@F6@7o9NaK!fN.P$tmg0/_K(@O{b01Zio%[n2)O(%c#YvRslyBkH^uA{C2H,/8^_-4B.OJ?U|[+kU+r0T`6\kc)KnUe&`>csD5o{xm!76m{p],|?Ds<.R +::yxDP$P5mg0kRraw7*jG$/3fEa1&xpQY_sJ@<8nW]ca5V0$@pHmA#fmlmV2(G!ww8x_%dF)e&(%qv;0;FuEcEw^{,pYuH,cEF-jc|[9 +::jw{%|^)3=(_Hq[]^>V*vRz|?]INKEf2PXCAB.p~O092)9q5|Ld~4Am{?]2A[q#G7Vl~7B#X@%}!A +::>_hox=`!+g&Up/e^OrtYn;hnl5;+6UxVm_u^Oer62P9{5w*tKB7mwOgr.+|Uf/\9lWK)hy>pX$(Un59l@JuNnOaym3hX6{-kXR`nKF2)sDrvvvmB*mFhTHh`|HL%hFalVYN{-v2751;G+lZEd3w$-&Ywi1asyobj;Wt~i6aH~&ZA=Jx(ddE +::.~X;Rz{?+Zih5Ru]H4GDJe_4!wS$S|[A@LIaQr9jsWuI{k9b5wTF[#PNk^RB]|;1rw}!T_ZO@}h7rS7l.MJ^RwBl4oFPd?9_vlxxvT)kOGzS!dnr[?#DRV+9k)2N)~CwsTeT/o[{ +::*}bN{SaUyWRHNc/3!J/UUy$W,pwrP@+lC/h3ilV=sREKuk1z>-V#AqXrL!Ntf7]M-1_8t7B+S8uhJ[U\eyfZa7?2BnWYN4&__A9^cJwm|yXR[k52Ic\VQ1.vLD7KnxBb2< +::t1CL-]xtRwlY`.b3Nh$i1X)(=b4dfF63DGdfU1eR.i!=~c]aVScP!s?@*}>9u+^}Bw}V +::9T?Yfq[mLZGqgn#l>=Lj4~p)RzMk25]dk+LOuQI{C\4*XO?(i5App*.K!S4/LxF!@q\uN!*mqa3w{u4u}&y?5du +::(&]d]f(7m|2.`>-;iWr,auNnL<39+Z2x{\7bf,nf]g[a$isM>nNso0QhmZSYZ\a7`Tjcj&A&^u^IWUr\TY~b]*[0@eMc1v+N6jc^Yx{O.ISfH1?x)B9]t!o[F|bKw`hBl6S*eebx|FJ[g8|^huH)1cx9n}xMBR/KRfr2n)H&-vU([>GR(8&ie1$m]}~PqBU+.3|3Q +::@^hrH\$^!d$zvNF~&NR#9q!QNxD+#Z<*bylMrE%EpQJ~+$?md)gr+V]]GbN|T78g.AxmN\S^Y\KzZ/+gJ7?8tYYeJGeuV +::UFmd!v4lT(I4?k*K>NC>2.y-j=C_nYWK1kBZubel`}KRF%l8OCV^GYz=K4g-tVH[yNYY~X&Edr5gHT$.%JhKEHp4c8d#Sq$HOG$DfW|A&dOW;%E2;;pk%XK6dp[Ue\AlmZ +::/,OiIsJRe!b+Y(,4ZTqa#[)SiSR3`w9A6@ +::8%,@f9pT`gP4\m_6Y4*gK.sX%CRT=3!v}a(G,f-x~uOrGgoBpSizS=@4D$@\wn/W+r[F2VBlt>Ri^gwnx(uJ!P[mGqM<.XTi;y\]*[5\2=_@?G<=lT5VP&l28I7td}m<-! +::@1u?MWeR_\LEs(X]_$M#>vTN.58.<$+$|y~gqJXr%3$9C,]eNiXlGo;Pn#ke~M5Y]nuOe@;Ji\ul0,^p`4E+Yyj*\}KYFluCj{JBt1>%JH`.C}paa/0ySOI/QI`;UAR180[>)NQ< +::;drj4rJ7]CfgZCSX%b*a^ZI?,hKbZnC!t,wcuLSBN%tF#GpA[f~#ns7hjI=\LX^M#++[5{_kXWf)G\Mcq +::{f5qYU/l_M@){iqfjzrb]c+]u~f>f315Iz,(fmkl~aFm5`G#J,gR,2(^RtFzRFAuI8Jjdg1+r9hvM`utblEoT/g`gb>|.Yb62Ld,;h2uO,&05SLUY;*qJb9?,RO8Fb4Gcb +::n>yW_(|CNr${}0`fvcW~x=UB|uzuJ5n/BmBZ/P|rA%^bYiUSk*~!/r}`6oDS;*[flPe..L#J\0t6~lz`y^/w*JR)60@KP__LB^CJ<;`@eoGbO;@1cR[1_u9^;CAmHe*j#97%u5.iz!Yrt +::Tx+9~9oY5R-B#yVww#h%y0Gibd01y}_/E<#ObToaKZLjSi_DH7$M%0wTBuS;4d%Db<}y(gHQnz)D=rF;E#VYxU{-UaxPz4[brR^,}@3cCE|rDN>g6$|IT9Pm=gV5=~\od&R*6c]p|lf7Y[P\;QryJUsWXNvkUyfo +::55^$8[z95Zduy3yJsho/Pa1=Xx&v~bk08y+w<|yz$@Vp-uy{A2N~6,|.yhsy7bTdFLMR4)PBy|4{aKFAh{t?F;_=rZv|#8L/VO~y4Hquu]v<+8[/5L1?=6)R.{1!CHgY}_ +::{Jo.i`DfB8zE,_z/OzvCyCsa=xG=l$dY2TVm3xB6Kk]3c\Q-E,1OFwB`7E*=bc)22ecm=]ak[Q/eW`\UcFKxKfdvVTB|jSus^2t4^5 +::~RHargoGQF~||!4a}[*}jLwP1;dFYS\Q%eX\7/Kw%#nAtE\gXZ&(h=|lWp3)ec90$J7>~aS@zP%T#K#*@=$&?\MVSHwa)voAyYX +::lEh^-2F;nPbw9)Jm[`3E,vhuik,S8kKxouxx9S^s^34$X/<7Lx^KXNcn`=O%}K9yRQHd*5dpB>c$3hiJdY2Sb1TmBvP3b$uMqf$8_H?}N-tk~-f1QG`Bq^<,hEdFkkv&om +::>RX4R+fP2KQ@2]]fM2tGU24yoHPeM6.N%(&EuZ(s_DE]z25v&RKt/Mj%_\rd_RxbVas+sJopcyRVN0f&Ac&(bFG<1`L3%#mLc?},sQ&O-reE-{L.590J4m%p;sQ>-?ob!x +::4ui.>/Q*;--BTA3%x/;7f($XuhS]t?e%KCei195ENZ>%eWH)c2P7ZEqA{e8>g,|lCUfvxJn]abq4#8q*a-K7T}(z5Jy!vtQZ5mf.ka0`^&ULDo7JAHrK`J$\a@]^/(-wo. +::7B\DzQp]]aT$(fZ7Bfq,!n[{+1APP300F1_^g4~Sz)~O93n@Xt$XP;oRl._e^58}VU(l`YqTd$h*/4A9ma!G#YsnJemi_!A95`QVCGG?nLv6i$NTK5OAdrC(&V06\]HC(29F~Qb)?tUlVg2xnI(E,sy9jaj`{s92[ +::IOGglurOV6vfR8pydn?B2|6BQyd9EeR+aG1%7~L,c@Tr@IpEB$7Nr_V\4!d +::MuU[}LClKnrFyO$|k7T@i!=UD7SO`yp$2j6N;g}4-p2+j3{=2&*D}tvP4d`*@Idw8eDGxPv8/hf-{0noy`tr5eEaHQoy!LTsnOm +::52|AP2={C];OV*%nobKO=deMd(54DCZc9Hai+]uGS$nz(27.ZqWEoI/*6wtf/!jDS{TO- +::Wiw$Y)L^KQ3b9oI`IlUq+w1WC{q&HY~aPSVkd;I/^nj+4!S~cJhS@21W9\dsxhy;^-K4IuK9?stY{R{B[}Q2Wqy4o@6XzqL0v5cV>~s1&Rl4<#y4l/u0\=yGbkxXxtyOA8 +::}j29RpW%aNt^1*3_hsM(R6Y9WsXjmF|<(tWAd?YuH?OiCnU~CbG!X9ei6V=bcI[y)`Z9#b^5{Af_-1_FIPe,gy]?To&Urqz+)+lXEM)qG4G5o0z@7wz#g%8}KDj~!/d-kS +::XKI2+F|dunB-\7}^>jwFlc<^q0LF~Ol3noO2AmVXarI|.|3-P.i[_yi^f9W@~H|{opVq@TS\v;QqD2UV#Q^_>ryv7$b^*l*Syc6XKmz*7o$leaBy*$ex#uhzTY&rs]E}?LFJy]1i;eDGwu58X.OYy)DmxU\V5Rske==I{^/tLV3#!9svP8A9Q_)u$kFNFqKD)L]C5=@gG(cqU{s,3A1]qza$5nt72oELgP-`5^IH\`Cs*IkSz.t[I6S+i3mReqiB5zao]5x,nCd-OMC?(),8kPx/^4BIw2Gg#+%\b*g< +::`[r)ZIu{&r$sR/,4R1O3GEvQIFapLZ??.Y9Yo95mnDGp@OEN~__n(rK20|Pk3$r4t@5JEi.0}}xF9Az@|zr$-do\`Kzw~4rnd@8ewN@b9<6MQ;Q+2|Tmtqi6C@dodn,/k^9GQ,<1)S*ynw7ma.|wp72 +::f\0j}yUA\9Mfuzn6u|<0GNJN|3>KS?%DgcS3,0X*N8SOm{<#R-rLo9,4T)f|+G+P*1$jf$lh4j9qhWgOJB6l`Y/j{i;18ua#}e-!n~g28L=vfr?g%(b@m5t&Li8Tlt\rYE +::)Q&==H~B](I4dECOy0,zLjn8)nA\w*(bs__V-UuIt-yS@@iV~4?rV`\%R@eoYj7W;q(jkBYw|Fwlyzwrk`e)sZnL+>*p}/mc6}Y+Kg +::?!nCr4Y^ue!pwx*rf!Z}fK[70u$,ph#?4ht\EnxiMJHG@-|J@p2RnHy61Np8C-viCvq-/[45C,`j7yq{uh_vD0$6vh*p@>ft9hH),Dry/43H[h^*sRD*$wz?5%-mpNc^&KX5z6#de~%=L0Z[O.Sj8e{h!{tGN)?.!3-&D{[[D@2 +::%gq)hC\i]]@&,v/hqlFr}FmA7]E=<<7hPrfio`\s,[U?S>ir,tyPNUuRBY?_e +::6M&?eq37dNQ9-7$f>1wqV5jY2e0A}irQ6qo]z2%X^9<96E>c&v~/,&[C6/1&UncrZc!l5,F_vR.}(O>PT@GE]Pz;q4THXIykP +::wW.GZ^J+[5Trc>p?[,Ppk%WxFqrU5DPFz>i^hJ{#a@(McKuTrd,laK)(@<#uW/U$X5{I()?fe45;o,0s|oaOZQ37T,2D%K$VtUw/\IkiJE5d?h(fRi3^p2_N\;y)26/J.2 +::cD<^AN5e//rFRC@F-OnFA|pgQ0_&NyS+R4o?giC8Cz~Fw[p2!au/o#&d%e3U{a7uT(*5H6CNcb?0r}]TNE>OAWuQ6+p-\J(5[*29h$1Sz[nkWonmqqqg}c-8UJh[ +::|}9e^@5!&yBl^@,@/6]rS^Geg!gFA-[T<1EQHq6qui#CbeH2I2{!QB(ULgT{t@vE^85.2l]_3mwt`]W5wr]lF5-cm,!^qgN@LiSAr1n8z,LcI+m}fbF[R!*;X5@Pm;W.9L +::b1Vc8b?-;?.*AeOkGy6Y4u8IFm}zkMadsh~+wIL}6;@JlfaUO-KVUAos`aZ/-~jxg^|a@54s.}~7y6W +::ip[Qy%n+#Q/O9;_[E~/(^.eRr]6lFlDlpw$l2;HMwfYs9QN?7RDh`b|$bE?7Y8jb)E6f$cE&nGH7]q|6\}Cg+yAQd5%W`T*ViAZ]j^g[*>rtKHOZ)C/dqy2(kyZBc8wSY) +:://puZ@~%O)McR2.jjDJ^hhU[n#BrV6f]7zQL=XzZz)SOjcI;+hJ#*%8^K,Q95Jbg?uyO4~/(K=bnBEbl.Sr\gVN4@-=d8G[Y0I9DS=ls8|rmBL1@@UN~y-E8KT]rm&,a-? +::Q(jD)ird*}j^F&4v8D`LKi=W~Or)}zT/5Yd}&z;xBnBQD{)%5.gff]yL!|NBe@eK#O9XjZ)m=H{/qk)@l8o`2!?!jOcj_8T5D!Luc{MbVr|&etDs*@zoNvQrLSWED]MYMT +::Hn(@Lmi!L29X.6RctyN*@X4Zo2b57y?R@dG#E1W(u-VN>aA424Z2?7M;9,sWxP?P(s)7j.9pHQW$f2[F9tN2cCPLjWP%A}IPkk>h2Vcx}+(SeVIMG&*]NfZy6s.Ar29dVc~Q$Z>kf/{n +::]3-,a32|1Fv6PkVS$}iV3S6r=;D7]j^CLtvHhPPJ/(}?M]U0Yl!&=0<[=Te\WDO!0lCQ7j8p{cv(-e9p9U||>g`JWU.A +::z.GnZ{YUr#ucExo#~beF`abg!<5;rNYnbl{G3k8SiUG6?U]rH*{-F2R`4~pA+PDBYn=fc@,`%3Zy1KeJT~MLakBEE&@Zj}f4WB/BFSE3rCika]QvfC(qV89}XEgIvv|#_NvK<@x$K^=%&%O!SbtXZS^YaT#=|P84~-*A8nGr;K)&B.X=/Ti\`3_6jNyT +::xr2hOv/DOu5=Z%2b)@Mq8H,g*`bR?R60doa}ilBJ9p+ +::[v.q(IQ@1mP9OYt$,Vj$pZ=F +::,*,U1y|]|}17Jg,`b1Pnn62;Vus_ZLtGB4`_lN_h26Cn1Hzr$s7]$u^|LncPh*X\e3xMOmUsV9&GW!x/@gw^r7$8adbeSsF[~Q9)MvV/*#ocb8=J3F&c0=QA,.?xi,\`I! +::LATipN%c[mDzjW(2[7J@Rf3OZn~*v4/ +::L?a[l)Y|LO,}uSOWCB&jv!#2,Cr\p;usS;/Nf{`sSQ[)zz8N|PbV](c- +::K`X?{ZH+J!g7,n!~R`CG=pEQ6|Yc`;wmq51wa(m.$_86~X7qg`T0{Lv>a.00ZP/T_oZd\pFztZQD=xQt}PRAjIl|+>XaC7b)bEV)[@TojCe9y*T/6H_rqb5vpj!CQ5b;vF +::AmDD`4Pr3DfyY|squhU#BSiv;4lQBgR?CQ0BDI(%fJ(ibH@e_I`Hbmx{x6aTU$PZrl|%[|h$S#ab)k&=.hw_T3>zmYk,V78E-a(GKnz3Gq&`G<@,T`;ckUYt[*T1RLm`,PGJA$i`ee7k#LeXA?{~WVb)`bcI1_O)4Df@o3ua5M8PLA}T+r +::yilqX\J&ncC&FuYPa(5?~8.iMU4(Py3Ay_k}8osQ.hulqMUXISsKzx.,Pl30k8EDH%|@w_, +::GzKKu4o!1WpM6)k^@%tE=H(yEYYfHNrB`TqfU*L@Tx[@6XWgF&|U[@0+2v0?$bsp}MYx6Y*n9eYMj2m3_-6)UI%Jp)x`a[J2Z9V`~PA,J%%*64J0A-i3Sj-WY4glDP-Zjr +::.xR-B[7]@Cjp(t6XE4NSOY}7E2@V)Af{,)2m)+W@Vz~i[F7>twO^>2%MUx|1]{Gx2JYZ*HZ%#a?q?3` +::cYPXN)R0H@W;tzkw;Jqu|#yCpx_3CjowO9fb]HhuP=BRr\2xGpF;izsVHm;KB*q/`KQ#pLKWgdwsiTclYAQ[.x_s`eYjnR(D1+I9b4WZZefV{N)(jBU{aQ<{4<{f&GpIq2)B$ +::=)|`B_A,uE|dg*2Y,_.;i&h*8D1}QtLwk#DeXvS$6MwD++,jz=eRBt0<3mW3B_(u1p!LmAyMs(>r(#kn\yiPpXW(5g/HO68AT06yEzSOq*)F+I!LT{vAFf|c,VLaT2GIbr +::yR*TD%MhnLoyV^]($v`CLup,h15o8 +::%I=JQ=B}U~Vya9yD.X0?3|t1G$\8z76_Md.o0fY(RWv}#-AV<);bLA+Ag(+S$Cws|QJ[>9\_R(C?$eR6eUSRF@{/T`3Eq.-T%+fY>2wSpkNxlF@WAB+F|eEyi<~p{{WcJv +::TsZyw0VYCO@(X4y;9<5<7j9yTi`h$/mr+]eJ*=3\L58)u\D;LmAM#%k}Z[Dr$[*z`I+{O\NFs?88vV?HJLpNBW0@z2n?6PS54f7>ZjT7`8w5NPkS$*Ic~L8ple?O%vUCx@ +::aye%ox8+/!Nh5M[fUSh(K;y95dTy1{2Q.0CH(g@Xo?r!8aqFlYgMN`+(;CIkowYrD5N3Rc5$JZoe^ok2\t9yDk1bDJ|^9[>z1NmQ+@N~z9ktdUq@?/dt2\}G3FQ.)Mr1buP/(yoTj=Yx8E9gH +::qHd#$zPMp\ylhYORZK2NRyS!vl}C>*m*9nq@5>M4yip~L#@.f4^1H=j,7@km@Z/V]wOP98zH-=(\Rk,/g{FtcT%?Y\dn@_!ukeI(@@/>PA?;c$5qL3;D1]H1aXr}!$Q$!0L||o}^$9?.C +::o?HqLC(JHOb-nf%G;=XYMNdz]3W#;^Z?5ILk;G%Cf-W=jwv$_+D{olw0HF+(@(0tGQ65!+%Z2r?ww86u_}_+AF4.=!YlMJqj!EABL7d +::6~>Q$#bz6S|HN-C<2pjD=E@psMOd&$EG0n;\(Z}HSvxF4M7c)90g.;/M-8zG~]&3`P&wze`W(}fC>@6-Dw7+s#\|@u|w$C(yt +::SS7y/6@FRS=n>-8hs2cwB~1uswpc6ARzpK_5bz^M}08|y_WT8e.3uuxr)wa//UtF/i@21y_SSoVa&vrOX/`M^^MYmKJgAL,$dc&LAh;&y(pQ6Y-3xl{qs!67JP/j|\KH`J +::{pEM;T[mL[!B||L?ev?TeE?-%5pc8^T4|cn+K$h6mRW5A%M0j[c)\edb]Flac3v|s3[5*R=dZ%ZCuSJ;|#]1CyOOL6@|)F6bbk%9kp(Jj=Tk^Pi9os/SCv^k@~[xFz2U{MZcWa2Re>?FfQ-E^&;m[HfU3YGHr[=`O=Wo1/EYd-AK9_M(@1O(hT]QM6G)1CjzuLc;OLd>eRvC3(4g4aDd0tTY@0(Ym\d/zYFUGG +::8lLGM%hTn!A;F~I)ff,R~oHd(5{Li48Q|,I;L<@COiYz;d#NpZ~]89U%EA>TX|Q^+,wSjA81BfAea4xg,,J2o+92Jo{pa~LSS7+z=d*C@[w{&=2Th)?dwe.7R|^QI4*^z# +::!\%P+j4wAn-{B28S`K!p`|idfl=Flm#^hbo3xB2_@>_I-iPLch]+Iqpa9-EeCfO[_p+8VJ7.2P{N.\xOD}f1r^|,c&`+z[e-L,V4*$)#L4#s09mma1=j~Gh~Lo^8>r|Z +::YMFRO+%jq1nv9k)#\61jO%FO]Ozwt,Rk8Ew?@oYK]@locg68^-eoeI$$#Y]KLzh0UQN^%8OWjcW+p@Y1Yh](Zf7zw^!4$*Ogc01,Qn7zhnvHU/lnIWKnNZ$MJBh@y;)|}p +::)x2v##*TH.NLtB$|Gi3GJ^en~@={;$mp!(#i-Z`Br{*{xthf^tQyRM#M[RK5wnf\p49fi)XtpVm5e.n7+;x}sOkUnurWmLt^#VV->x88|f6gGh=bJ\itKF@sK,r*%.JlR$!>)FF{IZ)V/$ylhu\<1[ufLY*Cd3Dc,~rVp$,Gw<)L_RPa}vr+X(}|_YHXB`[\82iG +::BWP1n&}ZbLwzv9]b+[8R.8Z1f[DxlpS~,Pk/%8WHG?w*z()-a5GMqm;_f4b+6[>nQy$2qA&$v}ySN=IR@o7&1v9($])Dz&O|^Ae9A?RzC#`ghpDVw\]RSSI3b20L)q.cg= +::#gC{|[n[=0~itKdI`%Qpee/PfH@_cUDf0-YMlD0h7q437?[+L-~/p^5yx-gg{A2/hobP4zS={fHup2>tjQolcmy?&+cO+qTK*CEpiH9~_|ogVHb9=bgdQdzHvgFmjW{X)z +::/owatfXgV4AmE)efV_XJ*yR5DctXc&DT]ySXv#.oamMUKSSuyS.1|1Z/6bq{pvT,-e@s}?Ju+jRLWi`z8q&B#Br]>;5Nt>glfR7B}=t0VM\\dn}l7b|CnC$IG}/majM&|;4pAY\U!44)!dJ&c\>\JHV[OPbx +::4QKrVL.L/)b<]Xyp@5-&sGp`CH^}WY$[EhNgT_{(acl5tG.aX4ZC\->y$9 +::3)d3A^x`?tSPR=/bxI,5voSCo?5I44pi-w$CBx;z2MD75K1vQ-ut_S*NLV]mf1G^0VP +::jWC_5[4n.Sm6n&jGG$y^dWbOO~f&=H2!g)cpt$Ufu*)S!`a{|Q.{lrb]RhSj@vm%IJ]762zl}WwVN-1XHQJi~)V+<2q#ERFz +::-8iM.2&~LhRg/^_p3Yw),7.&)^6N%RfrvJlCvJNFrbYv[kJXjde-KGf4-1jVNJopP/r[d!=^ZiO,}ACzgV/J]gE4n;K3^`I`ZOJ5G#5mHFKRufRo\|_TngJ(Tz@7sv=YiH +::d%dt]bzYfK`)hjhVqUC\ygvV$,6@fP0pQSAJ)<|&x+i?mHg-\+LI\k%C5I#R^,;VpPGs<7~zG78W+kV@Hq~dxy4v_ZAA<|x3Bbxs{yB%u9Br-{rQ(S|^M%N9zJ8gv]p_J= +::rg]a)pd5^2CmR!LYRiBzIDWNEgD[!K1lRBmYysdzTR_3,o.D*s?XloQZbXCD8mWUVg)of77h;3?@snl-Vfs+QNzl-mHT,P)0,La.(S&pLECW9>{Is;e-A3$_?NWi]@`*=sS;K3Z=l_6UO4\IrbBB=t!W2~93Kt~ +::\9FCtM!jT|,YTN}U<|#b,o3bp8=vb!N)ChfbM^;Cwfqb/,7u-O%6`Sv}A_VhyL2`iEL!CO%Ky5lZZRcIH!`%~62tU*UIk>ML|R~;YEz@U~]gVBB}VM|\9h}KLzO +::o,_M*M>%lY.X[D1\~+{9g->@F3d5>o+d%0[&P\&Xgye(lZNpLPC@z*=$sb?iFW*Z;D@N/UEps_t~#H^4AZ<-;PT^]4EcDRqAD2=OaDo}\NoA`E%h{,U$>D)M9l7u^l3@)g +::[r5nFJ9^_/2O9!?1StoJ|-%G_6xnX\jtALW*#flurvmTsiSm3v&IAi]1.z%fOcupkVS,1vC9)z!Qm@rNR)DBa[4AQql^8@DsVg/N|4N +::TI\vb?o-IHcSnw\E@kmRvs[#t_gbF=;9}I*qgJ7!&pCCMX0wq[Qcv^rdbr8v5Sd~;A7m)ga%(mCqxt\f8 +::;Er*FJaI`huLEgSwUj3H[yQd#tpLB@f{>[s0&`dp&eB)#K#11tRwLE!2NSjmAOo.eq!4a5^%V}!CcvyxA&rOHI&LjW-KD.MMB +::\35D)SY{?#.n-3R-1_G+YH3^vS#-|]XCV,A~azuQ,gEKD*qMV7RcdKMh\j9|L>2jK2;%WFuYwY/<[7Q%oS68=r%O>++7}jP@C*oHy_ +::2e-.95lR%zCFE7o{Vw|Huh.TOa>r@{Y;,yLNcMq}o+K)TLA<2`J`V?I3m.iPe?0BK6vp~-%sU4*dr+sTU}iBot!unKNJNDvw#z]IeyqI&okgHoJ?kxaL/&m<<8c%*FImRO +::$E9Fruwl|j`EB15g*o$]}7z*&MP!0\Rnd$^q$+f}qT+}o5-QF0<()UT\x_K8_~\QL0c,+J;DE3,U{4fQoqm[i|X(yn3Yqs0geV;qE$(R`Xn`E%H{r`$T.FYtHREvgIUdKG +::KIZWnGkjhS7}!ie5eTrhtt*1qGl$@}VdN`Ev[U]n&i!fYZWDgtVMx-H/5FWV<#?pNROr?wH\6%aX9TO~K+ibWtlbZ-r;I8W@hgSi-.o*RuwYyjy\y^\$Q\Z&9QZ(A0A=@q +::6b![}^<1>]P}X|jNL/Q5zEJO**=MG\i&*8$NIT#L$g\53P-h%BhaGDz21Y~mhcXg5?&gnKFF#M@[T?ia2nLV}\sMNy.$B=PSW2eK`+T@D!)ub]DEYu#IX8aa*zO._aXmfg +::AVU8]U9U??YSe))(B/nD#zFrYs4u,,9(7FU&+zX2SND1Qq,FH[u&Z~nWlG,oc7=e$c9sq{,Mg\A(BWE^$F}yyfsI@g\BeWMZ^>2\I^~gJ\mW3\rHcdk`,Hv@7\)Q9Qr$=l +::3)%Mj_W0VK}Wbj?MZTm)(0Wz_vXB9+P;q)T}^Tc/K}la]iuwZ/b7)$}T8YNmGGjbXG,^?0x*tBB]2b]Dcw%2n/-SREbY*}ddvs4+?l%+j;CQt>*O(tkN&R)]lq5UfnB?r; +::O*G8;hF0|9mu`]=KvtGZ*F81a2T&ve&$lfy`J)~L>%V^y;PPM_R3@k2G$~WGm`%o&?p%wo6zpjt,G|F_tLn,xz)+qGPFaPMp{P+CHAhp.QNxE8n>HcO?gFrmiqgoIu&?.! +::Ad_Jd+2zVQ.7Bwy1>3kYi5Dv)_^nT<2czGWb0Jw\DUCe&v9$o&Oz0n)J;H)GSdaPB<&/dEOW7NZZ-[z+$OvjITyTj0|ak\[(UJ`2 +::Khe/ee!uNAo3RQK.E[*1dmkqhM|/7qa)D0B$i7BZ(X)THYdcO#\e\,/}@L,H[X@vlvBwcT$CW]rC\I>/#MA+|Ff`?mf@(xf&n@,p?fS{yAY#UjynKP]E~fL/LwON5^vGlr +::iS56yL}wQ+kl]&e7Sf*+wVO/,EuwB(3-h~M)23lp?.k^t}E@,%d$Iv=0c<2B~T3#99B]Ddv[Vj\t-Q@e-ghx0cJq1TXt5[4)?BaK3%6gIFQ(QvU(x!,m^ +::Xy`#z/>qI*&]lwPxI=$h=,oq0}bm();Hs<`4lG)f4u/%576]SP*>qu#uGD]dX]I[+,@2edv]y}!?F+xR5Y`/9/eq,9sLqq{0W.GjMBWq{7B]eG@FF#M-6X-_Oc3/K%HZ|% +::`\lOr]y2z&9SwsqU8|>S[C*CA1~ElCsM/y>IK3{Ls};NZzFb;vMXxW=B)8=-hAoZn/)G94yqB58dzoVkwxbN#>*1 +::Cy.SzuB_k`>/m!~]1zLzumUM^?qcW;{\bB7KoL_rYapuzcHTHpsio9&abGC4}0~h`P5Dxf`}zVlH+M#{=xTmlGf]2%l>)>sw?PRPv/TrhnnfyTo=p2]JVT@ng@UhvQ]VH@jJ_-mU0lS?#T;gcA+c]G`[Xc]9WhnH& +::X#mnezO4/T=7KyyNlnQ~^|vui]VNzt_8}lcI(Mk3XXhx]j_%MD;CJ\WX%kV^PXX+g+zH_&#,zj~i^7^CS3B(ul&S|Mq5f[J!+U&*XX^UMd-b%wjB+GJUX=x?u-7-HJeE\A +::.!@aGRbq@t#t,o[r(@SKGT/>/f,U`x1G\60x*uMx!oP(Z(BRlv~4c8\1KZVI_VRs/@tK +::i%WP0LJz07_H]Si1KX#2_Mk;mkPJw\7^.SW0a{u3~YoT8X^&MEacmPc+?PuksS8#2ZKxE2]fQy!;G==D!g1Mvv;`q`yTI4iqninn-iFx7KPlu7y,ph;Sq*P8MFrAk2c[v7 +::HXC+/Yi9p3/_VR[x8XLtzjN/}0CF53z-Uq8m]=IL8g3nv5f}U09!d5}r)IhcO4@+R09SPNN7s]al.~XD{@Db/?[R+|4zo;08_v9]IMS`&O3|4IB4v.PcHlWYr^a~cpA#zkRXh?cE,g +::tH;1(qoc]wvLrtf};^TSRqhRHXSZD-4d%4)BLMB?<4,.+YQ,iYbAW%09/P+DBZ6eHH*{YuR]$L6j!r0!;sX-@P,d[d`!+=ww$S_P);$v +::LPdgHL>3iDo?cSfZ)zGkm4W7CR;k3w`xPJxO0#6|zxz7bv +::nJv^[66h$x)/)}_K.+r@97f*}m;[-)<%]2k\Mve.s5mEtTS?d`ckUQf5papqZtYOwVdk.1vs*C!qZ~h9{ZWbG[K{p4<>B@s6obC7~[&(S]5DekxM^,ud/S8|.xPX?VS+Na?fP>80\c<&K^NL?h{$&}nnBOG5*}ha3`<;/iD#p>4[$lZ<$ym!&4#2af_ZCCF! +::_VM(h|Lw7NHMFn#i*GJ+/}W[mdO{U=6V4+%!e/z<#cUR\VO33W6;6)W!C{r7q|7?S<)`meo#4l+U{/4+T0xXXEDIvM/8Hf%M(*sM.il2,JH1+z.p6qdgMp~W1;<=xu^&8(BI>]^%wZO271t=#fk,wBx]J(7o,V|gI~s#\S{B~4Tb> +::~}-!b69p|e55Y7\zvRIx_@%8CHjyI7tv!CzkvuD&I6M3O6Beqk;a?+P}#7T480faD#O/_eb@|[?w9N#_;Yys\*sgSdU&JT2zUxn\|Qj|V|F_TDOrM_j<=KDSH!6Ixh{LXg-|vKr4S|v*,( +::a+FQ]OzPpFG_se\m~xaB2&gV,Qq2K+_qsdGLZ3tK/Z#0x&=cf`@0hXG5X$JmG*!W3aF.x)QRe/`1sMHXdcfeu,p!b\M`i29]/5wzRp(}_Xiw$K!o}cV`T3;}Fd94hk9ZeA +::t?0vyu)T\xsH3aofd$C`%U27@9vJvi^ubCbz_`7JKp3L2wzhDZwrky5lbY?LOw*$qV_]PkAjvecu2Qie#B[lP0@o<,i`-ifB6;a]!x+J349j[(ca@%!8%h{A34CQJnkD+b +::^mKSp26`Iu,{4&xSsEGiv6`b-NG}DRS0`C-IcATNKLwH?M1W!|z_AYvoVuaC#D[\;SF&+0xk+N_N+TaJBu{oL=yF7%BKd-OsvJB2,@BXl#$<[Y!Hn~cli0cQk?\c2W=W>k +::=pOAB[q=$TGjiROt}IW8wBfjqPE;$}i;|\yZ|O~_E@*m*sZ,3s$rDiD86#XC.MG?COSC0%!5K8x#hbeK8m}?d2D$B&Cuf%+Z-8oxt8_pt}`kCeM@LL4ETWBLF]{rrKL[{?YY=;ce]cd,5[zOB)8rjrY6m[%%~Ls%RN?WeNP4D\9*Twi0w.nfvAP&Kk1)h^|@K/zCJ.~xn}V#[*i#.!rc4arIL}6Fo5MVs\})Tz.XN|y?tQo~XjZvytTLqJ +::`MS%C]1GRBN,!=5J^;JnlB3L>hi]]F&3\MW<~`puGimQI3INM+h|`Gu+?84r;Ag42HNgC}3Zi#A$^.@AEIElrY;9oR)wl[D]cDq]5I=FgI`0r;s5EGf(Fb#.qeO/_S1aVY +::pyP*E_7r5KbaJFN$&qF7\%I^,*4}uGyxs~by#m?LS0jOWmK7~{`~2k/E,jEFCB`|dZ_K[pb-l6P/bi03?y9(OR[6e[lc/I!w>g_w$+*j@EZ%CoJC^QL|NwP@6^1{/2~njn +::#E!2O=u]I^]Z[`NyYoh33Kjlj{LxPM1jf55D{$\KJ!uZ^G4?\wIr%vWmvzK__mKXWsg9L=[vC&ntYmcR`A.cg5d=AyLwMP+MIBGTt}X!k5>Us*8\&c`@OE.{!FOKxObft9 +::Guo&1FF4(Y>=|UF3PTX{yOC,{p!YWfl7%p2iV=fWDqz*aOvJ3AO^OK,W*=q3Y5h8wUuMKJte[;foT-5qa(8fPvD=wUO\I{0)OD.\+/=8Epi}K!n2/^he&&z5JQW5@R8U8d +::T/vaVSg$!uw(lE/ud3w#K2w)+.KscK\3skxTq$b!0[Z~.A7gotqFN6[??=Z$/aP$<*(jlszfzM.OzADu\}@T69Tl5BQA<9r5[0UPbUT`o,ZuP*(>(OqLj6*vM*)X4ZyHpO`fN +::3=Q%eI4^/3hf&W-zQl{||Wm{/(ww+vtuzPI6Kd~_pKF)K/[+aTV!IuRE%M0p*gE+4<~l~L|@Z97{&f~%rp^Q@7zBcXbQg}^([B^s3|M2)~vZDb6vz^JyY|[F@iC~ScK+Aa +::5}ZkIxyAhQX5-^\%V)7e~2Awa/`Ds;peiHPw.[.1dfwb~f/F~p)gdlV5DG1*ZU-^%6lu-u|Gl/5{C(RQ_Jbu$Jz+mRr&Q7`wgp$l4aF`j[Vsp#OJMB2$<~Vyd*jze*cmS0 +::F%5\DZR{.CK_v6p\|]8>l*PG^c+Ax19P~4[_=.l(AfuQ+#V=2aY80$Vf4DRt}QN(zZ9ZpL31{(uA`~Yi)Vh@t{+tM_@y^V?#l@iAwq2uH^v&V(ULh?vkgVqH.\pzyLCY2m{.a/xsO6W}iA{f53*]vu49*&,iGBlX3AG=O6o5xzoR[4%7+*%&AHSaPG!C8.%NjY= +::Phr)bWbQCt6H={dIZtgHMq0,}OK&Od]%S!`R/)YHU(28{7QVt^w[7yu$^1|\0m$-S$~JV8H#w*gdo@_LwrSpDw4`esd)^xqEJ/FyG)!U`#lF9q5+X/{S,Fn+K2E}*7VM-7!M))GR@|{IHL8,(PC~2PzO~?mljm=KGjM`Lr]y]Q?uEY4-ZxX#+@qc~Py)B[=y3<5[Bp$d|^~uhX +::_[*j{ZNAlpn`!d32\rc^KNcfN0~ofw6+&?.71g0xgz\@VZ)eD90K_;l$A|fgdKv4n4YBL;PaiL}+27L-oq!GX6MK<3EYsBe|%TfK|q_r)oru%!qP(5!m&`#Gy7bNrh;OfZBR +::eMza;*PYpji@FC|x`gULakf,SuNJ}a8a>J3HxlOo]jJ~`R$@)v}V/G`kK#H_c<6bA_ROY.kYykWDpjgbgKFqIn~G.WNmZAMl[r>vTWt\nxT%5,ZT!rWO4ZCQRxEukh +::>(Q4Q{m{$/z~qxqrj0`vCls[L~-im8s766VHN?~26adpsN}KuVls3S9DR4#R+Wc3F4eIIt_$(15,(=%5*-Vj`%wVWai41?)5p!#B,T,z0L]u={~#3@&AR{q#]w@~G?\]VBG\G[6BDG +::z%$oR;ievEpZ;FmX%v23]1jH%(?}[pY{BWjrv\]~wh|U[&vU(aK]!RJ%$/.1Mv+>pqH$u.?~cp(7QAaH{^qnop)skh$WEEhMJLEch?^bC.T)OEhCPD3J,)NIa^?[VsY265buu18*5i3*JvzkQiA&{]B2Gi?Y8>|axLM$EjcWV +::ShA=f4XE`IeDn`_-fI%w.,L+\5c\8,B?mv-}ZrGN=zmn?w2F{-#J=,`XW&k+|mX1?beQJ*@!RlhN46PwTef7zIJTjw$WQmh?##w5J{Qa6GXEf$BRAE,)D<%~MAbVXDO~~M}g;awXu1)G#Oz!A$lz2^W9ripVy?\b_(lsLiC)V+M\q;!p@qxX3KHKliq5t`vZhgC8+35w0*aurZ3pTXY!&xnYvw_90G_s^}Z)G-[u95vHwD +::qbqMb,kE!wt,5jC>=~w%OxHEr]|e|9mK#~+o%uz@/Zjhw3C>?9EfNk}Hl99W$|aOH~)$^a{A=Vq[F;aU~NNKR<%q(9Vp\0tXX03T/eyc{L0(i|yK6Q%V6NMkxy`A3DB\V +::EcT_]mc#^1DlUg|Kq&B^x<$*!0T!zo,m2;BlNk$HN>#B63+M^D{V#I>MRUy?bRXK+~8Y9wEzS4x53a$Y\|We+J@4sav/1\7+uSD|7DbwF +::s2a,?R)vH2Bzu~17Nk#5Ulhbo=yNSsx2zVpE?z]vw?v}qp9npAD<#SBHfTc4CwfV;e3+\2gkG!;!#XN9FaJ3mMQ0LgQWaz@9Dt}GI/2pu?U^*SC^Y/1JWTe#3lsWcv$$bs +::U6ywR;rpl*=bKAB>z2/isdv68cp+u3j7qLp]<)Xn,a*!Xo>&Bsz<;J#AVg}it;|)nrIWp?*l`w~)HR3JoJwZXI+X0vQYg,w1v[n\`DiPYE6-8zf>GVD&EyD!Bw\&cH9|Rp +::/ioQ32TY%e713Hl*Cjt~SiB^]X,/|;=KcJ2e(c>Wt,e/LSySy=5&.=2UTABheV-;OW~H>j23qsi5E5O2-G]|z(MlP2B[K1~@FxyxVSZM#?KKZ^C5BRgGtsydp+(AvFBY[< +::0Lx|+D|CDbk9M?H?LYd{8\SwrC=~gBt\N/A= +::.d;G^=I<8K~*}qR_O]|^?<.^iR#!%V3rdP!K+/u6Rcxd22HW$o`dWV_arlg!W)GS?2+`1Y*A;ZyEX5`rQ +::[Dh[R5$oanMV~7U%ZXSqTCs^2a6Ap;VnmP{L-c8DIFE}ubqq5jDcvViH^.BdlVk(ow|KyS\[B]\D4gYyP=5|mM$e-X69s?&pp+KpAFK*V*}h7(>z*+UmIRC@L>#I#vDyr;S+3|Ds.z&\fS#$Az +::Vu^pI/IzV?Iv(9Vgd^{NJ=Z\f{]RCgweas-Srk%[`vH`x0$@cQRE4\pzEn+zE);$_I!Lf=+N%WJcTEG4W$#iX1OUi2_Jx)7OxeWmG11B,xwTU]]u}Ey<|omTv}yzptpwq5 +::}T_eD$G}/J^$([iw@P1$y#F&X%=s/?u6g*u$s2\Q94&S@u)5.kXq*4(,30<3)$Ml3??RwzKZ!liKQ&xO!\A$3QN[q@rXf`*B{`a+)EEe*gcNEl]/f$?ij;\{_`>mL.NRp8 +::,PA)t{Z,aY>kIQJf13|2fEl{rPn+cN6f+sNk7U_+|[9pM*FG6?-{|EC;%/!yUdTrQ6?f=KEATG)8?);#9k<6Cn*>TI@*U!j/=U*]t00T$o13B +::W*OdYIvdBW<;1B|P{0V%nN3!$T=bUZ[NK@;[pKbD +::l,0p}y6k[$>tRQZ/tv/,oJ2H5|L`In~KI[k{-M-$8)`Z*,!1C@.`?m}/#&MdDzOA@fW1{Ds<03^A6!d.T>7R%-Q+0KeV,EF/IH-|1-axd#eU~NM$nYWC;S`RxzAxX%v+]> +::m!)+gFg~q+WAx<1txA-|tqg?MK<(6jcq_//RO}u3sQfuu>cdhD)dk|;~RMD#FJRjWWz]?_kGuWp?]up>FYG=e$y +::zT=-{=5p&a\j5Ah|KlXRxd_$yN,3-k.{8w~cRlhYIkmJFsLfQ{H^DKd1](\[)=/!J,<{3Q#CCc8F$Q~nq$k*=RsVm=.XcHkF]=L`c4D8a;nE\MT\RM+-kb5myp]<>%so>Q +::d|]6I%QwbyXi2T#3*0#&i{tK-DRJol^Jg#}2%8@dWMT1]]QH6WJ{i37O`(^sS\]H$yh*hzfCswYiM[OIv +::N|)@BUtX.XbmUrv_NE\0|Sl#@n{KvmrTx-\Vpz7kM5jEW\ifn;oz%uW#W9;`w_b5B&^GXXz.Rd;oa^%rFo)3tbR;m[xg7OS}$2HaY&E`$Kp[._Hx#QTH$q\(b]c836T.V, +::O-ln1m#{+@tq~C|6>2L9nlg*ymE}G/__IGlYl&bSlp^t$)#v>chzMw-48,\X%$IRuyy$YAm[.,NdIRe=plqX)OMJbkR$)Pgb]zss#r|+8`r2i8F0xc^w9+/oslRCd5iO%4 +::ER;Wa+~[O=AVyZVc\^~]VjH`Z{hCDmQ3HI3Eogz>-}ST4A1,Ns%A&)A][wC3n9D%)_!=Y-KckE)Z74Jv5*p>{fr,}[l!~(aZ=n`_a(L*^Q77%&++dTY&Vn\%gHhP2Q@7oq +::|x(9J=+UM78BFCRiw8|!2s]wDc4OYX8G,C4y)T+78~X@1A_rk@)u6>V10kDC_.~$vLe6A}JYlc3&)66qg]1]&R +::;@,Bf@Ni8C}f?`m;DO^Lj_@9wOk/oVs$oZ[hVZ`TT1/3@2L5fhY6vI,MbSW|\tVq1cL7+({|uUuWPUea^G5Q1zU.yKqFheLt^}$S|YdxiXQyZKL+$VjH +::av&Gsc~y80./y-Te%?}3O\P+>N?B@/$`~EO$8tuN5nCz +::3k\44!|kNy4XzH3n}Qsi&1N;2FY*H|N~zdOSYa[os*U>b.D38hM^O9Y/jgC%2p&,UgKQJv-!]DySU-+\(j&2j7&sv>~6s4ERv^8#5SBz[AIXaiZz#E#IKT2;O-E{1xlde+\kI\rRC@k!uF!.7_-E;J[!v4 +::Pw*,Byew~oMvL{gMz*0tdZV7XamkQwz=|QC]g%}vmNnkRRRgLN5v+cPkK?S[g,HOd_p#qF8qccjjV{%662h@4EZE^M{Bd`7iNcaA37Pkp~?FK674}N+d\^WKZzX~T18|Tt +::[r|\S%uvO6p3wfs8VH`Hhc0ir,Hl$=l},[!P_&Yh2t3U{A*&N@a2rMNlX(2GxvvmyT?4g}U|\e}0cH%EF>AfKX;=xme{.zWZsV4a#|p\,{*Jz\/b?Fp$0F}*&Ac8Gcn-Y3 +::1B/Oc{K8YM`bF9^X;Y%D,PjAzc^,B|p7yJ=(SR^2C}]%z9V[n28gq8^TN;z/9cJ%_$(#M;hVP<@|QI]Y)UWV][j(0FS%t\Y|2D-D2<6d++\CB?A{x{d[&CK$0IE{Gt2.KwuhY,mFTr$EHl6.`XCd~0q9@@$]8E5&T+PkY`0]-1/7V&UpR{z.D1aZieE2(rbv*t,XDS]#m$*u|?M +::9qw&Evsw8{7cLsT{Z{G}qQ9-i6Vc}8f6DKcl/uzGw7N +::%C,PJ^\,No9e(%Ebts7wH9Q7Nm*<51^$U$1Fds7 +::00}R(x\*kn3ytJ$huRQy`imQj[1VWZM3Rue*TEW(*uaXnq;grZjj)k5pG$?J2RD*\s]?r$9nuhp\^;{TcfxSK!K!qUYT*nC)!6<,R]=DXTb3O|rv?k78a](nwEyQ1yt/P1 +::l+hmsoBVJixS|?&OKD4<&=16!}U$puv(0SAIL~CSZKGkg(S|a!6BOv#9@C|AYhIqK<]$ZdgqvtbH8Ne${-Z.INzA@fq~>!Ke+n55anR!~Digi-`JSuz#_JrT!u4jLR+$>= +::`[-MQltv8U7Vpxs[Q#Q.#1K^jRL}WR\K%=k1[HE[y]n(wkw{se)m?DTuTN1#!91fp~oNmig=R%p;bqYq9_!N~(xuB^=rkA]/%]y&4TlPfvHrU#5j{^@xZQWK%pMmEd10|f +::8yasZdn>sCS8}Y[*_vZmGU#Dk\SeRw44rA#qUzRA0uQ[|d~cAhoE[yDO;_Y#s.-]YPzN)s!]MR}!*%^2mIF?lD,Yh%MGjWlQoN.Qt[J=QE0`p*rA4H_V6$Keyd3kZ]dUug +::2qDQZznZBKlXPm+f|~)fqyxu#&v[irT>m]3vqqs}&Tv5St{XYyZS.IJ>~l`Pf9@yIZT}p>@#t7%]w^%ER_-+K]_[q1u?F8pC=Y#[N[*ScZM%vQ{ObI#dU_<<54@|5U9W.W +::CVOWrY.VrH/2G14XJOU?+s(a5;GlICVO-EvSKf_.hCNiM%3z%WAb>kMX/Ijb#U9taO0A^CbPJb__ANo)aiuuz#pU@+HRqq,Z\R^+[]_CSpZd1JM},!+O&Z!z!1y2|OlAw` +::#_|v;%!Ou>MoQYI(~)0bf\y4|wXC(W3u +::#O%gZ/IP05r9yiG]EKq(+FzU~z_+0phyRqqGN_ppdY(b}#M`h|wM@n_?#-2xIX+[NA`LZr6#4KQ=P+B9trpO7^.})^SKOEmWu<$Qkv($,{[!Yoa82xA]9y;P#DAQ[!y6 +::lbW|us!w_hb+G/%C4sO*3x@V~RoGqF][9om37X^Yd@Ko|}5*[bK)P=~MAor|%nL4p}O#F=)7-Q}0WX=8A +::Qnc(JfF|/)k[]CDGEhT9f$R8R7gk+9`gLx&_.CxSe(\Zf(+M%G;oW9qR2NAqE,zOK,GXZg|JR=Lh(G@Y@pr6G+$|c\h?}*\={hhO`ui2 +::Z1{}ew\x}/>{5#vPY5GFc9YpJpr3;Ftj/dT>OBtqBinebfF)*>At/rlPTZ`K1F8ue%A/L3s\r770i +::^,/3?vgp=GvltZT/l3v4q!OR(Si?O(m(1hkSUuhs+pCiY&dSIIhG%I$_wJv|xHH-;X}3FXK0$y%vE|@[_cKl(pP*Kh=heeb8TFms5&r-10Y!CNZ?to`aUWU2CPsRM*C?1, +::k.yS.pUI{[,.oa-bzwqBAI)28g$E!lfpU0%@RyCmq[(vYE5[.!eTxY-ZhYsc)]v9\}mYzUt^3X-Z]Nd1e-g(dCX5f_dQ[9.Ve4*l\;B]I@ux4oA@UG,fAVGW6}s|2~Far- +::Lj8J5S1VZ[zL^CoT5(|IY~z<|qLTC[PLmy%9)\UwdM!~0Yq)z(8Vi<# +::?X,Ek%Ix;UYCD{NLQD]xHrsGbq|!JAx5K.fU4.mmka^~3+71,ebd6;)[HeB*PPp34T}[*(cs9h1Tk,Xjq,ij[7Gq1ix)~0kU;57i;S-6LB=DB(M8966u4,WGI3a)7rZGa4`n[e&w&j}[x7n8Hz!-X^PjpYeei;?+qNT@Z]O;% +::!hj1`b\9X7_ZCHz4Fyw+SCcS\w}#_ku[&80FS~jPJK/#x]k7d#DzxE/F691bQSl&gPO(g][MJppL]NO]~u`hXcz!fSSzV5,C]2r}ZN.D_LG=Bm!21q*nP;T~F9MTlEM[]c +::vC^WB}L)UB}tRv>-8amd^5eaoT1Zsf&@;)Qz$V=%h3.]O8hEt@4bGb?1*;;d9&hL\Z#8X&YD^VQBo}^6*hbFDzyyzbiEU\$/?ul%JSF{jH2dbAB&\?s/`r?MTO%Q3=/!CV +::o__D{sRYSQ|2!,yl6L#T(MYPfufz8mpzIk|Pu=x]PLq+0*?Be&_`sehB,?QHeJjF5519.-!My~[pSRT_uKGw`N5lc)/f,W0t_t*\]QnCZq%9(daw+5s.il+?dj0B2),l#hFT*<~,.sN~\LRKI)!g2}wfM>g-w/#$50,;|wN+|J/&w/08kq^e83}XS[_c<1nwnvYmR4}LSq?YS{Z[i0>>Q1,.ZTD%XqYF*pLj0jHi4 +::\fRQQ9=u962zj?fh~d2{~N(X++gGtdqf55Snz!Q{glA@]-A$iP<`NERc~IpB@#QTnL.pMBt\}lqDWn\kM?UQ|cI<3YV+-l-O}w}&y*-<6hWwT~^g||Qd2]|H&sS~8P%6r&xskS;+W`ag2a22u1/XIN3&Yy`S^(Ii8rq~K(vu3oOtgNXFXa#%J*e1*7+{y]&34B]M7j_m(n$@P3mvW;V3dB_O^~i>,PK;83aOqTy?hUX)w=o| +::!t[C=FFhiDChno;$ammL.Kyb%^Zl9`HBE2)BW-1&1,NmfCFpTB%pI0K!b7L%I%,T1K!R,>KI`V`ou\,P#ZEt`b&0-7/%p5>TUy&Y?C)Z+YX@}!/f36-9RfEd_[3!XzMgfA +::C5w,ma0Riy6-l#IE;Y,MlO6o>[(Xa$_3**(UbX+rCTL\HA7YgZI{QtY}8d;{oMn95b;*GrR@jj&mtWartC#Ft1MNPQ~N%~naC$I5Qb# +::WdxTBI(,*qMBcef*PB#C\d$ZZ;Q$_+0tGF?!T`t)+1=ejgU@$&Q%8cZk2h3MmK&I0D17r()bMSq[~p~z1B\||Jjd`?[y,&$r0>pXI%I#Pdi~7m75BRU3GXUr%XZ1KTcW|K +::[zSjwE3X%[P+hz/<]hT#Xcv=m|_D,LM\;o7f&g-u/]}I>qG%7,k[aK#`j/[JgRRc@v\F&E5<}ju5e;M*vza99j4HaUy=}|H]pOR0M+W$/x3T!+riK_s9+G?tU?yYLk-L*HbAPVKX5q +::F|>#xaIQ`=pG,p-QR!Mdxy)r+Ft`(8jwae>tC));?Ls\d8j/\q?Out16{%U7\AIfdkefwpgDYXLq3+@IU2x7wvBW&L=bt4>/h%,5&Oe`1|[{(nGjZ]#X_;tPEcM%o?QdvC +::g$S!94tF(7,9yc(Ju;aUb|h;Ze7|&#Xi,P`+ZL!|%=5T-XJq?C`Ip(x?m^2^k@B~>H0\sgV +::}Y97P_Cn5|-H#V&YrKw?(kK_x._+U?_dmM,#ZT4hCu\q{2K+WuHgnZQs7o$YYPD=UIj.n`*~7FBG3N4%8WbHg_ILNfKrjNoA.vjvRa~PC+5OPkl`]?F-;}uSl6*,uW%xI& +::|\8M>+SB=yfPc|{la.sBaF3cw^ENw)<;p0`q3}~8AmdZv<9Gi@0(`}e_%oPkT-E3Di-wOWz9d4sdN;m5HO*3DF(0s\]o +::v589~[1I_xs_*dSud#vE;BI?glh-Y=a`@^Dm/]I)WW,EMmaYE!O[QGNJz>#Dmx4Kr5^m8[V\5Ug,2n?-~Ij5a&;cN}M5`pC?z]qBMfHpMU9Xm7Ux6X05]=j[BN-[)/x|mc5y;^@~QbiJ@7n*23mM&6w|%wo8L@yR|6(_owE+!Han.TZu4]SA($\dQ1bDsfMGFtqK2@+DtM$/?zLrF6R2r@=C6oC$ +::_<5uBzj_Y#RbR=k*9x&,f=KN4-NH,+Q[42x}Ve7n%OI}=I}Wpk>xk$tJE5pD\]#sA6H;*O1-iM{)-%V0EW@@]xt2t3Xkt~{8`_D>L +::xSYR5W/*z=1/v<0w|tWHvk!ehI}O%YZS=BGSI*A6{6Yh_&7b#)J\jG#4@PWOFL=|g?xdzp5Qi,^^i5XrU~C*;9O#qW?@YftlLE>j]`}c7aH`B$-&C7roQ|u@`CZna2OuC6XnNF%cR|2y5d${*SS/r2=mo_#qxe,J +::tpNx=QT}oimN!8#eLP8n;mC/fP_^c_5q8sTaC5`tSR%_aVx\=@aH+?m2khj|]T\COHl~FHQd.!\/mn+Rh;f3aA\NHZa#B.KHnac@8}e^}Z%rK#@-B=5^wCHG16A&?&KbenlN_93]96^8!\br +::y!Wn*/6KL}R8t>aLt1>YK,pc7+-,tae5>Yz9_effOYX?>!qIn)xW2*AGeRSS+)gQ82\MMc$Vaib@?7~@9H`z;2-3t*a3jg,r+@P8$9\{-~A.Nr?Id2mgQZDSBGH{+]\9(Q~c8H>ytN=kl4D*l#,}S}QxN(o5{>b0NBqdT]r}~+A=TTxp@qUKb\PzX(Xvk{Qf +::]EFU}/Kr>D+HZ(H_\BX}HCMhkG^7ot*CukGL9_dR`C(^H|y*W#4fx~DKgHVfKs)Wk#gHQ)|@pvfNSY}VuDNY44XbPBR}<#ZV~xS=?\)3BE,cccbx/N3_\6ol(h[+]vH+^+ +::,=H}\m{3(zGw^BYGg!#Yt%6,=$pNf? +::ZBd0cB?z;l]kCi6H*Gb96pic;[MU%G\H~{ZOC3IPHrg@O.JpjCUS\\11sv1(,AoJ^aQhgp8\ghx~!#~qsCQ-B1T5}[sU/MX?ARv5CVP1R2jwgfN+i;=&y56svKvox$M,?j +::h($Qj)v/_$\QV$&@={-{9.E@+?4#@Ee8|-j7fU,vzIWP(}dnqSwJv~.oik! +::J6Nm$O_RdX%pMEDqT[uUSjIr~)(xM5q}(>_me*U]HY\6-,dGSLAP)]AO0%qhR(O|m|lv?xMeU]E_c]ZfHfl,1iQ*n/4K5Tgt7S/r4yHnfxtKC+[XSq&O}Wp=%<3.it^b}2=d0D!L4-T4=x1dt8KYr]txnVM]MwtyZ9xYrnX-a1)U;$YC7~P>yCs +::vx9(Iq8|!#?(xCXA\m(ASrL`h\8pfb,i>fP1#^-M<#yTQqy35l=Y/lh&f}Rr>Um..YicltSR?UMYqju*KO<1)5)WM52D`[,d4t\en?.f]@Fi.pi3#ep}p2j~jn-JQu?,14mt04BQ<^ku,U,yg%HhX=Z=72(=zp)M=@x#@N$\KJ[!YDPCKYT_S,H`?{w)C?s@F%\m_{{v\*y?T$_Q{DvuhKRn=i41Z+jZ^~(M;N`LT38zl|OQ!sQa9EtV%qu|O +::W{\DHYBI#coA9>R/.jv%=sOr~u4~glQf\3MD6Xt;5k\gzL1ESMNfq_9XgF8{[*e/}]*H$[1TK}XD~fkH$+BusAQrjesplE7[p2JjXqRc8EJ&(~%6ZTPk81{FAZcZj`|2[, +::]0JTN?SM,>ba5tT1Va)V@Kn^;O}0OOa,*yKC)CkQZns)87ejjiZ#$RfIBFAQ~9+*(l[~GJ?9KxKsMS*Q=!HFD7/]|*ASq?io|]_zf9rJQ.wp*D^)~l]$h`R/1Jfk,&\&2q +::;^RX2t}D*}JS`TJ)D[HB#*%x#?`@E|`pnXACa{_+nndcB/Lm*pB6B0BNt3{86nj2n|u4MvHvHxD74hwL7OzQ&fm@$aZmjF4W2],CG(?BzBOcPbKFGZ=(VMl[{v(Pz$z\u^QMOB(][5,Kn3QlK|vb=!G0g?#G~ +::{Yl9ukk#?J4!G>X*,PyK(28<~tL|a&Y%ykl(dKmR\P>jIh6AZuKlF)==HX~0H\Pr_$)F}q[HUVW3pUsd%hm6?0maB3*JbHTKo_1ecG.2`Yda=XJj/{hQ +::{RjfA|NsQm(I&m@&ojCBa(.lH6KR#6>_s`Bk%D*Y&NNQBuE\2VCxZ_Q5[P_2k[XMqg]jZ#6)W7`-9nT,O3K`jH*izG51Dl<4Cn7+$&f}#]PewnsgtN4#=9Hi;fJ-.exm)\(?9Zh7uu9}Ii,zWs?G`nEP\s_kn?]~sk/Q5-tf$Y3`h#Qv#?oOJ!Hpp,jxpgwsR#gq./Hb^$^1jCk.0B0m%$\W8=-x802T* +::kxw^l-$|lA5O6jD.=Ix]Yx,^CvgkE#-s#x[G@U_L75mvM]/PkKlOyAKW0bdp2ylIPJ9Z|VZ0@m|%]P=8H +::*g4&3[&e-q(vKQyj3U2;Ac2@)Bd7a(h63*sINoNrQn)\]!43qeeP$$MA)e;M+4\7-oe3#ikIN^n;c7lL|ABL3IT4H[#sn0MwU+wq~K`)M4,=H@Q-sU@24 +::W.)Ox-v>`;%,b6X,}2/>HpDatQ}g;S,=6py;5Y,CbX+sbQN`3<]+D|.am/es[XuZ{pTvwdW8U$5g,\~&*pV$cQB91b%^0)S,k{xOjB+|L+u,C-!rzRyP^;B-(.JW=PE^Uf +::GkZE7TZ[(7tZpzsk;ds)0;Hnuu,$`6}+t +::leU#6,SX0m*O^UU~_`>jZ]h=HUqS}4}Y8E;}DoYOK\ds]Zo8O+wZrPFYw[jEoKeC(,V}I7K~C/_?W+nD~hJD2F=U2)g-N,gm,4gst4\qDF)0ng=S+CO%?iex9pLVqdxBN8 +::l&^Od19==|z3b?B\_q?B.,*YEaQ}z@t1Jvi~fc|#aNO8@zjWCsCe|V,^h~0dh$`I}gK([de{LGNGq?og0*qLtXw@.MS1vdB]jdcSB\.}o,_eqv71wEO[hrz&/vu))X-`I% +::V]H%aPZ`hPb*B\I*Im^&#%x%g+lL{TnMKMkdn?53v2C]xsZz5tAYIo\5~C{nG9@-nbpP3>8y17a;!q*F3zTxDq#wplSMY);xXmv|3FYyYP-D`1p)*Ld_(XVFY#oDaG8h).lwaYZxi~<$*OvjS0uy]Z<&&hWU2xI`$*\qs^su/l\Z7#rO}.e.s+dI^ds{pT|IEPYq+|fdF +::&[,xuTj#Bi%0}9$0Y1nB`WI-fYQHd(-1o<l#74S[3ziKIazXfGs#q2[jqgw{hM(\%r(7rGUMmG1h<%T([LN5cX]HrK-^8A@`Ex4ni\4<_tvD5g/B#yV*M4rI&1Lm-GYy>E +::fpU=#2=Kj#;aW%<%B(OYQ|Mg>&eNWr+,mtr~xdkL>4CN89dny-`1a5&mk?mm91zJ{4_Zv9w*SV(H#-H%8oeqUiktQ[-P[.(Z(ZPJUq$3+Q,0}~xQg3sD1ny3i21?>aMbXM +::eI0$\Se&/1DzCz_IXxv[z&y\/,xee`F8X@{O?v3P*$K%e#4a[eUbj]RGN5#b\2MIjAq%c^y}OHQCu``r?~;sFc>#nr!3lbY%kSZ\)dn`PT9)*q]MIlc$@$v$+Tr +::P3^qA(P6Rnhe7qLx^YX`Ln@@{%3BM8XHdq{1(aHeUW^aOS_s4uaS1NnciCcTt<{qd\y[TvvX%Mshe4!x3#D,N*@r*!]P.<(0#)i.g\$\z!sI~e,y=W&.bY~qWI7A5!hcBf#gnVt!nDfRvs=(,`U+p=@.%1ub}#,a7M>dm9<*PTLn*.8,>R0pRN^8W^}28{$+0KW +::;E+.*6Ql*VffdIV,`;yYH]Abil{~Wod?$/!^y_(jvG|R_7]>l+wpm/~`xythM`l/O1yr89])Klx7Df5~XPFuagOjT2Df_?9zs-q`7$C#-c>iLigqXy%3~]`&/JnAFJ$\9-kqkEv@5%?B}qyf1*)R0&klZ?FS[-VNtcP-$%L[X!-5}I|/,-J. +::0`xL9+eRbYK!HH8%a\}q7QVg$I`[j!r2n8m?TYAg6$qrMWg|jZQAKZMP96/8UWXOsSC[-OPK.F_Q{6JsHa_;]L<*{g|!6]5RToE{KJ0FWGeAcEuDsd,O|(2ea!&5G!@l2R +::PQ?frM)tX+j*y205He`<9__p7JNjp`Ic@m7H2nRHE`yW`u#0G^[S]Z_cx[12goW\_$TQtWiyc|j##<$yTN]EqH$[.>J~35)]R+eWch|y-XSmVeDL]HSIby|47eQ1|@cnB< +::d3B8@/i+-E-bfvWsiUL~_ZeYry|Zgdzh}1TK]_d2?p6~}n/G+G&ZH^KlUC<]P9?u]hSztT$M?u?\3[fTs6l`OAj|13De5y^{, +::TWs0ZPP\G&%6)7=B)*E(wz^(aT&W+mZL_5Qa[nQP;r~WbZo*oycwQ8D`Pi8e.z,m0^roE3.P&S(iaq/BgzdEYA!g^[|tIOBs^S9_ozqko*h*CptC-Jq[;O{uOwW)W\adk0 +::e/Kt.aBN3toc}aoIo\o.@2>m2\-to{DKRR[N)%ds?FfO5Xi6f]teod??al]?;(rK@?5l,iBt-2w,{v{C-Tig8GxQffZM.Y&1>`\(rPgqWg(m%7mGB4^Pa_bOEaUCUk\|`p +::!#=B}1.t*k/4/zQ=DY}X[)lOn4wf3Cf_Xdx[K*7tj_z0\5Qntv9j|H@zQ{YP.tc9\#]P$K3?jv/Q6}id}\yf#lkiALq/9wzio0T+$H3OW!m/4!g?7b\Vp7(,3q.3jhfjaL-rN9*vc/Wo6jFR/HJ73xW(cbU6[yn3L[SK}x(c1M@3rA4 +::!Nn)pPg?ej%Lp1;m6h>&gWE&`acRf9c=[`x(Ti]n0AV|XiFN\Ld5*iv[YLLH`\gbUU/vhRfp\9>9JcE!PU1Xan&$0]AWPnOCiYbIMoxMw9RPn2cL-,~Wei?jE$=SaSlaO8 +::AnndCecm<)5++xzq!&)Bt$qcE]o6|I1`zUKBXfpJJIY![1Z7t\Y*&8vxW))(%syWRm=KA4{~b%V.}Kafe$43l!#H;z4%os9tb{U@irw+M?Q^j]S$&E_/#s5RQ2?Zbi+UEI +::<3enLnLaIkk\[~2vhu.f])Scj&sX*a$i\F^Eg#1xK]_$T_wnQxXQ,Rr?t6y(SF-^ruq_~iV06B_8@*Vgj~4Goi~qoFFaZ60Ir!?$k3PtOuea2d*vTIj#^GX%X;}iQh|LhYFsd6 +::?F$o|lr]$a!qd7@uOTfX-aa6]hFqoo&YGL3)Fb3`ofNM$-4!)/${es(hIUKApW85A_z]#yBr;#$~(;$`a`US=&^_~K8Xr~b45U#i;^%S;^;U#`|rPt~K*Fz)h,W[s4!]#N +::3!4V(Zg}w]i^(_U}skkH8}+r|O9)8YMMOpcCD/}$8%r%]#FR%*w6nOTLgLXEPm\.o[FHA9id(M`]EK4.zd-*i>Rq&dbUlEGfHX78YN?LkQD^|oIcP3/ZyISC2Gmh00^oTi +::+K3f4%4&f%2h8nTC!=/u!rjWnr4i[z/AW|4xEeM==5.es`2xn`a}N/{T640@$W^R$?.gv&Xi.`@vg[{pt\fW-46[ibix`C6F=ruP/rsN=c5Gd`}~cr-=`X6?ia4!FZ]|AN +::N}cFBh0(Jf|kZ@ZCOe==zB{rAjf4pn+lvVEehy?Lm`tDcnWowO}My]2T.h5I^eI|?%g>$Tn{0r6|GlO{!huO]}!~;6{FoNr2tW;}-y!%zq6OQpR\>_wo1WSuxV,iX{5HhpZy|Eu5}S{3H,RMsc`J*pRgS,n#o0.zyDH2;D*4-F2QBp{&G4(HH/9tvx}w8Ea8iF?&cj]!-Ddjn$/&x<*XX5Bh#@\yX_Pm{Bm\qf7I7c28iz(FAltZBEGP%69zHAz_Xp0 +::EgY;8C`9rW6%e%1FMRgE`./KDYn_#HA10={TZ/Z2C9dq>0@?~TK;Bpu;r`{^;f;1Gx[;&sLJtJAQ!nOya$Go=C0[G?&C?P$[OdUEBHr]N,Xna|>hj%!&G4FyZoU*\pEG9F +::@|&|ogVN*8+~V$N]Mq!FL_xzIsJ;o}[0aa@9?DPVUOU9Us6278V0wKa(C1Rtst;e#V;!m?>+<1myCa`r+A<>q##oY~517uk-(,5-M12!a$yYN2SlQ(v2=F(h,k!Z^zs*3F +::.8u1b.-<[,~JxcBRKb5mJy<*3V3c{gnWTqxXP4SxA +::^(Dy=*SV8I=uu@+Q(#hD&+<@U6&g.FO5~YYd3to1MP~KgXd=})#``)Q?5KmP7=89S\|MB2hb%,>8?AZLNwP +::V\tU_1%a{8H07y[$1twREn8jvqHSCJA{@lMdN.3\Zj%=aFI6H4=7D1;}}ngkM\%nzKj|aT=m3;gJZV} +::I3phTIS=@FM3n;l*fO[uKg>`;$t^H6?eBMV7N?=vb#riO8Ef#9C_xzO.c=2&V~Tw4Jl<7R@&yc{$PYTol9(t3A#97xQ|@I{b_1U\ihi%(rBkPZqGdyX+g=v0M#.j5Yc+|Y7Nb%VqeFHWJcIthsgu*OV|EVSV}]|[.~f%6r=wf+oRTpm+jW.@{2 +::|ex[h|&yg9u+r-u[X5>-4$R\}y(y|ykI6r\XhZ%~6kDFAG.L,Q)~ooP`x=oTwa^;UiuW-8RpvXSut(T2s{7JMaf/q`V^JA]1C]7<9\M[A~Tb.~\J1WjE]ENMnt5.N@w+Kq +::W/]jFCO[c|?YFd;j/n1?!N+f7DIOdTG&Z\>3wVv1|zb21-nv1Hh;(0G@M#=;s31}c5IrI3^])gt=CA5vYtO^9H2^*Z-R&?lEfu9q3s5EHZC~n\t|\h]`w{!.FiSXILH(8A +::|m7cQK%WS2tG#H6+VVYP=J0l6#J1BH.?E2Ny9lX7{K;u=|S*_ZRLpz9ho*RLB^kiAfE|d*y]Jj?8oAE1rO0GJ/`#%`i@M5pQRvlUiU64&o!2IS}k=Km]|8g5tXWt~?~[#Y +::kJ#s&q)/^2~#ol1rTUe??G]]nutg^FC0p/Ir672J5cgR*\.^Hm>GTSl@$tE>APHN2e^b?#}2kW/J+6}RXnb^rvNa%FY>@T3tBtLTZkXgVF*NCl>o*]nPY3#v|yVY/S|D7$[(@s?s[_?r,)OAyzvLhO&0[DJ.L49jzE(x-|6Pcgc.I;Wkg&~>pSDQuiP1QCmQ8wUVhKtVVH_Ie?N%a[I0s]FO)lXvbGjMHQ-qDZ`tI&\\b4]eyKQ{<%.vw2JX +::@=Pw>?Gm;3d!B0_kCYyEy{X6Pn/|OMy\87FN>\Dc^rrp6PgvYC2;*rr#OGx# +::,N7xt\T5BvRkQMmj1R4H~iUFh>^-==!pc@\U+]TR5!,juh<=npjI,D@`Tg5C98~@0G-@063/;]VaoBSfm\t[9r`zknwE* +::p[Q,PBK@SxhE[nKw*5^ZAY7221-i~Ore]B?Km3PVGLLl1f@ieFX1Zan3+13mR7AgFwS%{#$Sx!a}^f!R+o[E$G7_JF-`YjpG$g~SSh!5};3rrx>[PZcJXHX}VYt~%pdekn +::?o}hFJo,6|gyXKpmtkp[g$@-,YuA16~e(dGe_cmDHap[3Ic6C7&#)`O3I,oZ)yv]El-W;s>U/qT1hY8JO.5nD1h>SVJc6sR1TKA)2Ni&pFFK|n+BX3Kt%3`|/!,gg +::)ZjD/Unj6nk|q\(ng-@!8A0M%#XieZ+/MHV?2tajaqjHF>/tZ[znl%Fj}3Za@,RX_<1$Nwee(+U}UOiul_NWL3zk%hcbQv6G--UwefgON8h13{/RwI.4/S^?q~P@*7XYt1 +::Da-W`N)a}nwFoctvAE>.tv`mS3|`KVdh!v~=b9VejYgZ1SEqh*SfW`LkTx?A]vlzWKy.~{H=I2NFU=C.$IN}Nz~>V)nMd_Mvdy@;yO!~^aH9Omk$pxMCg(bUUGo$$W]_p8p6.?42ArtY@/yNh|u\E +::y|tLsooDAIv[;sG>zaL0NevAGZ,7x^qp6Ar1fm,_UB[$|qO8p`4Qu%hB$d]D6alAVo&FuoFko%WhlJ;yE>rhufv)vdKp!^yK&Jw.VF)OO=jH0+S9hq.s/_um#r)xYwaIE| +::^I$^,Dq7Oo(ID})l,QD2sWjHmu0?wdZ>{nbFEk3bU?I3$p#gF~MK{H9V8(t1i.7h2%rbEyF`F=p;.%;18n%mwI.>2&3/I7<\d37_XAd_{i*bw>TcI6b-IV]CjTR{G9|#zU5[{IL-jaOof=<[Wrc[N=l0P^_m-Piu +::W=aUi6(R5u1p1M$I{KWTO1s8t^^*9ha)1XYqVvMugO8!MoW^N#6q<^GcK76ev0.9qQv%A8|FiX`*/x6r-udxj&TvpEkz1w$x!aO7ZUM9~q9GKlVqRV2-&eR2&c60Bf>!ypR0R1Rg!Op]GF80eX4/L-2V1KX/0D8#2KI~qtN!T#oQwMz3K%Z9)5oXqQ|Lbz]5!63_fQ=H +::h911nU/\M&t`wUFP<$szW%VP;}[5w=cY&0&9V@pNUxHm{b[MJq3n!&&K5GW#%oDf.[?C0w7&ME0eU{hC[nkqCQ`&37#?%V0_#z%s(15~6hV%l/ +::jQx\h1S;Qm1][%/(f!)a!{5fvEC_Q{L@(=3jqAgG{v\Np`e+rt.`O(f64%O`lNbl^YvE|N4V[/iS#GDra@%epaxUCv<{SPykH;c1*]ZsLqJH*dx{o^wwxeE@8-Cmb+z=s`L/g^oy~;)R\|]zlHoM=h0.4j>K=7T{n{qA(SHIucDSI_X|}ow +::AAL(8KG,}G%aC}Eqwn6.o7YKM=Zg)Vy,!3^,d0CvJhF<%KY[ExDb>~24[O;PB9!/}1W}qe|-T|;d3Z@3n]Q#T^0F+5ZxB@4#nUiV{GncY%4_P7zg(sfRk8)W+0M8{WpX-M,T}{Pj{o1G]&vLW,;.Sb_mZRgi!#k-TijROt,(Lv2wis/)P +::eu?]j%Y9YHpFXRwhPQ&;85X`EZUU86\(w;3ij#w`6knJ]pgY~3e~#L{l73dN?U[>Q920HKZSd_Bhg7v?_?sN(~aXX7D/-%rRilhsk@~,4A1i7?]kGZ-AF9c\2ogl]!;-\- +::.5<3h?hQ@<8JPtd/o\0V`XVTS8`I0NZgHpW,Z{HoI2P]gb!JVb$V7f`Tj3+R$^5{RuF9&_@zbY0s2F!+9l&&jFa0hBp/])y%o*y`=5z2wf,KXp*r_qUK#9Q]2h<%4CK}SW +::g&Ta9vk?.YkhKYmM/,{LZ_]eb`RPjQqTw813!QurU&BiI/&P]MCt +::M`k)kU_pz/o,=S,gLUa-+NE,[.CXR.c<@kh7mxDK1?PJJ)9`[[S;CzmR2&^%2AGDf/AhY[jVkl%)0`^g_d;/B$KPH?bSv +::`OC][A%y$+%O;1%t-_74@7qEh/-!6Ox,u/}J3i9sKby#@#zHRr%t#_.~RB1k +::#f\!qza&xA6>*I4wg+rWqv##LZwk=%{U?q(#xlG+0r&xG^^z>}@FFj^e^%&JU|7le}]?x_#EzY1&5wMTGxvU4|H4tH&g)7No0&aX-=d5=BR$Jq0234S%;T${V8zU0ZL^9j +::6l8xxQMU7ER&Nv$}S1XV~4K77}Vpv=>W@-y%m<=-?1;Be32lFP~~$6HBa9i6a9BG2>!g5;lFW^w@Q0v!j3.icUBmsfB@m?S_[e\CBsUah%M[KJ/z,V0Id{B]i!uy,u`,ay +::t[e5?3X*!}CuLE98,uC/_25>?=K[$;r-V4E1OCE+Ki#?YapY@t\~(=8FRlBz(cT}%FlFBW0)2KrlQ_rOLSd3p@z~Dmv^.CcrlNt$9}sl10q)>mJa.\rk_5kh`opz1STKe,?*W}dp_*kRtsfOyH$fu&}b*5z-\mwSU5{xBHL*Xo!YBxsb-[SCOUci`S58 +::AGiGW4&41\QI<}sZDETB}wa[I@TmrK,x`}fnV5Eb.K;P<-|(~7{lFNCRhTxL],3eN*!Bt/NK*Pz*>;;R`iVsoa/R9Qx=Z6+=[!OG<[U)4R9fd_$4H0`_]3Z/AXf}nenaBm +::;T>K%P>mbmni~|8V[efXlM5=885psIe`ig-vM1Kr-k#=pcS`,o7`j?#UVDggY[u+`WuAj +::=]&j>nu`mXvdG1+~+0)6fVcy#D`ir.y{`eT+D>LceL^rfKwiYfws0!R3ZpW@1ep*Yf)@2<8M$@9.k6TV}Z!kU}l3iBdF|_`\.TgYt[Kxf/t(/wI`nJ]A2{b#l8{?pr*$ph +::@[;r_t27$@&|e\]T-MeV#qWx!Jd[=1|+WzGFUY^Hq~8Lb*~X~^l)AgX=Ku,LR1Itf^}i[FP]uIL81{wUlM.X9w)iG*U!ts.hJPl]C^[F#IPP>1$OCZw&&?GGJWSZ0Haar0 +::5sfge5J(}gSxeGlsh(OT29iw?Wf)MBws{r}kv/iJ,1Tc]A=NdENY}vsaP#IS1ejeD@I`d7Kzx49e;h]=vp4S/jT{3>8KsRDXcwI3!EX]`Ip\xCb0@X|>Zanzk?H8~APwQKN/k;WxOr8(`{8/bAZ1Z#`5@P64X/+Ka1=@V +::N?Wk=.3-{w>\Gle%qW{UoJ24C7X}A5Lnq?}e)xs0(BD`($PLCGjG3uvc,IgNi@{%e3Oao3_MH4sq8f?S@c50jq#-EZaF$BY;QtU9L0iyY_@tLQ9Qweo +::Z6TEM2;p|,EHucK%$d5L`%krV}cV+#RoTArBe(W\$8y8Ma)xzQL!a$\.JZ/`UI3.tOCXPmaB=3B=z~yzv8@jilb0\BJhg!XJFy!|}DWliyp~0tCn-hyQ6l0`f7]2uLdeF} +::j9KA9h#<8}(drx/0p&>V|UTaOifKAG`pTF@-Q+7<`Ep_fA9p>L|O9PF/X@L*^9%o7?i{a|d7W56sh!.*l/vIgAla?eQh[R7PD_?2L1c~%&Kuf&P6MkfV6IU%5FPx#1,!vP +::V_p{FP$mA%?MG}s(9y!#MF#nx6s>lZ`9iG]J{AiyfXsT)O%c4A,f1~)]FT5cGA}C@0l&v?8j2NR?q*%OpP.stmmlY%#cGeYZ6x?|Mpb/R89ZGMH7@IyBd3]h/ng,Z[A81Q +::D2}#J%KI+?`{[&CX0o}vJ\~mnUp$-0}#O(F1-=O+1|>qhb>V\{EvG7.FXW\+VFCn1jB-iN2@ +::JNg\E_b4#B2GP^<=*Do!mjUyO4xJIi+%`LML^Eq8^h~!gVg;EanuRvoMC+_Fj?fchM,t?DCwi\0)by6sHJtXcPLFyK`ReGA)HB0%H+jaC=(r+3xNPZW`4sukigOG;,twxXUvHq9eS@pk;A&ciHG5hqF-pHl#@vxQ!%OP/+[yX+fn&d=A0}L~%Yf&0Z[M0_MF}%Yk-Pzh+UorD1;pH;UamKyy]qTFh0^%Jzkath+XCqjCL@3#4?5Dn0/^!Fz@GxlU|9vk?zsDs> +::-zsR[Os96#q8&MdB+)/LAm+\zNKUGoa9WBe&/er&IjQ8P~1OZ^tML`Og}%bB@/&E8`xxU0J;ZwCe9SW(W8$91T+H=Vc; +::>95!?T}O08%Pjl|Uyd-3f(.NaK)Q!b]-gupjQF18/%?Z&ng^_@Wx@/PK7VmtgQ!cT=|KR!DT#@,v,{+{>lsx2U$y@37g\85@ehD{oL2]he=1-IxOJ~>oP&jnk8PB3m[A,d +::w;Uia?KWADyW}[V]w3CJZ[xrr&m+NYO27zlL`aDUkxd+E5AF,}QeYQFA%|z9lMx9+$~*?aoM/h$=_dfV2s/tp0w(2WoxVA!}jpU+%spe@EC^y6-l0E?sT~hgu_\90Cfi[Bh3;`7dwOdGd/r;45/q$d~8Oyd+T;,~[/HaNEWREQi+k#ubyWZ$nj,?WAD2Ig,mCamD~;2|zz6.;uPfs8$wQKuRnoeIjRS*Oc7#-_Oy{;V +::&n^~vO[wg%\pr!(gTm^Ez)luDlfP.S;Lh;J5fIsHAiKtDCGmu)o=ZxWP2383!lx$BmF7U=D.)ehU&{|Zk0rpF6n8x!#H98K/C(vy~\_>Akdd~zBGG +::)Mhf(9q\nB/0(2M|2)TZ0+Y2wuCul=h\@p[%*~9/SKm6z}.Uni(4k$Z0LlR#vN8?]BzuL&,-IjD6?T|ke/{1,?I9BzKlW_Qc_GT?\fm$6U?_#(bxU#0sz+u^0B8fuGv2LHWv!vxgNuY#R]$[=3oR9;4X%/OlwQ]0wXTWU]tTD~g.!~Rd(GjB~-}9FX>A+miH17aJ +::#oz-8P,>)M8ex|fE6C_{!=J@/Jo~hxF=uS5C/U$oux|u4|uvtVFBshlT=GWi|iCy]45`+m8B.$+^v{q.B +::XEpSj\JwEfnIqQcv7/B?IRWD$d!E^C1,H#y!MbMER#hlxw2cI#&gP=c0L{-f{$1Y~{RmPavDlwIqjlW +::iBWM?(DFHII&Q_h3#]G%9rPem!0e)p>AY=TM!QQ0~\t.,\yggiWm15h9loraJBd(xK/Sv`{HPX~BpH>(~sR!M6&!T`;V-+JKUk>Lx9)qw%u1wi$CqDi\?MJsK!v*$CoTca +::T!Evltld]-Gk/n\?%x\y1eY4UkY?/JPMT|EM!`*Cr1+k)rP.PhT#(ITZA=/xQ0qbr{RYRq6KjVRUDL./^v*7B$Ox2]?@cGn{,@+p++uO%C)ZQvQjl.c|_Ql@^d,5{ccU.B +::907/qW/%bl-,oTw/XOmS\gjOJmo{Mf]$]Rr5HUgrN}WRIZYHE|U3m*Sk=}[@W01c8B5FBRr.{J[jjFzIV2,=64lm5vs( +::AS`_U8We-,(%d=dx&zp+K<]y#^I?m&y^JQ{9(D,&p`7ngf-4aPOEALGXcF[uIOu]gAj#,e>8Cj3O{en[#+=o+=Vk\Jc{}q/4{@rnwklbF-g#%&g$SrhX$8XG{K{.9M^w`| +::k_{a7A8]v~.Gb[$|`fl-Q@yR/3xP$OD&$!HV^O7UP/SqJbjacm\13M~.{pu&yD}sQfq]r=M;bv|uT^c(DMp~I8FNKIx+Y{ +::SC6*H*~%bm7-[;R<5az8@3l=,K,m*8`~S@I,2NrerR>@BLY)7Q!`qs1kUtxae7W*lYj?}I9O9O&_yB%}-`c@`abXPq!eKQR)c9-E5ve{Q4uOaJZ^QtF/Bit;m6s1@gV|rXHAkDxI{K>^XzTyVl)4@[KU/6cH3[^]bEwH{{Oj#2t{#FC_K(B]cZ%9GNP8^/I +::vj.Sm(K$7Gb!55Cb>!*1oH9A%kNB4RKG0HaW/6GrHM4R07pZ[%}k`MtFM+,PuM~\5;*Q28uhM+X3VnV!vG()zCZb6W]9=!]8>B3II>%]R=i}]G]nN\kDPAFtd[m]9Ml+HYee.uCp81=%x?fTB9p$6o6 +::-1aGk@yI?a0fQ4}wKa2{2nfj5;xlTHlxBVorBS$hPfE;4sB`ezKWL$QxQvh%t]iyumjI}qjW6C,U-u240fEGeBC@O+95=EDADeY7E?jTRJ#V+R&n6,Bt;IhDR/N6!`Yk +::+z;wNhckYZwDK%gL.d8qK(^%qVwhWE+K2.F3[w#WVE{nK#7cu6!LHZCk9xLJ91O\>h=8xYZKqvXHnFKd~rv?k!G4(hOgL5Pr6MhQBMn&sLYK(G#DyE#pcLjbp*PS&Ul0-d +::X5Du}K3x87%t&X9MeHd{JH0C;Sl+zxlQ1UnIuuF$3rdJ-LTxlUomtI93yS?{Yf$NwS)X4ekh7Y?B-Q6;r@E,!06B}!\r9ui$4P6F#,lbMwFKj|mrJE)O4//4oV&mizBe=y +::=k*,,$qJ{esh~*_8~L!JV+k`a_ggO%62*AzQ~BOPW\Wd\7lF^alXx_w]Sbyd[dznM~k3=Fkqfzj9aVNT%6nwT0|)]S)mT{M`K +::TQyCR~3y>)PS^^P,!t/Z+A}YjU\9Pk3y>ZD|%_G50weh<[XsVj@iZtbg+IqRBy|*4^.YU0=jB!6v6OusrI(zk!\P(~&T{*5 +::YxR=tL^TL#wOgAH!W0VYmoLn]%(>iwlU_ +::qZj=zbZ5&!SjRC;KnRW$AiJP3O@oSidMM\LcN/W{e_A+;;{0vk8q[_D<;Nu_JAf;a*{XU8Z$GCy5;>@.GMS1zS3ch#$OW@n+,p%$~DTt[!N}/Ip`LK|HPgst&9dgP0$3!f/vAJQA5jX0qa-`nC`j2BM5rw<)rk{K7#<6f~61O%NvkaQa{LCQX}?X +::{&C%Fx)MVmKmf2`%2@9,=8(U.xN_/?w1Qoadz{-RA`91c)eUdMQ)ML<0LpgH*3RX4\=\!vGCWKVz;Is+UXFQb!@}_d{lKG>l+>3(]!#T>L~a+5kwimaT^4F#|2kHv_UMj= +::eB]=abmB{%R{jlJa%#OpezP#4pUQ\ZQ1HSykNy~z{mQDgU%FIK$T,@eJD1_Zb!]owtvc55v}myV52b1oAp!I8zA5_OvIyYel)g3;{jDsfZJMh*^+T@)5[Od{;=I`sXZXfs +::1w0!pi_2)-]&r;/~[O+3m@_@vv]}SS^cL|}eyfcn=hdOt2eX;8+Gc@=3Z!%{p@mK)p!j3jDkwy81\oZIp3xXn=&U/N0Gcc3G|}W}E#+?j-s2{xQe(m%&|NtadEB?4JM;D7x!4^8PInyXQA*?jB5TjiX^DUC)H=4!Uf77Rh}%xZ) +::V8ZYw~uR~.#|8s/OmM\a?@-T)eezX6b@eKp7jlo+TtQ}a,M=rQ5c[Usy{eVs>fGO/VOfBk~;t]z/jLp.pm{uPxSHIB9;Q^@TlEs|nU\}mcyT@4qRT5.bm8JUS)~8z;Oe3G +::Dc*Y&@|Bs98QAyCQ_,Lg6g45i2WeVWd*wa}pR3)/rB#@o~Cp]5f_R@hWoWuFI85O|l\n6Jv`{V?$thu}.i=taVAb8nx,,^!m\nh](.f{R!WrpW}h;5rZ*VXV}\Qmpg_m5_ +::^iz1qasG-9rS{\=*BHs-{Vo*vNdh]}Uu&KI(Il7r|[K(H\hCw(2\[0I9K.kn7dmPdpPNDH]3@y.)WLNZGTK!WVHxG/*8Lneg=ri_w4`t`vPY&Sfr.S,<`(^(RV7>m=H4@KRa(r`)Ew +::1$k;94q(>bBXx{-+R>aM-Ox2,nR-(RPiEb-c.NK1Ia,Q)?t8BG(@.aL$)>)wyXz7%ATiGJol-;@4%ZxY1f7o+QsL`W\HK^(/ByLiP^/KA/X7rXej8/v(.b +::;RJpx\V/[pXs[St/,Lyws%;_Y2[r6#I#*w*z{Z/uCF(%\8n&P&=g^19(EK;EUWm9OtS[Hd3>#s7 +::G<45~)lMaJfvK#-qS^5>AUmVGBP2gwH2QL2PPq~\*[|nTkt>#ZEF>O9$Y*EG\^_ReQYedNj0b8jpd.q2H`tB +::{T74Fq-1lcjw&h$`Bn2|&B`jyMQLn?rxM^Iwf>~bCnl}O}zA&3yvKG!iZR(;hh0$InO{*_N7M(/2xS_D!\H;RcnhcP^Y)gnNAm]-W27NiN17zit)rmy3>\+0[H&E(nMkV) +::31/I/((y(g!`]TT/zr<*n8d$aj_OL3BcGyy1_rejg?2!wr!_LF&wtzz6VrNaFmM7`=pL5~XRb>Ql(JGGy*RAin$viY3>7?EZB2Ny^O[VWixU,m}/7B]?S^f{<+JFEcfmTJ +::ki2p8ebR=}WA!&p(Mn8SFd,5U$$]j$gWSbQ$5b!,dY5#;3~3RDsB +::[lDM8a0yHM`Y3V=}OXeM?V*Ag`Vr>R2)!0\}HU[Iy0E84#90lk.05(8}#[zD^_yQKRb0PfHq!wI*}<;4U1FdUpGO_gz}%#jNf*_{KC}$Y75P~3x2VVfJ#e>KR#rsM5gJRk +::.~;-B4D8})6RcTf(h{[.Jj19+-OLBy(p7FBmXAvtQv*_vfBmgm#M5r4=*mO3?5dELJ#D)CZ[t;,J9V0InAM23JJHOr@p`84d==5`H?Afcm79pH^f=`>W5QN~-yA*Kc>qL5 +::{t6+!1`2#X30@@~5i@@3m?LE^Im_g6fTz\u)JTwWh,|Xwi01A!a5]`{yVxH7p-I&;GpM[vQ +::2*8P{2~KVLz3BDQPuz=8wYh)-*#Ci&R7{z?tGuivVn^ESH!2<(7g&Q7x8I];GaVy!%2As3_]qV]A^+P1u|X=@V,e?6A,^9Dx&nX~qPVquL[;gYvBHjr2tBd,o`RII-^$sfSQye5TlvWY]lo/-N!cf`u-Qx.`@\Ly>K)w_FhRM2l@TS3n,JfzeUv6CzIETbusRuGQ3|C`?`(tPLaF@9K/8%?Z)BD3J`@e_RKfe& +::>6Q#}^#hfCNU_v{S+pX{R1!z+p};ww}G_z8F.vQ<|zw{#>yO1_7Vpm}eD=pCf53jhW/{<#BHN1r)B/po_w3qW3AUp5i/.?U2D,K&SK@gg7.{Q_*Z@0P,qVLx9o-DqEX3$g +::N7tRK07]f]`GQf!a+/Pd+2[&B;wb!O6lp{6srf=,m8i>Ul[p}0g.F99fUtgOYqo1{+FVA9_FqX|QR{gS,FM^Kp^ooXcGUl^1VEw^sjqg[{Yw1NKOk5fP\WQZ89&,Yi743ZFLWX6Ht9m=j*|I#c^C@^GAi?ADshq54g6!}oU1+pE)43q^8A~hW3;EHDq?l$493F(!Vy{%${H|ER5c_1?/a>]]771Y&,;-lTh<^;ZB@siNU;/`A-My[aX}1\f*ZQ0r-T!k*%oCeNXi<9DGFe`/a +::Z?`L3$3O0UNwD7uOxC&z|dQ9i_e%LVyaXMvwb[t\~oS-q\>[{p^e{krr8WjZD{K%Tdkt{gKev&itIK*7MPM.T)ei=lS,J@DUgd3ui!oYkE9`=8$WfA/9X%vT5]iRs68}XU +::R3Bg9`[e^JNazCOv,GPkEPX)Q~Fd.dRl`Td]798aPR8r7F!e|c^ZQ)0k!fZjsg/I~{w`+A^35HY^D6#aP$6vJ0\cMo\O$qSVIL)sOd6ix%zw]34A?j^,m(!$8bPBU1Ld08 +::THCZ]1r=^ff)w-r\.V1ZVrWSl2&K8~W(9G_a.jt>_hddqkL2[%\[q]_r3iXzqKiG4S\mh#p\J4rf7|m7e\/T5-&[7@_UN^Pa2s$VS^5JY!oe$*OZ2+`Z%S!>6@7#6dAw!N +::}S&lKtvB{^mSwvA\HmnZ]Xi~g#gl/=*A{H_B,.hOR{UW*}>_).s6ib1`r=*,[,y)7Vyu^0wDVK&`gnC0bCG7yELE7OWR9u%MnY*_ia@{z48Vl7YO`(o74D`dhFTuS%L021ZK[v9OdM`n4Y>y_Yx%*1(-qfTRK<<,a^daQ#+HT2_SM>)?U\w$5G?9t>YQp#U5H|wJ/F$M{(&cuQv8AV|isl&(w+%P_-B_!^*~. +::}&N66uHBy9!1Vp!EVfSUZIg`Zi03$|;?u7ih6bp;cw/q7@I\<\+)~%afWIuvczrVgRLSrTyxIJ]3B0w|4AoVXL+[,Ya1[)Z*`(NV^twL9N-MrM52ld|Qqr+r//TX*O_5Bu +::w<,A~Mk|`BQF?53UjR>Ckrszd(xhq#POfpUo73YH[_#P@l9h/Xh<3oek8#R3q9Zyq{X?2YSvwvGE$u%Nz.z}I3)jhl%Q^xTIl(vFV^RI_qqb8y]eh`G{ +::A$m_)gXmZ-{)EU[~,4Y=(7bc!lcMA\1au04l+;])[J_k>iHkV.RlzgC58LE&U>6BCjHhp-M+lp8aB(7_rIG~Kp%mEan6yQ8<^w*i)_b#eU8iL+z,f,1,TX}FTg\k/p/F@`[b~wd|&yZPzTmcpY(lUF^;O{1o0,FSf`9kR0?fi +::5i&/^wW7c~_9NU.`$p~OiLOSTXWm[v4gWbOIbRbK=2`@oY})_/}^w-D+zItH0*x`W2y;.4e#1RwA!Q9VD)I_ZWs`Z4PA>r>}!bhw{MG!avE|78dN_=oV,\%;.INQiq@sSq +::V_4LB6~z}H.|37OSSZx)s&0RoA}d}WKF|`~Au^}]mdi9~PXpY(GE&X7;-u%HJEMESk>-Idq)EU}0v\MmHK5-%SGwI(l`AV4TR}8wN]7k#SL!Wt;@X2b5o_)V%-f4>S!bxs +::zG3$z3e;1u39W`W1NX!!P&awP*dP]_FKiNJ\JG1bq?]h[W+B%Q.T=jId>}Fnk{\Pof;/mWg6MfeM1F@8F!2NbBz?#qO<&wujiv_L}5NILq?L!2;dfth}9N)7D0IOx/3% +::bh=fUz?+$ny^$qw3B&]ziM2)UYcLg+1kd.s`]N.m&fLk,0%p;oH(ZdRL^iBd=n,7]uNLzl[6cQ1%NY+l=-mNnNLj5=>3KgdA1Cag&Po45(2V!k/9jm$V4Jn.MI/lyuH)YH +::HA%|4r[Pe877ZjIi/zt91Nm-f*>M|c+wG]OBxr.x|aEo9R]iW!CA]>hx\*phCjuZ,MwK<=)YEkPS4F!@;]BhCT@ZA+_^I_&v#8.`3a68wpTGF+?VbuC42o+u!AOl2J(~Lv +::T_1z^VHsB,@9NS)7Hs+Z$xmCjpenxH7_!Yei\o5xah#7=#LHa8ZESwJt}U~UmFW=t%\\~0DyLf7by*s%C7Hy)Z!Y/=>di,R2w&;]?Xd/It-NJN59cnFwdzZ3|j~(f(#gF~ +::s1b^!A-3mOo_]J,=.&\eno+ffe{eq0~iRkUKkrBi{g|DRQy?Mk9hmE$g)tv!\%Pk8g^`5-&u(fz]#1m?)KB*?!|<$lGi3=Sn.VmP\Id)\?3\lKz)!sp?=;Xl-DC\0ep9!r<%YPTI@Zyi%@&tC.K +::D$J=3G^{|*4;_NaLM8$4_5h{Y8WiV/^0Iilh-zd=6%7BzR`(k[WB&vKQ!d($SNzMyjCnpwi=D +::TL-_8gYzamdHG{@r${5GPH[`RiO`+eSHEbLPI2+Wk_iNI/(eYE=*hPa4y&WK]MEGONrJ#P=X|K$(w`Y-Oz9Ecg+Yy22l#Cx&o(?{tATNt_]`!HJBVlj9ga*x>4iTLE3 +::{~MT!sjs*KNs%_b@,PdxxM[yEZpFo1%pM#ds#W7r_y?^zJ-,55Q{2,qI{K~;PBqpr*9H!>VEKj{X~S@$,*\q0,^O#<_]B^Li7F+,bIQr|mNp\**#Kj{kkWb0%_Hxh}h|\/RZE!/6>gcS1J_zlrWNHa.X;|0VH\kBTb#khae=Gyvj2e+KP|R8.JOq%sHvp\6Sq)RSZ~,gBW)4y(yCHZ5xTttH_V!D|U=IQ3gqZO)2v1_rS+CfVoW[~5Z~7!VQSmKsDl!;A~_{#gcZ$U+Mt*1#&{HU0?[%%.+!{r|*l`+]tyo>{bG#[/<(6)w8a +::,vTdx*@qeF7h3EkhXZ<%%$76*JFN22XqVrU{M2,Vfp6c/,U0qj$~%Pl%.2K0{mQ4?r4svD-x4pU(7w0rTWFjA%-jU7LY8OF`CYOXfD3Gq_Z\&ot@j?Z{m|x +::=J$Ye%FVNaL%[f??\UT<@vucCP`C5#)Vp;keU[Xk[r)Y0^v{an)!P* +::PZtDgj)#{rxL!hysLB4W?_@&hJ?82`<=&yYy_$]<(DDGqS@q]|3dX~}ZOC2[m-MAQn)gWcDOYcQAGU~xxjP/UovTVU7e1Lm)7VUXfjp!}g)p!at$l +::clvV#AE38S;_=+v*%%Vso_gn0a$y!jW}UMQq;{v(#AK%nT#iYoo~+[#lQ6rG9u3R\f*vn!>$(W1?59c${gdM)8kL%`r[rJ^{Rc@jg#;zXz@^KCOthU)RJFn[g|LD]Ki@Z@ +::~([(}|>!%bS-zrd$k0v*R\tLt}V +::}?Fm{PEip,REHnCi0>l{+#w^=fO+Cj.SmFZIJ^0jc@\~j8E^d\yd*_JE(&vu2|77P{0A]vqYq&CK-tLF-KJ)HsrPug1r!pXhky(QL*-~`l]y}a\124#.w!m|JNzhZI9i~Z{37+B^;,Mp~>Eu4aKOBt$fu,l_[``6yfqnuS||`GH +::gm@Q/}K^,d`sFRK3/)fk^ewK(bAw)Q!To7|M96\lsVG%^p=.6s$)w8ae\L2y4xg=!An6d(\PE&NH+OKt)U@c5*Y=`k\NCpRDqbNCh531xUE#kBgz3C/w+)IFI-EdXuq}/T +::D.{<-#fdcs!Q(nJht#zi3+at8*Egy6QVe>^94.?XZEnT_JxBHQ%-TsvQ&IKyiBgeVLexbIDH&9jEegPRusFLz|`y)tO-/iN8FO/.{2;$3h,&+7A=bB}X8XpkSNParlh$tkSJXrZ!u7>UsBeCFo,&Y^2y?,Hk%M_@gt;X[Sdh\Se1.~N![N#F|(G#1cSZ#2hHqGb3 +::z~(Zk)u2-^6M*-u]/8/~xVh|^By^~8`kXB*A{6-&db@\ba5G3mIw;*jG?q/NpPBjeN{w*E}s5/uUQPM512%$j_(iDE(DiWKk)UP0.`>9)@qNm4bLhDgLiy5s\Xk4a8YmG3r/dFQVa7e{Q&K5MH041kOT!7$=.<\yZsVZa +::2+D@NyhNN8FL,U!2LkY{/-^Q)Nd_R93),woS9b@BZul&Lk$P^^=tI,CM{TRGhcfDpTMMGS!xCrnOLYP3Z&5RE)N>/6QWCc0Y}C`*9s#MM#(#|oOCXE#dR]1 +::RM*j\T\.,QBVl-=p`FT}TT@,vHJm&7^2GN?W/dZqCq\kl/h?aWRY6Uk@zydlgRVW;9>JE1vZ.TIKM\720o^zwf{Y6p$B=%16YMyq$UA=w@%FBF_k4tsog[D]!W)x\Pttt\ +::l,Cnvd)jbP@(@O|~WqM,E+MY^COjV6xlR8O+>Za$!-er74lX()E$Gp8cet4pmc`q`PaGo/Od?QH}?&MM}>#uR|#;\(p)BH9oE1FI|a*qkBsq&^u4Wr.;E=XO|(\aD?_{%Y +::aE-Eoomk@w6VgOF{W*lKpGxDL;?hqQKnZ+Nl7nD^$}vW1rY]]12$]nD8l39KZl[>*98N$[[,mKeD|lG}9Pwq3/kFa}A$*r2Wd0z0)QC^qa72E +::g%i[t_wR%_a%iyNWxR1M7uwb=DZ1.GWj=Q><5(kw%WM(~H]9[zQRiMkTTbo)eDJrMq@=xH!@pdkQWMQ*JMiiWa4%rT#c0v_XTl]^2_%g+Puf+xs~2A.,~n]{6}~]5EpT1jQYh1.dj}w&_MQeQ.[o^qlAy7PtRnx--=tuM+9T6aYg!cQls{F,_]-n%] +::a-C?Oi\4E3^(L3!FU{FjF7>735)bwVV3H7/|CLjR,CHug`H/QPyHy7Sh|!#yg},WpydJi9h6LVd++sC7k!~Th//>sm2z3/x1,kA2N2SMZhs~GI0mcWUzu4*Ebv]59Yb<$| +::I{i-`w)c(_FTaN%U3`v8Q@)E%vtKOv?JAb~[;]~8K~^~if1WIk?4&_)(,Vvv(tF|]jo!F6{Ra.T>qjS=Ov#TepM2aW-%NC}aCc?>67a|SGDjdSR +::~=?8UyURm`K9HS@*w-}w9?x_fp=y;j\%M9(Vxo5]bQCD~)Od4{3EpQK|;Emqn!MoUrmgTbc&PD`59HO)J5y6X|n5.e);J^0^t0zmI)x%3sO?*f@P>|(gGZS5R}UD(?F;8W +::~qc,A.@-Lt1i40|EoD[PjgqF[4qYY!2U]}`;A?oriwlhUGR^o7K!M`(*?6#yv5}#YI]{CsXf}ZbE)2ch>b@z`VD~NS{LyqNs150LMJ%|J`Sgg^1Q,o5HJwA^4(jCRu)c_j +::az)*}k$^;oHgs_S}/uCMWs.VQs[MKZJBq2deHW3[?cR#Lsa!dYoUJ.$Q#[oI80n&AiK>G&)6T78xi8SAAp-@I1-^3clfHFo7ihot~=HtoU|q(H{zefBs|+7)0VRna;%23TI<AMAc?&16aNH)Qj- +::8zs-XgDM-x.OFpZ1hijE#%c%t(?l;VypN6vWQ2&W())C-Ca?g{*FHlZ}-oivXQq]szYz/UBA~R1!5QS#%wDjTU\<3&c3y7%`#Sr\]7.w?r!W4L~QINZgz!#_kv7EJ@[ipO +::35Nv]Y!(siEmC,\}!0.d^E%2@TV=<1{4n`>)g2U{^U?8escs&$O6}`^FV|Mb1*QwffIT,PV5i(H#4PT|Z65(~+h(g=??v0{E3@,;^%>C+hby@{g~{;?\2eewAn?y|2BKOI +::sandz!d-4`pKKzfdn#a3G*`bUrt;04Q86AqMi6U#j7rg$EB&xZ_vlrr6P`0;g(s#d)R<<9)IJUf}L*uMWp7zzy!t1s9Nc)qqU6m8etNsHU2L+DiR*$[?=xgzb|i{Ub>u]$ +::T5*PZcy#*]JY>=4T=U@7y7$WzlSGnC(=hPwj4/8BtwUs$@H\V$3~e^J+$*2Y|}[fw\?8zbj9TIdKkDpO>tH|z!d^5e;]DGjPsN;SO.Pq=+.,0Ogfk;KbHF<675%@t8#|3? +::te]+Q~*yt0+H;TmJCb/(z2?jz_=*crHH`b-bdL%pB6[\AH4VoC;%lWm0bU]RuQDf?RE2t3b%@3`LC=,$$(Ib@P`\Y[L1Et(1(CJbdNvMqh{] +::pWHk_%F](j1@J1hqSWi\6bF_^Fytd~otUGu6K`Na<#S5IF)UU,lH\-qk1gx!B9gk[>Ys9Yj[6S<9%~MF9@V7,zS0M?\|&Z;`Eq)?c^wT5W!;TsnakQ\97MRqHG<$9lwfX^uK5hV#8Iov=.ry.=o]|;,j.# +::A;E2,Zv5=qS3a]mG,Xv}gNL(!\GH2\?p@IIdU~qkz1fdi*$vNksoD~h\PvHWi(JwI.]iGd-\J1,({xp4Sbd(Bi1Rdl^bn?KpN*Y=4?z*gYbh)~a5y`PKN`vDH#ba$1+d>d +::2|!l|/h;2E8z|>Y!K{`lSZe7%=KD?@ujqo-83v7ylA(;t#[3S-yxpQ&}4vt&)Zxf!a`R]P=ST_n|7hmrd2%oTg|*;-9&s|7X[{)U +::+Kw5[juIqq~3}Ip~NOR]48ITB40RQ9Ohciz3&7xtTx%g$KD[X!iZ;O(V%8vry48Z#-=}{6wF6BjQ^fx%xc#js9.*)Z5Wjg=q{!rca(Jm+im#m;qhN\L8.m9/}T[Oa+})hi +::Mvr&nyK]W|UmYG,_XCS;ga-c1ICeo#=E~\asEhXZ#^Q4n|2<&?Az#U1@N+jiK/m9wDNh{]hMD +::r{{euH0MLfX($k|)tPDI|3Bu~7OL25\rDgiLNY*_WzT+I9/FE_MRVq>Juf2aZ!-CMzMdugrzAYZ~$QN9Z}Y2 +::79mqGILIE@kk2ADf{1L${84|Xn!1;ZD0{eyD&-URm;?U;QM}{m_% +::MjyT=qE#5B&l4|j+.b/&=Sn5`R(ZZTyXS#y&h_varMQ;m)6`N+9#ul2+v}\2f.#sj!5W}1|B`k\y++WiFUPK58r%-{9Bt~z~9C]9P\WSC3ZYS#l~Oj[tm=Stn?s=wtT>d{r6@jPN~xFf)j1$ZtgnDbiG5\uY2Qju2(2! +::J@y7!0;)J*|kamalg/Punwwa)Ed@`J>r*@#kSNx;l]#e+gaB)ymehT3s.Z^hLd,p,47Js}p01*s(V$.?PYf0V*9mJ!;j%yD& +::HGyc=D=ojK~o/QVFL^KTRvoj2a\m)\+]A-n{Jn~uo3#kcD<<}nlkB/%z!&+Bk$&\o5uUYDkz@^Sbn0gTpEs(_gI5TO2|LhXl|q9\;6`QJ,R?nuA$G,BTs5F1;{mshk1Cu0[2Z$YWfY`0I!^|QR~dW47[UB+B2(vM`eu2uk#Op|X6}l=f8-dR@x8Bog)K +::lR\t]7?gloQ1e9vO|Q-N2-kCk.,CI\h`;khB*2Szj;3q\1o*-kgtgS8N>0Uon5vs}CqRBHo*IqNwA`^_A*6AWiJ}]qCX;]hP,!88q*IiANTJmG5u@qTyh0f,%N14ym`bg. +::!jxT,Oo21>`iwO++xt-3#*`bWKWb#y>[wXW}p82=ymbDpIdyY[Jb!mc(Jo5B1A8JmUk4+fK5^60rgt&wxz|5}BUi##rSRoEWax@,HiW/Dl>HqXjsljl2QH#GeyXmn^F$$<&3?Y.fK-ZwOA +::Fw)$4M)T~V/D{CFV@l%^v4S#1%~qFc1!Z]shgoaOTW-j2y$/7;>~`rCy3r^NSDDaRoN!aY\AX9m]Pp37xnU\52QHH*yr|29I/4dh~oxg/Bh.[{-Goq_A-s0WKiy=}nCZ]KU76\pP%LJOhs\Py|6ayFbJff5n/18j?.s^BuEDp.I-l,f +::iK%``JReq}G\@hC6+FjkCGD37E7Zi8MBXrCX5NpEW/vz2<|.xqU(KHjRN&pq))yx$`Yf%e;Y*A.H`n;&=&7|D,;oLNWnGi`)BIbwgD1DkSMML|jyt#rYIJ3;9T4m?kd-[5Eg^08Qp?].y7DM]/,bz%2$?!+^N2v6gV%~GNowy1BFj>r;1r+ySEYlf^cI6km +::t^wXM7kdEJCf9Axo6cD[Sxmo>X?+S+L=qEgM?kGs-D0BUc<^Ma;<-@;J9|kFmNTR9AR_PE(jaemt]R?.Lq-RwlyE7DR\?J@-#b^pSyv,QY9Pk\6g{?Rc(E)bx$%W33=c2@ +::txre&1FJ}mNx4+?M5lD&&$?O]?B}iv__q8]tD$o[mFh4<}Dn6ccAH7JLYNy|?E$uWy(k*ZG+1V`F^FrNkQMh%]cvlK~ILwIX7&6ZYst!hurvwA*.s.gSdAQail;YKovb +::,*^h%SEXp8Wb~JPg6A3d>U{dpG5ARQ@m.&W[pUatM,NxMg.]No|8#p[S3)p>g)DkOIIpch*g/]/<_s#aSD<(ZOsj0}mfyb_G;G3M{w6XCj/hfpap{Zw8sF|S^;U^mR&rRD +::jQ)K@2MR(~i*<^d}\hxpTO;+[HGCch^+>,mwbKB<=P*4;QFKl@g;;v+^;pnsI_e.z]V.As+P&19ZqQKaT;Y[\HtMnsS+^>?.5zQYN/Qu-uKDw8axh!i%MQQ +::#vtY>#0mIchx/4&Q$SNR_<^/C2 +::U6QE_|ft6>bT6sn@ud^5GEx+Lz]~l*FD[%8S-10C|mGBTDl(yh3=D4&CC,|W>YE\@f9ws3a14=Dri|j_Z<^SQ#vstq(tO3Wqpw|DrbI6kQ^, +::jT.Q5|jQE@0%,HC[8JJt*vi%|^qmZ?]UOf(-Z`cf+LKL/[4qt].#)+2}nz71klZFd[8_Q<.H+R.q<[Nw.%pv/*};WzDh#X~Abhz.n}E{iCep)#_j;!dC@FOBr,yr#S}#Sd5(%hi8T&o}r=z([K&Dv}pOK%MyM?OPmb|. +::vJ=<;)wFbvP$)Lt-zU+g1R}~/>qlCJh-Z4Gc\xYcwjKsyaA*PMEpOu\b5&q/I5/T@xlg-GVgv68pkD_N|Bz#y0.ysqxz~3a)yWtKCclzH8;8 +::NKB9{&W%/b-#iG+?>sMY,N#lEve{%27,1klEyu0Z@/{Mi/#A9CWyCT&D]hELjpan9jQNK/2HV>KkswY!B~s3~.6+8vH`u6}[N/TtN+Sf[t`Vo\9?5`7lmt?E&*aajjAO8o +::H*E@}9}85s-wB+_D[hx|RF%$mpwW2+T;v^0@NYReYLa*og6s.RA{OVH[PO,`^0ba-3vY8[;z]u=4jh,zZ{mCiByDxlw-2qIq4zmv]^++E%]LI+(Jb2/4*Ij=WWf`Fv(EWwYl +::\(NP6~bvk^ZhskGH/t^g-fUF)*IUPewCE3nO|gVuN;[x+^$6xF465DjEDl+@SP|po.8;eX/zU5BrrisGU*liD +::%/9X-FA%j_EF~E>3c^v6LYDth1u#pTIEXi$nZP=~9|tvXlZ5cOVj?DNbCDcKXt%M](!o?FoI\[[a/<.[,+J{d*~=D877nN}.H?)A7_sV+ofD2Ujz{ko17ZCus=}CZXqWNv(?FY|~Im\7Sp[RIOU)Y6J=ox3@e;7M(2o[q3VFmC$9yLQW`&W(gsPGAvLt>uU(EkGxi/lu{?uln_cRk>*o\oSs]qC#<-.-_FdBbn*4tAP4$/ +::-JHxTqB|SrDMg@|@iFtbO+OG~27w/E}%%$@4(OPtwcLTSCJKIw8-Uu5,#|fY{v9SSlh!HGo`O0KzHf`UfiPpIe_wqa|Z7P$1Gc|d55B|d@Py[Am2yf?Ep+TtdcIzN]=m7K +::o3eYUD1Wm]?7K!A2;X0U%{=;p]P*tt>CQrLebC+S$={_BT{>I,4qrR.7eT4Q$&n`|}U8iJ-CM&Xj;hmC_1`^%=5bSw%\k;i)7o(h$b +::m`C@#}y}0X$`KW=UR>8@Vd0)s?!s*#Bt,)|&{r8c+h4t%!JGRd3`+qf,wt[@YcI(l~Pg~itIbh@oI[r1#qC62=e +::?g\kb{%M&y0?J9(E)8k3[};c5BkAN6mExJB/N(T~a6\-@ACV]GIP$a0*)2`=]mOc6O\#?nO5Q*BFen}$PJI(/7FYsh=seDg*WGmxd1*lnJmFVX\#Ajq#Qj=6S&xyX +::YNDApY6&cSVfD#ltLA8;m9=np^W}VycrC0fW#sY$X@7rqXs}irD?>80?8v%W\mr@HbG/JMy!,UaWqr_Ufls!r\G73-{>#5hEc_$q@tkv>nTd7OU6w+VWpk-a0+6{T/fX-rZ9/[cy)kV%JM3Y6rnD@Ld^xL7$)^vVT`0GFnl9_+sMi~i`XAx +::gvKQmiZwzPOlMW<[VueE%ATF\H06KOS{pS2.a.\x`c2S!@k0o*M4L+]?r\+)XQ~16-UsLnn<2ZZIFrC=4Ax-6Pg,.QVN +::-O/J9nA1<`$-r@usToPR$>b0l&\1sU=N!sb!IUOh(1TEJQ=)RztBd_tzh;Tz*Dn.Sf5V^40O#)fq#u/Is$L5I4>sFGQ+{6kXB@y6*q]fs[>OlA +::jIH;6ZZbrznJ_IQP]7_WsaQhwy=k~(;xLY/?s5a0NH`vb3}lMcTB+8>6C-)Do212Vk)X=w/^O%Yup@W_(g%6YP(m0^ZcNjZbqZ +::Rw6v[y{iP}/{>vD7_G*G/pg{MfYsxPPU3I9]CgC\c=`#tXXJ\XWDAPgVh|nU]#]y\9|lD+F}OZHJ=,wA|;4qL+*4}RlVo,ZS-HrmS{-0GDR*TbN7eWItMfucJP?/@(tBPp +::kF~QEU@Q/C[F1QRY!M!cq%@wgq>&DnY}z_6-/Qgh\Wk9i$+J\!H_T\,(F,qiKk$G}8Wxjb;%d%(s +::!/tYT$avJoWfn.)7%=E\Kc?uFEM_UP[wdXO))-|-U]~F[RUeJ&)2C3`(mbY^?O2KwYauHRI0x}APh6tp,@=OY%+Dmc4GAyCarQ@bsB{\BQgm&0%dkPlWAk`j.OpzU5[Ihh +::;Ec}5(*-9z*]dN/~a{}74mj!Y]+@kCxYs4#GZGA[/-llw3Jt\ee{Vv=n_[mlj9[jKGx$\6]m(MfDA72VP#2~TQTDGIh@f[n0*39\/fnd^;eZb1N6%4~o]Sd4FI|?6Qf)<\ +::KP57+2bT/j*HDvA^@U?_M^X-wJ@EVClzq}L-^*T@hz{Q}klrlf9-PxBp>iOgbj[hw(8AQ/3~mLG. +::H|P3rpefxMcFc;G1Z&`_o0U%}0]lpZ_=8ksY`\Xy-mEVE_Zn8HB^iS~5J*))+?+=5vs_ +::%XL`NQk5=eJ~o&][7z4ZM&-CwwbBY;K5&({m>&oAR,`EMCHihTi$td\=zIDfI^>P2MF,3[*,SB_09@u(%gG@hCW!Cy?#_P?R}Ta[4pU{0a[j&63[+!~r4&6}QJcSal)@K_xde^+0o2ly>Qo^y@WVdE|40@mZ)Dx( +::a@J4/}KnAO7AwbeKR~a9gsKY6{_T8UKdR]B3V%.]lV|xqUR#G^HktnJ-8H3]Rf,/qMvv6[>oZ8IAzmym11y,(VxH{8lY}62?f{D()G)-<8ht,pedjSdGY8S$[B;,<+UX.F +::Gj;mYj-lj!{0Z{i!V`!8,;mg@>Iew`[fb1r2xQcZNyb=p__6|c4Lw7xNxhcJEnxBc/650cUIuW77%\{q=8j9G=fc4!1jX`~+w6^SWY&Sys^jA\.79Ms5Jl}fioX(8Nk2Mm +::ykCr1OMeKvC~jkv3^AqUzpo-CQ[jN/;@g|.w\BL/J/bb_v&AL?bV{B`YxrJ@%n+wfi2kel +::SK`)+(qoZC>u]({wT6(xO6RY0%p +::b,>gpBn2]V;ji@uHO][K-wX|9dbB5W$Bf$KR%+Ssrcr;M/e.6_dn$}D+Y{\v?BY!<,-R&FfDKxZc/*T\V,9F8]L)Tz\v8vvJ+aS\u=!j-/IDrB@Em`3VF`eI_@=LLO$Q(|#yiD +::/(OA\]]@y!2yvv|jRT%j.6AkD8|#Kwe{utWQGV(_f8gf5$+Qx)7|}6L+Cd?SPC9N7Md8~C_vhy*V$}kl/n3IgS(bT~%R4r%W8hxRceH)d<6Leeh%89B$6JwVPrkMvnTMi%!ca4OG/6)K#m<]F_K%Z?$2zx-EKx +::Exrx&dsZ+UpI`rGz-=tiQJBb@q14pZ~yka>.rLSP=xD&0{a|?LDbs31d~?ePB^{NN!+ex92?)p4lE.c0,h7HlY4CaXm!Fa=t*VHatfGVi@\1DZ8=ed-~Va6X7qHzO\ObG0 +::yTWzAK~5DVaPf-Q2B(29czG]m<^Al06p[ubi,U,XwztT}!u>fHcqrj4rhe2UF=>U%;YD)}*MMKgO@6;$k;;L3<$Y-$+_4jJV$l8was/%u7&3]}kx)kKVW5s~+3BA-,9k!y +::!(5v#CL^a,YS}k(2K2+>7/31%i1rr**O[{2PRJDN{1.upO>\d9|gtA3$2u^*]5oy<(d.Pbk?`_Ty!DRTpgQYhP.p0UmQ2z133m\M +::B.q6*dr8C|g%vC$Jy|p6ecB~nZ2LxXG2~-i9(NxzSBn7Ow10gXE$6-zZanzEue$&kr=qe7seK$_UZi!L@I.aOFBhx^S1`A}JJLy.+!F=@ckNn7bm_IB9{mFfKN`;qgh +::B|JM!5%*=e.JQb=jl8kq=^TTFtf3lJR(g.-+dB-XMR,@T>v8tt[}lYOPA.=9XmmnanXt(?R]NzJVwWo_^OB;4sf)@Ax&zsf6PC}KgL00?2Abn_d#kU4NR[[HjVOyO9s{o=;}z#m?pID6x8yorDoE4504M#p8~4!7iV5U3_`x{!6nuw!]2vYW6fPN/$t]m8L`_MCU!Tb>`Z&/YZi}c;mKim}X#w}^D(mW-Y.d4\4S5]6epsGiK5!K&iorL|2w7M=B[o[Ilk]7CV0qJE#q,LL-tk +::jk2Tb#uR+Le@~-PikF|W1)$2/4[yXl6SpblxLX=^5czYkK9paWex`47{I0gS2;_0VdlB0`NUy{_WyNs~5}ju7r?OIPN1%G6W>J|yg%s\`q}Vs(rQ{qW%0JFl}No7pjvK7J +::M?~DYG$IuWG=5L;[icUo\oFgeD;&Q#)ax_a@kyHXK*zYm0JSO&GdsoECI0FMk(l,sSZ@NE?E`v$)Q4_9&KJA\gW=XZWPPj/(|Gw`;6*7k0L[o6XQ/QGCSnG&kYs(SwAR{3 +::QVDKnjC2#F(t!?L)1+1gBGl-G)MZ3h_CO%8zYH|g,Rymr~.S|n/EX70{q0=}/X`v1dmdr0`liV%Cm&eBfaz!JvG+@D1!7[n!$nMt6AU(,e6&HktyJAG(.D9d#w5*peuuK& +::LUa`a2j*;oM,;?h%uG].{Ua!=(+gw1oOQm.V[q7\m3Jod&F[8U-GH20Z3!{OjtJJw[\t}D{IYC7h0kc3_#yQp|Wu[4/8ROf8,aJr&jt%Y,%6u|!XJ(XK/G45kD1kV,zq0i +::x{=DDH]{rAiVDo|iD(U`P>iZPnZ({cO?K+mphTv&p\ezn_OTp`{;c<)%mRaL2Elk!53#znDUW.)bXU~~E@M$=hWPrF#V+q=b5GH%Kw0A|hdA<$*o*q?dHjaL2Z\FK4Ph|L +::~8)A#![7vH]ogt5yGx+@K,tZhlkap2s{8kv-oL)M{@(8C|W@>-E$*;`.lI}W|*Dj32T\34[&&ukX@(uPI3-AS#6U|T6#Q>BVT$WDjd23^4Ef+7-eG^aMZ0]oNJ4fAl1!?& +::GO\=}3WAnX\PjzcI[z{2hLfYaD|A`4M,j]Qo)r{7RgMW5?mI3@adld!eM-(c26I\|!N5f(e_GDd,j@+!kw7DfZ{yAXxMc)k|YM~R{aB;$n%kJjDW*{o$iiKUTxgn9J<9o> +::|J~04+94ckdHwY|D\J8RFNj5IT;@3Y#>WP^1*lOs5LNG\J)g/mq0j0%4>hw?Z#ApHaYV#[O(o.5<=n^sJ8Yj0Q-uneuNkR,E>I^p~|6(/uVgX*{BZ$(J3kuGT.3+bacO>Q2ZuvJ+e<#.;BB`4/U1&\-EdLA1*xeMJlkj-T6/c37?_SN;^_*B4f~3L/ii`(_sama(G(SHV#{!u^Ve9E|d/c-EdS/qEU6=/jM_8+4gEDCJ7,]KHT3Rn)l_}!Nvn +::Un}S@`sIb]-XwF6%2*tdlGezwBh]k\WY=nBECL8-q1nf@M^tCZF5mMLP2\YP)d4m48}d4DC37i9g3dP+/y%xmkS-_1{S**gpo<3wvonA7AcL5sJxQP8!t^>xch@qJ31m%t,0E8YT4jafHuct,;_,f~~5$3_K$Ih?m-rIW82h>A7DMTU-pA(WG){+*ViCz+pr+Ln7oUze^)9z$8Y8zL,@e +::V@2hbb3nTEPTp@W\@{&-8un9^rb00,Bon~zV_iqeH4-El~Vu$ay`XKmE0X]#>OZc-{j8L^49tN10i*?-h=pP;Z&v;f/6&G|Xs)ETeX->iEr{eA$i7SfroLaV3qiuf@?T[# +::8UNNy_cYCZ9|M1qNO>.](|BUsA9UgKz`/p/eH^(TQU\MM!NGkk*^O8(cc~U6.4;a\8RO$Gs\;Li[1nVq{lc2@/6nG-e8K2sUi1Jv/xP4IJm/u;d|MEJU5!~5W_48Fv*olc.zfbbGaT2{O6fSo.eNZ_[|=pexyDKPGn|k?G4VO?XE#ZC&l1|h*ad#le(WMp(>z.~TJz-\3[Bu~Mw8nTIZXo;/o[!IPrbhs +::]W;`JLK7tS1[JHlba?)z~S&qxy}BwEcU,N3YJIFRbJ1nt=ZN8E5I) +::LUr-B_6!dYqrejz{&(tZ0[DAjQ,V@[{nGt\<;DV$xnW~!?%PxSQX4fv[rX7v)3@fW}q4K +::N8.2$QkA}z]^2sr$YP.!g=SKK,;Xn{$77D;gQniq^)+o/@fZPmDyCD%{mv\aU8kcvl<($_f!FU)[ch]79g|2ct{|{z!3GTP{Rp1wmg,BycTV[6f&a+;Qg[ixJ2;7?;tv%J +::HPuQ\xO-pyoO~]/q{Z[RSjhiz_y}vX8_NM7tKX!DB!C0B/V9KSjkY`h!l,V|/+9qE!wS>qfa*pMV&)BVexxd!Mb[D|xK#KP.TFTzXEGS7]~0\Lfz=EYxC=gk82(h3FqB|f%m{v,IJ!*L;/OK8+.}BlQgb~\e*P0H9k(%Wyx2^/W2&pi7!y +::C|5vzR*B%joNQz>k*-6DoB!VX=.1\3P%SM*mpO_LZb37}ias} +::Vx86.UEJ1!]Br5$UJVWX3m.f[Ytkag&=YvDYE{Z=x\g]uQe/IssYm&9_nko8XVd%xTxx>6}7w^ZNFp;M8;c;cD0$;}v@N&KJLfnPA]v~cK+K!_e!u#@5QR=eG{9G/G!.x} +::\)0#Mi`1*fVpyQuZ3x)n*a*S+y]3EuMxnT4W>Nu4~/i?6`Xo/UAPs$1->a|!$tUV0&8s7[PRD/j*G=<\p>={=0$+4E0#1qYOapm~0Tnp<{%=rGkSI|>cWphjMw&YE]hti% +::C/qQTRU9O8#tmJf;)_~H>$AY&nX|Y@i{tOG!@U>T?Z+ePp/6n#On/Km\DMz-di_@GSmwe7C+[*@$-?kB)!(zVon{3GY,rZxwIlie5b1F&Y<}v0w?lTE*-Xhi-`{L1Y.4[Z +::8JW$#0T^!/a;MIP26Krr]l0w]$M\yU,wz}0rd6+}lwP3OhQ}.f/FWAl.CN&$D`NPVtw*$CN_A,FA\+@ +::MQ-^r{JDyo63?eOx8)#A*vjszm#;3_G|N\,~HeK`VFB|zi6uEQ_[/a@yghqj7#>\Wff]OR6>]KHpQmo;`i${qg3H?EksLg&6i?NO=&9VfvaI=y3wmTy; +::SmXjE_x@VEyrQ(n&(B=5d&_y;jyFC1gXi;(=8Mx#$`hk/Sjh{*V[+8>=^}s0bn33[2tCnYWj^d)eN)O>(emmRJ5T18_)K%&[\Qzwszqi%LQBO,EFud^#<8z`_S-O$8a6c{ +::fiEcRzk@!/CsZsnvm~E87LR;d]9W&8LJn\KS#7o5di6{D{TjgeFA*^M(\94c8A<_4wIa#~Cwrl{Z4CSeRJ0FB^7U/X0sgnWB1k$a,!wlBoN=,2]\3YpD4MPAR!SjE2susZ`{h73M/GEgH!nk]UCSqP,D-Em,$l$MI$;u +::MIw#wW@82t;G~kH]aXrq+4rjn*,ZU{0S&[k&@DX4/AfFfjjTX}[K/>{joLq6JN%v_[tmS8AFci\I31+FD&.oZVLU($&vI3MJJhWerdB55.%}9SW5%l5O&}s\m(Ng_sWN3H +::\`N}=(G$,D*4Onl=;i02ni@^fsJ=B-;AjwlbtiB_m/|ZSguIbC,Ko&F_*g?leVB^&bQ9-!Vae}a@w22%q;VxUn`f,Ua-+T!Ar5f#.[EUO/v#3AGRKId-,cI)LFD)[cM)GJ +::C/a!.wM^3{aFe;duG/^0baJO=Y`I{CP5(K4=cs^.y`BF}J<;(l+FLp^N!`IohRy|%k6Vj.xd>~U7%RGAYGgLYvU8XsI2((~H3)7{7da~-0M}p0)l;^arnz!W+,HOphuh|\3!h-%052F{7zMpdNNdz|o5@Beuus/n=Cp__Fi@[.ryXFq#GSiB;/J[O3)sWaqUr2uYcs^41bACuWzs$K<(p&Q}JZoTP$19 +::KCtmCU2@8X3|ugm/-&TK>}^8@a]Qn6D,baJ}JV*^Jj?4rq0piK8U!^Gt}$7A_N+Aymq+P`Pbbn3(y$yy4\m3bP17heP.nqZ+ch+k1g;TuhCS=U6A2iIF})$t226hGCm4jFvmf;w +::Q+z.)vXZi==AFV}k~2b0mdH.{,2@If@nAOClq1F%jin1.2Fbgr%Q8Xvv9Y?[i,Dz&t$MX>]|_jk^J&,(inZoT?|bhy]\hgqHyk&sCW;`FATE+{*s.Rfcdav7R-q*OK>n1/ +::2*gpn_@T^5K%y/fkryk%cMf1YNgqq.z]TNNU?;4iC&yxJ-7Y?b8Xst>3)1os\#KNvg&D`6N@\.!xFIIUwH;*%Rs~oiz7D-(A&J>(W{qc-&/z{TOEuAZtie +::M{]ta=L&kQ&8Gm2_[e=/t=b]geFlcmuOFXYaPXf.G*2^*WP%(PIRJ/i<7!]dt`v\srvqA.}8zA}-pWl=b/WgV +::u5CF;QS|wWX%?a~\}f^[=jx*^@Qlg_*js~irWAm-21zltQ7{k}6q{L8/2kPKBohGgbQ=dKJvC;L,wQ9x{)p} +::)?+VIouiG_!|[kZ2eKzi +::@ql[rW#C&-*pD&t06p7qr8HF_BVu>fiv>0B)=8cWKF5|t{_r`T=wl8mkuDk$.?;sdN{hxmQGc/%cYD-(aL]5E=+.EzY,FHaVLAsY[bP=mkEtqwjr|b!h3*qrg*(1/j=IRWD~Yyb]S,DC<3R%d{#$=FSx6GVP#vnXc!capXHnfbyZHEF76mggic{K6b5\9@62*T\^pcK%6^v5l)@+;\s?7+0+jQo6 +::?Ws)P];Qa09r6[;xba-/4?U1X6EErmge^4K+KPt>m=16vo}+*[Wik9N8UI0^NtiH6p@}mS]rs,$[P>T#LtXpdzJuFCKO=%G%E>0Ff(|3?jvH$%-O9D97\X@Uz*xg8(4W.L +::RnV)R7j|0Mx8[>m5h*{+UX1!4v}H_N{^fofP=NIeus\l4{MQl^\km3s(d\{)?/D4*|7N)iN%_%sSqXR*Kb]iI(mwGU,L-c!+*Jf|CA]p>%6l[L(R.|BoS0O}]51|\q6>M} +::G;2@7jd3U_yY]m-l~LPNCn\p^a}2~TkT8+L%m1q44[D?sgKN9@}TbcaI9O9z.5iSL#R+NL{Y)kx4Q/m9Z$*d\HZp9@J6sd+x08Er1AN&RoJ9D=2pS#Q%z-}H;HnUZcMCud +::^pV/UUTh,Ecz[bCezpialIg,\wOB$2JX>YNK4vCAKrI`El$F-ulf)M~%M]/u4(&,qkrZk6x7uxB_(FSW&3$?1Pht;[EK,y2LOcgG7-Tw=!eVR)lTkdUiM1m0FgeJ4Tj|UG$!A8r]TyiJh_AV)D~dwWS{X~!BD7f}0!u)o}_ghRN3_DYxbN(C+Mzm#WEC=[6d60^K2ASFwe>^-UnTF3OVW +::uZ4(=]Y1U{p]=m}JtI8RPcbh+>yB>N))!XE1D9v[hoiwr/=d.B=zO8 +::K7}[,@{TD>{K3*DL#04d*]I!4HAN$F#kipQPQi28-]h{D{floKUNbQnOw(rRA.\k#^lWmWh[!TlJb?[j7z#~c(ItUC+6p_%(3pO)hk0OePmAZ5/Rf_ny5I/fK`8/5]LPoW +::Sbt4,.*o#&0^3IPW{YDP)W}]1;R*gWQ@x4+{CFBQSZu(*gvp6jT0mUu/%&tWVHW=8a+g|bYh@Ufz@@AXj +::z6TN9},[q2jLtb~K,cD9JPcbc`|6rM\9iPm%@+XuDEr]r]+[UHdMTr-d{E\bG(>uH3qv/J/{k+ +::)@Sq5!6YgO`eV|)[)<3E\~!;(`J/wTy&O5)#YBJDbNlWrIyEV0>y[{}YY89$XVh_H}w&i,b2TzKJz;9.Z8uZ~Kb$pM3^TWqXnvYf#9r-N~GUx +::]m1b9d$;TPpBUrPAfEVaMpq,8E6!Eo,ED`E=b(q(L0Uv0bym=W8NHo7$R}bs(4tR7azY@cd4rg]A+fRhzkm#t$Y#`yi(f[2i8Vp++eg+qTs{tpMQ[jmi,NV5Ygv|Z/sJTk{0% +::36,euIpBTdho#;@8\\3[ZR[PV7.@)~(qyqc2R[Cuwb&8mw1M?ydN`MZx4{@]m\#wv033kCHg70FR^>xsFOE%M[aC[`TzEYgQ%,O,KmX0R2Fu3XbL*,,ZiTY17s/Ci{5 +::G=J|!=uf\ew@Px*R1k2\rBu!7UO~jisPD,&^H4^2~CkG[JvSAJ_HQJ,.gMs++{t988!b]Xh5ZMRxS@ukq|5X4.pLuOzcnr>6pe9TF|f[Em&{=N8zp1[v5?2@T{8\Q_`[te82e3Vq;LS+%1gNX(.A$Qx4/G7JP*fQ(tufB]mY8;%I14dT$vyMBBms%0MMl!u0\cx`C]tqp4Gt{/R8UJGcZD0wR&~Q7lPEL^=-\+dH3R?L?o;CyLE9&2TSPY~zaxBZ&Chd<2$Zbz0^t>-+yf8r9dRNSZo5K5[a6g<~H?y/[QtjK>9 +::C!@5ybqFi=G//Hcj}iDNpjdp6^$^YS=McJ6!<,8f|@f_,2Pc|e5ee[XgFM1,GP=ath*9czVDn|)qzeoahEj4R#,S|cd;t7J@.K>]g1h0bk\F>2>-e\*dSC}I,<@kaP|nJ= +::OaGD#$z&_7GZIF(H?`WdqZrc@-J%E-?.,|&!GqV+gj,b1R`9LYmM`mu6lSLm7W]C2W[/M7^qT8lM(]1+>YyoL@K[=-o,p@%6I?p=nq{}yPestb[!XmkkQOqQts1nIcba3l +::>>av8~p(|%*W=IIE@~XS3ykCBZ!FSG^l\nHpH%u)7a`WaKdC+J+|RE},mSr0Q3z9y`0x_#HJ]=~X-T,J;hZe&O%b)?X?[n~WQQzUs}9-3I}9FLX(QlP]1mq+I[Yt/9jCt_ +::IA]8%sP&w(<\[a/6;AX)g6K6?/^Gn&ZL|dDgL!TO6XK]q;05fzAq\3o|>O50D(_nJJI23o]bu7jJE{Oy;iG2%[#l8{o]N.ZCO$KD_!sjQ4ig}a}ma]4%5_{Cc?dCpqy{<- +::]z1b&<`mb<2vR=9/jZ4g`xp&s7HzlAo,c^O*@G3oA,+Miyz\30iO@PrC1)|[PQ&5#&5zt?Srj96kj@hK(_TDb`iz%,34VggK=+d_K,#^Q-@hTP6JR_/W%wk~ +::RTAKY\CngzX/@Q_2E#6e!I$8I\nw3ZDr29dJL5_hW\VqFz5r]_~FAW1.nMwr,7)\`Ag]wQA,fRM_i{YuG!psF`5E7OI0,,e7G*la4oFKC5Y3w+WP0UJgUpO4~FJ@-`\Jc| +::}Ct*W@/#XPI=FBm}sQc|LaixNs>C->V87p)E(YZaA[4S;^^{!6rrKWmNAY4O385EOrOBsiD2(|@0PYdq1?K{OXu*6?JwDng=VM,t#*{L;Ypx<,oihB[B.M=~C@HR`)}g8M +::89|D/StYmEgPI.{w|rmk^vjoL15^/R&R[Uv8P[$xJ*9\@h^EHQ,JSV4KWjsJ}fCy`;vv2(06C5eO,+4;ztAQynoi5ATE#[~--ybU`kpI89H*[dUr!7~]b*CHgAvv\hSs6`?jcVZC%izcCwomJ!S4UnUP$WSk~7CFn!B3bo{gaALd6Ra)g0lZ[S/)3(c3PMMFC{zfAMoJZ3oVV,0Wb6tx57E{]U~{^/x&9Pv&[+b%44fWWE{)nwG!2_}CT2&E-S?=DT~u!Ahr&O-1WllOU( +::u#YWw{I87~KEcFMoH?r!C<2um%_\GL*V0}O]yRcE#mDb~}Y=X,dcT_Po=K +::tZyLrl0@SdI`2qfaMlA#zZhvpZRUk=jlZB^yy[|r5qK....y+..a^B,pSb}I+o^ +::,P,=mdqI1Aq|Z{ij9Dq)U#j.l[>6a#9$U6(,F/&N6-|)`HzmqI;k>A#|(CQ[)+?_dW0^mi|w*d0[Pq@,]_]puj5!O!C%{0Z[5`3\/p`txivy6F\x*A +::/THV)gAuM=D2$xWdOw&],gLQ1b@;nQfh<7yp9y)FI@8A{Bp}tK[nYy3p81vyInbeEh|X%{!`%Qx43#|{NI!pAQw1)|NkZDK.>n,G,L1W.7aXMZN(| +::A\;[NU``@rMuf039SH/E@bzlguqFiM)FuIObAFlN6WBMm?nhd,fpS2xjZ8j8AN|@7,|h/fJkChHMxY)V3$?-{w +::D^C&jIv?pa9?1%RocZu,aC1;h*uNVV5zk3eC$*zneNy7`GyJ/oH|hxuWnbualBY\%fOXhHM^4-!jn2.JJ2zu!6;c*-c]XjeHTro(6+EI*OK8N|vsMn,s4yoU)~yVVB8se+ +::H1O3pFfsH%BW&L@W~oVN?T)U.|xMOXACg-@CieSuw4laNKsq3lB0?,+OCYf~?N^c8-V^Yd*?E0qTMJQELMT0zY`\^_50vF]0%fj\W\&y`&<2E>FBmlvq9IdG~[W(\cQ@M~U#2}4>B2ClpehwZeUVBkid.<*bkVN%,~I\=`@+TL`BMYg[[g=j+jx5_0]yZzs;ep<{!I);nyQsL`_C,is8OSy0G*g?1RBw|#2j@DttZ~h$G|VVp+84k.{pu)O%}Ayf_{*YgGKaZ@\X/vE^zDK=]c_2z;raK%;!a~*tt,0k>N448o/shy5%r$xeWiLkf#FOaB?{p.r@w*V/84qiWR +::RY;-!seR}/WzJBrdI/D[g&+HjQ&15H^}n^fvh`8_g|J&-x/s7-x0IU6;1Ya9-xq,Q^CA]nQ{FB(00A([,CSx\KF>p~IH8R)/wR|ymNor[3Y[{um9S7XCK(ZRt-{d|`*v<-2C7V(DNaK!Pmoq5iSe/uakQD.27@3axS@JWHhBkCli\u20,5+LBXB?TG]TK7RO +::~?y_4?[^~?cz`(vj_gIa*#][2HS|`x4t%c3$Vn.2wzS+Kb?7PaIB0-,BaWwuD9Vfa;p +::wgdXTC=w,,qA4\c}Gy?/$PUN-4L&C,Hw>ZTaTW^M~{Z=+SXsb@tr8c2ZS!=/8D3+HtF&@+N{mMWs4PcJP3\)(P[;b1zwGz;Igs-lij?FL#9&T6R +::1=a[.#f?x5WZa_!HK!SWZ-}8d{.y}78|1ZVnbaYC@Xc}sU/e\p~UG;hKuDEH&ba{-VsyfB~/aSS9sy{9Q>p}Z3lp&?P;qYK>OdGI;4dz}FCE8,]x9Pty)dAe(-kVT4;U?K3|CE9?+Kb/(Z)k9jE$EY^1JhKg@JtkdB16lt3oA?&L+Tl*|rZE_(fiqq,/3gpUqGpMdRC!{c!cvYM|Bj~yX|R>+!Jt`Rv~_gQ9dkG0K0=(T +::aHaB}byGNRRK-Eb&rzy1.cE][$yyTNc8scXu~$&yayt9#\{;(aSWHKp/7uC*?3GuZu?@&sm=;kkx`-1|n*4/89SPLpix0Ss!k)$)0hOVk9[A?,.yj0|tPlm%ymitY{1fzKxh +::i3887WW\x^KKa?!B/B\W@;`,lN6bFFc9}T~qn&v\y.62S9XdsCLnNLnGxNSsgjwUch]wD`?#PfMT}e_]UgtJw18Lj=$ZY^1J}Ni;{S|g`pLr6}j9S+Wlmp`0$!E?_ZkU=< +::Ki(Bp`}u{#smvu}wT[$^i32$\!_Qv?AK22>bJIS^_%=ySU,j;oU5xm1ytw5y1CLP.jNNt(fkB;w(iE>N0y/]l%*dQQDU +::_9jxB9(<9r1F,9EW,d\S{ImBUj +::#h*%;,0Aa;6d|_1%v`h}z5]0/rGPg?cZtS.vh[mYG3K\b`Ka{{lT^*k`S3T@cu3Pk+p(JH/;wtG]Z\-Xj<1G2V*kb%v +::Kuo}Kad~XTD{Eq;5\%Y[7dGXn}!\}>b*CBP-(_KSbeEq_aIE,$~.Rr-Ans&TM%wr_&HaPZ5~I.a=g4pN!eHTP^71#5Tf_9tvs[AyMS)>f?2k5;>6w>2xG~B)CO}?O{6q~& +::]dyFYLV}Og;v4sEJ+.W+-h@ME1m9a#>Jj{H93\{P*r}ani;fub}Q}dYRi0{|$yp@]qOkRpXO6xoyOtq!XJXDS5&0g9)q\c^YiktZZ#|*{1`IEESPocDjKH;@Wx +::#L)k@`YCR=1;./Br-p>SwtPo,B@CLjc92E57TW&_^i&}}\`q$7kVvaY)>g@-FIb++dfZECOiCBX&zN*q}WA>_!ar(0qn%B<{k|/r|h6vJc!nFzXp60.}7Yx&0(Yl97\Zfo.BzQZo}FO=pQMM%g&Tp;1;(o~{ +::#N]q6&8s?8n9&zeP9s->E,y~^>|scK4#A61Wo\J7Pz~fGhLS86+DQdns9/d9+ZT9>r|&qyG[]+*TZqcI(-IjZucS#*5S&6k)C0lIfTq[cl,]2j%`.5;Nbz~1+iDOt\g+lH +::eOHGoR?(3u2BAAs[owne{cljd/p7JP[@-4y+sapNYr%P,lT)\-4P&XV92+pKU-O#%@MPbNCL3b){&P)imdGo6v$U$Lo?]GcS;9cGD3gcA({$X[YNI6$YkAD}&rRL/tow(wzB/m\n7+*CkGTk6/W12wlZ,[bf]}3<%jp/].1e<)qZWjeP?%E3|XB{2Wj0;ixY`kT7pl0?/my29|skb!o$&KJ +::6\Sy3xWait^T0\EqD7P0uM]rXtO4^f`cwm6q>mbfRh4Os$K7IWJ2kg`|qdGg}/bWGqyr0&=TNPFXd`q\6biL*_se;,4iu/atyl%gYa3$5Uck^/+iimZkn-oygRH^pLQSBS +::.J|JWmb$kJF}&]A$F]*vj7kKkDbCZS1n8~/jren^(=-E6$FgVI.\EEQKB[.b.wENDg~6eh,iE~>)nTU@P+oD{B%IrBV[6%5$@|A7fmGn7yv*Q~o-zLV`~dc%;U*0|_mpy@#XDcfL/o7n&>=b_o`s@6(c;X-#YN.gY{x +::txb6+(b+#pKk+o9?e4$|(k]{[;}T3;TsLge^`L6}<5{~n1ei#qfqvXy#XPIvrCErV92j-\BJOtr&w|yFE]sd^G3d/(tXD7%sL9&N+(r>yh7*c5$jy;S>Mlj*?;o;@>}#tY+Q[np~DoBi2=TJu|@Pv},-U5/P8*NT=V`BPTm#4]EJq,(YE*dnd1TxN(^;Fg +::UkzzK]szIM>zFf3lertp0acKI1hPif;rINP0zuFfuvF6l5=*5{qAsdnzci10y~w0qsL4gbnY*^sb=;lu#6VEo8.b`9.>k%B$=V\U8ZPVT=J^{yaYarkrZ<1MB{z@D2Kp^w +::8Oe-4W2WDDrCAf^;6ol^%Q/qQbS9u0`$k7k,!ZoaVBpCZEYR=1M|)z$(-?81xkd3lapy9Mem7j +::B7<)%URDdk3.lpl,~A#DQJNM]p|N/bD8rc).%+Z8wy_c7>._-rxn&he]8-]#YO1e*be8[@gy=O1wl(l+k +::@XU(t}yhq_V}epoY8=8E79>e2uTVl-c<3;CM$7>GuRb9GME=&(2#+y6_)eUbF-$yvDS|1pF^_|.*Ru{mW^jPW*7bFc>F)*.j-%%Co6Egmt(Z%QSPs?S!YloO5(oDvf?L[aOq6@K.18S2vsxQK3/Kx3svFRyr$L +::|\w1xqrXuRxcW@*89y(RWJRdpPvT%A{fvrWAX7fu9?r +::fc2Zj}YhI84VQJMt,5@J\?e`fT!$zW2$UbTU3w<~pqmkDbK[x^vvLjb*+qs]YdVgKL7p}^e\hD`7cJcRX3g&m6qv{#ju|)B=XLWa19@k6EDaI;TyE;3;vdWiwYlFkYE2*} +::k%dR[RdD>Q,%nd0MIeDxjIdVR2eybU+Jjakz6bQ?Od$Lte5fMFIW+/+C6vh`@KLL&NLWbk-+%Np$tpD_}Pxv@JI7$?(r?PzcWICSiNasaRTKH/rVR*0*Ia27{N$aj]t; +::#TrFYNB`|^xIej2G)WP*F*}`y8mNjzzntE~l6m]%;$E;GK9B_8INmf5H`RMb_/P5JLXPGbnGP5w4-^J~RLn1>o_r#\]{F4gv_X\09Y}&FVhMnun,NMVASVG>4OM;>noTS\ +::|=Nf7[W~9+Jnb\aka)KaQYjaA&zz!L1>ghvuzU0{|~&doZOG$o+t;2f1SOoqP&P0e/{$+NjzxE@.C(iZ<1-ennBf(Ns4?99nz5)JT(L/&[sM5*brVI653235t;~5 +::u2H\T}`aFTEyT}y,H`9UD5%gB$D0+)2,m@gNP5ef98%_$l_?jPomh5-u!)t*b +::u_{Oj-5[B&JD,\-ItM-v>dQ2bS6=40xq2`nvX*CsQ8tTedvcv3hKV2!=()7v7c3Bf?Oa/mkvxp7RO#p^=0+s^#NO&l)EeE[7IQHlk6VKB=w&BN@dN_^fu>r4FSw\a5*XF=(r8 +::6hu|suQeV[8!&Z4[umovKZTaC@MdhLPoLc%EyUjdBlJf7?O!-3VwmiHGv6%x?,\fO-qf?aEt3@\LI1VNkiS2t`Av@-3jwy!Uo_D7HKRlI1^$]lE%jp).c|lL*/A@),XUK* +::XD4hQ4pm+XJ)(8/|hcGM_;i8[Y7F%f3%Oznh@aw9bCWue1%f1hTm%`WLMDyK81SsWNxqE{S=)vHQ_k1kk)6=1V/4@4`h/hbNz3_q7gZaHh*~]d!O>5!\w`i)C5-GGhTmHK0nrLqYIOxyo/9@+Xy1G*0&<|.Xf](eJdAaqKG#p@C?s3Y#tv@l/7vyLcX~=K+R_39Nq\ +::jr!K5JKt{VH^K*_15=NCD_MB#>mKrRjtb~d~%g3{Y89N`zBT)YI=0N0(902_d=.)_80omM\%4/#FCpx5o&cvexVZTSk&7+`eE#3OJlX`A2KJ?&/%L\q~;t%0H,z^=CtzId +::M&@?tM!dbXPkY~1)ZFT?t)e+qCU#rtaf0U$3~W}n;`]4|9!;c+|fyf46\$\5qB1v2m5N*nwlh{gh`7f?~6F/YI^s?D1B;s=10=6D/~C@)E%g=&mD|5$>B=-5K~PuQP8WY; +::.qjIa3kBOMOh6Y;AYVyw@rKkn$dSDt,/886lK%gD$zYWH,Y8LqM%C0[~oYV}Zsp{ZiYHGkj9&-B+oD@q)\W#^ZcYu!3jS%YY~m@Ls7\6}qTGC\ +::-G5)YLk(JZMmAZBXL3;kC79q*+5g}He\Q]F,;?[Vy]8V_R/T%yN1,E!-<Er?!3KGW]&mzGz)n,U@`)8S]jN6aFONs$\h/Aw<3_}og&o){ljHXiE}E!9zWQAmLSe#+_[R2Jfll81,(^$=EE>{n{9nO5z26CntTFr;JHLm[G\I}V23IAPsI5L5^3_rlpMe{Ck7AR +::/c~0B3yL>y4\ccp*F%h)>~ugc8Xj+WA9xFh1P|LVt8B9G;MMA+;z__ApkC?ZcGmYLLPU$=7{/+iJ!RP>U(#F}W@0G%[%;OkP*!c4UZ)i5Z6nw=j22i4[cMVB%O?{21Aou# +::(Pi/P9,HF*6AXJMvN`B<^mWO3j~&t#vCNkQ3=q08s|3KILHH5W5/v7kGGFe|Szl}/]KR1gIA7KV(j~&MD.c1Bj$Q_;m\s[MFX$QARF3S=Z+;|SRQ[rwKiY=<>?W,-gpv8E +::L%a`x>bV]A$jee#o6BQK`fW3lE1>2K.v&`SKWP7m0t+IL%ufCpQGoGnRVc%D}k4 +::%Qt]c3v+JMC5xPIcxwj8)uCFkT@o!LmSK.Ur373Jdj)xeYq@;SdA52Jq$+;\W9Mk~^*dv$0$3O&tBfBvQ9L$9=g`xW<@*ZD^]!t@X/6mpMV[fL(gmaa3mSJc#eE)U02FFVjbF%8_},\l&S +::.2p-BqPSCe~)7gDyF(uBiFAhA3~>63XxFYV;vk1^86nzr5e#9<^nh?Qc-\d;8($Z\}@j`axg3s(ae^a%_%Kuj&e3uJ[ioE;~pS)`EWd(^w`+`/)AsH9.BX$f?c +::!z,&^NM-mL379NRr*%Lav60?70ci`UOtR%$.g0_a{Up,@yzci=)6O^>1R@&@Ys7)oRSyG&-r`?#Dhu#,V%ut#fI4al%KJ6|s?FfrPg9e$40!bgMt&PQDt7Q*G7E$&SkP+% +::3V0e}WDFDP2?GWt6luTWxAFmJ5@f*[X=PYjn{N]tNvxmXjwx%=>X.4axLgL`0mf|,Iw[(xX0TTdak{.x6%0n;{KMZCo4e~IKM3ekOC-2HCws7s$OsUS[),(Cca9Ka7t.=c +::XgljZbP^qveaiC26I&E?rG>)\Va.|Yx`?;)]J^t2IS![Q.`)\9Ab.!ygMhJoS51 +::QLSUJG|1u;nwTT)Ic8in&XT&x(lA*~?!%8C/kTJQ~XX4tD]5Ne=\bv.P%^C5(oZ3{no}O$>u%s{6Wh,{D}qC;9Qy!.i?=dY9ry,&+f9[-**KnWiQtS6=x9gqsXZ\X?v(gUtX{g^[k\Or~v$(*h(v{aSL+yyCjkCyi]97=0l^TAlAPKXsKd=r\A_si3dz2dp`;&u6FL=F2[Bcyv$bIT(;*h`u$,{ +::~gQ()r-4i&g$^iNlG+bzBY +::3&bDZDv>S0>fnj[H,Jth4eV<2xfr,Yu6Of7aBtPZ&zCE6L4&8L~1{wKD8|#+c(V(0YOIrhE2c.JqN$46Z=a\b{E]-8+8g#jYh6]03zFIR5xqfV2~9accFjF?pvV/Hi!zRi +::4a|@8m3s8xHv8,{ZQz`7|c?rhl1s[y?dR}wI@/t+\M>@}>1\7*JVrJI@v*;P[plPfZMZfQPx}sn.d-*zQh68|+p0n2/F)}]53KOgE(7}>4>(mRVm&;01=Dyli@O6Tw)tz!mGP8H<+5oaTF{)P3H9 +::mU0.9W7ZyR#pnq0#M$D!v*neb?I}0q8|Q#4tsa!aeKEdPErNwQMBf[]HU\X44@~Km6/?a,-E/Wg%q;MI&AMjO2E^I=|QS*])I]|6QAFb3<~`*RdO+JdbQBS?JAcw=GX9\I +::E?XYrK&D)[?uQP?qfPnh6v44>.|eEg@pkF0o`Mh{-gr%Jk9++w%U>b1mJacmJWk10jXz.jnD&+WRRh`{qg>W_fB%#h9om^%3yD;|}V([TN)8&%Th75YK&j#7.&tuzAbNn?D3(SeEo.@NNj@D4wY<6}5;;f$L#k7 +::BM%Jj&3Z*O_H#ijB!R^gY>[Y6qoV9j{zC+0]({11NhdKFVmViJZN##r)wIS,nST?2D=D]ZTu|j((gj1 +::KMiaX4Dc]s~6KY7??=VK[oWetCbKweKL2qkam)?nz%+s~B,p0dzl2pqO?v)f)1}(o+WSX/]7wX^/ST5i(pjgRj?;CAY~>,;~]n|0IH=]r<@]LOH!U-&lpPrl-^l\(UvbQda~Ovgx=CIuII[%$EGl5l9\NL&B%UEBw]W+bC{SXgw*ir;^]/}biY~z2@8ZY?*\|)I{dIs{E8o}6vi_I4ru^f|U4i_FRj)vl;Kh,F}j[8pRw]_g\bvZKBE|^@{[_z?uGW&3c|~\YiHN9-!m4C_ +::T@EPU8n0eVNP?7{nmR|`i,5D5(Z]>Q[+c\;9/]Qm*xZj0$S_hs!1B9dk0Wz?sry`PGK6O7mSN`2NS,Q=41F$(Y=bZYYUvbTdmnRmfgYL)oa+QG6LNgXdMeX;P]Mm9px3PE +::)xQhlbN=Im[mRFpqHd4o+IG]irJ3iua?`KUwrQ=O&S*wve>y!F*fiXjx]@)=b^T2UC_-(Xl/(CpOBl-LiIN6ym=X(wQ/>zk7^H;%NP!4,)FF`n4pi@k!\Zu!l@OMrzb7v+t#kbok]VwG77L1q-8wHW.fCR8zNC`oPwI^tBU@x;@qW\*eko][qAKdD|6PuCXI?U`|xx[DffF]?iB$+@ZChda~$3XQ.8UC,uQq0~M;%^\Q,JgcC72)[7}gE$;5-J)aW2q4ef;*W2_E@0g}eJ--Q,/uS9sc|_Ms+X!u5B%s3r33%l_%K{,UW(s@io{&[,^_^0.=]L +::8%}o.psu7MSI1-=7]_mwv={lqtiI!p8~L..?N7o^_/Y3xL@JGboc?O[H8)SxK4\!DNe,P$g?%=*_Ihw-1-cH#@(*i[z?2Mfx(VfNFZVa\vPGX,URPeP}9GuD?k(^U(JD)18J3iEs;?>~.EVn95xr*!mXb$#A]Ic!Vm>sRnP7(wrtD)y8p4)oGqRZhyJ4p9y_SZA/(3?Z6Ui0AMOyG/anLQ8J^;Aa@eURYejLX`AGInFshY{@Jndc!N{Bq|w`m.\x3UcYr%3x`Eh4&xj0Ky7sr7qHQXE6{!>.~|!\5BpChX3``I[=o +::?G]F#}FW\/lf!mvh=SzI#OkrZx6Q0rA}PEmC$7dv|32M@*IU1pMF?9!PRNT/5U18p_}rW9HI%g4m;u?3dUW2d&x[[PL<&M0)D*mpMuOCDg$5`.r/NbZl=up*~>s;0sJ^+w +::hgCXs,mK_DDnu]X*RCL>a!e)?qp`ct3uyvqfmvMmz}XB+qYU8/sKH^UJkdhtlE^EX3i#Vn`;Qa3=4lL/oUk1xb,Z0Ijyc#/F(\3b1Uq$OgtFT#Y`&z\&Q(+7w^5v8zZ+7@=@}!G0TCG};5Jh$dk~B`d?iK,1OeW63dxh|saHTeR2Ma +::K~l5Kr4WjHhu@BirO2lztL?uc5h>A,I;]F^y]X)cQcJ(?*tqoh\8fc&Lz7El2ggG1S[C0vi!?qZ7Ab_F9A1}4o^d_1=9F(=T]Vp9ZkD$|QH{DjW5gXE)khkLy*9Y]1}(&H +::CeBwg_RusB_]5ua+zTo]`.H^fny\2M}c1(&B;Qfr2or5Iw;fLRYN}XfTOahQ]aVjsU{*|^G^n>&g]5=%8iqONt(i`Kg\)DDM_gc*DqTR~0w8,do%63E?)s6jNtNffeCA{x1{@{]sHlENTghR?P&-$4 +::-pOq=KPvMVvo@(6%Iz%n>G3w?w[>Z&|@\9W9|0{dMNbq|&Z?#!b8_x1qa%ZPiX}r/VX,ma%-O,=2S$In?sGJ(q#qy]3WRIXYO,#h+Rfv&h@VOlYe@&%$si!/L+;(hUZu;o1t{%%A/YF8`Ws$++0E1U>m0*fh{^*Gf%1eZD3\c5;zrGA]0hz0lh={@TIk<0F!xRJ$>.E+~?5]ydwfFa% +::8-/2i^55yJZ%bbS?ehPJ7hvVXXZE/7=Vzy|yUc/edA/1>/%#w@qNds_+;WJRITpGZ/wI>H}w)M;xhhPxU2!Fc^$9&i;i_ap,q-QazNRF(Jv[.$oeouidhMYg}l +::*E2}mi_K>3*|.}|i11\}|JDgN3h55`N,0hN;DE%=6;\99whMOX-qH,iP~sI}nl)rs$YL7wTE2KyUratZ=S0J>a_N$K4IGiT@yRJl5m/0w!S{HuM*jZ3KRUXnT0vV%U]X.B +::y.2kKJhLH]4|4*C{DXU}*~aKR#YdE/ciF&tElD~MYB{TNH@5c){`#!X{$h +::C05>o2~QrMqugo~b>$-&P.*Q>nF$uxcjtcZ%((fMm40aMD|!C)ljigro]f.YIY1E +::V6j}nB0e3i3~/a@&4m*GH;GJG0yRY4Q)exeatEC!LvVW*V7s_LffO3VA-A`BmZ1QlnOBDiT4Q{+,896w%rZe$|dl-8-cgUbe +::3F|AD3v}4UI(+>?VbnpR5w@\AN3746\-Z=eY/E54c7r7o)j~Z`Xz-X{-r7ZE^QVFlk]z1zvJVyrbKzB4k]z<&~na5M0{en})j>Q +::hFZN8pnEx+4,Y5#f^u(1.Bw6w\H\_z.s\{FDCy4YnHQi)j7rR=BBV59U/?#~?TL6->u-iylOUAw8_?G3(2c3+([s>=~+~+6+k(*wgW\d9&0mCl<~VAzA_g7fdK3j~sS/J1 +::l2.3E?k5(,8hk#%boQgwEXCGPm`{@^%06fmvL}%gw2&dg?9Vtu4SbU0=%C)H1NZu;AfI{~%d5n^?%(bbzo40u*{laIk=53f}Z(aPtl^K#}TV +::VFE+WB2|a`/%T5],]{2&.ECxgzkJcxU^Uy4j%EhM`+FD3&l}.*Q!dTM{lZbs\(G/W,I8{5K8y|W3im16_46F[|LcVN2G>%!6PvxM=_Olz{I#WfxY?E9KV1BpY(RaHE~`nG +::dzlMP40gGBF$uew`2rWvQ^7INORc#n5\Rn;-PRDGh-(b*#$fNo2#vh%uM_p[x7poUb{Sg0Ch)\L=+~o+;323W%/-dpc[RX=Q2XgB3LJ4P +::SrTPga[xi$+n)AwHf.M?+AIf$4.{pdFl1^/GU40qd$oyWq,c==kfQjXP6jSomTgiNp}4bA<^omn.Y|;4?!lC-%~tLG0uOrGv^oEpWo@njVH4IyusZoI2nHP)<]RRaOwGHlJ!mDYW(G0\zPxY_V*6w +::e$eu*<$}w+toE#y0_{`v4\&0aRzLg{bL~lO?NHoa>dR,SO9vo1rzwMR=q=`oa\OAZac+4eEO/)&x!wj_qkZ$Z^d)M8k{QO+cs*VBub->A&HyOBp43;jPH9gK=k]W-c3LnY3QAF-ClR.\E,@Hw_]?6[+cC;uJ/j[!nY +::rj(1xPiM%gbd8hnD+y+Cg?(G]4hP}YPKz]CFm0;iHd6Rx&/iBkFI>iHg,\iMQbX8},YbQJz9q9qh|2]jS4k]*b!OLdv183%oyc?%/&xkWcJAiI/edODgDVVK#R(SXxjtat +::{`_-Fb^GQ<^;BCU#bTD[tlGEF-\V|pbL=AmzMB!niJD37X$pe>>RN4DCWbH,%;%H@!U(Le-B<}x{trV$M36qM1Z0U5Fa~9t)(o\3*K=X5 +::d,>/i[-4\s~e{4H-ToO!%I7|#(i[$yo(`2M-,nItc]c46hyH^F!Q\DVOx|%neK=Ug8K[am(3QLtBa[!l(?hzUXh3F1}$kJzZjO9!][2Iy@I^WQ^yALQX*g^v>pc +::3M@ab$v($rdiqEgc;1i$$PUgzL35i8oKGC^jU1rXei(c~=YXl~[-jV,7h_fd5{Mtk,rSBW&/BBTRLqc0!6_V3OuS{?=UHuw(}p>m&n(1WA&Lrpj7 +::}0}6XgtRL~#uOxUX5][p-OSrnBWA#L&pDyYcdhi!MHPG]5]SBob5*E=EnXF&J{TZr`.s{/;H4<%hAX(ClEbo~T20q_en0kOQdJ!1<#G@DZ~@,%j|z2ZSg_QFiSS{1+cHO& +::.`Tsl_KmRnhU5>7*|0bY9oXu6QR9WN8\7IK2}`ko?,dw,i{mi=BH^GGiJD>.!07ei@(}PJ~SS.$=+RC`f[^l^5hY9M]rpXF`s +::6+jn{541l$O|}Nk*s{}5+g3fl#X8q._+pD*FNBYsQ,v,$2EA2EMnUjk;U,F1W[\/uUXkFO,8?]J9i}30p&TDkI;y4/U[$mip]`FO9tLU-HkNNgjwEhAsS;8(hD*7Rmi.2U +::(ihgf4gA\G6|_H%m[B3^5=BVuZDT!nf3Sp4=h20ILPN9`[M#zFF$Xd~V#*4;33g&K=Z2[QzQO%\UN#UH!KLmzALNU6`2t@yTZ25aaXasCi=!|k&]#^8q[4nk,<0;Jq@ap4 +::j[`%{2gsSDM-zFMq5Y0@gq}wqHL`OcF$D1u6oI$cLgVq#*3-JLdws@7Y4CLudh4!wVtGCDznXyoNkN{(US$[\M@Womg#S/@b~k-k[3]D!]z>W]Mw*[,Q}Y(C!?D!eGrPzfi9KBAvJNMxP,k4^klf(@-m->OS-plCJ}HmpnV9-$1$C\ieIO}k= +::{0p@)Mesn-Uq1}Kkh3fk#xuPHnN5NtpBQRMefpuKmtvB(5p}|kuH}T.()bG*^Kgdv{.v|)}~w>??,4x44jm*HzCAud10[QK{,j\e.,C?_zN]#o##a&92R@.a02V)%)|N~j +::5u4q8`MEE@g(WQ.j(91Ny4O;ZQxjUg5X35]p_Or*&vq{Sb-@f]64}$;Id!@4@>xaBiCN@j2vfU7o_;u/w6>SwiU_W|]/Aj +::~g>5Jpzs^PP9-}x?{=XY*?kUYn;ee%Nj6Mz_}CgQm4fxHWAo{{/t,Xzse]U1I9(r~N^z>>N1!1xmG/+4m[+z2/VA(Y5FeYvVRa%loIQ`Ly3ECA/=.p>L<$q$\c/X8ONM0k +::={Y2.uZU#EvcI$u{k6l]Y2l=f{./i7_B=],-A_*fM.cDmic-AZy\vTD>f+?U@qRc$(6+}@Gptv#WtEJ#KJYuF#;9Ms8Pa4hZ6GW/6di}>ff-YS{tCu#]huD8/p+zGj@B&% +::u&9&dkx=0_M{IqxE}?Ser5(Uy[Z(GX)6;]i]aghxu%NACsf,_M/|b7DegQAu]8K^vR)H;Vn%vg\uhF5|4EdHC5f\}t&q/5QL[YB@kUM8|vX25!$6_4##Zxc5O{0WA0WicG3?6PuoVV(Xua6TdlQh!p>9Y~1eWm7nP(-_wA;If1=9Pl9Ru,sU~!uJrbpTW|O[h|MW=c\lygcS5NZVVw^a,Uu7PlGIzh*/=J^->B6oD+A*hcpi,]ggJjwOh~YiaZ)Hm9?eJWPo6#_Ay@;uV^]aa +::SPpJScB_#R?@t8GC_>\P(k)9PSpl+xu~EM8\t-A{*o}%+>G8,y.=mC,g].Gz,.ai4.wjFB?cB +::NLc]].^]THW>?_Y(f1{Cz,T(\qUwQ)IK]VC|oTQ;;j+(gSDDV+v)5aY(\CDETD>zrDRC5M].sR73yT3yAfi1a`b_}bA6mB&CNfFA)/P7T~A69+ba/vff4{}MM77k[QRNv8 +::;&Sqh(2Jr#?|bITkxv(1K7[T+5cXrPw_.z^4FwVdn3W%gM\)7T`s_.PuN@+.KN/TE^LWOi@tpsJ\Hw.AE(e?]._L6Bv40/I;H!Ut_vsaVy?d@~7D9*R=FNi`PfD8Ldk3baW#gIcwUzmCjx^=gRMPa+\uxOj!P0VME0VfjaSgGLj|yhcLga3pnyDe}QPo+W+.8EK?AG=)k +::*_=%Hg^zJ#6CTB,DFhxaoSkHvbj=8tTN+8R1(g(nUDqcKM6H^*?sl-8=-avA>G9,[w]=30g>`MU#ed#$=zP1kzxS7J7dJ=(n}RY8VW;lwq/UtS(e3Rc{1D~demy7Mv2Os` +::.TO-KZ)f.>!|4DjW(@!~J]kMro8s1%rMdxwD)&2q4D)I5e7d81ToV_0e9^M|k$Z}Qc%dK55.,PNeV+hZ]))KfkNG]!wuG1qu+2QX)L~eHqQhPqE3fo=/AGK!a|r9~2rUUouvN*\ +::-fh*p|(;&dbY5sm6,E!C1J|{RZ*I(AXcIRM15-k5){1g%WF_PrL8@DE;l6LEqgqnJ9*9cjO!\7o*+u;#xIp]0vS{\;~K[i~^}IQNW*s%XS2RZ}Q)Ho|^Ez5J?!y;b0q8+SG[%(sCE?2Wf5Ld~K_HjV4hrQI*Z5Hu%YCA1/dwV_j_%n`.i@&e?saYM+#hw[ex~_1%Jlm<4w{]zD80|5aY>c98g!+-|yK/Y+/]OP)59AnDLt>Ag[<%!s\Jj!}d7\NpE`iwNr!MSN9EDJl~aL*i0(ICUOh,x,*@FX=?ym85`*KXoX,EzDk4R!N.b5<*6g +::Hs+[?$3t}7Xl/R{Fb@r90XXGMk9Y6O&I-5aMa2.Wpq?o9l16,BNVRIHZ@[Zf1F[C`gPhny-`&cM2g~r\E=zi?tkV&+/coFTm2w?5LR4%\WIeNlkM99=D`&uplu[0D;T&jV +::[gG1s4&Eut2NFdj{7a6sil$N.ghQaRHs3t9P5)i)#s)}|@}LfMZ50l@w,0i`2]~!n?vyYhKm*zxL]NaNnha\OnN/i\-zO#KE_\B<.=Pr\/SgwvRL$-IUh?Q!{wv#oEm[4c +::<%6Xo6@Bt6Nlg\!wvhJM*C)hel-N[z3Ckh<(vu,Uux{H$thV@;AaT^M9D1qI~xd%?do0`Nf(Xi[924^t6|Jo}n*X~JwwY;^QPs\E1!h(Og8EsISijJc{A]BJ]0kg,B]hPM +::Revgiu&^gAK@Rjjx4!M&|BIuZ/e~4\>9$53zTI8lcd-n42\%dZ%4;z%b.(Y\+iCAp*Fzg2rd50T->>E@9`+;&Dq+A&b_+{VeMKpeC|KR,?9aD#. +::86R^K3tKVyxc>&Yr!CWZsrl^L56/a#Hcz}QW>aX6BLbCSS\y%fgBR1d+pbhRE.@^#8L6>C9SX=5s5CXI~XEfMA+v@^\9Z/c#vf~6Ur\CLfR^%eMu%9;]zxMe)?+jI~RqGk +::@Km=H9A{@H1|Qkw~yu[X.!$n[=sV`o8c@k#pf,1?JpsH%F\Rp}U9$K[O|Uq~.rJYXH+T7LmC5]v~Xs;QbFkVTQ]TgLA?3TEMpRS>OXz$b)]=qF0FpX3(=B%OS.(O,OW]d)C)D-r+|;.Y(t(QDrs)ly]7^OuO;iE]7HC)Q-;2|;OsmzD@0I7.9(YS#;a-}9h1+d*4l-Egqgm( +::_D12*@wd{lX]T|kQjur[Sd~Mm$4AQhB@{V*1PmBv4JYI@>p-/il]pV&y*6wU[JMTRc8tQiI4U(`y{SL_1JoWrq~z$O}HWV.IU#[1AJXs%@`Jylf5AAyjwY-VO27hVt2ttf +::MS83,2MvQL?I3!?}v!&Ve2){6$,$4}}tvzRiG3F4eaAIR$N\UAaa(^s6!LTRa;#~;[y^4ZHb)L^1`LlY@|s$-_-A6/3c7l%3}M#X}8|lEdZov#N0/`feBT_2M]c\RUt +::vwGQCNNd2W;$v~/0@#8o5Nz`SnR0`))^{`Z8#DU/5*saC.fl`%?[An\[$cx<40#-\pL*NBa#|$\#LWT +::>/bwxq+_A1(_NVjnE5AAVKp|u@vke8!\hu}_lZaF<5jAEkW|d$7y.+y\3SR{CaT{|RAq87E6|_4b`nWB`KZKJ^;7|+h=Kcb{rWAq_An9=_cc`nIegLoFH+W5XS|b\)Hq,C +::fY7(vDMQ?Qnd.S=>&7TzAu2]K,q,3.hYwKpI?>BIo&tYD}v#%)?6;5z<|Qx;@5a)u)L3Y5.77Sd8]{c(.Uc)V_lP66~9EBhI8{g=Qud.j[Syh)!|U~oQ5RwA$v+SJ]~>=[,Ov]zff7%p_WPThXE+=[SOU4;_k7Yrt_QT}Ur$iB&O_H{b.I_tKjQTfsN&!$)(j5 +::RB;18f2(w7l\hTPD,*tUGdrI(_8tjj<_/Z1rc,D8K^g-NcLS73)7*U`MJ-.CxA.&rb*aH55+^^k{-U87&aC6[9,7_s;&F^{/&uECOycS/9-9jD8SY^H?U[6C\y*B?9iAQl +::u8@C,a8{v^%63{)cTfe@!xrVV.22agc(Y!3Vw-JKe_F/kYOmLF0Oqqp5,g@iiHH~K#I.3v5./{/n_(Y|WMQ{rWs5,]$]kyHaL~$^/F4 +::E(/YfaVR9vua8,bwVrd1<6u_J(ApwTroRB%7U@yPQ5/^Cy)/76,Y{nrK|8F#P_`\5VeU!GH[|RCq?{<6!_|_dpii2UsKl857M)!_o|K[!WCq3{p9!_W|vqji~UYF&_x5gZ +::Q[,bvr8CnPub$\lQpV#J6WevYJ+lRcV~pkgS4Hp9VpAVFAolcC}V\M&~x[OKa*niJAnnL{932>5s@UpK)|R|p~Pq4q*V3YK-yC|Ln8#c\#WSzC/ZXX\^|1TLdJs|6tX!m5A~S$FpRv?w7,nb$\Jt9s]TG.L&2?F1}n%P8inRRh#BBE{*iGI8YqjRVz+!j~i5qEPzqXF23vlP0T3p-|W;8MY$\cijI+Tvk&&r,m_m6442PA;^vvWZyxK9+O|EEq8VwA`k5,euwLuu=rcN,N_4z +::{S+*aI*f$[_5CET]|*>cenRMgP/5-~;d]$sC`7`tzDOIQF#wO]!8|JR.-+b}T^{30_|mtdq9BQc?eNT^zSzDEF?Nt8?k@&j7j3KPr)(NMTB$zNVs8~dexX.OMhh%WVo5pe +::sy2y4?r*e8fE=-7A5!Z$EQq2;rAd4|v?BnFx`BNUyNu)(\]nAAN!\~k)[DL5Zs(\Y`YrBM@hhoEh}wd[cZ$<)cLd3j^qp,3&{X;WEiLJ->YO6n&GtcuD+2jXb[<4w%E04u!Y2p7EpKR_t?pII0iOYVg%^&EtOxC+9n=N{FMm +::6USo=Z~kCvT?VE$W&rj_(r3=`Pt%|C-Brgt0EH6w9_*Xu0~sosJbt=z[\Cuv,/V-VrWl)S_j4f&pYDYAn/ccH +::%$8td!/+0U-m}jpsC7uw|EfHWs4Z~CT3`&%~/scU04 +::Skg%MW-K{x}BRR6!!kQRH]/\3+,LmS7pdYG?I@?3;RPrQPL]Vfe|IomL3iwJ?r777;u3Q0ps!xnLH$pdHd6mA^gPIM&*zi@#J9e,0ylZ}h+](<+n?ltBT!BLv_D=q?~zli +::V_EM.)pG})S8FCIw[3C=$si|(E{)B4Avi3XM@><}SOaQg8h?iwnj@%\Q^T_oJ_#Rb/(~!3qy&>@0hwq%sW]zk>o@*}tWNs-z4%M`{QNcJ3}Qi(+z4k(vlOs7s\tliBS3g% +::HznI};2?aNgdz8dJS*spce3Z23n7LvD~Z9.jhCfCkAoO}4Fn=T|7^FcoT,!U?)s/3z/1EJ+o!0j{^qH]XONK5UiA-F`fo.!`S0$-4tnnL6XYy=Xv57zUkl$tbM)1OKdO&8 +::#(,rJ31i2Gi\d)O;TLfi}6-G&[3E`VFpbgbxD=jmqVbI%N[s=vuYbdY?(B~M]g?V%fhmWiu5?M|J\dr@`-3]y*\6kZ9NvPw`biuS[eahli%!HO%{ +::xNq%/TyDOXI^C(*Evg(0#)EEU2E%22qb$pT3lh~gQ^/0wzov_gxRk,^KaE6I9f`TOM+*bo*292%-pkB)7;I2}!DWqq!D +::zWDTlt.`k|+s^-_|-Gi@*RGLb))aR53t;O$-/P?pj(W3iC-2Jdf?}gb-]r)VexB%Vl&stRN5}\)wl&VX)5@~YntBr<0SX%GhHBVvVSci1eO;R_i4ndxecU}]{iTye-4E.a +::O;4LLq?9XQE\@1wis(ByQ5JaY;^IhM&xxm~MI%iyuyJSqAlT#`;!6{}*Gm)/}y*N!7zj-TwAp\j-nM+K4^%od+qK%S6@(NBxJ~p^8elTC?P#y6m9Dq\li0=;nV3qBDq~Qf/ef\ug6I&(#.VRbZS&|u +::gUCtE_jgGswP(c3m*m)L=X6=V9ZW1}Bz5(P&8;l_V+%]isSZ(ortz0wBwXxqhPVYr\G<-O[=D`|wqfI{0R?_!F3E>TyO2])KOksff?sc;\)5I`,0a4g2BIk-)l^(/w8Jd& +::srqHpk\>Q9VDJoF~_lA_%U{nD*VyN_kXZQ)/Ge9tAZ_2e{%~j(t0T9zq8FeI;h{B)8#30)aTqwKs)2hTK008X0(0awCPW_GQVM<8iXc*\*L7TlIkc+dNNLMC44xlpg?[3! +::WeM7fG@f6M#c$I.@yy`Q=[#F3`[0pj|kL|Vg31rtCXo[?$oF7lCwa5#9Y?z-o29\{kXMHv*O}9`DFdwB4YO{wTvf>M%8?Qo[;h6enz}FqrSn{TCE.U8[otW*d}i8|Z3AY3 +::W=%8zAu(#G_/f*-ki)Q9%M(Jsk;gK/O$pcroHuSf!WRG;uwFX7pd)?(^V.d/qu#yl&1kZr=c9=KFx@-H=}/gr?eItmU\p7{N,$bNcIA>rjsM*JH5XTA^2F+Lpt@}4,IT6! +::3Mdt}K|la~a8kcUxl?RC~;zvbEa;KVmA%3xek-3xtVT9BAQWdJu[;R!2(o_f2 +::A40Y/^Ed}6Zl+s]M&O2{Ei$\SFt!henO?y +::K^QsaiPXd[=Im,{RsYP^\jWsXoMS(bo#R^xW=NtXx\5alu8Gd&8c)NdjPW&fGr6+N9`m~~,kVR}_Zj7yb(rc93KveiOsJCBZ8~1Jx,mfpA=oPV(;0\dMDpnb$pEr47*SGZ +::1?u@*hM;-He2Ia,{h~Z;MZ\-$A8M&o0,CCuw?r2JKqICee(W$i1fwmv@GwcwjW0HzdRD(?Zi5;u#u4S(vp,(]/&3P)p@5~7n`l\j_@;?BVI7BPwg2iqLXz+qSbzM!kBq_{ +::QM4U^2iMSX;<]5f~Sb70fwPm~p5)F\#EJUfxSg]k0q~A%g1m0A5*@}P{A@gvVhdX@#[5R=Z7<{_/6bahMB\\!gWpK`rCD0HLJA6aWO\YdATJ_gyA{5|scAOi;4oM^7k\]4 +::#U} + +:: +:HWID_KMS38_Files: +:HWID: + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:KMS38Activation +:KMS38: +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + +:: To activate, run the script with /a parameter or change 0 to 1 in below line +set _acti=0 + +:: To activate along with KMS38 protection (from being replaced by 180 days KMS activation), +:: run the script with /ap parameter or change 0 to 1 in below line +set _prot=0 + +:: To only generate GenuineTicket.xml, run the script with /g parameter or change 0 to 1 in below line +set _gent=0 + +:: To remove KMS38 protection, run the script with /x parameter or change 0 to 1 in below line +set _unin=0 + + + +:: If value is changed in ABOVE lines or any ABOVE parameter is used then script will run in unattended mode +:: Incase if more than one options are used then only one option will be applied + + +:: To disable changing edition if current edition doesn't support HWID activation, change the value to 0 from 1 or run the script with /c parameter +set _chan=1 + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title KMS38 Activation + +set _args= +set _elev= +set _unattended=0 + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +for %%A in (%_args%) do ( +if /i "%%A"=="/a" set _acti=1 +if /i "%%A"=="/ap" set _prot=1 +if /i "%%A"=="/g" set _gent=1 +if /i "%%A"=="/x" set _unin=1 +if /i "%%A"=="/c" set _chan=0 +if /i "%%A"=="-el" set _elev=1 +) +) + +for %%A in (%_acti% %_prot% %_gent% %_unin%) do (if "%%A"=="1" set _unattended=1) + +::======================================================================================================================================== + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Magenta="45;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Magenta="Darkmagenta" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set _k38= +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +if %~z0 GEQ 500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") +set "specific_kms=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\55c92734-d682-4d71-983e-d6ec3f16059f" + +::======================================================================================================================================== + +if %winbuild% LSS 14393 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11/Server, build 14393 and later. +goto dk_done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto dk_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%eline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto dk_done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%eline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto dk_done +) + +::======================================================================================================================================== + +if %_unin%==1 goto :k_uninstall + +:k_menu + +if %_unattended%==0 ( +cls +mode 76, 25 +title KMS38 Activation + +echo: +echo: +echo: +echo ____________________________________________________________ +echo: +echo [1] KMS38 Activation +echo: +echo [2] KMS38 Activation ^+ Protection +echo ____________________________________________ +echo: +echo [3] Remove Protection +echo: +echo [4] %_exitmsg% +echo ____________________________________________________________ +echo: +call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4]" +choice /C:1234 /N +set _el=!errorlevel! +if !_el!==4 exit /b +if !_el!==3 goto :k_uninstall +if !_el!==2 ( +cls +echo: +call :dk_color2 %_White% " " %_Green% "KMS38 Protection:" +echo: +echo It stops 180 days KMS Activation from replacing KMS38 activation. +echo Protection requires permission altering of a registry key. +echo: +echo If you are going to use KMS_VL_ALL or MAS's KMS activation for Office, +echo then you don't need to enable this protection. +echo For more info, check readme. +echo: +echo: +choice /C:12 /N /M "> [1] Continue [2] Go back : " +if errorlevel 2 goto :k_menu +if errorlevel 1 (set _prot=1&goto :k_menu2) +) +if !_el!==1 (set _prot=0&goto :k_menu2) +goto :k_menu +) + +:k_menu2 + +cls +mode 102, 34 +if %_gent%==1 (set _title=title Generate KMS38 GenuineTicket.xml) else (set _title=title KMS38 Activation) +%_title% + +::======================================================================================================================================== + +if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( +set _gent=0 +%eline% +echo File '%Systemdrive%\GenuineTicket.xml' already exist. +if %_unattended%==0 ( +echo: +call :dk_color %_Yellow% "Press any key to go back..." +pause >nul +goto k_menu +) else ( +goto dk_done +) +) + +::======================================================================================================================================== + +call :dk_initial + +:: Check if system is permanently activated or not + +cls +call :dk_product +call :dk_checkperm +if defined _perm if not %_gent%==1 ( +echo ___________________________________________________________________________________________ +echo: +call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." +call :dk_color2 %_White% " " %Gray% "Activation is not required." +echo ___________________________________________________________________________________________ +if %_unattended%==1 goto dk_done +echo: +choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " +if errorlevel 2 exit /b +) +cls + +::======================================================================================================================================== + +:: Check Evaluation version + +set _eval= +set _evalserv= + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 + +if defined _eval ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID 2>nul | find /i "Eval" 1>nul && ( +%eline% +echo [%winos% ^| %winbuild%] +if defined _evalserv ( +echo Server Evaluation cannot be activated. Convert it to full Server OS. +echo: +echo Check 'Change Edition Option' in Extras section in MAS. +) else ( +echo Evaluation Editions cannot be activated. Download ^& Install full version of Windows OS. +echo: +echo https://massgrave.dev/ +) +goto dk_done +) +) + +::======================================================================================================================================== + +:: Check SKU value / Check in multiple places to find Edition change corruption + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto dk_done +) + +::======================================================================================================================================== + +:: Check if GVLK (KMS key) is already installed or not + +set _gvlk= +call :dk_channel +if /i "Volume:GVLK"=="%_channel%" set _gvlk=1 + +::======================================================================================================================================== + +:: Detect Key + +set key= +set pkey= +set altkey= +set changekey= +set curedition= +set altedition= + +if defined applist call :kms38data getkey + +if not defined key call :dk_gvlk %nul% + +if defined applist if not defined key call :kms38fallback +if defined altkey (set key=%altkey%&set changekey=1) + +::======================================================================================================================================== + +if not defined key if not defined _gvlk ( +%eline% +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +echo PowerShell is not responding properly. Aborting... +goto dk_done +) +if not defined applist ( +echo Failed to get Key due to error in getting Activation IDs. +echo: +echo This error can appear when below services are not properly responding or system have other issues. +echo Windows Management Instrumentation [WinMgmt], Software Protection Platform [sppsvc] +echo: +call :dk_color2 %Red% "Error Found In:" %_White% " %e_wmispp%" +echo: +echo Check troubleshooting steps in MAS Extras option. +goto dk_done +) +echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] +echo Unable to find this product in the supported product list. +echo Make sure you are using updated version of the script. +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system and try again. +goto dk_done +) +goto dk_done +) + +::======================================================================================================================================== + +set a_cor= +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" if not exist "%systemroot%\System32\clipup.exe" set a_cor=1 + +if defined a_cor ( +%eline% +echo Server Cor Editions don't have clipup.exe file. +echo: +echo Use MAS separate files version for KMS38 activation on such editions. +goto dk_done +) + +set error= +set activ= + +cls +echo: +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] + +::======================================================================================================================================== + +set "_serv=ClipSVC sppsvc Winmgmt" + +:: Client License Service (ClipSVC) +:: Software Protection +:: Windows Management Instrumentation + +:: Check disabled services + +set serv_ste= +for %%# in (%_serv%) do ( +set serv_dis= +reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start %nul% || set serv_dis=1 +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b equ 0x4 set serv_dis=1 +if defined serv_dis (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) +) + +:: Change disabled services startup type to default + +set serv_csts= +set serv_cste= + +if defined serv_ste ( +for %%# in (%serv_ste%) do ( +if /i %%#==ClipSVC sc config %%# start= demand %nul% +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% +if /i %%#==Winmgmt sc config %%# start= auto %nul% +if !errorlevel!==0 ( +if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") +) else ( +set error=1 +if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") +) +) +) + +if defined serv_csts echo Enabling Disabled Services [Successful] [%serv_csts%] +if defined serv_cste call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" + +if not "%regSKU%"=="%wmiSKU%" ( +set error=1 +call :dk_color %Red% "Checking WMI/REG SKU [Difference Found - WMI:%wmiSKU% Reg:%regSKU%] [Restart System]" +) + +::======================================================================================================================================== + +:: Install key + +echo: +if defined changekey ( +call :dk_color %Magenta% "[%altedition%] Edition product key will be used to enable KMS38 activation." +echo: +) + +set _partial= +if not defined key ( +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" +call echo Checking Installed Product Key [Partial Key - %%_partial%%] [Volume:GVLK] +) + +set error_code= +if defined key ( +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% +set error_code=!errorlevel! +cmd /c exit /b !error_code! +if !error_code! NEQ 0 set "error_code=[0x!=ExitCode!]" + +if !error_code! EQU 0 ( +call :dk_refresh +echo Installing KMS Client Setup Key [%key%] [Successful] +) else ( +call :dk_color %Red% "Installing KMS Client Setup Key [%key%] [Failed] !error_code!" +) +) + +::======================================================================================================================================== + +:: Check activation ID for setting specific KMS host + +set app= +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do call set "app=%%a" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).ID | %% {echo ('ID='+$_)}" 2^>nul') do call set "app=%%a" + +if not defined app ( +call :dk_color %Red% "Checking Activation ID [Failed]" +) + +::======================================================================================================================================== + +:: Set specific KMS host to Local Host +:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions + +set regadd= +set k_error= + +if not %_gent%==1 if defined app ( +echo: +set regadd=1 +%nul% reg delete "HKLM\%specific_kms%" /f +%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f + +%nul% reg query "HKLM\%specific_kms%" && ( +call :regown "HKLM\%specific_kms%" +%nul% reg delete "HKLM\%specific_kms%" /f +) + +%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" || set k_error=1 +%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" || set k_error=1 + +if not defined k_error ( +echo Adding Specific KMS Host [LocalHost 127.0.0.2] [Successful] +) else ( +call :dk_color %Red% "Adding Specific KMS Host [LocalHost 127.0.0.2] [Failed]" +) +) + +if not %_gent%==1 if not defined app ( +call :dk_color %Red% "Adding Specific KMS Host [Skipped] [Activation ID Not Found]" +) + +::======================================================================================================================================== + +:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names + +echo: +set "temp_=%SystemRoot%\Temp\_Temp" +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +md "%temp_%\" %nul% + +pushd "%temp_%\" +setlocal +set "TMP=%SystemRoot%\Temp" +set "TEMP=%SystemRoot%\Temp" +%nul% %psc% "$b=[IO.File]::ReadAllText('!_batp!')-split'[:]batfile[:].*';iex $b[1]; B 1" +endlocal +popd + +if not exist "%temp_%\gatherosstate.exe" ( +call :dk_color %Red% "Extracting Required Files to Temp [%temp_%] [Failed]" +call :dk_color %Magenta% "Most likely Antivirus is interfering with the process" +call :dk_color %Magenta% "Use MAS separate files version" +goto :k_final +) + +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "hash_g=%%#" +set "hash_g=%hash_g: =%" +if /i not "%hash_g%"=="FABB5A0FC1E6A372219711152291339AF36ED0B5" ( +call :dk_color %Red% "Extracted files verification failed. Aborting..." +goto :k_final +) + +echo Extracting Required Files to Temp [%temp_%] [Successful] + +::======================================================================================================================================== + +:: Modify gatherosstate.exe + +pushd "%temp_%\" +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':hex\:.*';iex ($f[1]);" +popd + +if not exist "%temp_%\gatherosstatemodified.exe" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] Aborting..." +goto :k_final +) + +set _hash= +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstatemodified.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" +set "_hash=%_hash: =%" + +if /i not "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] [Hash Not Matched] Aborting..." +goto :k_final +) else ( +echo Creating Modified Gatherosstate [Successful] +) + +::======================================================================================================================================== + +:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. + +set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" + +"%temp_%/gatherosstatemodified.exe" GVLKExp=2038-01-19T03:14:07Z;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% +%_noxml% net stop sppsvc /y %nul% +%_noxml% call "%temp_%/gatherosstatemodified.exe" GVLKExp=2038-01-19T03:14:07Z;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% + +%_noxml% ( +call :dk_color %Red% "Generating GenuineTicket.xml [Failed] Aborting..." +goto :k_final +) else ( +echo Generating GenuineTicket.xml [Successful] +) + +::======================================================================================================================================== + +:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script + +if %_gent%==1 ( +echo: +copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% +if not exist "%Systemdrive%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" +) else ( +call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" +) +goto :k_final +) + +::======================================================================================================================================== + +:: clipup -v -o -altto & clipup -v -o both methods may fail if the username have spaces/special characters/non English names +:: Most correct way to apply a ticket is by restarting ClipSVC service but we can not check the log details in this way +:: To get the log details and also to correctly apply ticket, script will install tickets two times (service restart + clipup -v -o -altto ) + +set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +if not exist "%tdir%\" md "%tdir%\" %nul% +copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% + +if not exist "%tdir%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying Ticket to ClipSVC Location [Failed]" +) + +set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" + +net stop sppsvc /y %nul% || net stop sppsvc /y %nul% +sc stop sppsvc %nul% + +clipup -v -o -altto %temp_%\ + +%_xmlexist% ( +net stop ClipSVC /y %nul% +net start ClipSVC /y %nul% +%_xmlexist% timeout /t 2 %nul% +%_xmlexist% timeout /t 2 %nul% + +%_xmlexist% ( +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +call :dk_color %Red% "Installing GenuineTicket.xml [Failed With ClipSVC Service Restart Method]" +) +) + +::========================================================================================================================================== + +call :dk_product + +echo: +echo Activating... +echo: + +call :k_checkexp +if defined _k38 ( +set activ=1 +call :k_actinfo +goto :k_final +) + +:: Clear 180 Days KMS Activation lock with Windows SKU specific rearm and without the need to restart the system + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where ID='%app%' call ReArmsku %nul% +if %_wmic% EQU 0 %psc% "$null=([WMI]'SoftwareLicensingProduct=''%app%''').ReArmsku()" %nul% + +if %errorlevel%==0 ( +echo Applying SKU-ID Rearm [Successful] +) else ( +call :dk_color %Red% "Applying SKU-ID Rearm [Failed]" +) + +echo: +call :k_checkexp +if defined _k38 ( +set activ=1 +call :k_actinfo +goto :k_final +) + +:: Restart software protection service to refresh itself and run refresh license status and activation commands + +net stop sppsvc /y %nul% +net start sppsvc /y %nul% +call :dk_refresh +call :dk_act + +call :k_checkexp +if defined _k38 ( +set activ=1 +call :k_actinfo +goto :k_final +) + +call :dk_color %Red% "Activation Failed" +call :dk_color %Magenta% "Restart the system and try again / Check troubleshooting steps in MAS Extras option" + +::======================================================================================================================================== + +:k_final + +:: Remove the added Specific KMS Host (Local Host) if activation is not completed + +echo: +set k_error= +if defined regadd if not defined _k38 ( +%nul% reg delete "HKLM\%specific_kms%" /f +%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f +%nul% reg query "HKLM\%specific_kms%" && set k_error=1 +%nul% reg query "HKU\S-1-5-20\%specific_kms%" && set k_error=1 +if not defined k_error ( +echo Removing The Added Specific KMS Host [Successful] +) else ( +call :dk_color %Red% "Removing The Added Specific KMS Host [Failed]" +) +) + +:: Protect KMS38 if opted by the user and conditions are correct + +if defined regadd if defined _k38 if %_prot%==1 ( +%nul% call :regown "HKLM\%specific_kms%" "" S-1-5-32-544 "" Deny "SetValue,Delete" +%nul% reg delete "HKLM\%specific_kms%" /f +%nul% reg query "HKLM\%specific_kms%" && ( +call :dk_color %Gray% "Locking a Registry To Protect KMS38 [Successful]" +) || ( +call :dk_color %Red% "Locking a Registry To Protect KMS38 [Failed]" +) +) + +:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script + +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% + +if exist "%temp_%\" ( +call :dk_color %Red% "Cleaning Temp Files [Failed]" +) else ( +echo Cleaning Temp Files [Successful] +) + +if %osSKU%==175 ( +call :dk_color %Red% "ServerRdsh Editon does not officially support activation on non-azure platforms." +) + +if not defined activ call :dk_checkerrors + +if not defined activ if not defined error ( +echo Basic Diagnostic Tests [Error Not Found] +) + +goto :dk_done + +::======================================================================================================================================== + +:k_uninstall + +cls +mode 99, 28 +title Remove KMS38 Protection +set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" +set "_ident=HKU\S-1-5-19\SOFTWARE\Microsoft\IdentityCRL" + +echo: +call :dk_ckeckwmic +call :k_checkexp + +:: It's better to not clean ClipSVC hence its skipped + +REM if defined _k38 ( +REM for %%# in (ClipSVC) do ( +REM sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% +REM sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% +REM ) + +REM REM Thanks to @mspaintmsi for informing this command info + +REM rundll32 clipc.dll,ClipCleanUpState + +REM if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( +REM call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" +REM ) else ( +REM echo Cleaning ClipSVC Licences [Successful] +REM ) + +REM REM Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after +REM REM system restart. It needs to be deleted to activate the system without restart. + +REM call :regown "%RegKey%" %nul% +REM reg delete "%RegKey%" /f %nul% + +REM reg query "%RegKey%" %nul% && ( +REM call :dk_color %Red% "Deleting a Volatile Registry [Failed]" +REM call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" +REM ) || ( +REM echo Deleting a Volatile Registry [Successful] +REM ) + +REM REM Clear HWID token related registry to fix activation incase if there is any corruption + +REM reg delete "%_ident%" /f %nul% +REM reg query "%_ident%" %nul% && ( +REM call :dk_color %Red% "Deleting a Registry [Failed] [%_ident%]" +REM ) || ( +REM echo Deleting a Registry [Successful] [%_ident%] +REM ) + +REM for %%# in (ClipSVC wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) +REM call :dk_refresh +REM ) + +set exist_= +%nul% reg query "HKLM\%specific_kms%" && ( +set exist_=1 +%nul% reg delete "HKLM\%specific_kms%" /f +) +%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f + +%nul% reg query "HKLM\%specific_kms%" && ( +%nul% call :regown "HKLM\%specific_kms%" +%nul% reg delete "HKLM\%specific_kms%" /f +) + +%nul% reg query "HKLM\%specific_kms%" && ( +call :dk_color %Red% "Removing Specific KMS Host [Failed]" +) || ( +if defined exist_ ( +echo Removing Specific KMS Host [Successful] +) else ( +echo Removing Specific KMS Host [Already Removed] +) +) + +goto :dk_done + +::======================================================================================================================================== + +:: A lean and mean snippet to set registry ownership and permission recursively +:: Written by @AveYo aka @BAU +:: pastebin.com/XTPt0JSC + +:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of Powershell is installed. + +:: This code runs only if KMS38 protection option or complete uninstall option is used by the user in this script. + +:regown + +pushd "!_work!" +setlocal DisableDelayedExpansion + +set "0=%~nx0"&%psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText($env:0)-split':Own1\:.*')[1])&popd&setlocal EnableDelayedExpansion&exit/b:Own1: +$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn +'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} +$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} +$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] +$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' +$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) +$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} +};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') +$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} +$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; +foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo + +::======================================================================================================================================== + +:: Check KMS activation status + +:k_actinfo + +set xpr= +for /f "tokens=* delims=" %%# in ('%psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "xpr=%%#" +call :dk_color %Green% "%winos% is activated till !xpr!" +exit /b + +:: Check remaining KMS activation grace period + +:k_checkexp + +set gpr=0 +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" 2^>nul') do set "gpr=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" 2^>nul') do set "gpr=%%#" +if %gpr% GTR 259200 (set _k38=1) else (set _k38=) +exit /b + +:: Get Windows permanent activation status + +:dk_checkperm + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Name FROM SoftwareLicensingProduct WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +exit /b + +:: Refresh license status + +:dk_refresh + +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% +if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% +exit /b + +:: Get Windows installed key channel + +:dk_channel + +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" +exit /b + +:: Activation command + +:dk_act + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" call Activate %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% +exit /b + +:: Get Windows Activation IDs + +:dk_actids + +set applist= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) +exit /b + +:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) + +:dk_product + +set winos= +set d1=[DllImport(\"winbrand\",CharSet=CharSet.Unicode)]public static extern string BrandingFormatString(string s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $AP::BrandingFormatString('%%WINDOWS_LONG%%') +for /f "delims=" %%s in ('"%psc% %d2%"') do if not errorlevel 1 (set winos=%%s) +echo "%winos%" | find /i "Windows" 1>nul || ( +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +if %winbuild% GEQ 22000 ( +set winos=!winos:Windows 10=Windows 11! +) +) +exit /b + +:: Check wmic.exe + +:dk_ckeckwmic + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) +exit /b + +:dk_initial + +echo: +echo Initializing... + +:: Check and enable WinMgmt, sppsvc services if required + +for %%# in (WinMgmt sppsvc) do ( +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b NEQ 0x2 ( +echo: +echo Enabling %%# service... +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% || echo Failed +if /i %%#==WinMgmt sc config %%# start= auto %nul% || echo Failed +) +sc start %%# %nul% +if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 ( +echo: +echo Starting %%# service... +sc start %%# +echo: +call :dk_color %Red% "Failed to start [%%#] service, rest of the process may take a long time..." +) +) + +:: Check WMI and SPP Errors + +call :dk_ckeckwmic + +set e_wmi= +set e_wmispp= +call :dk_actids + +if not defined applist ( +net stop sppsvc /y %nul% +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if !errorlevel! NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +call :dk_refresh + +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 set e_wmi=1 + +if defined e_wmi (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +call :dk_actids +) +exit /b + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. + +:dk_pkey + +set pkey= +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int SkuGetProductKeyForEdition(int e, string c, out string k, out string p); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k=''; $null=$AP::SkuGetProductKeyForEdition(%1, %2, [ref]$k, [ref]$null); $k +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:dk_pkeychannel + +set k=%1 +set pkeychannel= +set p=%SystemRoot%\System32\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms +set m=[System.Runtime.InteropServices.Marshal] +set d1=[DllImport(\"PidGenX.dll\",CharSet=CharSet.Unicode)]public static extern int PidGenX(string k,string p,string m,int u,IntPtr i,IntPtr d,IntPtr f); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k='%k%'; $p='%p%'; $r=[byte[]]::new(0x04F8); $r[0]=0xF8; $r[1]=0x04; $f=%m%::AllocHGlobal(1272); %m%::Copy($r,0,$f,1272); +set d3=%d2% [void]$AP::PidGenX($k,$p,\"00000\",0,0,0,$f); %m%::Copy($f,$r,0,1272); %m%::FreeHGlobal($f); [System.Text.Encoding]::Unicode.GetString($r, 1016, 128).Replace('0','') +for /f %%a in ('%psc% "%d3%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:dk_gvlk + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (Volume:GVLK) do ( +call :dk_pkey %osSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + +:dk_checkerrors + +:: Check if the services are able to run or not +:: Workarounds are added to get correct status and error code because sc query doesn't output correct results in some conditions + +set serv_e= +for %%# in (%_serv%) do ( +set errorcode= +set checkerror= +sc query %%# | find /i ": 4 RUNNING" %nul% || net start %%# /y %nul% +sc start %%# %nul% +set errorcode=!errorlevel! +if !errorcode! NEQ 1056 if !errorcode! NEQ 0 set checkerror=1 +sc query %%# | find /i ": 4 RUNNING" %nul% || set checkerror=1 +if defined checkerror if defined serv_e (set "serv_e=!serv_e!, %%#-!errorcode!") else (set "serv_e=%%#-!errorcode!") +) + +if defined serv_e ( +set error=1 +call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" +) + +:: Various error checks + +set token=0 +if exist %Systemdrive%\Windows\System32\spp\store\2.0\tokens.dat set token=1 +if exist %Systemdrive%\Windows\System32\spp\store_test\2.0\tokens.dat set token=1 +if %token%==0 ( +set error=1 +call :dk_color %Red% "Checking SPP tokens.dat [Not Found]" +) + +DISM /English /Online /Get-CurrentEdition %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking DISM [Not Responding] %error_code%" +) + +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +set error=1 +call :dk_color %Red% "Checking Powershell [Not Responding]" +) + +for %%# in (wmic.exe) do @if "%%~$PATH:#"=="" ( +set error=1 +call :dk_color %Gray% "Checking WMIC.exe [Not Found]" +) + +reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( +set error=1 +call :dk_color %Red% "Checking Rearm [System Restart Is Required]" +) + +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( +set error=1 +call :dk_color %Red% "Checking ClipSVC [System Restart Is Required]" +) + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" 2^>nul') do if /i %%b NEQ 0x0 ( +reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% +call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found, Changing To 0]" +net stop sppsvc /y %nul% +net start sppsvc /y %nul% +set error=1 +) + +set _wsh=1 +reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +if %_wsh% EQU 0 ( +set error=1 +call :dk_color %Gray% "Checking Windows Script Host [Disabled]" +) + +cscript //nologo %windir%\system32\slmgr.vbs /dlv %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking slmgr /dlv [Not Responding] %error_code%" +) + +if not defined applist ( +set error=1 +call :dk_color %Red% "Checking WMI/SPP [Not Responding] [%e_wmispp%]" +) + +set nil= +set _sppint= +if not %_gent%==1 if not defined error ( +for %%# in (SppE%nil%xtComObj.exe,sppsvc.exe) do ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%nil%ge File Execu%nil%tion Options\%%#" %nul% && set _sppint=1 +) +) + +if defined _sppint ( +call :dk_color %Red% "Checking SPP Interference In IFEO [Found] [Uninstall KMS Activator If There Is Any]" +set error=1 +) +exit /b + +::======================================================================================================================================== + +:dk_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' +) +exit /b + +:dk_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' +) +exit /b + +::======================================================================================================================================== + +:dk_done + +echo: +if %_unattended%==1 timeout /t 2 & exit /b +call :dk_color %_Yellow% "Press any key to %_exitmsg%..." +pause >nul +exit /b + +::======================================================================================================================================== + +:: 1st column = Activation ID +:: 2nd column = GVLK (Generic volume licensing key) +:: 3rd column = SKU ID +:: 4th column = WMI Edition ID (For reference only) +:: 5th column = Build Branch name incase same Edition ID is used in different OS versions with different key (For reference only) +:: Separator = "_" + +:kms38data + +for %%# in ( +73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2YT43___4_Enterprise +9bd77860-9b31-4b7b-96ad-2564017315bf_VDYBN-27WPP-V4HQT-9VMD4-VMK7H___7_ServerStandard_FE +de32eafd-aaee-4662-9444-c1befb41bde2_N69G4-B89J2-4G8F4-WWYCC-J464C___7_ServerStandard_RS5 +8c1c5410-9f39-4805-8c9d-63a07706358f_WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY___7_ServerStandard_RS1 +ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03_WX4NM-KYWYW-QJJR4-XV3QB-6VM33___8_ServerDatacenter_FE +34e1ae55-27f8-4950-8877-7a03be5fb181_WMDGN-G9PQG-XVVXX-R3X43-63DFG___8_ServerDatacenter_RS5 +21c56779-b449-4d20-adfc-eece0e1ad74b_CB7KF-BWN84-R7R2Y-793K2-8XDDG___8_ServerDatacenter_RS1 +e272e3e2-732f-4c65-a8f0-484747d0d947_DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4__27_EnterpriseN +2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T83GX__48_Professional +a80b5abf-76ad-428b-b05d-a47d2dffeebf_MH37W-N47XK-V7XM9-C7227-GCQG9__49_ProfessionalN +034d3cbb-5d4b-4245-b3f8-f84571314078_WVDHN-86M7X-466P6-VHXV7-YY726__50_ServerSolution_RS5 +2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283_JCKRF-N37P4-C2D82-9YXRT-4M63B__50_ServerSolution_RS1 +7b9e1751-a8da-4f75-9560-5fadfe3d8e38_3KHY7-WNT83-DGQKR-F7HPR-844BM__98_CoreN +a9107544-f4a0-4053-a96a-1479abdef912_PVMJN-6DFY6-9CCP6-7BKTT-D3WVR__99_CoreCountrySpecific +cd918a57-a41b-4c82-8dce-1a538e221a83_7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH_100_CoreSingleLanguage +58e97c99-f377-4ef1-81d5-4ad5522b5fd8_TX9XD-98N7V-6WMQ6-BX7FG-H8Q99_101_Core +7b4433f4-b1e7-4788-895a-c45378d38253_QN4C6-GBJD2-FB422-GHWJK-GJG2R_110_ServerCloudStorage +8de8eb62-bbe0-40ac-ac17-f75595071ea3_GRFBW-QNDC4-6QBHG-CCK3B-2PR88_120_ServerARM64_RS5 +43d9af6e-5e86-4be8-a797-d072a046896c_K9FYF-G6NCK-73M32-XMVPY-F9DRR_120_ServerARM64_RS4 +e0c42288-980c-4788-a014-c080d2e1926e_NW6C2-QMPVW-D7KKK-3GKT6-VCFB2_121_Education +3c102355-d027-42c6-ad23-2e7ef8a02585_2WH4N-8QGBV-H22JP-CT43Q-MDWWJ_122_EducationN +32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J462D_125_EnterpriseS_RS5,VB +2d5a5a60-3040-48bf-beb0-fcd770c20ce0_DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ_125_EnterpriseS_RS1 +7b51a46c-0c04-4e8f-9af4-8496cca90d5e_WNMTR-4C88C-JK8YV-HQ7T2-76DF9_125_EnterpriseS_TH1 +7103a333-b8c8-49cc-93ce-d37c09687f92_92NFX-8DJQP-P6BBQ-THF9C-7CG2H_126_EnterpriseSN_RS5,VB +9f776d83-7156-45b2-8a5c-359b9c9f22a3_QFFDN-GRT3P-VKWWX-X7T3R-8B639_126_EnterpriseSN_RS1 +87b838b7-41b6-4590-8318-5797951d8529_2F77B-TNFGY-69QQF-B8YKP-D69TJ_126_EnterpriseSN_TH1 +39e69c41-42b4-4a0a-abad-8e3c10a797cc_QFND9-D3Y9C-J3KKY-6RPVP-2DPYV_145_ServerDatacenterACor_FE +90c362e5-0da1-4bfd-b53b-b87d309ade43_6NMRW-2C8FM-D24W7-TQWMY-CWH2D_145_ServerDatacenterACor_RS5 +e49c08e7-da82-42f8-bde2-b570fbcae76c_2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG_145_ServerDatacenterACor_RS3 +f5e9429c-f50b-4b98-b15c-ef92eb5cff39_67KN8-4FYJW-2487Q-MQ2J7-4C4RG_146_ServerStandardACor_FE +73e3957c-fc0c-400d-9184-5f7b6f2eb409_N2KJX-J94YW-TQVFB-DG9YT-724CC_146_ServerStandardACor_RS5 +61c5ef22-f14f-4553-a824-c4b31e84b100_PTXN8-JFHJM-4WC78-MPCBR-9W4KR_146_ServerStandardACor_RS3 +82bbc092-bc50-4e16-8e18-b74fc486aec3_NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J_161_ProfessionalWorkstation +4b1571d3-bafb-4b40-8087-a961be2caf65_9FNHH-K3HBT-3W4TD-6383H-6XYWF_162_ProfessionalWorkstationN +3f1afc82-f8ac-4f6c-8005-1d233e606eee_6TP4R-GNPTD-KYYHQ-7B7DP-J447Y_164_ProfessionalEducation +5300b18c-2e33-4dc2-8291-47ffcec746dd_YVWGF-BXNMC-HTQYQ-CPQ99-66QFC_165_ProfessionalEducationN +8c8f0ad3-9a43-4e05-b840-93b8d1475cbc_6N379-GGTMK-23C6M-XVVTC-CKFRQ_168_ServerAzureCor_FE +a99cc1f0-7719-4306-9645-294102fbff95_FDNH6-VW9RW-BXPJ7-4XTYG-239TB_168_ServerAzureCor_RS5 +3dbf341b-5f6c-4fa7-b936-699dce9e263f_VP34G-4NPPG-79JTQ-864T4-R3MQX_168_ServerAzureCor_RS1 +e0b2d383-d112-413f-8a80-97f373a5820c_YYVX9-NTFWV-6MDM3-9PT4T-4M68B_171_EnterpriseG +e38454fb-41a4-4f59-a5dc-25080e354730_44RPN-FTY23-9VTTB-MP9BX-T84FV_172_EnterpriseGN +ec868e65-fadf-4759-b23e-93fe37f2cc29_CPWHC-NT2C7-VYW78-DHDB2-PG3GK_175_ServerRdsh_RS5 +e4db50ea-bda1-4566-b047-0ca50abc6f07_7NBT4-WGBQX-MP4H7-QXFF8-YP3KX_175_ServerRdsh_RS3 +0df4f814-3f57-4b8b-9a9d-fddadcd69fac_NBTWJ-3DR69-3C4V8-C26MC-GQ9M6_183_CloudE +59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PDQGT_191_IoTEnterpriseS_NI +d30136fc-cb4b-416e-a23d-87207abc44a9_6XN7V-PCBDC-BDBRH-8DQY7-G6R44_202_CloudEditionN +ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69_37D7F-N49CB-WQR8W-TBJ73-FM8RX_203_CloudEdition +19b5e0fb-4431-46bc-bac1-2f1873e4ae73_NTBV8-9K7Q8-V27C6-M2BTV-KHMXV_407_ServerTurbine +) do ( +for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( +if %1==getkey if not defined key echo "!applist!" | find /i "%%A" >nul && set key=%%B +) +) +exit /b + +::======================================================================================================================================== + +:: Below code is used to get alternate edition name and key if current edition doesn't support KMS38 activation + +:: IoTEnterpriseS 2021 won't be converted to EnterpriseS 2021 to enable KMS38 activation because later has 5 years less update support +:: ProfessionalCountrySpecific won't be converted because it's not a good idea to change CountrySpecific editions + +:: 1st column = Current SKU ID +:: 2nd column = Current Edition Name +:: 3rd column = Alternate Edition Activation ID +:: 4th column = Alternate Edition GVLK +:: 5th column = Alternate Edition Name +:: Separator = _ + + +:kms38fallback + +if %_chan%==0 exit /b + +for %%# in ( +188_IoTEnterprise_______________73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2YT43_Enterprise +138_ProfessionalSingleLanguage__2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T83GX_Professional +) do ( +for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%A ( +echo "!applist!" | find /i "%%C" 1>nul && ( +set altkey=%%D +set curedition=%%B +set altedition=%%E +) +) +) +exit /b + +::======================================================================================================================================== + +:: Script changes below values in official gatherosstate.exe so that it can generate usable ticket in Windows unlicensed state + +:hex:[ +$bytes = [System.IO.File]::ReadAllBytes("gatherosstate.exe") +$bytes[320] = 0x9c +$bytes[321] = 0xfb +$bytes[322] = 0x05 +$bytes[13672] = 0x25 +$bytes[13674] = 0x73 +$bytes[13676] = 0x3b +$bytes[13678] = 0x00 +$bytes[13680] = 0x00 +$bytes[13682] = 0x00 +$bytes[13684] = 0x00 +$bytes[32748] = 0xe9 +$bytes[32749] = 0x9e +$bytes[32750] = 0x00 +$bytes[32751] = 0x00 +$bytes[32752] = 0x00 +$bytes[32894] = 0x8b +$bytes[32895] = 0x44 +$bytes[32897] = 0x64 +$bytes[32898] = 0x85 +$bytes[32899] = 0xc0 +$bytes[32900] = 0x0f +$bytes[32901] = 0x85 +$bytes[32902] = 0x1c +$bytes[32903] = 0x02 +$bytes[32904] = 0x00 +$bytes[32906] = 0xe9 +$bytes[32907] = 0x3c +$bytes[32908] = 0x01 +$bytes[32909] = 0x00 +$bytes[32910] = 0x00 +$bytes[32911] = 0x85 +$bytes[32912] = 0xdb +$bytes[32913] = 0x75 +$bytes[32914] = 0xeb +$bytes[32915] = 0xe9 +$bytes[32916] = 0x69 +$bytes[32917] = 0xff +$bytes[32918] = 0xff +$bytes[32919] = 0xff +$bytes[33094] = 0xe9 +$bytes[33095] = 0x80 +$bytes[33096] = 0x00 +$bytes[33097] = 0x00 +$bytes[33098] = 0x00 +$bytes[33449] = 0x64 +$bytes[33576] = 0x8d +$bytes[33577] = 0x54 +$bytes[33579] = 0x24 +$bytes[33580] = 0xe9 +$bytes[33581] = 0x55 +$bytes[33582] = 0x01 +$bytes[33583] = 0x00 +$bytes[33584] = 0x00 +$bytes[34189] = 0x59 +$bytes[34190] = 0xeb +$bytes[34191] = 0x28 +$bytes[34238] = 0xe9 +$bytes[34239] = 0x4f +$bytes[34240] = 0x00 +$bytes[34241] = 0x00 +$bytes[34242] = 0x00 +$bytes[34346] = 0x24 +$bytes[34376] = 0xeb +$bytes[34377] = 0x63 +[System.IO.File]::WriteAllBytes("gatherosstatemodified.exe", $bytes) +:hex:] + +::======================================================================================================================================== + +: +:KMS38: + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:KMSActivation +:kacttxt: +@setlocal DisableDelayedExpansion +@echo off + + + +::================================================================================================= +:: +:: Online KMS Script is a fork of @abbodi1406's KMS_VL_ALL forums.mydigitallife.net/posts/838808 +:: +:: This fork's purpose is to avoid having any KMS binary files and activate Windows/Office using +:: only transparent batch script with online public KMS servers. +::_____________________________________ +:: +:: Online KMS Activation Script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::================================================================================================= + + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title Online KMS Activation + +set WMI_VBS=0 +set _Debug=0 +set Silent=0 +set Logger=0 +set AutoR2V=1 +set SkipKMS38=1 + +set ActWindows=1 +set ActOffice=1 + +set _uni= +set _args= +set _elev= +set _renetask= +set _renacttask= +set _unattended= + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +set _unattended=1 +if "%_args%"=="-el" set _unattended= + +for %%A in (%_args%) do ( +if /i "%%A"=="-el" (set _elev=1 +) else if /i "%%A"=="/rt" (set _renetask=1 +) else if /i "%%A"=="/rat" (set _renacttask=1 +) else if /i "%%A"=="/uni" (set _uni=1 +) else if /i "%%A"=="/w" (set ActWindows=1&set ActOffice=0 +) else if /i "%%A"=="/o" (set ActWindows=0&set ActOffice=1 +) else if /i "%%A"=="/wo" (set ActWindows=1&set ActOffice=1 +) else if /i "%%A"=="/d" (set _Debug=1 +) else if /i "%%A"=="/l" (set Logger=1&set Silent=1 +) +) +) + +::======================================================================================================================================== + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +call :_colorprep +set "_buf={$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" + +set "nceline=echo. &echo ==== ERROR ==== &echo." +set "eline=echo. &call :_color %Red% "==== ERROR ====" &echo." +if %_Debug% EQU 1 set _unattended=1 + +::======================================================================================================================================== + +if %winbuild% LSS 7600 ( +%nceline% +echo Unsupported OS version detected. +echo Project is supported for Windows 7/8/8.1/10/11 and their Server equivalent. +goto Done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto Done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%nceline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo. +echo Extract the archive file and launch the script from the extracted folder. +goto Done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%nceline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto Done +) + +::======================================================================================================================================== + +for %%# in (wmic.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find wmic.exe in the system. +if %winbuild% GEQ 22621 echo Make sure WMIC is enabled in optional features. +goto Done +) + +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "ComputerSystem" 1>nul || ( +%nceline% +echo wmic.exe is not responding in the system. +echo Aborting... +goto Done +) + +set _WSH=1 +reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0) +reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0) + +if %_WSH% EQU 0 ( +%nceline% +echo Windows Script Host is disabled. +echo It is required for this script to work. +echo Aborting... +goto Done +) + +::======================================================================================================================================== + +if %~z0 GEQ 500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") + +:: Check not x86 Windows + +set notx86= +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +if /i not "%arch%"=="x86" set notx86=1 + +::======================================================================================================================================== + +if defined _uni goto _Complete_Uninstall + +if defined _renacttask set ActTask=1&goto:RenTask +if defined _renetask set ActTask=&goto:RenTask + +::======================================================================================================================================== + +set "_title=Online KMS Activation" +set _gui= + +:_KMS_Menu + +set _tskinstalled= +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Activation-Renewal" >nul && ( +set _tskinstalled=1 +) + +set _oldtsk= +if not defined _tskinstalled ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( +set _oldtsk=1 +) +) + +if defined _unattended ( +call :Activation_Start +goto Done +) + +cls +set _gui=1 +title %_title% +mode con: cols=76 lines=30 + +echo. +echo. +echo. +echo. +echo. ______________________________________________________________ +echo. +if %_Debug%==0 ( +echo. [1] Activate - Windows +echo. [2] Activate - Office +echo. [3] Activate - All +) else ( +call :_color2 %_White% " [1] Activate - Windows " %_Red% "[Debug Mode]" +call :_color2 %_White% " [2] Activate - Office " %_Red% "[Debug Mode]" +call :_color2 %_White% " [3] Activate - All " %_Red% "[Debug Mode]" +) +echo. +if defined _tskinstalled call :_color2 %_White% " [4] Install Auto-Renewal " %_Green% "[Installed]" +if defined _oldtsk call :_color2 %_White% " [4] Install Auto-Renewal " %_Red% "[Old Installed]" +if not defined _tskinstalled if not defined _oldtsk echo. [4] Install Auto-Renewal +echo. [5] Uninstall +echo. _______________________________________________ +echo. +echo. [6] Enable Debug Mode +echo. _______________________________________________ +echo. +echo. [7] %_exitmsg% +echo. ______________________________________________________________ +echo. +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7]" +choice /C:1234567 /N +set _el=%errorlevel% + +if %_el%==7 exit /b +if %_el%==6 (if %_Debug%==0 (set _Debug=1) else (set _Debug=0)) &goto _KMS_Menu +if %_el%==5 call:_Complete_Uninstall&cls&goto _KMS_Menu +if %_el%==4 set ActTask=&call:RenTask&goto _KMS_Menu +if %_el%==3 cls&setlocal&set "ActWindows=1"&set "ActOffice=1"&call :Activation_Start&endlocal&cls&goto _KMS_Menu +if %_el%==2 cls&setlocal&set "ActWindows=0"&set "ActOffice=1"&call :Activation_Start&endlocal&cls&goto _KMS_Menu +if %_el%==1 cls&setlocal&set "ActWindows=1"&set "ActOffice=0"&call :Activation_Start&endlocal&cls&goto _KMS_Menu +goto _KMS_Menu + +::======================================================================================================================================== + +:Done + +if defined _unattended exit /b + +echo. +echo Press any key to exit... +pause >nul +exit /b + +:========================================================================================================================================= + +:Activation_Start + +@setlocal DisableDelayedExpansion + +set nil= +for %%# in (SppE%nil%xtComObj.exe,sppsvc.exe,osppsvc.exe) do ( +reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%nil%ge File Execu%nil%tion Options\%%#" /f %nul%) +) + +set "_Null=1>nul 2>nul" +set KMS_Port=1688 +if %_Debug% EQU 1 set _unattended=1 +set "_run=nul" +if %Logger% EQU 1 set _run="%~dpn0_Silent.log" + +set "SysPath=%SystemRoot%\System32" +set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "SysPath=%SystemRoot%\Sysnative" +set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" +) +set "_bit=64" +set "_wow=1" +if /i "%PROCESSOR_ARCHITECTURE%"=="amd64" set "xBit=x64"&set "xOS=x64" +if /i "%PROCESSOR_ARCHITECTURE%"=="arm64" set "xBit=x86"&set "xOS=A64" +if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "xBit=x86"&set "xOS=x86"&set "_wow=0"&set "_bit=32" +if /i "%PROCESSOR_ARCHITEW6432%"=="amd64" set "xBit=x64"&set "xOS=x64" +if /i "%PROCESSOR_ARCHITEW6432%"=="arm64" set "xBit=x86"&set "xOS=A64" + +set _cwmi=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "ComputerSystem" 1>nul && set _cwmi=1 +) + +set "_Local=%LocalAppData%" +set "_temp=%SystemRoot%\Temp" +set "_log=%~dpn0" +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" +set _UNC=0 +if "%_work:~0,2%"=="\\" set _UNC=1 +for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "_dsk=%%b" +if exist "%PUBLIC%\Desktop\desktop.ini" set "_dsk=%PUBLIC%\Desktop" +set "_mO21a=Detected Office 2021 C2R Retail is activated" +set "_mO19a=Detected Office 2019 C2R Retail is activated" +set "_mO16a=Detected Office 2016 C2R Retail is activated" +set "_mO15a=Detected Office 2013 C2R Retail is activated" +set "_mO21c=Detected Office 2021 C2R Retail could not be converted to Volume" +set "_mO19c=Detected Office 2019 C2R Retail could not be converted to Volume" +set "_mO16c=Detected Office 2016 C2R Retail could not be converted to Volume" +set "_mO15c=Detected Office 2013 C2R Retail could not be converted to Volume" +set "_mO14c=Detected Office 2010 C2R Retail is not supported by KMS_VL_ALL" +set "_mO14m=Detected Office 2010 MSI Retail is not supported by KMS_VL_ALL" +set "_mO15m=Detected Office 2013 MSI Retail is not supported by KMS_VL_ALL" +set "_mO16m=Detected Office 2016 MSI Retail is not supported by KMS_VL_ALL" +set "_mOuwp=Detected Office 365/2016 UWP is not supported by KMS_VL_ALL" +set DO16Ids=ProPlus,Standard,Access,SkypeforBusiness,Excel,Outlook,PowerPoint,Publisher,Word +set LV16Ids=Mondo,ProPlus,ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness,OneNote,Excel,Outlook,PowerPoint,Publisher,Word +set LR16Ids=%LV16Ids%,Professional,HomeBusiness,HomeStudent,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud +set "ESUEditions=Enterprise,EnterpriseE,EnterpriseN,Professional,ProfessionalE,ProfessionalN,Ultimate,UltimateE,UltimateN" +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( +set "ESUEditions=ServerDatacenter,ServerDatacenterCore,ServerDatacenterV,ServerDatacenterVCore,ServerStandard,ServerStandardCore,ServerStandardV,ServerStandardVCore,ServerEnterprise,ServerEnterpriseCore,ServerEnterpriseV,ServerEnterpriseVCore" +) +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G +set "_csq=cscript.exe //NoLogo //Job:WmiQuery "%~nx0?.wsf"" +set "_csm=cscript.exe //NoLogo //Job:WmiMethod "%~nx0?.wsf"" +set "_csp=cscript.exe //NoLogo //Job:WmiPKey "%~nx0?.wsf"" +set "_csd=cscript.exe //NoLogo //Job:MPS "%~nx0?.wsf"" +if %_cwmi% EQU 0 set WMI_VBS=1 +if %WMI_VBS% EQU 0 ( +set "_zz1=wmic path" +set "_zz2=where" +set "_zz3=get" +set "_zz4=/value" +set "_zz5=(" +set "_zz6=)" +set "_zz7="wmic path" +set "_zz8=/value"" +) else ( +set "_zz1=%_csq%" +set "_zz2=" +set "_zz3=" +set "_zz4=" +set "_zz5="" +set "_zz6="" +set "_zz7=%_csq%" +set "_zz8=" +) + +setlocal EnableDelayedExpansion +pushd "!_work!" + +if not defined _unattended ( +mode con cols=98 lines=31 +%nul% %psc% "&%_buf%" +title %_title% +) else ( +title Online KMS Activation +) + +if defined _gui if %_Debug%==1 mode con cols=98 lines=30 + +if %_Debug% EQU 0 ( + set "_Nul1=1>nul" + set "_Nul2=2>nul" + set "_Nul6=2^>nul" + set "_Nul3=1>nul 2>nul" + set "_Pause=pause >nul" + if %Silent% EQU 0 (call :Begin) else (call :Begin >!_run! 2>&1) +) else ( + set "_Nul1=" + set "_Nul2=" + set "_Nul6=" + set "_Nul3=" + set "_log=!_dsk!\%~n0" + if %Silent% EQU 0 ( + echo. + echo Running in Debug Mode... + if not defined _args (echo The window will be closed when finished) else (echo please wait...) + echo. + echo Writing debug log to: + echo "!_log!_Debug.log" + ) + @echo on + @prompt $G + @call :Begin >"!_log!_tmp.log" 2>&1 &cmd /u /c type "!_log!_tmp.log">"!_log!_Debug.log"&del "!_log!_tmp.log" +) +@echo off +if defined _gui if %_Debug%==1 ( +echo. +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b +) +@exit /b + +:Begin + +::======================================================================================================================================== + +set act_failed=0 +set /a act_attempt=0 + +echo. +echo Initializing... + +:: Check Internet connection. Works even if ICMP echo is disabled. + +call :setserv +for %%a in (%srvlist%) do ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( +if not [%%#]==[] goto IntConnected +) +) + +nslookup dns.msftncsi.com 2>nul | find "131.107.255.255" 1>nul +if [%errorlevel%]==[0] goto IntConnected + +cls +if %_Debug%==1 ( +echo Error: Internet is not connected. +exit /b +) + +if defined _unattended ( +echo. +call :_color %_Red% "Internet is not connected, continuing the process anyway." +) else ( +%eline% +echo Internet is not connected. +echo: +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b +) + +:IntConnected + +call :getserv + +::======================================================================================================================================== + +set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f" +set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663" +set "_oA14=59a52881-a989-479d-af46-f275c6370663" +set "IFEO=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options" +set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" +set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" +set SSppHook=0 +for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\skus') do ( + if %winbuild% GEQ 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*GVLK*.xrm-ms" set SSppHook=1 + if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VLKMS*.xrm-ms" set SSppHook=1 + if %winbuild% LSS 9200 if exist "%SysPath%\spp\tokens\skus\%%A\*VL-BYPASS*.xrm-ms" set SSppHook=1 +) +set OsppHook=1 +sc query osppsvc %_Nul3% +if %errorlevel% EQU 1060 set OsppHook=0 + +set ESU_KMS=0 +if %winbuild% LSS 9200 for /f %%A in ('dir /b /ad %SysPath%\spp\tokens\channels') do ( + if exist "%SysPath%\spp\tokens\channels\%%A\*VL-BYPASS*.xrm-ms" set ESU_KMS=1 +) +if %ESU_KMS% EQU 1 (set "adoff=and LicenseDependsOn is NULL"&set "addon=and LicenseDependsOn is not NULL") else (set "adoff="&set "addon=") +set ESU_EDT=0 +if %ESU_KMS% EQU 1 for %%A in (%ESUEditions%) do ( + if exist "%SysPath%\spp\tokens\skus\Security-SPP-Component-SKU-%%A\*.xrm-ms" set ESU_EDT=1 +) +:: if %ESU_EDT% EQU 1 set SSppHook=1 +set ESU_ADD=0 + +if %winbuild% GEQ 9200 ( + set OSType=Win8 + set SppVer=SppExtComObj.exe +) else if %winbuild% GEQ 7600 ( + set OSType=Win7 + set SppVer=sppsvc.exe +) else ( + goto :UnsupportedVersion +) +if %OSType% EQU Win8 reg query "%IFEO%\sppsvc.exe" %_Nul3% && ( +reg delete "%IFEO%\sppsvc.exe" /f %_Nul3% +call :StopService sppsvc +) + +if %ActWindows% EQU 0 if %ActOffice% EQU 0 set ActWindows=1 +set _AUR=1 +if %winbuild% GEQ 9600 ( + reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v NoGenTicket /t REG_DWORD /d 1 /f %_Nul3% + if %winbuild% EQU 14393 reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\CurrentVersion\Software Protection Platform" /v NoAcquireGT /t REG_DWORD /d 1 /f %_Nul3% +) +call :StopService sppsvc +if %OsppHook% NEQ 0 call :StopService osppsvc + +:ReturnHook +call :UpdateOSPPEntry osppsvc.exe + +SET Win10Gov=0 +SET "EditionWMI=" +SET "EditionID=" +IF %winbuild% LSS 14393 if %SSppHook% NEQ 0 GOTO :Main +SET "RegKey=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" +SET "Pattern=Microsoft-Windows-*Edition~31bf3856ad364e35" +SET "EditionPKG=FFFFFFFF" +FOR /F "TOKENS=8 DELIMS=\" %%A IN ('REG QUERY "%RegKey%" /f "%Pattern%" /k %_Nul6% ^| FIND /I "CurrentVersion"') DO ( + REG QUERY "%RegKey%\%%A" /v "CurrentState" %_Nul2% | FIND /I "0x70" %_Nul1% && ( + FOR /F "TOKENS=3 DELIMS=-~" %%B IN ('ECHO %%A') DO SET "EditionPKG=%%B" + ) +) +IF /I "%EditionPKG:~-7%"=="Edition" ( +SET "EditionID=%EditionPKG:~0,-7%" +) ELSE ( +FOR /F "TOKENS=3 DELIMS=: " %%A IN ('DISM /English /Online /Get-CurrentEdition %_Nul6% ^| FIND /I "Current Edition :"') DO SET "EditionID=%%A" +) +net start sppsvc /y %_Nul3% +set "_qr=%_zz7% SoftwareLicensingProduct %_zz2% %_zz5%ApplicationID='%_wApp%' %adoff% AND PartialProductKey is not NULL%_zz6% %_zz3% LicenseFamily %_zz8%" +FOR /F "TOKENS=2 DELIMS==" %%A IN ('%_qr% %_Nul6%') DO SET "EditionWMI=%%A" +IF "%EditionWMI%"=="" ( +IF %winbuild% GEQ 17063 FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B" +IF %winbuild% LSS 14393 ( + FOR /F "SKIP=2 TOKENS=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionId') DO SET "EditionID=%%B" + GOTO :Main + ) +) +IF NOT "%EditionWMI%"=="" SET "EditionID=%EditionWMI%" +IF /I "%EditionID%"=="IoTEnterprise" SET "EditionID=Enterprise" +IF /I "%EditionID%"=="IoTEnterpriseS" IF %winbuild% LSS 22610 SET "EditionID=EnterpriseS" +IF /I "%EditionID%"=="ProfessionalSingleLanguage" SET "EditionID=Professional" +IF /I "%EditionID%"=="ProfessionalCountrySpecific" SET "EditionID=Professional" +IF /I "%EditionID%"=="EnterpriseG" SET Win10Gov=1 +IF /I "%EditionID%"=="EnterpriseGN" SET Win10Gov=1 + +:Main +if defined EditionID (set "_winos=Windows %EditionID% edition") else (set "_winos=Detected Windows") +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName %_Nul6%') do if not errorlevel 1 set "_winos=%%b" +set "nKMS=does not support KMS activation..." +set "nEval=Evaluation Editions cannot be activated. Please install full Windows OS." +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set "nEval=Server Evaluation cannot be activated. Please convert to full Server OS." +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1&set "nEval=Server Evaluation cannot be activated. Please convert to full Server OS." +set "_C16R=" +reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath %_Nul3% && for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( +reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C16R=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" +) +if not defined _C16R reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath %_Nul3% && for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( +reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && set "_C16R=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration" +) +set "_C15R=" +reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath %_Nul3% && for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( +reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds %_Nul3% && call set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration" +if not defined _C15R reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && call set "_C15R=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag" +) +set "_C14R=" +if %_wow%==0 (reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k %_Nul3% && set "_C14R=1") else (reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k %_Nul3% && set "_C14R=1") +for %%A in (14,15,16,19,21) do call :officeLoc %%A +if %_O14MSI% EQU 1 set "_C14R=" + +set S_OK=1 +call :RunSPP +if %ActOffice% NEQ 0 call :RunOSPP +if %ActOffice% EQU 0 (echo.&echo Office activation is OFF...) + +if exist "!_temp!\crv*.txt" del /f /q "!_temp!\crv*.txt" +if exist "!_temp!\*chk.txt" del /f /q "!_temp!\*chk.txt" +if exist "!_temp!\slmgr.vbs" del /f /q "!_temp!\slmgr.vbs" +call :StopService sppsvc +if %OsppHook% NEQ 0 call :StopService osppsvc + +sc start sppsvc trigger=timer;sessionid=0 %_Nul3% + +goto TheEnd + +:RunSPP +set spp=SoftwareLicensingProduct +set sps=SoftwareLicensingService +set W1nd0ws=1 +set WinPerm=0 +set WinVL=0 +set Off1ce=0 +set RanR2V=0 +set aC2R21=0 +set aC2R19=0 +set aC2R16=0 +set aC2R15=0 +if %winbuild% GEQ 9200 if %ActOffice% NEQ 0 call :sppoff +set "_qr=%_zz1% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' %_zz6% %_zz3% Name %_zz4%" +%_qr% %_Nul2% | findstr /i Windows %_Nul1% && (set WinVL=1) +if %WinVL% EQU 0 ( +if %ActWindows% EQU 0 ( + echo.&echo Windows activation is OFF... + ) else ( + if %SSppHook% EQU 0 ( + echo.&echo %_winos% %nKMS% + if defined _eval echo %nEval% + ) else ( + echo.&echo Failed checking KMS Activation ID^(s^) for Windows.&echo Check Troubleshooting in MAS extras section.&call :CheckWS + exit /b + ) + ) +) +if %WinVL% EQU 0 if %Off1ce% EQU 0 exit /b +set _gvlk=0 +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL%_zz6% %_zz3% Name %_zz4%" +if %winbuild% GEQ 10240 %_qr% %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) +set gpr=0 +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL%_zz6% %_zz3% GracePeriodRemaining %_zz8%" +if %winbuild% GEQ 10240 if %SkipKMS38% NEQ 0 if %_gvlk% EQU 1 for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set "gpr=%%A" +set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL" %_zz3% LicenseFamily %_zz4%" +if %gpr% NEQ 0 if %gpr% GTR 259200 ( +set W1nd0ws=0 +%_qr% %_Nul2% | findstr /i EnterpriseG %_Nul1% && (call set W1nd0ws=1) +) +set "_qr=%_zz7% %sps% %_zz3% Version %_zz8%" +for /f "tokens=2 delims==" %%A in ('%_qr%') do set slsv=%%A +reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" %_Nul3% +reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% +if %winbuild% GEQ 9200 ( +if not %xOS%==x86 ( +reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 %_Nul3% +reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" /reg:32 %_Nul3% +reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 %_Null% +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 %_Nul3% +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" /reg:32 %_Nul3% +) +reg delete "HKLM\%SPPk%\%_oApp%" /f %_Null% +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" %_Nul3% +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% +) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' %_zz6% %_zz3% ID %_zz8%" +if %W1nd0ws% EQU 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkwin) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' %adoff% %_zz6% %_zz3% ID %_zz8%" +if %W1nd0ws% EQU 1 if %ActWindows% NEQ 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkwin) +:: set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' %addon% %_zz6% %_zz3% ID %_zz8%" +:: if %ESU_EDT% EQU 1 if %ActWindows% NEQ 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :esuchk) +if %W1nd0ws% EQU 1 if %ActWindows% EQU 0 (echo.&echo Windows activation is OFF...) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' and Description like '%%KMSCLIENT%%' %_zz6% %_zz3% ID %_zz8%" +if %Off1ce% EQU 1 if %ActOffice% NEQ 0 for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkoff 1) +reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing %_Null% +reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching %_Null% +exit /b + +:sppoff +set OffUWP=0 +if %winbuild% GEQ 10240 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msoxmled.exe" %_Nul3% && ( +dir /b "%ProgramFiles%\WindowsApps\Microsoft.Office.Desktop*" %_Nul3% && set OffUWP=1 +if not %xOS%==x86 dir /b "%ProgramW6432%\WindowsApps\Microsoft.Office.Desktop*" %_Nul3% && set OffUWP=1 +) +rem nothing installed +if %loc_off21% EQU 0 if %loc_off19% EQU 0 if %loc_off16% EQU 0 if %loc_off15% EQU 0 ( +if %winbuild% GEQ 9200 ( + if %OffUWP% EQU 0 (echo.&echo No Installed Office 2013-2021 Product Detected...) else (echo.&echo %_mOuwp%) + exit /b + ) +if %winbuild% LSS 9200 (if %loc_off14% EQU 0 (echo.&echo No Installed Office %aword% Product Detected...&exit /b)) +) +set sub_O365=0 +set sub_proj=0 +set sub_vis=0 +set Off1ce=1 +set _sC2R=sppoff +set _fC2R=ReturnSPP +set vol_off14=0&set vol_off15=0&set vol_off16=0&set vol_off19=0&set vol_off21=0 +set "_qr=%_zz1% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' AND NOT Name like '%%MondoR_KMS_Automation%%' %_zz6% %_zz3% Name %_zz4%" +%_qr% > "!_temp!\sppchk.txt" 2>&1 +find /i "Office 21" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off21=1) +find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off19=1) +find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off16=1) +find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off15=1) +if %winbuild% LSS 9200 find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (set vol_off14=1) +for %%A in (14,15,16,19,21) do if !loc_off%%A! EQU 0 set vol_off%%A=0 +set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%'" %_zz3% LicenseFamily %_zz4%" +if %vol_off16% EQU 1 find /i "Office16MondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( +%_qr% %_Nul2% | find /i "O365" %_Nul1% || (set vol_off16=0) +) +set "_qr=%_zz1% %spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'OfficeO365%%'" %_zz3% LicenseFamily %_zz4%" +if %vol_off15% EQU 1 find /i "OfficeMondoVL_KMS_Client" "!_temp!\sppchk.txt" %_Nul1% && ( +%_qr% %_Nul2% | find /i "O365" %_Nul1% || (set vol_off15=0) +) +set ret_off14=0&set ret_off15=0&set ret_off16=0&set ret_off19=0&set ret_off21=0 +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' AND NOT Name like '%%O365%%' %_zz6% %_zz3% Name %_zz4%" +%_qr% > "!_temp!\sppchk.txt" 2>&1 +find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 21" %_Nul1% && (set ret_off21=1) +find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 19" %_Nul1% && (set ret_off19=1) +find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 16" %_Nul1% && (set ret_off16=1) +find /i "R_Retail" "!_temp!\sppchk.txt" %_Nul2% | find /i "Office 15" %_Nul1% && (set ret_off15=1) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oA14%'%_zz6% %_zz3% Description %_zz4%" +if %winbuild% LSS 9200 if %vol_off14% EQU 0 %_qr% %_Nul2% | findstr /i channel %_Nul1% && (set ret_off14=1) +set run_off21=0&set prr_off21=0&set prv_off21=0 +if %loc_off21% EQU 1 if %ret_off21% EQU 1 if %_O16MSI% EQU 0 if %vol_off21% EQU 0 set run_off21=1 +if %loc_off21% EQU 1 if %ret_off21% EQU 1 if %_O16MSI% EQU 0 if %vol_off21% EQU 1 ( +for %%a in (%DO16Ids%) do find /i "Office21%%a2021R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off21+=1 + find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off21+=1 + ) +for %%a in (Professional) do find /i "Office21%%a2021R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off21+=1 + find /i "Office21ProPlus2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off21+=1 + ) +for %%a in (HomeBusiness,HomeStudent) do find /i "Office21%%a2021R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off21+=1 + find /i "Office21Standard2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off21+=1 + ) +if %sub_proj% EQU 0 for %%a in (ProjectPro,ProjectStd) do find /i "Office21%%a2021R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off21+=1 + find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off21+=1 + ) +if %sub_vis% EQU 0 for %%a in (VisioPro,VisioStd) do find /i "Office21%%a2021R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off21+=1 + find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off21+=1 + ) +) +if %loc_off21% EQU 1 if %ret_off21% EQU 1 if %_O16MSI% EQU 0 if %vol_off21% EQU 1 if %prv_off21% LSS %prr_off21% (set vol_off21=0&set run_off21=1) +set run_off19=0&set prr_off19=0&set prv_off19=0 +if %loc_off19% EQU 1 if %ret_off19% EQU 1 if %_O16MSI% EQU 0 if %vol_off19% EQU 0 set run_off19=1 +if %loc_off19% EQU 1 if %ret_off19% EQU 1 if %_O16MSI% EQU 0 if %vol_off19% EQU 1 ( +for %%a in (%DO16Ids%) do find /i "Office19%%a2019R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off19+=1 + find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off19+=1 + ) +for %%a in (Professional) do find /i "Office19%%a2019R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off19+=1 + find /i "Office19ProPlus2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off19+=1 + ) +for %%a in (HomeBusiness,HomeStudent) do find /i "Office19%%a2019R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off19+=1 + find /i "Office19Standard2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off19+=1 + ) +if %sub_proj% EQU 0 for %%a in (ProjectPro,ProjectStd) do find /i "Office19%%a2019R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off19+=1 + find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off19+=1 + ) +if %sub_vis% EQU 0 for %%a in (VisioPro,VisioStd) do find /i "Office19%%a2019R" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off19+=1 + find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off19+=1 + ) +) +if %loc_off19% EQU 1 if %ret_off19% EQU 1 if %_O16MSI% EQU 0 if %vol_off19% EQU 1 if %prv_off19% LSS %prr_off19% (set vol_off19=0&set run_off19=1) +set run_off16=0&set prr_off16=0&set prv_off16=0 +if %loc_off16% EQU 1 if %ret_off16% EQU 1 if %_O16MSI% EQU 0 if defined _C16R ( +for %%a in (%DO16Ids%) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off16+=1 + if %vol_off16% EQU 1 if %vol_off21% EQU 0 if %vol_off19% EQU 0 find /i "Office16%%aVL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off21% EQU 1 find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off19% EQU 1 find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + ) +for %%a in (Professional) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off16+=1 + if %vol_off16% EQU 1 if %vol_off21% EQU 0 if %vol_off19% EQU 0 find /i "Office16ProPlusVL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off21% EQU 1 find /i "Office21ProPlus2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off19% EQU 1 find /i "Office19ProPlus2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + ) +for %%a in (HomeBusiness,HomeStudent) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off16+=1 + if %vol_off16% EQU 1 if %vol_off21% EQU 0 if %vol_off19% EQU 0 find /i "Office16StandardVL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off21% EQU 1 find /i "Office21Standard2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off19% EQU 1 find /i "Office19Standard2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + ) +if %sub_proj% EQU 0 for %%a in (ProjectPro,ProjectStd) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off16+=1 + if %vol_off16% EQU 1 if %vol_off21% EQU 0 if %vol_off19% EQU 0 find /i "Office16%%aVL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off21% EQU 1 find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off19% EQU 1 find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + ) +if %sub_vis% EQU 0 for %%a in (VisioPro,VisioStd) do find /i "Office16%%aR" "!_temp!\sppchk.txt" %_Nul1% && ( + call set /a prr_off16+=1 + if %vol_off16% EQU 1 if %vol_off21% EQU 0 if %vol_off19% EQU 0 find /i "Office16%%aVL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off21% EQU 1 find /i "Office21%%a2021VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + if %vol_off16% EQU 0 if %vol_off19% EQU 1 find /i "Office19%%a2019VL" "!_temp!\sppchk.txt" %_Nul1% && call set /a prv_off16+=1 + ) +) +if %loc_off16% EQU 1 if %ret_off16% EQU 1 if %_O16MSI% EQU 0 if defined _C16R if %prv_off16% LSS %prr_off16% (set vol_off16=0&set run_off16=1) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%' %_zz6% %_zz3% LicenseFamily %_zz4%" +if %loc_off16% EQU 1 if %run_off16% EQU 0 if %sub_O365% EQU 0 if defined _C16R %_qr% %_Nul2% | find /i "O365" %_Nul1% && ( +find /i "Office16MondoVL" "!_temp!\sppchk.txt" %_Nul1% || set run_off16=1 +) +set run_off15=0 +if %loc_off15% EQU 1 if %ret_off15% EQU 1 if %_O15MSI% EQU 0 ( +set vol_off15=0 +if defined _C15R set run_off15=1 +) +set vol_offgl=1 +if %vol_off21% EQU 0 if %vol_off19% EQU 0 if %vol_off16% EQU 0 if %vol_off15% EQU 0 ( +if %winbuild% GEQ 9200 set vol_offgl=0 +if %winbuild% LSS 9200 if %vol_off14% EQU 0 set vol_offgl=0 +) +rem mixed Volume + Retail +if %run_off21% EQU 1 if %AutoR2V% EQU 1 if %RanR2V% EQU 0 goto :C2RR2V +if %run_off19% EQU 1 if %AutoR2V% EQU 1 if %RanR2V% EQU 0 goto :C2RR2V +if %run_off16% EQU 1 if %AutoR2V% EQU 1 if %RanR2V% EQU 0 goto :C2RR2V +if %run_off15% EQU 1 if %AutoR2V% EQU 1 if %RanR2V% EQU 0 goto :C2RR2V +rem all supported Volume + message for unsupported +if %loc_off16% EQU 0 if %ret_off16% EQU 1 if %_O16MSI% EQU 0 if %OffUWP% EQU 1 (echo.&echo %_mOuwp%) +if %vol_offgl% EQU 1 ( +if %ret_off16% EQU 1 if %_O16MSI% EQU 1 (echo.&echo %_mO16m%) +if %ret_off15% EQU 1 if %_O15MSI% EQU 1 (echo.&echo %_mO15m%) +if %winbuild% LSS 9200 if %loc_off14% EQU 1 if %vol_off14% EQU 0 (if defined _C14R (echo.&echo %_mO14c%) else if %_O14MSI% EQU 1 (if %ret_off14% EQU 1 echo.&echo %_mO14m%)) +exit /b +) +set Off1ce=0 +rem Retail C2R +if %AutoR2V% EQU 1 if %RanR2V% EQU 0 goto :C2RR2V +:ReturnSPP +rem Retail MSI/C2R or failed C2R-R2V +if %loc_off21% EQU 1 if %vol_off21% EQU 0 ( +if %aC2R21% EQU 1 (echo.&echo %_mO21a%) else (echo.&echo %_mO21c%) +) +if %loc_off19% EQU 1 if %vol_off19% EQU 0 ( +if %aC2R19% EQU 1 (echo.&echo %_mO19a%) else (echo.&echo %_mO19c%) +) +if %loc_off16% EQU 1 if %vol_off16% EQU 0 ( +if defined _C16R (if %aC2R16% EQU 1 (echo.&echo %_mO16a%) else (if %sub_O365% EQU 0 echo.&echo %_mO16c%)) else if %_O16MSI% EQU 1 (if %ret_off16% EQU 1 echo.&echo %_mO16m%) +) +if %loc_off15% EQU 1 if %vol_off15% EQU 0 ( +if defined _C15R (if %aC2R15% EQU 1 (echo.&echo %_mO15a%) else (echo.&echo %_mO15c%)) else if %_O15MSI% EQU 1 (if %ret_off15% EQU 1 echo.&echo %_mO15m%) +) +if %winbuild% LSS 9200 if %loc_off14% EQU 1 if %vol_off14% EQU 0 ( +if defined _C14R (echo.&echo %_mO14c%) else if %_O14MSI% EQU 1 (if %ret_off14% EQU 1 echo.&echo %_mO14m%) +) +exit /b + +:sppchkoff +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz4%" +%_qr% > "!_temp!\sppchk.txt" +if %winbuild% LSS 9200 find /i "Office 14" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off14% EQU 0 exit /b) +find /i "Office 15" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off15% EQU 0 exit /b) +find /i "Office 16" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off16% EQU 0 exit /b) +find /i "Office 19" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off19% EQU 0 exit /b) +find /i "Office 21" "!_temp!\sppchk.txt" %_Nul1% && (if %loc_off21% EQU 0 exit /b) +if %1 EQU 1 (set _officespp=1) else (set _officespp=0) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" +%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" +for /f "tokens=3 delims==, " %%G in ('%_qr%') do set OffVer=%%G +call :offchk%OffVer% +exit /b + +:sppchkwin +set _officespp=0 +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL%_zz6% %_zz3% Name %_zz4%" +if %winbuild% GEQ 14393 if %WinPerm% EQU 0 if %_gvlk% EQU 0 %_qr% %_Nul2% | findstr /i Windows %_Nul1% && (set _gvlk=1) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% LicenseStatus %_zz4%" +%_qr% %_Nul2% | findstr "1" %_Nul1% && (echo.&call :activate&exit /b) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" +%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) +if %winbuild% GEQ 14393 if %_gvlk% EQU 1 exit /b +if %WinPerm% EQU 1 exit /b +if %winbuild% LSS 10240 (call :winchk&exit /b) +for %%A in ( +b71515d9-89a2-4c60-88c8-656fbcca7f3a,af43f7f0-3b1e-4266-a123-1fdb53f4323b,075aca1f-05d7-42e5-a3ce-e349e7be7078 +11a37f09-fb7f-4002-bd84-f3ae71d11e90,43f2ab05-7c87-4d56-b27c-44d0f9a3dabd,2cf5af84-abab-4ff0-83f8-f040fb2576eb +6ae51eeb-c268-4a21-9aae-df74c38b586d,ff808201-fec6-4fd4-ae16-abbddade5706,34260150-69ac-49a3-8a0d-4a403ab55763 +4dfd543d-caa6-4f69-a95f-5ddfe2b89567,5fe40dd6-cf1f-4cf2-8729-92121ac2e997,903663f7-d2ab-49c9-8942-14aa9e0a9c72 +2cc171ef-db48-4adc-af09-7c574b37f139,5b2add49-b8f4-42e0-a77c-adad4efeeeb1 +) do ( +if /i '%app%' EQU '%%A' exit /b +) +if not defined EditionID (call :winchk&exit /b) +if %winbuild% LSS 14393 (call :winchk&exit /b) +if /i '%app%' EQU '32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee' if /i %EditionID% NEQ EnterpriseS exit /b +if /i '%app%' EQU 'ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69' if /i %EditionID% NEQ CloudEdition exit /b +if /i '%app%' EQU 'd30136fc-cb4b-416e-a23d-87207abc44a9' if /i %EditionID% NEQ CloudEditionN exit /b +if /i '%app%' EQU '0df4f814-3f57-4b8b-9a9d-fddadcd69fac' if /i %EditionID% NEQ CloudE exit /b +if /i '%app%' EQU 'e0c42288-980c-4788-a014-c080d2e1926e' if /i %EditionID% NEQ Education exit /b +if /i '%app%' EQU '73111121-5638-40f6-bc11-f1d7b0d64300' if /i %EditionID% NEQ Enterprise exit /b +if /i '%app%' EQU '2de67392-b7a7-462a-b1ca-108dd189f588' if /i %EditionID% NEQ Professional exit /b +if /i '%app%' EQU '3f1afc82-f8ac-4f6c-8005-1d233e606eee' if /i %EditionID% NEQ ProfessionalEducation exit /b +if /i '%app%' EQU '82bbc092-bc50-4e16-8e18-b74fc486aec3' if /i %EditionID% NEQ ProfessionalWorkstation exit /b +if /i '%app%' EQU '3c102355-d027-42c6-ad23-2e7ef8a02585' if /i %EditionID% NEQ EducationN exit /b +if /i '%app%' EQU 'e272e3e2-732f-4c65-a8f0-484747d0d947' if /i %EditionID% NEQ EnterpriseN exit /b +if /i '%app%' EQU 'a80b5abf-76ad-428b-b05d-a47d2dffeebf' if /i %EditionID% NEQ ProfessionalN exit /b +if /i '%app%' EQU '5300b18c-2e33-4dc2-8291-47ffcec746dd' if /i %EditionID% NEQ ProfessionalEducationN exit /b +if /i '%app%' EQU '4b1571d3-bafb-4b40-8087-a961be2caf65' if /i %EditionID% NEQ ProfessionalWorkstationN exit /b +if /i '%app%' EQU '58e97c99-f377-4ef1-81d5-4ad5522b5fd8' if /i %EditionID% NEQ Core exit /b +if /i '%app%' EQU 'cd918a57-a41b-4c82-8dce-1a538e221a83' if /i %EditionID% NEQ CoreSingleLanguage exit /b +if /i '%app%' EQU 'ec868e65-fadf-4759-b23e-93fe37f2cc29' if /i %EditionID% NEQ ServerRdsh exit /b +if /i '%app%' EQU 'e4db50ea-bda1-4566-b047-0ca50abc6f07' if /i %EditionID% NEQ ServerRdsh exit /b +set "_qr=%_zz1% %spp% %_zz2% "Description like '%%KMSCLIENT%%'" %_zz3% ID %_zz4%" +if /i "%app%" EQU "e4db50ea-bda1-4566-b047-0ca50abc6f07" ( +%_qr% | findstr /i "ec868e65-fadf-4759-b23e-93fe37f2cc29" %_Nul3% && (exit /b) +) +call :winchk +exit /b + +:winchk +if not defined tok (if %winbuild% GEQ 9200 (set "tok=4") else (set "tok=7")) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%LicenseStatus='1' and Description like '%%KMSCLIENT%%' %adoff% %_zz6% %_zz3% Name %_zz4%" +%_qr% %_Nul2% | findstr /i "Windows" %_Nul3% && (exit /b) +echo. +set "_qr=%_zz1% %spp% %_zz2% %_zz5%LicenseStatus='1' and GracePeriodRemaining='0' %adoff% and PartialProductKey is not NULL%_zz6% %_zz3% Name %_zz4%" +%_qr% %_Nul2% | findstr /i "Windows" %_Nul3% && ( +set WinPerm=1 +) +set WinOEM=0 +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and LicenseStatus='1' %adoff% %_zz6% %_zz3% Name %_zz4%" +if %WinPerm% EQU 0 %_qr% %_Nul2% | findstr /i "Windows" %_Nul3% && set WinOEM=1 +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and LicenseStatus='1' %adoff% %_zz6% %_zz3% Description %_zz8%" +if %WinOEM% EQU 1 ( +for /f "tokens=%tok% delims=, " %%G in ('%_qr%') do set "channel=%%G" +for %%A in (VOLUME_MAK, RETAIL, OEM_DM, OEM_SLP, OEM_COA, OEM_COA_SLP, OEM_COA_NSLP, OEM_NONSLP, OEM) do if /i "%%A"=="!channel!" set WinPerm=1 +) +if %WinPerm% EQU 0 ( +copy /y %SysPath%\slmgr.vbs "!_temp!\slmgr.vbs" %_Nul3% +cscript //nologo "!_temp!\slmgr.vbs" /xpr %_Nul2% | findstr /i "permanently" %_Nul3% && set WinPerm=1 +) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ApplicationID='%_wApp%' and LicenseStatus='1' %adoff% %_zz6% %_zz3% Name %_zz8%" +if %WinPerm% EQU 1 ( +for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Checking: %%x +echo Product is Permanently Activated. +exit /b +) +call :insKey +exit /b + +:esuchk +set _officespp=0 +set ESU_ADD=1 +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% LicenseStatus %_zz4%" +%_qr% %_Nul2% | findstr "1" %_Nul1% && (echo.&call :activate&exit /b) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='77db037b-95c3-48d7-a3ab-a9c6d41093e0'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "3fcc2df2-f625-428d-909a-1f76efc849b6" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='0e00c25d-8795-4fb7-9572-3803d91b6880'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "dadfcd24-6e37-47be-8f7f-4ceda614cece" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='4220f546-f522-46df-8202-4d07afd26454'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "0c29c85e-12d7-4af8-8e4d-ca1e424c480c" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='553673ed-6ddf-419c-a153-b760283472fd'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "f2b21bfc-a6b0-4413-b4bb-9f06b55f2812" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='04fa0286-fa74-401e-bbe9-fbfbb158010d'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "bfc078d0-8c7f-475c-8519-accc46773113" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='16c08c85-0c8b-4009-9b2b-f1f7319e45f9'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "23c6188f-c9d8-457e-81b6-adb6dacb8779" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%ID='8e7bfb1e-acc1-4f56-abae-b80fce56cd4b'%_zz6% %_zz3% LicenseStatus %_zz4%" +if /i "%app%" EQU "e7cce015-33d6-41c1-9831-022ba63fe1da" ( +%_qr% %_Nul2% | findstr "1" %_Nul1% && (exit /b) +) +set "_qr=%_zz1% %spp% %_zz2% %_zz5%PartialProductKey is not NULL%_zz6% %_zz3% ID %_zz4%" +%_qr% %_Nul2% | findstr /i "%app%" %_Nul1% && (echo.&call :activate&exit /b) +call :insKey +exit /b + +:RunOSPP +set spp=OfficeSoftwareProtectionProduct +set sps=OfficeSoftwareProtectionService +set Off1ce=0 +set RanR2V=0 +set aC2R21=0 +set aC2R19=0 +set aC2R16=0 +set aC2R15=0 +if %winbuild% LSS 9200 (set "aword=2010-2021") else (set "aword=2010") +if %OsppHook% EQU 0 (echo.&echo No Installed Office %aword% Product Detected...&exit /b) +if %winbuild% GEQ 9200 if %loc_off14% EQU 0 (echo.&echo No Installed Office %aword% Product Detected...&exit /b) +set err_offsvc=0 +net start osppsvc /y %_Nul3% || ( +sc start osppsvc %_Nul3% +if !errorlevel! EQU 1053 set err_offsvc=1 +) +if %err_offsvc% EQU 1 (echo.&echo Error: osppsvc service is not running...&exit /b) +if %winbuild% GEQ 9200 call :oppoff +if %winbuild% LSS 9200 call :sppoff +if %Off1ce% EQU 0 exit /b +set "vPrem="&set "vProf=" +set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='OfficeVisioPrem-MAK'%_zz6% %_zz3% LicenseStatus %_zz8%" +if %loc_off14% EQU 1 for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set vPrem=%%A +set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='OfficeVisioPro-MAK'%_zz6% %_zz3% LicenseStatus %_zz8%" +if %loc_off14% EQU 1 for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set vProf=%%A +set "_qr=%_zz7% %sps% %_zz3% Version %_zz8%" +for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set slsv=%%A +reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" %_Nul3% +reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% +set "_qr=%_zz7% %spp% %_zz2% %_zz5%Description like '%%KMSCLIENT%%' %_zz6% %_zz3% ID %_zz8%" +for /f "tokens=2 delims==" %%G in ('%_qr%') do (set app=%%G&call :sppchkoff 2) +reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing %_Null% +reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching %_Null% +exit /b + +:oppoff +set "_qr=%_zz1% %spp% %_zz3% Description %_zz4%" +%_qr% %_Nul2% | findstr /i KMSCLIENT %_Nul1% && ( +set Off1ce=1 +exit /b +) +set ret_off14=0 +%_qr% %_Nul2% | findstr /i channel %_Nul1% && (set ret_off14=1) +if defined _C14R (echo.&echo %_mO14c%) else if %_O14MSI% EQU 1 (if %ret_off14% EQU 1 echo.&echo %_mO14m%) +exit /b + +:offchk +set ls=0 +set ls2=0 +set ls3=0 +set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='Office%~1'%_zz6% %_zz3% LicenseStatus %_zz8%" +for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set /a ls=%%A +set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='Office%~3'%_zz6% %_zz3% LicenseStatus %_zz8%" +if /i not "%~3"=="" for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set /a ls2=%%A +set "_qr=%_zz7% %spp% %_zz2% %_zz5%LicenseFamily='Office%~5'%_zz6% %_zz3% LicenseStatus %_zz8%" +if /i not "%~5"=="" for /f "tokens=2 delims==" %%A in ('%_qr% %_Nul6%') do set /a ls3=%%A +if "%ls3%"=="1" ( +echo Checking: %~6 +echo Product is Permanently Activated. +exit /b +) +if "%ls2%"=="1" ( +echo Checking: %~4 +echo Product is Permanently Activated. +exit /b +) +if "%ls%"=="1" ( +echo Checking: %~2 +echo Product is Permanently Activated. +exit /b +) +call :insKey +exit /b + +:offchk21 +if /i '%app%' EQU 'f3fb2d68-83dd-4c8b-8f09-08e0d950ac3b' exit /b +if /i '%app%' EQU '76093b1b-7057-49d7-b970-638ebcbfd873' exit /b +if /i '%app%' EQU 'a3b44174-2451-4cd6-b25f-66638bfb9046' exit /b +if /i '%app%' EQU 'fbdb3e18-a8ef-4fb3-9183-dffd60bd0984' ( +call :offchk "21ProPlus2021VL_MAK_AE1" "Office ProPlus 2021" "21ProPlus2021VL_MAK_AE2" +exit /b +) +if /i '%app%' EQU '080a45c5-9f9f-49eb-b4b0-c3c610a5ebd3' ( +call :offchk "21Standard2021VL_MAK_AE" "Office Standard 2021" +exit /b +) +if /i '%app%' EQU '76881159-155c-43e0-9db7-2d70a9a3a4ca' ( +call :offchk "21ProjectPro2021VL_MAK_AE1" "Project Pro 2021" "21ProjectPro2021VL_MAK_AE2" +exit /b +) +if /i '%app%' EQU '6dd72704-f752-4b71-94c7-11cec6bfc355' ( +call :offchk "21ProjectStd2021VL_MAK_AE" "Project Standard 2021" +exit /b +) +if /i '%app%' EQU 'fb61ac9a-1688-45d2-8f6b-0674dbffa33c' ( +call :offchk "21VisioPro2021VL_MAK_AE" "Visio Pro 2021" +exit /b +) +if /i '%app%' EQU '72fce797-1884-48dd-a860-b2f6a5efd3ca' ( +call :offchk "21VisioStd2021VL_MAK_AE" "Visio Standard 2021" +exit /b +) +call :insKey +exit /b + +:offchk19 +if /i '%app%' EQU '0bc88885-718c-491d-921f-6f214349e79c' exit /b +if /i '%app%' EQU 'fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9' exit /b +if /i '%app%' EQU '500f6619-ef93-4b75-bcb4-82819998a3ca' exit /b +if /i '%app%' EQU '85dd8b5f-eaa4-4af3-a628-cce9e77c9a03' ( +call :offchk "19ProPlus2019VL_MAK_AE" "Office ProPlus 2019" +exit /b +) +if /i '%app%' EQU '6912a74b-a5fb-401a-bfdb-2e3ab46f4b02' ( +call :offchk "19Standard2019VL_MAK_AE" "Office Standard 2019" +exit /b +) +if /i '%app%' EQU '2ca2bf3f-949e-446a-82c7-e25a15ec78c4' ( +call :offchk "19ProjectPro2019VL_MAK_AE" "Project Pro 2019" +exit /b +) +if /i '%app%' EQU '1777f0e3-7392-4198-97ea-8ae4de6f6381' ( +call :offchk "19ProjectStd2019VL_MAK_AE" "Project Standard 2019" +exit /b +) +if /i '%app%' EQU '5b5cf08f-b81a-431d-b080-3450d8620565' ( +call :offchk "19VisioPro2019VL_MAK_AE" "Visio Pro 2019" +exit /b +) +if /i '%app%' EQU 'e06d7df3-aad0-419d-8dfb-0ac37e2bdf39' ( +call :offchk "19VisioStd2019VL_MAK_AE" "Visio Standard 2019" +exit /b +) +call :insKey +exit /b + +:offchk16 +if /i '%app%' EQU 'd450596f-894d-49e0-966a-fd39ed4c4c64' ( +call :offchk "16ProPlusVL_MAK" "Office ProPlus 2016" +exit /b +) +if /i '%app%' EQU 'dedfa23d-6ed1-45a6-85dc-63cae0546de6' ( +call :offchk "16StandardVL_MAK" "Office Standard 2016" +exit /b +) +if /i '%app%' EQU '4f414197-0fc2-4c01-b68a-86cbb9ac254c' ( +call :offchk "16ProjectProVL_MAK" "Project Pro 2016" +exit /b +) +if /i '%app%' EQU 'da7ddabc-3fbe-4447-9e01-6ab7440b4cd4' ( +call :offchk "16ProjectStdVL_MAK" "Project Standard 2016" +exit /b +) +if /i '%app%' EQU '6bf301c1-b94a-43e9-ba31-d494598c47fb' ( +call :offchk "16VisioProVL_MAK" "Visio Pro 2016" +exit /b +) +if /i '%app%' EQU 'aa2a7821-1827-4c2c-8f1d-4513a34dda97' ( +call :offchk "16VisioStdVL_MAK" "Visio Standard 2016" +exit /b +) +if /i '%app%' EQU '829b8110-0e6f-4349-bca4-42803577788d' ( +call :offchk "16ProjectProXC2RVL_MAKC2R" "Project Pro 2016 C2R" +exit /b +) +if /i '%app%' EQU 'cbbaca45-556a-4416-ad03-bda598eaa7c8' ( +call :offchk "16ProjectStdXC2RVL_MAKC2R" "Project Standard 2016 C2R" +exit /b +) +if /i '%app%' EQU 'b234abe3-0857-4f9c-b05a-4dc314f85557' ( +call :offchk "16VisioProXC2RVL_MAKC2R" "Visio Pro 2016 C2R" +exit /b +) +if /i '%app%' EQU '361fe620-64f4-41b5-ba77-84f8e079b1f7' ( +call :offchk "16VisioStdXC2RVL_MAKC2R" "Visio Standard 2016 C2R" +exit /b +) +call :insKey +exit /b + +:offchk15 +if /i '%app%' EQU 'b322da9c-a2e2-4058-9e4e-f59a6970bd69' ( +call :offchk "ProPlusVL_MAK" "Office ProPlus 2013" +exit /b +) +if /i '%app%' EQU 'b13afb38-cd79-4ae5-9f7f-eed058d750ca' ( +call :offchk "StandardVL_MAK" "Office Standard 2013" +exit /b +) +if /i '%app%' EQU '4a5d124a-e620-44ba-b6ff-658961b33b9a' ( +call :offchk "ProjectProVL_MAK" "Project Pro 2013" +exit /b +) +if /i '%app%' EQU '427a28d1-d17c-4abf-b717-32c780ba6f07' ( +call :offchk "ProjectStdVL_MAK" "Project Standard 2013" +exit /b +) +if /i '%app%' EQU 'e13ac10e-75d0-4aff-a0cd-764982cf541c' ( +call :offchk "VisioProVL_MAK" "Visio Pro 2013" +exit /b +) +if /i '%app%' EQU 'ac4efaf0-f81f-4f61-bdf7-ea32b02ab117' ( +call :offchk "VisioStdVL_MAK" "Visio Standard 2013" +exit /b +) +call :insKey +exit /b + +:offchk14 +if /i '%app%' EQU '6f327760-8c5c-417c-9b61-836a98287e0c' ( +call :offchk "ProPlus-MAK" "Office ProPlus 2010" "ProPlusAcad-MAK" "Office Professional Academic 2010" +exit /b +) +if /i '%app%' EQU '9da2a678-fb6b-4e67-ab84-60dd6a9c819a' ( +call :offchk "Standard-MAK" "Office Standard 2010" "StandardAcad-MAK" "Office Standard Academic 2010" +exit /b +) +if /i '%app%' EQU 'ea509e87-07a1-4a45-9edc-eba5a39f36af' ( +call :offchk "SmallBusBasics-MAK" "Office Small Business Basics 2010" +exit /b +) +if /i '%app%' EQU 'df133ff7-bf14-4f95-afe3-7b48e7e331ef' ( +call :offchk "ProjectPro-MAK" "Project Pro 2010" +exit /b +) +if /i '%app%' EQU '5dc7bf61-5ec9-4996-9ccb-df806a2d0efe' ( +call :offchk "ProjectStd-MAK" "Project Standard 2010" "ProjectStd-MAK2" "Project Standard 2010" +exit /b +) +if /i '%app%' EQU '92236105-bb67-494f-94c7-7f7a607929bd' ( +call :offchk "VisioPrem-MAK" "Visio Premium 2010" "VisioPro-MAK" "Visio Pro 2010" +exit /b +) +if defined vPrem exit /b +if /i '%app%' EQU 'e558389c-83c3-4b29-adfe-5e4d7f46c358' ( +call :offchk "VisioPro-MAK" "Visio Pro 2010" "VisioStd-MAK" "Visio Standard 2010" +exit /b +) +if defined vProf exit /b +if /i '%app%' EQU '9ed833ff-4f92-4f36-b370-8683a4f13275' ( +call :offchk "VisioStd-MAK" "Visio Standard 2010" +exit /b +) +call :insKey +exit /b + +:officeLoc +set loc_off%1=0 +set _O%1MSI=0 +if %1 EQU 19 ( +if defined _C16R reg query %_C16R% /v ProductReleaseIds %_Nul2% | findstr 2019 %_Nul1% && set loc_off%1=1 +exit /b +) +if %1 EQU 21 ( +if defined _C16R reg query %_C16R% /v ProductReleaseIds %_Nul2% | findstr 2021 %_Nul1% && set loc_off%1=1 +exit /b +) + +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" ( +set loc_off%1=1 +set _O%1MSI=1 +) +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\%1.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" ( +set loc_off%1=1 +set _O%1MSI=1 +) + +if %1 EQU 16 if defined _C16R ( +for /f "skip=2 tokens=2*" %%a in ('reg query %_C16R% /v ProductReleaseIds') do echo %%b> "!_temp!\c2rchk.txt" +for %%a in (%LV16Ids%,ProjectProX,ProjectStdX,VisioProX,VisioStdX) do ( + findstr /I /C:"%%aVolume" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1 + ) +for %%a in (%LR16Ids%) do ( + findstr /I /C:"%%aRetail" "!_temp!\c2rchk.txt" %_Nul1% && set loc_off%1=1 + ) +exit /b +) + +if %1 EQU 15 if defined _C15R ( +set loc_off%1=1 +exit /b +) + +if exist "%ProgramFiles%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 +if not %xOS%==x86 if exist "%ProgramW6432%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 +if not %xOS%==x86 if exist "%ProgramFiles(x86)%\Microsoft Office\Office%1\OSPP.VBS" set loc_off%1=1 +exit /b + +:insKey +set S_OK=1 +echo. +set "_key=" +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" +if %ESU_ADD% EQU 0 for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Installing Key: %%x +if %ESU_ADD% EQU 1 for /f "tokens=2 delims==f" %%x in ('%_qr%') do echo Installing Key: %%x +set ESU_ADD=0 +call :keys %app% +if "%_key%"=="" (echo No associated KMS Client key found&exit /b) +set "_qr=wmic path %sps% where Version='%slsv%' call InstallProductKey ProductKey="%_key%"" +if %WMI_VBS% NEQ 0 set "_qr=%_csp% %sps% "%_key%"" +%_qr% %_Nul3% +set ERRORCODE=%ERRORLEVEL% +if %ERRORCODE% NEQ 0 ( +cmd /c exit /b %ERRORCODE% +echo Failed: 0x!=ExitCode! +set S_OK=0 +exit /b +) +set "_qr=wmic path %sps% where Version='%slsv%' call RefreshLicenseStatus" +if %WMI_VBS% NEQ 0 set "_qr=%_csm% "%sps%.Version='%slsv%'" RefreshLicenseStatus" +if %sps% EQU SoftwareLicensingService %_qr% %_Nul3% + +:activate +set S_OK=1 +if %sps% EQU SoftwareLicensingService ( +if %_officespp% EQU 0 (reg delete "HKLM\%SPPk%\%_wApp%\%app%" /f %_Null%) else (reg delete "HKLM\%SPPk%\%_oApp%\%app%" /f %_Null%) +) else ( +reg delete "HKLM\%OPPk%\%_oA14%\%app%" /f %_Null% +reg delete "HKLM\%OPPk%\%_oApp%\%app%" /f %_Null% +) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" +if %W1nd0ws% EQU 0 if %_officespp% EQU 0 if %sps% EQU SoftwareLicensingService ( +reg add "HKLM\%SPPk%\%_wApp%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" %_Nul3% +reg add "HKLM\%SPPk%\%_wApp%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% +for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Checking: %%x +echo Product is KMS 2038 Activated. +set _keepkms38=1 +exit /b +) +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% Name %_zz8%" +if %act_attempt% LSS 1 ( +if %ESU_ADD% EQU 0 for /f "tokens=2 delims==" %%x in ('%_qr%') do echo Activating: %%x +if %ESU_ADD% EQU 1 for /f "tokens=2 delims==f" %%x in ('%_qr%') do echo Activating: %%x +) + +set ESU_ADD=0 +set "_qr=wmic path %spp% where ID='%app%' call Activate" +if %WMI_VBS% NEQ 0 set "_qr=%_csm% "%spp%.ID='%app%'" Activate" +%_qr% %_Nul3% +call set ERRORCODE=%ERRORLEVEL% +if %ERRORCODE% EQU -1073418187 ( +echo Product Activation Failed: 0xC004F035 +if %OSType% EQU Win7 echo Windows 7 cannot be KMS-activated on this computer due to unqualified OEM BIOS. +echo See Read Me for details. +exit /b +) +if %ERRORCODE% EQU -1073417728 ( +echo Product Activation Failed: 0xC004F200 +echo Windows needs to rebuild the activation-related files. +echo See KB2736303 for details. +exit /b +) +if %ERRORCODE% EQU -1073422315 ( +echo Product Activation Failed: 0xC004E015 +echo Running slmgr.vbs /rilc to mitigate. +cscript //Nologo //B %SysPath%\slmgr.vbs /rilc +) +set gpr=0 +set gpr2=0 +set "_qr=%_zz7% %spp% %_zz2% %_zz5%ID='%app%'%_zz6% %_zz3% GracePeriodRemaining %_zz8%" +for /f "tokens=2 delims==" %%x in ('%_qr%') do (set gpr=%%x&set /a "gpr2=(%%x+1440-1)/1440") +if %ERRORCODE% EQU 0 if %gpr% EQU 0 ( +echo Product Activation succeeded, but Remaining Period failed to increase. +if %OSType% EQU Win7 echo This could be related to the error described in KB4487266 +exit /b +) +set Act_OK=0 +if %gpr% EQU 43200 if %_officespp% EQU 0 if %winbuild% GEQ 9200 set Act_OK=1 +if %gpr% EQU 64800 set Act_OK=1 +if %gpr% GTR 259200 if %Win10Gov% EQU 1 set Act_OK=1 +if %gpr% EQU 259200 set Act_OK=1 + +if %ERRORCODE% EQU 0 if %Act_OK% EQU 1 ( +call :_color %_Green% "Product Activation Successful" +echo Remaining Period: %gpr2% days ^(%gpr% minutes^) +set /a act_attempt=0 +exit /b +) + +if not !server_num! gtr %max_servers% ( +if %act_attempt% LSS 3 ( +set /a act_attempt+=1 +call :getserv +%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" +%nul% reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" +if %winbuild% GEQ 9200 ( +%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" +if defined notx86 ( +%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" /reg:32 +%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" /reg:32 +) +) +goto :activate +) +) + +cmd /c exit /b %ERRORCODE% +if %ERRORCODE% NEQ 0 ( +call :_color %_Red% "Product Activation Failed: 0x!=ExitCode!" +) else ( +call :_color %_Red% "Product Activation Failed" +) +echo Remaining Period: %gpr2% days ^(%gpr% minutes^) +set S_OK=0 +set act_failed=1 +set /a act_attempt=0 +exit /b + +:StopService +sc query %1 | find /i "STOPPED" %_Nul1% || net stop %1 /y %_Nul3% +sc query %1 | find /i "STOPPED" %_Nul1% || sc stop %1 %_Nul3% +goto :eof + +:UpdateOSPPEntry +if /i %1 EQU osppsvc.exe ( +reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "!KMS_IP!" %_Nul3% +reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "%KMS_Port%" %_Nul3% +) +goto :eof + +:CheckFR + +set WMIe=0 +call :CheckWS +if %WMIe% EQU 1 ( +echo. +echo %_err% +echo Failed running WMI query check. +echo. +echo Verify that these services are working correctly: +echo Windows Management Instrumentation [WinMgmt] +echo Software Protection [sppsvc] +) +goto :eof + +:CheckWS +set "_qrw=%_zz1% Win32_ComputerSystem %_zz3% CreationClassName %_zz4%" +set "_qrs=%_zz1% SoftwareLicensingService %_zz3% Version %_zz4%" + +%_qrs% %_Nul2% | findstr /r "[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" %_Nul1% || ( + set WMIe=1 + %_qrw% %_Nul2% | find /i "ComputerSystem" %_Nul1% && ( + echo Error: SPP is not responding + ) || ( + echo Error: WMI ^& SPP are not responding + ) +) +goto :eof + +:C2RR2V +set RanR2V=1 +set "_SLMGR=%SysPath%\slmgr.vbs" +if %_Debug% EQU 0 ( +set "_cscript=cscript //Nologo //B" +) else ( +set "_cscript=cscript //Nologo" +) +set _LTSC=0 +set "_tag="&set "_ons= 2016" +sc query ClickToRunSvc %_Nul3% +set error1=%errorlevel% +sc query OfficeSvc %_Nul3% +set error2=%errorlevel% +if %error1% EQU 1060 if %error2% EQU 1060 ( +echo Error: Office C2R service is not detected +goto :%_fC2R% +) +set _Office16=0 +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( + set _Office16=1 +) +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" ( + set _Office16=1 +) +set _Office15=0 +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( + set _Office15=1 +) +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do if exist "%%b\root\Licenses\ProPlus*.xrm-ms" ( + set _Office15=1 +) +if %_Office16% EQU 0 if %_Office15% EQU 0 ( +echo Error: Office C2R InstallPath is not detected +goto :%_fC2R% +) + +:Reg16istry +if %_Office16% EQU 0 goto :Reg15istry +set "_InstallRoot=" +set "_ProductIds=" +set "_GUID=" +set "_Config=" +set "_PRIDs=" +set "_LicensesPath=" +set "_Integrator=" +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do (set "_InstallRoot=%%b\root") +if not "%_InstallRoot%"=="" ( + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul6%') do (set "_GUID=%%b") + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_ProductIds=%%b") + set "_Config=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" + set "_PRIDs=HKLM\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs" +) else ( + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" %_Nul6%') do (set "_InstallRoot=%%b\root") + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v PackageGUID" %_Nul6%') do (set "_GUID=%%b") + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_ProductIds=%%b") + set "_Config=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\Configuration" + set "_PRIDs=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun\ProductReleaseIDs" +) +set "_LicensesPath=%_InstallRoot%\Licenses16" +set "_Integrator=%_InstallRoot%\integration\integrator.exe" +for /f "skip=2 tokens=2*" %%a in ('"reg query %_PRIDs% /v ActiveConfiguration" %_Nul6%') do set "_PRIDs=%_PRIDs%\%%b" +if "%_ProductIds%"=="" ( +if %_Office15% EQU 0 (echo Error: Office C2R ProductIDs are not detected&goto :%_fC2R%) else (goto :Reg15istry) +) +if not exist "%_LicensesPath%\ProPlus*.xrm-ms" ( +if %_Office15% EQU 0 (echo Error: Office C2R Licenses files are not detected&goto :%_fC2R%) else (goto :Reg15istry) +) +if not exist "%_Integrator%" ( +if %_Office15% EQU 0 (echo Error: Office C2R Licenses Integrator is not detected&goto :%_fC2R%) else (goto :Reg15istry) +) +if exist "%_LicensesPath%\Word2019VL_KMS_Client_AE*.xrm-ms" (set "_tag=2019"&set "_ons= 2019") +if exist "%_LicensesPath%\Word2021VL_KMS_Client_AE*.xrm-ms" (set _LTSC=1) +if %winbuild% LSS 10240 if !_LTSC! EQU 1 (set "_tag=2021"&set "_ons= 2021") +if %_Office15% EQU 0 goto :CheckC2R + +:Reg15istry +set "_Install15Root=" +set "_Product15Ids=" +set "_Con15fig=" +set "_PR15IDs=" +set "_OSPP15Ready=" +set "_Licenses15Path=" +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do (set "_Install15Root=%%b\root") +if not "%_Install15Root%"=="" ( + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_Product15Ids=%%b") + set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" + set "_PR15IDs=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs" + set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Configuration" +) else ( + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath" %_Nul6%') do (set "_Install15Root=%%b\root") + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" %_Nul6%') do (set "_Product15Ids=%%b") + set "_Con15fig=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\Configuration /v ProductReleaseIds" + set "_PR15IDs=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\ProductReleaseIDs" + set "_OSPP15Ready=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\Configuration" +) +set "_OSPP15ReadT=REG_SZ" +if "%_Product15Ids%"=="" ( +reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && ( + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" %_Nul6%') do (set "_Product15Ids=%%b") + set "_Con15fig=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" + set "_OSPP15Ready=HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun" + set "_OSPP15ReadT=REG_DWORD" + ) +reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid %_Nul3% && ( + for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" %_Nul6%') do (set "_Product15Ids=%%b") + set "_Con15fig=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun\propertyBag /v productreleaseid" + set "_OSPP15Ready=HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun" + set "_OSPP15ReadT=REG_DWORD" + ) +) +set "_Licenses15Path=%_Install15Root%\Licenses" +if exist "%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" ( + set "_OSPP15VBS=%ProgramFiles%\Microsoft Office\Office15\OSPP.VBS" +) else if exist "%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" ( + set "_OSPP15VBS=%ProgramW6432%\Microsoft Office\Office15\OSPP.VBS" +) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" ( + set "_OSPP15VBS=%ProgramFiles(x86)%\Microsoft Office\Office15\OSPP.VBS" +) +if "%_Product15Ids%"=="" ( +if %_Office16% EQU 0 (echo Error: Office 2013 C2R ProductIDs are not detected&goto :%_fC2R%) else (goto :CheckC2R) +) +if not exist "%_Licenses15Path%\ProPlus*.xrm-ms" ( +if %_Office16% EQU 0 (echo Error: Office 2013 C2R Licenses files are not detected&goto :%_fC2R%) else (goto :CheckC2R) +) +if %winbuild% LSS 9200 if not exist "%_OSPP15VBS%" ( +if %_Office16% EQU 0 (echo Error: Office 2013 C2R Licensing tool OSPP.vbs is not detected&goto :%_fC2R%) else (goto :CheckC2R) +) + +:CheckC2R +set _OMSI=0 +if %_Office16% EQU 0 ( +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 +) +if %_Office15% EQU 0 ( +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" %_Nul6%') do if exist "%%b\OSPP.VBS" set _OMSI=1 +) +if %winbuild% GEQ 9200 ( +set _spp=SoftwareLicensingProduct +set _sps=SoftwareLicensingService +set "_vbsi=%_SLMGR% /ilc " +) else ( +set _spp=OfficeSoftwareProtectionProduct +set _sps=OfficeSoftwareProtectionService +set _vbsi="!_OSPP15VBS!" /inslic: +) +set "_wmi=" +set "_qr=%_zz7% %_sps% %_zz3% Version %_zz8%" +for /f "tokens=2 delims==" %%# in ('%_qr%') do set _wmi=%%# +if "%_wmi%"=="" ( +echo Error: %_sps% WMI version is not detected +call :CheckWS +goto :%_fC2R% +) +set _Identity=0 +set _vNext=0 +dir /b /s /a:-d "!_Local!\Microsoft\Office\Licenses\*1*" %_Nul3% && set _Identity=1 +dir /b /s /a:-d "!ProgramData!\Microsoft\Office\Licenses\*1*" %_Nul3% && set _Identity=1 +set kNext=HKCU\SOFTWARE\Microsoft\Office\16.0\Common\Licensing\LicensingNext +if %_Identity% EQU 1 reg query %kNext% /v MigrationToV5Done %_Nul2% | find /i "0x1" %_Nul1% && set _vNext=1 +if %_vNext% EQU 1 ( +reg query %kNext% | findstr /i /r ".*retail" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x2" %_Nul1% && (set sub_O365=1) +reg query %kNext% | findstr /i /r ".*retail" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x3" %_Nul1% && (set sub_O365=1) +reg query %kNext% | findstr /i /r ".*volume" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x2" %_Nul1% && (set sub_O365=1) +reg query %kNext% | findstr /i /r ".*volume" %_Nul2% | findstr /i /v "project visio" %_Nul2% | find /i "0x3" %_Nul1% && (set sub_O365=1) +reg query %kNext% | findstr /i /r "project.*" %_Nul2% | find /i "0x2" %_Nul1% && set sub_proj=1 +reg query %kNext% | findstr /i /r "project.*" %_Nul2% | find /i "0x3" %_Nul1% && set sub_proj=1 +reg query %kNext% | findstr /i /r "visio.*" %_Nul2% | find /i "0x2" %_Nul1% && set sub_vis=1 +reg query %kNext% | findstr /i /r "visio.*" %_Nul2% | find /i "0x3" %_Nul1% && set sub_vis=1 +) +set _Retail=0 +set "_ocq=ApplicationID='%_oApp%' AND LicenseStatus='1' AND PartialProductKey is not NULL" +if %WMI_VBS% EQU 0 wmic path %_spp% where (%_ocq%) get Description %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" +set "_qr=%_csq% %_spp% "%_ocq%" Description" +if %WMI_VBS% NEQ 0 %_qr% %_Nul2% >"!_temp!\crvRetail.txt" +find /i "RETAIL channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 +find /i "RETAIL(MAK) channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 +find /i "TIMEBASED_SUB channel" "!_temp!\crvRetail.txt" %_Nul1% && set _Retail=1 +set "_copp=" +if exist "%SysPath%\msvcr100.dll" ( +set _copp=1 +) else if exist "!_InstallRoot!\vfs\System\msvcr100.dll" ( +set _copp="!_InstallRoot!\vfs\System" +) else if exist "!_Install15Root!\vfs\System\msvcr100.dll" ( +set _copp="!_Install15Root!\vfs\System" +) else if exist "%SystemRoot%\SysWOW64\msvcr100.dll" ( +set _copp=1 +set xBit=x86 +) else if exist "!_InstallRoot!\vfs\SystemX86\msvcr100.dll" ( +set _copp="!_InstallRoot!\vfs\SystemX86" +set xBit=x86 +) else if exist "!_Install15Root!\vfs\SystemX86\msvcr100.dll" ( +set _copp="!_Install15Root!\vfs\SystemX86" +set xBit=x86 +) +set rancopp=0 +if %_Identity% EQU 0 if %_Retail% EQU 0 if %_OMSI% EQU 0 if defined _copp call :oppcln +goto :oppchk + +:oppcln +set rancopp=1 +set "_cleanloc=%SystemRoot%\Temp\_cleanospp" +if exist "%_cleanloc%\.*" rmdir /s /q "%_cleanloc%\" %nul% +md "%_cleanloc%\" %nul% +pushd "%_cleanloc%\" +setlocal +set "TMP=%SystemRoot%\Temp" +set "TEMP=%SystemRoot%\Temp" +%nul% %psc% "$b=[IO.File]::ReadAllText('!_batp!')-split'[:]cleanospp[:].*';iex $b[1]; B 1" +endlocal +popd +set extf= +if not exist "%_cleanloc%\BIN\cleanosppx64.exe" set extf=1 +if not exist "%_cleanloc%\BIN\cleanosppx86.exe" set extf=1 +if defined extf ( +set "_copp=" +echo Failed to extract cleanospp files +) +if "!_copp!"=="1" ( +%_Nul3% "!_cleanloc!\bin\cleanospp%xBit%.exe" -Licenses +) else if not defined extf ( +pushd %_copp% +%_Nul3% copy /y "!_cleanloc!\bin\cleanospp%xBit%.exe" cleanospp.exe +%_Nul3% cleanospp.exe -Licenses +%_Nul3% del /f /q cleanospp.exe +popd +) +cd \ +if exist "%_cleanloc%\.*" rmdir /s /q "%_cleanloc%\" %nul% +exit /b + +:oppchk +set _O16O365=0 +set _C16Msg=0 +set _C15Msg=0 +set "_qr=%_csq% %_spp% "%_ocq%" LicenseFamily" +if %_Retail% EQU 1 if %WMI_VBS% EQU 0 wmic path %_spp% where (%_ocq%) get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvRetail.txt" +if %_Retail% EQU 1 if %WMI_VBS% NEQ 0 %_qr% %_Nul2% >"!_temp!\crvRetail.txt" +set "_qr=%_csq% %_spp% "ApplicationID='%_oApp%'" LicenseFamily" +if %WMI_VBS% EQU 0 wmic path %_spp% where "ApplicationID='%_oApp%'" get LicenseFamily %_Nul2% |findstr /V /R "^$" >"!_temp!\crvVolume.txt" 2>&1 +if %WMI_VBS% NEQ 0 %_qr% %_Nul2% >"!_temp!\crvVolume.txt" 2>&1 + +if %_Office16% EQU 0 goto :R15V + +set _O21Ids=ProPlus2021,ProjectPro2021,VisioPro2021,Standard2021,ProjectStd2021,VisioStd2021,Access2021,SkypeforBusiness2021 +set _O19Ids=ProPlus2019,ProjectPro2019,VisioPro2019,Standard2019,ProjectStd2019,VisioStd2019,Access2019,SkypeforBusiness2019 +set _O16Ids=ProjectPro,VisioPro,Standard,ProjectStd,VisioStd,Access,SkypeforBusiness +set _A21Ids=Excel2021,Outlook2021,PowerPoint2021,Publisher2021,Word2021 +set _A19Ids=Excel2019,Outlook2019,PowerPoint2019,Publisher2019,Word2019 +set _A16Ids=Excel,Outlook,PowerPoint,Publisher,Word +set _V21Ids=%_O21Ids%,%_A21Ids% +set _V19Ids=%_O19Ids%,%_A19Ids% +set _V16Ids=Mondo,%_O16Ids%,%_A16Ids%,OneNote +set _R16Ids=%_V16Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud +set _RetIds=%_V21Ids%,Professional2021,HomeBusiness2021,HomeStudent2021,%_V19Ids%,Professional2019,HomeBusiness2019,HomeStudent2019,%_R16Ids% +set _Suites=Mondo,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud,ProPlus,Standard,Professional,HomeBusiness,HomeStudent,ProPlus2019,Standard2019,Professional2019,HomeBusiness2019,HomeStudent2019,ProPlus2021,Standard2021,Professional2021,HomeBusiness2021,HomeStudent2021 +set _PrjSKU=ProjectPro,ProjectStd,ProjectPro2019,ProjectStd2019,ProjectPro2021,ProjectStd2021 +set _VisSKU=VisioPro,VisioStd,VisioPro2019,VisioStd2019,VisioPro2021,VisioStd2021 + +echo %_ProductIds%>"!_temp!\crvProductIds.txt" +for %%a in (%_RetIds%,ProPlus) do ( +set _%%a=0 +) +for %%a in (%_RetIds%) do ( +findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && set _%%a=1 +) +if !_LTSC! EQU 0 for %%a in (%_V21Ids%) do ( +set _%%a=0 +) +if !_LTSC! EQU 1 for %%a in (%_V21Ids%) do ( +findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( + find /i "Office21%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) + ) +) +for %%a in (%_V19Ids%) do ( +findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( + find /i "Office19%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) + ) +) +for %%a in (%_V16Ids%) do ( +findstr /I /C:"%%aVolume" "!_temp!\crvProductIds.txt" %_Nul1% && ( + find /i "Office16%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) + ) +) +reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && ( + find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) +) +reg query %_PRIDs%\ProPlusVolume.16 %_Nul3% && ( + find /i "Office16ProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) +) +if %_Retail% EQU 1 for %%a in (%_RetIds%) do ( +findstr /I /C:"%%aRetail" "!_temp!\crvProductIds.txt" %_Nul1% && ( + find /i "Office16%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aE5R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aEDUR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office16%%aXC2RVL_MAKC2R" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R16=1) + find /i "Office19%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) + find /i "Office19%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) + find /i "Office19%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) + find /i "Office19%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R19=1) + find /i "Office21%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) + find /i "Office21%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) + find /i "Office21%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) + find /i "Office21%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R21=1) + ) +) +if %_Retail% EQU 1 reg query %_PRIDs%\ProPlusRetail.16 %_Nul3% && ( + find /i "Office16ProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) + find /i "Office16ProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) + find /i "Office16ProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) + find /i "Office16ProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R16=1) +) +set "_qr=%_zz1% %_spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'Office16O365%%'" %_zz3% LicenseFamily %_zz4%" +find /i "Office16MondoVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && ( +%_qr% %_Nul2% | find /i "O365" %_Nul1% && ( + for %%a in (O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem,O365EduCloud) do set _%%a=0 + ) +) +if %sub_O365% EQU 1 ( + for %%a in (%_Suites%) do set _%%a=0 +echo. +echo Microsoft Office is activated with a subscription. +) +if %sub_proj% EQU 1 ( + for %%a in (%_PrjSKU%) do set _%%a=0 +echo. +echo Microsoft Project is activated with a subscription. +) +if %sub_vis% EQU 1 ( + for %%a in (%_VisSKU%) do set _%%a=0 +echo. +echo Microsoft Visio is activated with a subscription. +) + +for %%a in (%_RetIds%,ProPlus) do if !_%%a! EQU 1 ( +set _C16Msg=1 +) +if %_C16Msg% EQU 1 ( +echo. +echo Converting Office C2R Retail-to-Volume: +) +if %_C16Msg% EQU 0 (if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R)) + +if !_Mondo! EQU 1 ( +call :InsLic Mondo +) +if !_O365ProPlus! EQU 1 ( +echo O365ProPlus 2016 Suite ^<-^> Mondo 2016 Licenses +call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK +if !_Mondo! EQU 0 call :InsLic Mondo +) +if !_O365Business! EQU 1 if !_O365ProPlus! EQU 0 ( +set _O365ProPlus=1 +echo O365Business 2016 Suite ^<-^> Mondo 2016 Licenses +call :InsLic O365Business NCHRJ-3VPGW-X73DM-6B36K-3RQ6B +if !_Mondo! EQU 0 call :InsLic Mondo +) +if !_O365SmallBusPrem! EQU 1 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( +set _O365ProPlus=1 +echo O365SmallBusPrem 2016 Suite ^<-^> Mondo 2016 Licenses +call :InsLic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R +if !_Mondo! EQU 0 call :InsLic Mondo +) +if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( +set _O365ProPlus=1 +echo O365HomePrem 2016 Suite ^<-^> Mondo 2016 Licenses +call :InsLic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9 +if !_Mondo! EQU 0 call :InsLic Mondo +) +if !_O365EduCloud! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365Business! EQU 0 if !_O365ProPlus! EQU 0 ( +set _O365ProPlus=1 +echo O365EduCloud 2016 Suite ^<-^> Mondo 2016 Licenses +call :InsLic O365EduCloud 8843N-BCXXD-Q84H8-R4Q37-T3CPT +if !_Mondo! EQU 0 call :InsLic Mondo +) +if !_O365ProPlus! EQU 1 set _O16O365=1 +if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 ( +echo Mondo 2016 Suite +call :InsLic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK +if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) +) +if !_ProPlus2021! EQU 1 if !_O365ProPlus! EQU 0 ( +echo ProPlus 2021 Suite +call :InsLic ProPlus2021 +) +if !_ProPlus2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 ( +echo ProPlus 2019 Suite -^> ProPlus%_ons% Licenses +call :InsLic ProPlus%_tag% +) +if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 ( +echo ProPlus 2016 Suite -^> ProPlus%_ons% Licenses +call :InsLic ProPlus%_tag% +) +if !_Professional2021! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 ( +echo Professional 2021 Suite -^> ProPlus 2021 Licenses +call :InsLic ProPlus2021 +) +if !_Professional2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 ( +echo Professional 2019 Suite -^> ProPlus%_ons% Licenses +call :InsLic ProPlus%_tag% +) +if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 ( +echo Professional 2016 Suite -^> ProPlus%_ons% Licenses +call :InsLic ProPlus%_tag% +) +if !_Standard2021! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 ( +echo Standard 2021 Suite +call :InsLic Standard2021 +) +if !_Standard2019! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 ( +echo Standard 2019 Suite -^> Standard%_ons% Licenses +call :InsLic Standard%_tag% +) +if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 ( +echo Standard 2016 Suite -^> Standard%_ons% Licenses +call :InsLic Standard%_tag% +) +for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a2021! EQU 1 ( + echo %%a 2021 SKU + call :InsLic %%a2021 +) +for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a2019! EQU 1 ( +if !_%%a2021! EQU 0 ( + echo %%a 2019 SKU -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 ( +if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( + echo %%a 2016 SKU -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (HomeBusiness,HomeStudent) do if !_%%a2021! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 ( + set _Standard2021=1 + echo %%a 2021 Suite -^> Standard 2021 Licenses + call :InsLic Standard2021 + ) +) +for %%a in (HomeBusiness,HomeStudent) do if !_%%a2019! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 ( + set _Standard2019=1 + echo %%a 2019 Suite -^> Standard%_ons% Licenses + call :InsLic Standard%_tag% + ) +) +for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( + set _Standard=1 + echo %%a 2016 Suite -^> Standard%_ons% Licenses + call :InsLic Standard%_tag% + ) +) +for %%a in (%_A21Ids%,OneNote) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 ( + echo %%a App + call :InsLic %%a + ) +) +for %%a in (%_A16Ids%) do if !_%%a2019! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 ( + echo %%a 2019 App -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (%_A16Ids%) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_Standard2021! EQU 0 if !_Standard2019! EQU 0 if !_Standard! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( + echo %%a 2016 App -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (Access) do if !_%%a2021! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 ( + echo %%a 2021 App + call :InsLic %%a2021 + ) +) +for %%a in (Access) do if !_%%a2019! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_%%a2021! EQU 0 ( + echo %%a 2019 App -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (Access) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_Professional2021! EQU 0 if !_Professional2019! EQU 0 if !_Professional! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( + echo %%a 2016 App -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (SkypeforBusiness) do if !_%%a2021! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 ( + echo %%a 2021 App + call :InsLic %%a2021 + ) +) +for %%a in (SkypeforBusiness) do if !_%%a2019! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_%%a2021! EQU 0 ( + echo %%a 2019 App -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +for %%a in (SkypeforBusiness) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus2021! EQU 0 if !_ProPlus2019! EQU 0 if !_ProPlus! EQU 0 if !_%%a2021! EQU 0 if !_%%a2019! EQU 0 ( + echo %%a 2016 App -^> %%a%_ons% Licenses + call :InsLic %%a%_tag% + ) +) +if %_Office15% EQU 1 (goto :R15V) else (goto :GVLKC2R) + +:R15V +for %%# in ("!_Licenses15Path!\client-issuance-*.xrm-ms") do ( +%_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#" +) +%_cscript% %_vbsi%"!_Licenses15Path!\pkeyconfig-office.xrm-ms" + +set _O15Ids=Standard,ProjectPro,VisioPro,ProjectStd,VisioStd,Access,Lync +set _A15Ids=Excel,Groove,InfoPath,OneNote,Outlook,PowerPoint,Publisher,Word +set _R15Ids=SPD,Mondo,%_O15Ids%,%_A15Ids%,Professional,HomeBusiness,HomeStudent,O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem +set _V15Ids=Mondo,%_O15Ids%,%_A15Ids% + +echo %_Product15Ids%>"!_temp!\crvProduct15s.txt" +for %%a in (%_R15Ids%,ProPlus) do ( +set _%%a=0 +) +for %%a in (%_R15Ids%) do ( +findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && set _%%a=1 +) +for %%a in (%_V15Ids%) do ( +findstr /I /C:"%%aVolume" "!_temp!\crvProduct15s.txt" %_Nul1% && ( + find /i "Office%%aVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _%%a=0) || (set _%%a=1) + ) +) +reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && ( + find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) +) +reg query %_PR15IDs%\Active\ProPlusVolume\x-none %_Nul3% && ( + find /i "OfficeProPlusVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && (set _ProPlus=0) || (set _ProPlus=1) +) +if %_Retail% EQU 1 for %%a in (%_R15Ids%) do ( +findstr /I /C:"%%aRetail" "!_temp!\crvProduct15s.txt" %_Nul1% && ( + find /i "Office%%aR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aR_Sub" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aR_PIN" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aCO365R_" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + find /i "Office%%aVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _%%a=0 & set aC2R15=1) + ) +) +if %_Retail% EQU 1 reg query %_PR15IDs%\Active\ProPlusRetail\x-none %_Nul3% && ( + find /i "OfficeProPlusR_Retail" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) + find /i "OfficeProPlusR_OEM" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) + find /i "OfficeProPlusMSDNR_" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) + find /i "OfficeProPlusVL_MAK" "!_temp!\crvRetail.txt" %_Nul1% && (set _ProPlus=0 & set aC2R15=1) +) +set "_qr=%_zz1% %_spp% %_zz2% "ApplicationID='%_oApp%' AND LicenseFamily like 'OfficeO365%%'" %_zz3% LicenseFamily %_zz4%" +find /i "OfficeMondoVL_KMS_Client" "!_temp!\crvVolume.txt" %_Nul1% && ( +%_qr% %_Nul2% | find /i "O365" %_Nul1% && ( + for %%a in (O365ProPlus,O365Business,O365SmallBusPrem,O365HomePrem) do set _%%a=0 + ) +) + +for %%a in (%_R15Ids%,ProPlus) do if !_%%a! EQU 1 ( +set _C15Msg=1 +) +if %_C15Msg% EQU 1 if %_C16Msg% EQU 0 ( +echo. +echo Converting Office C2R Retail-to-Volume: +) +if %_C15Msg% EQU 0 goto :GVLKC2R + +if !_Mondo! EQU 1 ( +call :Ins15Lic Mondo +) +if !_O365ProPlus! EQU 1 if !_O16O365! EQU 0 ( +echo O365ProPlus 2013 Suite ^<-^> Mondo 2013 Licenses +call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK +if !_Mondo! EQU 0 call :Ins15Lic Mondo +) +if !_O365SmallBusPrem! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( +set _O365ProPlus=1 +echo O365SmallBusPrem 2013 Suite ^<-^> Mondo 2013 Licenses +call :Ins15Lic O365SmallBusPrem 3FBRX-NFP7C-6JWVK-F2YGK-H499R +if !_Mondo! EQU 0 call :Ins15Lic Mondo +) +if !_O365HomePrem! EQU 1 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( +set _O365ProPlus=1 +echo O365HomePrem 2013 Suite ^<-^> Mondo 2013 Licenses +call :Ins15Lic O365HomePrem 9FNY8-PWWTY-8RY4F-GJMTV-KHGM9 +if !_Mondo! EQU 0 call :Ins15Lic Mondo +) +if !_O365Business! EQU 1 if !_O365HomePrem! EQU 0 if !_O365SmallBusPrem! EQU 0 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( +set _O365ProPlus=1 +echo O365Business 2013 Suite ^<-^> Mondo 2013 Licenses +call :Ins15Lic O365Business MCPBN-CPY7X-3PK9R-P6GTT-H8P8Y +if !_Mondo! EQU 0 call :Ins15Lic Mondo +) +if !_Mondo! EQU 1 if !_O365ProPlus! EQU 0 if !_O16O365! EQU 0 ( +echo Mondo 2013 Suite +call :Ins15Lic O365ProPlus DRNV7-VGMM2-B3G9T-4BF84-VMFTK +goto :GVLKC2R +) +if !_SPD! EQU 1 if !_Mondo! EQU 0 if !_O365ProPlus! EQU 0 ( +echo SharePoint Designer 2013 App -^> Mondo 2013 Licenses +call :Ins15Lic Mondo +goto :GVLKC2R +) +if !_ProPlus! EQU 1 if !_O365ProPlus! EQU 0 ( +echo ProPlus 2013 Suite +call :Ins15Lic ProPlus +) +if !_Professional! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 ( +echo Professional 2013 Suite -^> ProPlus 2013 Licenses +call :Ins15Lic ProPlus +) +if !_Standard! EQU 1 if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 ( +echo Standard 2013 Suite +call :Ins15Lic Standard +) +for %%a in (ProjectPro,VisioPro,ProjectStd,VisioStd) do if !_%%a! EQU 1 ( +echo %%a 2013 SKU +call :Ins15Lic %%a +) +for %%a in (HomeBusiness,HomeStudent) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 ( + set _Standard=1 + echo %%a 2013 Suite -^> Standard 2013 Licenses + call :Ins15Lic Standard + ) +) +for %%a in (%_A15Ids%) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 if !_Standard! EQU 0 ( + echo %%a 2013 App + call :Ins15Lic %%a + ) +) +for %%a in (Access) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 if !_Professional! EQU 0 ( + echo %%a 2013 App + call :Ins15Lic %%a + ) +) +for %%a in (Lync) do if !_%%a! EQU 1 ( +if !_O365ProPlus! EQU 0 if !_ProPlus! EQU 0 ( + echo SkypeforBusiness 2015 App + call :Ins15Lic %%a + ) +) +goto :GVLKC2R + +:InsLic +set "_ID=%1Volume" +set "_pkey=" +if not "%2"=="" ( +set "_ID=%1Retail" +set "_pkey=PidKey=%2" +) +reg delete %_Config% /f /v %_ID%.OSPPReady %_Nul3% +"!_Integrator!" /I /License PRIDName=%_ID%.16 %_pkey% PackageGUID="%_GUID%" PackageRoot="!_InstallRoot!" %_Nul1% +reg add %_Config% /f /v %_ID%.OSPPReady /t REG_SZ /d 1 %_Nul1% +reg query %_Config% /v ProductReleaseIds | findstr /I "%_ID%" %_Nul1% +if %errorlevel% NEQ 0 ( +for /f "skip=2 tokens=2*" %%a in ('reg query %_Config% /v ProductReleaseIds') do reg add %_Config% /v ProductReleaseIds /t REG_SZ /d "%%b,%_ID%" /f %_Nul1% +) +exit /b + +:Ins15Lic +set "_ID=%1Volume" +set "_patt=%1VL_" +set "_pkey=" +if not "%2"=="" ( +set "_ID=%1Retail" +set "_patt=%1R_" +set "_pkey=%2" +) +reg delete %_OSPP15Ready% /f /v %_ID%.OSPPReady %_Nul3% +for %%# in ("!_Licenses15Path!\%_patt%*.xrm-ms") do ( +%_cscript% %_vbsi%"!_Licenses15Path!\%%~nx#" +) +set "_qr=wmic path %_sps% where Version='%_wmi%' call InstallProductKey ProductKey="%_pkey%"" +if %WMI_VBS% NEQ 0 set "_qr=%_csp% %_sps% "%_pkey%"" +if defined _pkey %_qr% %_Nul3% +reg add %_OSPP15Ready% /f /v %_ID%.OSPPReady /t %_OSPP15ReadT% /d 1 %_Nul1% +reg query %_Con15fig% %_Nul2% | findstr /I "%_ID%" %_Nul1% +if %errorlevel% NEQ 0 ( +for /f "skip=2 tokens=2*" %%a in ('reg query %_Con15fig% %_Nul6%') do reg add %_Con15fig% /t REG_SZ /d "%%b,%_ID%" /f %_Nul1% +) +exit /b + +:GVLKC2R +set _CtRMsg=0 +if %_C16Msg% EQU 1 set _CtRMsg=1 +if %_C15Msg% EQU 1 set _CtRMsg=1 +if %_Office16% EQU 1 ( +for %%a in (%_RetIds%,ProPlus) do set "_%%a=" +) +if %_Office15% EQU 1 ( +for %%a in (%_R15Ids%,ProPlus) do set "_%%a=" +) +set "_qr=wmic path %_sps% where version='%_wmi%' call RefreshLicenseStatus" +if %WMI_VBS% NEQ 0 set "_qr=%_csm% "%_sps%.Version='%_wmi%'" RefreshLicenseStatus" +if %winbuild% GEQ 9200 %_qr% %_Nul3% +if exist "%SysPath%\spp\store_test\2.0\tokens.dat" if %rancopp% EQU 1 if %_CtRMsg% EQU 1 ( +%_cscript% %_SLMGR% /rilc +if !ERRORLEVEL! NEQ 0 %_cscript% %_SLMGR% /rilc +) +goto :%_sC2R% + +:keys +if "%~1"=="" exit /b +set hy=- +goto :%1 %_Nul2% + +:: Windows 11 [Ni] +:59eb965c-9150-42b7-a0ec-22151b9897c5 +set "_key=KBN8V%hy%HFGQ4%hy%MGXVD%hy%347P6%hy%PDQGT" &:: IoT Enterprise LTSC +exit /b + +:: Windows 11 [Co] +:ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69 +set "_key=37D7F%hy%N49CB%hy%WQR8W%hy%TBJ73%hy%FM8RX" &:: SE {Cloud} +exit /b + +:d30136fc-cb4b-416e-a23d-87207abc44a9 +set "_key=6XN7V%hy%PCBDC%hy%BDBRH%hy%8DQY7%hy%G6R44" &:: SE N {Cloud N} +exit /b + +:: Windows 10 [RS5] +:32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee +set "_key=M7XTQ%hy%FN8P6%hy%TTKYV%hy%9D4CC%hy%J462D" &:: Enterprise LTSC 2019 +exit /b + +:7103a333-b8c8-49cc-93ce-d37c09687f92 +set "_key=92NFX%hy%8DJQP%hy%P6BBQ%hy%THF9C%hy%7CG2H" &:: Enterprise LTSC 2019 N +exit /b + +:ec868e65-fadf-4759-b23e-93fe37f2cc29 +set "_key=CPWHC%hy%NT2C7%hy%VYW78%hy%DHDB2%hy%PG3GK" &:: Enterprise for Virtual Desktops +exit /b + +:0df4f814-3f57-4b8b-9a9d-fddadcd69fac +set "_key=NBTWJ%hy%3DR69%hy%3C4V8%hy%C26MC%hy%GQ9M6" &:: Lean +exit /b + +:: Windows 10 [RS3] +:82bbc092-bc50-4e16-8e18-b74fc486aec3 +set "_key=NRG8B%hy%VKK3Q%hy%CXVCJ%hy%9G2XF%hy%6Q84J" &:: Pro Workstation +exit /b + +:4b1571d3-bafb-4b40-8087-a961be2caf65 +set "_key=9FNHH%hy%K3HBT%hy%3W4TD%hy%6383H%hy%6XYWF" &:: Pro Workstation N +exit /b + +:e4db50ea-bda1-4566-b047-0ca50abc6f07 +set "_key=7NBT4%hy%WGBQX%hy%MP4H7%hy%QXFF8%hy%YP3KX" &:: Enterprise Remote Server +exit /b + +:: Windows 10 [RS2] +:e0b2d383-d112-413f-8a80-97f373a5820c +set "_key=YYVX9%hy%NTFWV%hy%6MDM3%hy%9PT4T%hy%4M68B" &:: Enterprise G +exit /b + +:e38454fb-41a4-4f59-a5dc-25080e354730 +set "_key=44RPN%hy%FTY23%hy%9VTTB%hy%MP9BX%hy%T84FV" &:: Enterprise G N +exit /b + +:: Windows 10 [RS1] +:2d5a5a60-3040-48bf-beb0-fcd770c20ce0 +set "_key=DCPHK%hy%NFMTC%hy%H88MJ%hy%PFHPY%hy%QJ4BJ" &:: Enterprise 2016 LTSB +exit /b + +:9f776d83-7156-45b2-8a5c-359b9c9f22a3 +set "_key=QFFDN%hy%GRT3P%hy%VKWWX%hy%X7T3R%hy%8B639" &:: Enterprise 2016 LTSB N +exit /b + +:3f1afc82-f8ac-4f6c-8005-1d233e606eee +set "_key=6TP4R%hy%GNPTD%hy%KYYHQ%hy%7B7DP%hy%J447Y" &:: Pro Education +exit /b + +:5300b18c-2e33-4dc2-8291-47ffcec746dd +set "_key=YVWGF%hy%BXNMC%hy%HTQYQ%hy%CPQ99%hy%66QFC" &:: Pro Education N +exit /b + +:: Windows 10 [TH] +:58e97c99-f377-4ef1-81d5-4ad5522b5fd8 +set "_key=TX9XD%hy%98N7V%hy%6WMQ6%hy%BX7FG%hy%H8Q99" &:: Home +exit /b + +:7b9e1751-a8da-4f75-9560-5fadfe3d8e38 +set "_key=3KHY7%hy%WNT83%hy%DGQKR%hy%F7HPR%hy%844BM" &:: Home N +exit /b + +:cd918a57-a41b-4c82-8dce-1a538e221a83 +set "_key=7HNRX%hy%D7KGG%hy%3K4RQ%hy%4WPJ4%hy%YTDFH" &:: Home Single Language +exit /b + +:a9107544-f4a0-4053-a96a-1479abdef912 +set "_key=PVMJN%hy%6DFY6%hy%9CCP6%hy%7BKTT%hy%D3WVR" &:: Home China +exit /b + +:2de67392-b7a7-462a-b1ca-108dd189f588 +set "_key=W269N%hy%WFGWX%hy%YVC9B%hy%4J6C9%hy%T83GX" &:: Pro +exit /b + +:a80b5abf-76ad-428b-b05d-a47d2dffeebf +set "_key=MH37W%hy%N47XK%hy%V7XM9%hy%C7227%hy%GCQG9" &:: Pro N +exit /b + +:e0c42288-980c-4788-a014-c080d2e1926e +set "_key=NW6C2%hy%QMPVW%hy%D7KKK%hy%3GKT6%hy%VCFB2" &:: Education +exit /b + +:3c102355-d027-42c6-ad23-2e7ef8a02585 +set "_key=2WH4N%hy%8QGBV%hy%H22JP%hy%CT43Q%hy%MDWWJ" &:: Education N +exit /b + +:73111121-5638-40f6-bc11-f1d7b0d64300 +set "_key=NPPR9%hy%FWDCX%hy%D2C8J%hy%H872K%hy%2YT43" &:: Enterprise +exit /b + +:e272e3e2-732f-4c65-a8f0-484747d0d947 +set "_key=DPH2V%hy%TTNVB%hy%4X9Q3%hy%TJR4H%hy%KHJW4" &:: Enterprise N +exit /b + +:7b51a46c-0c04-4e8f-9af4-8496cca90d5e +set "_key=WNMTR%hy%4C88C%hy%JK8YV%hy%HQ7T2%hy%76DF9" &:: Enterprise 2015 LTSB +exit /b + +:87b838b7-41b6-4590-8318-5797951d8529 +set "_key=2F77B%hy%TNFGY%hy%69QQF%hy%B8YKP%hy%D69TJ" &:: Enterprise 2015 LTSB N +exit /b + +:: Windows Server 2022 [Fe] +:9bd77860-9b31-4b7b-96ad-2564017315bf +set "_key=VDYBN%hy%27WPP%hy%V4HQT%hy%9VMD4%hy%VMK7H" &:: Standard +exit /b + +:ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03 +set "_key=WX4NM%hy%KYWYW%hy%QJJR4%hy%XV3QB%hy%6VM33" &:: Datacenter +exit /b + +:8c8f0ad3-9a43-4e05-b840-93b8d1475cbc +set "_key=6N379%hy%GGTMK%hy%23C6M%hy%XVVTC%hy%CKFRQ" &:: Azure Core +exit /b + +:f5e9429c-f50b-4b98-b15c-ef92eb5cff39 +set "_key=67KN8%hy%4FYJW%hy%2487Q%hy%MQ2J7%hy%4C4RG" &:: Standard ACor +exit /b + +:39e69c41-42b4-4a0a-abad-8e3c10a797cc +set "_key=QFND9%hy%D3Y9C%hy%J3KKY%hy%6RPVP%hy%2DPYV" &:: Datacenter ACor +exit /b + +:: Windows Server 2019 [RS5] +:de32eafd-aaee-4662-9444-c1befb41bde2 +set "_key=N69G4%hy%B89J2%hy%4G8F4%hy%WWYCC%hy%J464C" &:: Standard +exit /b + +:34e1ae55-27f8-4950-8877-7a03be5fb181 +set "_key=WMDGN%hy%G9PQG%hy%XVVXX%hy%R3X43%hy%63DFG" &:: Datacenter +exit /b + +:a99cc1f0-7719-4306-9645-294102fbff95 +set "_key=FDNH6%hy%VW9RW%hy%BXPJ7%hy%4XTYG%hy%239TB" &:: Azure Core +exit /b + +:73e3957c-fc0c-400d-9184-5f7b6f2eb409 +set "_key=N2KJX%hy%J94YW%hy%TQVFB%hy%DG9YT%hy%724CC" &:: Standard ACor +exit /b + +:90c362e5-0da1-4bfd-b53b-b87d309ade43 +set "_key=6NMRW%hy%2C8FM%hy%D24W7%hy%TQWMY%hy%CWH2D" &:: Datacenter ACor +exit /b + +:034d3cbb-5d4b-4245-b3f8-f84571314078 +set "_key=WVDHN%hy%86M7X%hy%466P6%hy%VHXV7%hy%YY726" &:: Essentials +exit /b + +:8de8eb62-bbe0-40ac-ac17-f75595071ea3 +set "_key=GRFBW%hy%QNDC4%hy%6QBHG%hy%CCK3B%hy%2PR88" &:: ServerARM64 +exit /b + +:19b5e0fb-4431-46bc-bac1-2f1873e4ae73 +set "_key=NTBV8%hy%9K7Q8%hy%V27C6%hy%M2BTV%hy%KHMXV" &:: Azure Datacenter %hy% ServerTurbine +exit /b + +:: Windows Server 2016 [RS4] +:43d9af6e-5e86-4be8-a797-d072a046896c +set "_key=K9FYF%hy%G6NCK%hy%73M32%hy%XMVPY%hy%F9DRR" &:: ServerARM64 +exit /b + +:: Windows Server 2016 [RS3] +:61c5ef22-f14f-4553-a824-c4b31e84b100 +set "_key=PTXN8%hy%JFHJM%hy%4WC78%hy%MPCBR%hy%9W4KR" &:: Standard ACor +exit /b + +:e49c08e7-da82-42f8-bde2-b570fbcae76c +set "_key=2HXDN%hy%KRXHB%hy%GPYC7%hy%YCKFJ%hy%7FVDG" &:: Datacenter ACor +exit /b + +:: Windows Server 2016 [RS1] +:8c1c5410-9f39-4805-8c9d-63a07706358f +set "_key=WC2BQ%hy%8NRM3%hy%FDDYY%hy%2BFGV%hy%KHKQY" &:: Standard +exit /b + +:21c56779-b449-4d20-adfc-eece0e1ad74b +set "_key=CB7KF%hy%BWN84%hy%R7R2Y%hy%793K2%hy%8XDDG" &:: Datacenter +exit /b + +:3dbf341b-5f6c-4fa7-b936-699dce9e263f +set "_key=VP34G%hy%4NPPG%hy%79JTQ%hy%864T4%hy%R3MQX" &:: Azure Core +exit /b + +:2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283 +set "_key=JCKRF%hy%N37P4%hy%C2D82%hy%9YXRT%hy%4M63B" &:: Essentials +exit /b + +:7b4433f4-b1e7-4788-895a-c45378d38253 +set "_key=QN4C6%hy%GBJD2%hy%FB422%hy%GHWJK%hy%GJG2R" &:: Cloud Storage +exit /b + +:: Windows 8.1 +:fe1c3238-432a-43a1-8e25-97e7d1ef10f3 +set "_key=M9Q9P%hy%WNJJT%hy%6PXPY%hy%DWX8H%hy%6XWKK" &:: Core +exit /b + +:78558a64-dc19-43fe-a0d0-8075b2a370a3 +set "_key=7B9N3%hy%D94CG%hy%YTVHR%hy%QBPX3%hy%RJP64" &:: Core N +exit /b + +:c72c6a1d-f252-4e7e-bdd1-3fca342acb35 +set "_key=BB6NG%hy%PQ82V%hy%VRDPW%hy%8XVD2%hy%V8P66" &:: Core Single Language +exit /b + +:db78b74f-ef1c-4892-abfe-1e66b8231df6 +set "_key=NCTT7%hy%2RGK8%hy%WMHRF%hy%RY7YQ%hy%JTXG3" &:: Core China +exit /b + +:ffee456a-cd87-4390-8e07-16146c672fd0 +set "_key=XYTND%hy%K6QKT%hy%K2MRH%hy%66RTM%hy%43JKP" &:: Core ARM +exit /b + +:c06b6981-d7fd-4a35-b7b4-054742b7af67 +set "_key=GCRJD%hy%8NW9H%hy%F2CDX%hy%CCM8D%hy%9D6T9" &:: Pro +exit /b + +:7476d79f-8e48-49b4-ab63-4d0b813a16e4 +set "_key=HMCNV%hy%VVBFX%hy%7HMBH%hy%CTY9B%hy%B4FXY" &:: Pro N +exit /b + +:096ce63d-4fac-48a9-82a9-61ae9e800e5f +set "_key=789NJ%hy%TQK6T%hy%6XTH8%hy%J39CJ%hy%J8D3P" &:: Pro with Media Center +exit /b + +:81671aaf-79d1-4eb1-b004-8cbbe173afea +set "_key=MHF9N%hy%XY6XB%hy%WVXMC%hy%BTDCT%hy%MKKG7" &:: Enterprise +exit /b + +:113e705c-fa49-48a4-beea-7dd879b46b14 +set "_key=TT4HM%hy%HN7YT%hy%62K67%hy%RGRQJ%hy%JFFXW" &:: Enterprise N +exit /b + +:0ab82d54-47f4-4acb-818c-cc5bf0ecb649 +set "_key=NMMPB%hy%38DD4%hy%R2823%hy%62W8D%hy%VXKJB" &:: Embedded Industry Pro +exit /b + +:cd4e2d9f-5059-4a50-a92d-05d5bb1267c7 +set "_key=FNFKF%hy%PWTVT%hy%9RC8H%hy%32HB2%hy%JB34X" &:: Embedded Industry Enterprise +exit /b + +:f7e88590-dfc7-4c78-bccb-6f3865b99d1a +set "_key=VHXM3%hy%NR6FT%hy%RY6RT%hy%CK882%hy%KW2CJ" &:: Embedded Industry Automotive +exit /b + +:e9942b32-2e55-4197-b0bd-5ff58cba8860 +set "_key=3PY8R%hy%QHNP9%hy%W7XQD%hy%G6DPH%hy%3J2C9" &:: with Bing +exit /b + +:c6ddecd6-2354-4c19-909b-306a3058484e +set "_key=Q6HTR%hy%N24GM%hy%PMJFP%hy%69CD8%hy%2GXKR" &:: with Bing N +exit /b + +:b8f5e3a3-ed33-4608-81e1-37d6c9dcfd9c +set "_key=KF37N%hy%VDV38%hy%GRRTV%hy%XH8X6%hy%6F3BB" &:: with Bing Single Language +exit /b + +:ba998212-460a-44db-bfb5-71bf09d1c68b +set "_key=R962J%hy%37N87%hy%9VVK2%hy%WJ74P%hy%XTMHR" &:: with Bing China +exit /b + +:e58d87b5-8126-4580-80fb-861b22f79296 +set "_key=MX3RK%hy%9HNGX%hy%K3QKC%hy%6PJ3F%hy%W8D7B" &:: Pro for Students +exit /b + +:cab491c7-a918-4f60-b502-dab75e334f40 +set "_key=TNFGH%hy%2R6PB%hy%8XM3K%hy%QYHX2%hy%J4296" &:: Pro for Students N +exit /b + +:: Windows Server 2012 R2 +:b3ca044e-a358-4d68-9883-aaa2941aca99 +set "_key=D2N9P%hy%3P6X9%hy%2R39C%hy%7RTCD%hy%MDVJX" &:: Standard +exit /b + +:00091344-1ea4-4f37-b789-01750ba6988c +set "_key=W3GGN%hy%FT8W3%hy%Y4M27%hy%J84CP%hy%Q3VJ9" &:: Datacenter +exit /b + +:21db6ba4-9a7b-4a14-9e29-64a60c59301d +set "_key=KNC87%hy%3J2TX%hy%XB4WP%hy%VCPJV%hy%M4FWM" &:: Essentials +exit /b + +:b743a2be-68d4-4dd3-af32-92425b7bb623 +set "_key=3NPTF%hy%33KPT%hy%GGBPR%hy%YX76B%hy%39KDD" &:: Cloud Storage +exit /b + +:: Windows 8 +:c04ed6bf-55c8-4b47-9f8e-5a1f31ceee60 +set "_key=BN3D2%hy%R7TKB%hy%3YPBD%hy%8DRP2%hy%27GG4" &:: Core +exit /b + +:197390a0-65f6-4a95-bdc4-55d58a3b0253 +set "_key=8N2M2%hy%HWPGY%hy%7PGT9%hy%HGDD8%hy%GVGGY" &:: Core N +exit /b + +:8860fcd4-a77b-4a20-9045-a150ff11d609 +set "_key=2WN2H%hy%YGCQR%hy%KFX6K%hy%CD6TF%hy%84YXQ" &:: Core Single Language +exit /b + +:9d5584a2-2d85-419a-982c-a00888bb9ddf +set "_key=4K36P%hy%JN4VD%hy%GDC6V%hy%KDT89%hy%DYFKP" &:: Core China +exit /b + +:af35d7b7-5035-4b63-8972-f0b747b9f4dc +set "_key=DXHJF%hy%N9KQX%hy%MFPVR%hy%GHGQK%hy%Y7RKV" &:: Core ARM +exit /b + +:a98bcd6d-5343-4603-8afe-5908e4611112 +set "_key=NG4HW%hy%VH26C%hy%733KW%hy%K6F98%hy%J8CK4" &:: Pro +exit /b + +:ebf245c1-29a8-4daf-9cb1-38dfc608a8c8 +set "_key=XCVCF%hy%2NXM9%hy%723PB%hy%MHCB7%hy%2RYQQ" &:: Pro N +exit /b + +:a00018a3-f20f-4632-bf7c-8daa5351c914 +set "_key=GNBB8%hy%YVD74%hy%QJHX6%hy%27H4K%hy%8QHDG" &:: Pro with Media Center +exit /b + +:458e1bec-837a-45f6-b9d5-925ed5d299de +set "_key=32JNW%hy%9KQ84%hy%P47T8%hy%D8GGY%hy%CWCK7" &:: Enterprise +exit /b + +:e14997e7-800a-4cf7-ad10-de4b45b578db +set "_key=JMNMF%hy%RHW7P%hy%DMY6X%hy%RF3DR%hy%X2BQT" &:: Enterprise N +exit /b + +:10018baf-ce21-4060-80bd-47fe74ed4dab +set "_key=RYXVT%hy%BNQG7%hy%VD29F%hy%DBMRY%hy%HT73M" &:: Embedded Industry Pro +exit /b + +:18db1848-12e0-4167-b9d7-da7fcda507db +set "_key=NKB3R%hy%R2F8T%hy%3XCDP%hy%7Q2KW%hy%XWYQ2" &:: Embedded Industry Enterprise +exit /b + +:: Windows Server 2012 +:f0f5ec41-0d55-4732-af02-440a44a3cf0f +set "_key=XC9B7%hy%NBPP2%hy%83J2H%hy%RHMBY%hy%92BT4" &:: Standard +exit /b + +:d3643d60-0c42-412d-a7d6-52e6635327f6 +set "_key=48HP8%hy%DN98B%hy%MYWDG%hy%T2DCC%hy%8W83P" &:: Datacenter +exit /b + +:7d5486c7-e120-4771-b7f1-7b56c6d3170c +set "_key=HM7DN%hy%YVMH3%hy%46JC3%hy%XYTG7%hy%CYQJJ" &:: MultiPoint Standard +exit /b + +:95fd1c83-7df5-494a-be8b-1300e1c9d1cd +set "_key=XNH6W%hy%2V9GX%hy%RGJ4K%hy%Y8X6F%hy%QGJ2G" &:: MultiPoint Premium +exit /b + +:: Windows 7 +:b92e9980-b9d5-4821-9c94-140f632f6312 +set "_key=FJ82H%hy%XT6CR%hy%J8D7P%hy%XQJJ2%hy%GPDD4" &:: Professional +exit /b + +:54a09a0d-d57b-4c10-8b69-a842d6590ad5 +set "_key=MRPKT%hy%YTG23%hy%K7D7T%hy%X2JMM%hy%QY7MG" &:: Professional N +exit /b + +:5a041529-fef8-4d07-b06f-b59b573b32d2 +set "_key=W82YF%hy%2Q76Y%hy%63HXB%hy%FGJG9%hy%GF7QX" &:: Professional E +exit /b + +:ae2ee509-1b34-41c0-acb7-6d4650168915 +set "_key=33PXH%hy%7Y6KF%hy%2VJC9%hy%XBBR8%hy%HVTHH" &:: Enterprise +exit /b + +:1cb6d605-11b3-4e14-bb30-da91c8e3983a +set "_key=YDRBP%hy%3D83W%hy%TY26F%hy%D46B2%hy%XCKRJ" &:: Enterprise N +exit /b + +:46bbed08-9c7b-48fc-a614-95250573f4ea +set "_key=C29WB%hy%22CC8%hy%VJ326%hy%GHFJW%hy%H9DH4" &:: Enterprise E +exit /b + +:db537896-376f-48ae-a492-53d0547773d0 +set "_key=YBYF6%hy%BHCR3%hy%JPKRB%hy%CDW7B%hy%F9BK4" &:: Embedded POSReady 7 +exit /b + +:e1a8296a-db37-44d1-8cce-7bc961d59c54 +set "_key=XGY72%hy%BRBBT%hy%FF8MH%hy%2GG8H%hy%W7KCW" &:: Embedded Standard +exit /b + +:aa6dd3aa-c2b4-40e2-a544-a6bbb3f5c395 +set "_key=73KQT%hy%CD9G6%hy%K7TQG%hy%66MRP%hy%CQ22C" &:: Embedded ThinPC +exit /b + +:: Windows Server 2008 R2 +:a78b8bd9-8017-4df5-b86a-09f756affa7c +set "_key=6TPJF%hy%RBVHG%hy%WBW2R%hy%86QPH%hy%6RTM4" &:: Web +exit /b + +:cda18cf3-c196-46ad-b289-60c072869994 +set "_key=TT8MH%hy%CG224%hy%D3D7Q%hy%498W2%hy%9QCTX" &:: HPC +exit /b + +:68531fb9-5511-4989-97be-d11a0f55633f +set "_key=YC6KT%hy%GKW9T%hy%YTKYR%hy%T4X34%hy%R7VHC" &:: Standard +exit /b + +:7482e61b-c589-4b7f-8ecc-46d455ac3b87 +set "_key=74YFP%hy%3QFB3%hy%KQT8W%hy%PMXWJ%hy%7M648" &:: Datacenter +exit /b + +:620e2b3d-09e7-42fd-802a-17a13652fe7a +set "_key=489J6%hy%VHDMP%hy%X63PK%hy%3K798%hy%CPX3Y" &:: Enterprise +exit /b + +:8a26851c-1c7e-48d3-a687-fbca9b9ac16b +set "_key=GT63C%hy%RJFQ3%hy%4GMB6%hy%BRFB9%hy%CB83V" &:: Itanium +exit /b + +:f772515c-0e87-48d5-a676-e6962c3e1195 +set "_key=736RG%hy%XDKJK%hy%V34PF%hy%BHK87%hy%J6X3K" &:: MultiPoint Server %hy% ServerEmbeddedSolution +exit /b + +:: Office 2021 +:fbdb3e18-a8ef-4fb3-9183-dffd60bd0984 +set "_key=FXYTK%hy%NJJ8C%hy%GB6DW%hy%3DYQT%hy%6F7TH" &:: Professional Plus +exit /b + +:080a45c5-9f9f-49eb-b4b0-c3c610a5ebd3 +set "_key=KDX7X%hy%BNVR8%hy%TXXGX%hy%4Q7Y8%hy%78VT3" &:: Standard +exit /b + +:76881159-155c-43e0-9db7-2d70a9a3a4ca +set "_key=FTNWT%hy%C6WBT%hy%8HMGF%hy%K9PRX%hy%QV9H8" &:: Project Professional +exit /b + +:6dd72704-f752-4b71-94c7-11cec6bfc355 +set "_key=J2JDC%hy%NJCYY%hy%9RGQ4%hy%YXWMH%hy%T3D4T" &:: Project Standard +exit /b + +:fb61ac9a-1688-45d2-8f6b-0674dbffa33c +set "_key=KNH8D%hy%FGHT4%hy%T8RK3%hy%CTDYJ%hy%K2HT4" &:: Visio Professional +exit /b + +:72fce797-1884-48dd-a860-b2f6a5efd3ca +set "_key=MJVNY%hy%BYWPY%hy%CWV6J%hy%2RKRT%hy%4M8QG" &:: Visio Standard +exit /b + +:1fe429d8-3fa7-4a39-b6f0-03dded42fe14 +set "_key=WM8YG%hy%YNGDD%hy%4JHDC%hy%PG3F4%hy%FC4T4" &:: Access +exit /b + +:ea71effc-69f1-4925-9991-2f5e319bbc24 +set "_key=NWG3X%hy%87C9K%hy%TC7YY%hy%BC2G7%hy%G6RVC" &:: Excel +exit /b + +:a5799e4c-f83c-4c6e-9516-dfe9b696150b +set "_key=C9FM6%hy%3N72F%hy%HFJXB%hy%TM3V9%hy%T86R9" &:: Outlook +exit /b + +:6e166cc3-495d-438a-89e7-d7c9e6fd4dea +set "_key=TY7XF%hy%NFRBR%hy%KJ44C%hy%G83KF%hy%GX27K" &:: PowerPoint +exit /b + +:aa66521f-2370-4ad8-a2bb-c095e3e4338f +set "_key=2MW9D%hy%N4BXM%hy%9VBPG%hy%Q7W6M%hy%KFBGQ" &:: Publisher +exit /b + +:1f32a9af-1274-48bd-ba1e-1ab7508a23e8 +set "_key=HWCXN%hy%K3WBT%hy%WJBKY%hy%R8BD9%hy%XK29P" &:: Skype for Business +exit /b + +:abe28aea-625a-43b1-8e30-225eb8fbd9e5 +set "_key=TN8H9%hy%M34D3%hy%Y64V9%hy%TR72V%hy%X79KV" &:: Word +exit /b + +:: Office 2019 +:85dd8b5f-eaa4-4af3-a628-cce9e77c9a03 +set "_key=NMMKJ%hy%6RK4F%hy%KMJVX%hy%8D9MJ%hy%6MWKP" &:: Professional Plus +exit /b + +:6912a74b-a5fb-401a-bfdb-2e3ab46f4b02 +set "_key=6NWWJ%hy%YQWMR%hy%QKGCB%hy%6TMB3%hy%9D9HK" &:: Standard +exit /b + +:2ca2bf3f-949e-446a-82c7-e25a15ec78c4 +set "_key=B4NPR%hy%3FKK7%hy%T2MBV%hy%FRQ4W%hy%PKD2B" &:: Project Professional +exit /b + +:1777f0e3-7392-4198-97ea-8ae4de6f6381 +set "_key=C4F7P%hy%NCP8C%hy%6CQPT%hy%MQHV9%hy%JXD2M" &:: Project Standard +exit /b + +:5b5cf08f-b81a-431d-b080-3450d8620565 +set "_key=9BGNQ%hy%K37YR%hy%RQHF2%hy%38RQ3%hy%7VCBB" &:: Visio Professional +exit /b + +:e06d7df3-aad0-419d-8dfb-0ac37e2bdf39 +set "_key=7TQNQ%hy%K3YQQ%hy%3PFH7%hy%CCPPM%hy%X4VQ2" &:: Visio Standard +exit /b + +:9e9bceeb-e736-4f26-88de-763f87dcc485 +set "_key=9N9PT%hy%27V4Y%hy%VJ2PD%hy%YXFMF%hy%YTFQT" &:: Access +exit /b + +:237854e9-79fc-4497-a0c1-a70969691c6b +set "_key=TMJWT%hy%YYNMB%hy%3BKTF%hy%644FC%hy%RVXBD" &:: Excel +exit /b + +:c8f8a301-19f5-4132-96ce-2de9d4adbd33 +set "_key=7HD7K%hy%N4PVK%hy%BHBCQ%hy%YWQRW%hy%XW4VK" &:: Outlook +exit /b + +:3131fd61-5e4f-4308-8d6d-62be1987c92c +set "_key=RRNCX%hy%C64HY%hy%W2MM7%hy%MCH9G%hy%TJHMQ" &:: PowerPoint +exit /b + +:9d3e4cca-e172-46f1-a2f4-1d2107051444 +set "_key=G2KWX%hy%3NW6P%hy%PY93R%hy%JXK2T%hy%C9Y9V" &:: Publisher +exit /b + +:734c6c6e-b0ba-4298-a891-671772b2bd1b +set "_key=NCJ33%hy%JHBBY%hy%HTK98%hy%MYCV8%hy%HMKHJ" &:: Skype for Business +exit /b + +:059834fe-a8ea-4bff-b67b-4d006b5447d3 +set "_key=PBX3G%hy%NWMT6%hy%Q7XBW%hy%PYJGG%hy%WXD33" &:: Word +exit /b + +:0bc88885-718c-491d-921f-6f214349e79c +set "_key=VQ9DP%hy%NVHPH%hy%T9HJC%hy%J9PDT%hy%KTQRG" &:: Pro Plus 2019 Preview +exit /b + +:fc7c4d0c-2e85-4bb9-afd4-01ed1476b5e9 +set "_key=XM2V9%hy%DN9HH%hy%QB449%hy%XDGKC%hy%W2RMW" &:: Project Pro 2019 Preview +exit /b + +:500f6619-ef93-4b75-bcb4-82819998a3ca +set "_key=N2CG9%hy%YD3YK%hy%936X4%hy%3WR82%hy%Q3X4H" &:: Visio Pro 2019 Preview +exit /b + +:f3fb2d68-83dd-4c8b-8f09-08e0d950ac3b +set "_key=HFPBN%hy%RYGG8%hy%HQWCW%hy%26CH6%hy%PDPVF" &:: Pro Plus 2021 Preview +exit /b + +:76093b1b-7057-49d7-b970-638ebcbfd873 +set "_key=WDNBY%hy%PCYFY%hy%9WP6G%hy%BXVXM%hy%92HDV" &:: Project Pro 2021 Preview +exit /b + +:a3b44174-2451-4cd6-b25f-66638bfb9046 +set "_key=2XYX7%hy%NXXBK%hy%9CK7W%hy%K2TKW%hy%JFJ7G" &:: Visio Pro 2021 Preview +exit /b + +:: Office 2016 +:829b8110-0e6f-4349-bca4-42803577788d +set "_key=WGT24%hy%HCNMF%hy%FQ7XH%hy%6M8K7%hy%DRTW9" &:: Project Professional C2R%hy%P +exit /b + +:cbbaca45-556a-4416-ad03-bda598eaa7c8 +set "_key=D8NRQ%hy%JTYM3%hy%7J2DX%hy%646CT%hy%6836M" &:: Project Standard C2R%hy%P +exit /b + +:b234abe3-0857-4f9c-b05a-4dc314f85557 +set "_key=69WXN%hy%MBYV6%hy%22PQG%hy%3WGHK%hy%RM6XC" &:: Visio Professional C2R%hy%P +exit /b + +:361fe620-64f4-41b5-ba77-84f8e079b1f7 +set "_key=NY48V%hy%PPYYH%hy%3F4PX%hy%XJRKJ%hy%W4423" &:: Visio Standard C2R%hy%P +exit /b + +:e914ea6e-a5fa-4439-a394-a9bb3293ca09 +set "_key=DMTCJ%hy%KNRKX%hy%26982%hy%JYCKT%hy%P7KB6" &:: MondoR +exit /b + +:9caabccb-61b1-4b4b-8bec-d10a3c3ac2ce +set "_key=HFTND%hy%W9MK4%hy%8B7MJ%hy%B6C4G%hy%XQBR2" &:: Mondo +exit /b + +:d450596f-894d-49e0-966a-fd39ed4c4c64 +set "_key=XQNVK%hy%8JYDB%hy%WJ9W3%hy%YJ8YR%hy%WFG99" &:: Professional Plus +exit /b + +:dedfa23d-6ed1-45a6-85dc-63cae0546de6 +set "_key=JNRGM%hy%WHDWX%hy%FJJG3%hy%K47QV%hy%DRTFM" &:: Standard +exit /b + +:4f414197-0fc2-4c01-b68a-86cbb9ac254c +set "_key=YG9NW%hy%3K39V%hy%2T3HJ%hy%93F3Q%hy%G83KT" &:: Project Professional +exit /b + +:da7ddabc-3fbe-4447-9e01-6ab7440b4cd4 +set "_key=GNFHQ%hy%F6YQM%hy%KQDGJ%hy%327XX%hy%KQBVC" &:: Project Standard +exit /b + +:6bf301c1-b94a-43e9-ba31-d494598c47fb +set "_key=PD3PC%hy%RHNGV%hy%FXJ29%hy%8JK7D%hy%RJRJK" &:: Visio Professional +exit /b + +:aa2a7821-1827-4c2c-8f1d-4513a34dda97 +set "_key=7WHWN%hy%4T7MP%hy%G96JF%hy%G33KR%hy%W8GF4" &:: Visio Standard +exit /b + +:67c0fc0c-deba-401b-bf8b-9c8ad8395804 +set "_key=GNH9Y%hy%D2J4T%hy%FJHGG%hy%QRVH7%hy%QPFDW" &:: Access +exit /b + +:c3e65d36-141f-4d2f-a303-a842ee756a29 +set "_key=9C2PK%hy%NWTVB%hy%JMPW8%hy%BFT28%hy%7FTBF" &:: Excel +exit /b + +:d8cace59-33d2-4ac7-9b1b-9b72339c51c8 +set "_key=DR92N%hy%9HTF2%hy%97XKM%hy%XW2WJ%hy%XW3J6" &:: OneNote +exit /b + +:ec9d9265-9d1e-4ed0-838a-cdc20f2551a1 +set "_key=R69KK%hy%NTPKF%hy%7M3Q4%hy%QYBHW%hy%6MT9B" &:: Outlook +exit /b + +:d70b1bba-b893-4544-96e2-b7a318091c33 +set "_key=J7MQP%hy%HNJ4Y%hy%WJ7YM%hy%PFYGF%hy%BY6C6" &:: Powerpoint +exit /b + +:041a06cb-c5b8-4772-809f-416d03d16654 +set "_key=F47MM%hy%N3XJP%hy%TQXJ9%hy%BP99D%hy%8K837" &:: Publisher +exit /b + +:83e04ee1-fa8d-436d-8994-d31a862cab77 +set "_key=869NQ%hy%FJ69K%hy%466HW%hy%QYCP2%hy%DDBV6" &:: Skype for Business +exit /b + +:bb11badf-d8aa-470e-9311-20eaf80fe5cc +set "_key=WXY84%hy%JN2Q9%hy%RBCCQ%hy%3Q3J3%hy%3PFJ6" &:: Word +exit /b + +:: Office 2013 +:dc981c6b-fc8e-420f-aa43-f8f33e5c0923 +set "_key=42QTK%hy%RN8M7%hy%J3C4G%hy%BBGYM%hy%88CYV" &:: Mondo +exit /b + +:b322da9c-a2e2-4058-9e4e-f59a6970bd69 +set "_key=YC7DK%hy%G2NP3%hy%2QQC3%hy%J6H88%hy%GVGXT" &:: Professional Plus +exit /b + +:b13afb38-cd79-4ae5-9f7f-eed058d750ca +set "_key=KBKQT%hy%2NMXY%hy%JJWGP%hy%M62JB%hy%92CD4" &:: Standard +exit /b + +:4a5d124a-e620-44ba-b6ff-658961b33b9a +set "_key=FN8TT%hy%7WMH6%hy%2D4X9%hy%M337T%hy%2342K" &:: Project Professional +exit /b + +:427a28d1-d17c-4abf-b717-32c780ba6f07 +set "_key=6NTH3%hy%CW976%hy%3G3Y2%hy%JK3TX%hy%8QHTT" &:: Project Standard +exit /b + +:e13ac10e-75d0-4aff-a0cd-764982cf541c +set "_key=C2FG9%hy%N6J68%hy%H8BTJ%hy%BW3QX%hy%RM3B3" &:: Visio Professional +exit /b + +:ac4efaf0-f81f-4f61-bdf7-ea32b02ab117 +set "_key=J484Y%hy%4NKBF%hy%W2HMG%hy%DBMJC%hy%PGWR7" &:: Visio Standard +exit /b + +:6ee7622c-18d8-4005-9fb7-92db644a279b +set "_key=NG2JY%hy%H4JBT%hy%HQXYP%hy%78QH9%hy%4JM2D" &:: Access +exit /b + +:f7461d52-7c2b-43b2-8744-ea958e0bd09a +set "_key=VGPNG%hy%Y7HQW%hy%9RHP7%hy%TKPV3%hy%BG7GB" &:: Excel +exit /b + +:fb4875ec-0c6b-450f-b82b-ab57d8d1677f +set "_key=H7R7V%hy%WPNXQ%hy%WCYYC%hy%76BGV%hy%VT7GH" &:: Groove +exit /b + +:a30b8040-d68a-423f-b0b5-9ce292ea5a8f +set "_key=DKT8B%hy%N7VXH%hy%D963P%hy%Q4PHY%hy%F8894" &:: InfoPath +exit /b + +:1b9f11e3-c85c-4e1b-bb29-879ad2c909e3 +set "_key=2MG3G%hy%3BNTT%hy%3MFW9%hy%KDQW3%hy%TCK7R" &:: Lync +exit /b + +:efe1f3e6-aea2-4144-a208-32aa872b6545 +set "_key=TGN6P%hy%8MMBC%hy%37P2F%hy%XHXXK%hy%P34VW" &:: OneNote +exit /b + +:771c3afa-50c5-443f-b151-ff2546d863a0 +set "_key=QPN8Q%hy%BJBTJ%hy%334K3%hy%93TGY%hy%2PMBT" &:: Outlook +exit /b + +:8c762649-97d1-4953-ad27-b7e2c25b972e +set "_key=4NT99%hy%8RJFH%hy%Q2VDH%hy%KYG2C%hy%4RD4F" &:: Powerpoint +exit /b + +:00c79ff1-6850-443d-bf61-71cde0de305f +set "_key=PN2WF%hy%29XG2%hy%T9HJ7%hy%JQPJR%hy%FCXK4" &:: Publisher +exit /b + +:d9f5b1c6-5386-495a-88f9-9ad6b41ac9b3 +set "_key=6Q7VD%hy%NX8JD%hy%WJ2VH%hy%88V73%hy%4GBJ7" &:: Word +exit /b + +:: Office 2010 +:09ed9640-f020-400a-acd8-d7d867dfd9c2 +set "_key=YBJTT%hy%JG6MD%hy%V9Q7P%hy%DBKXJ%hy%38W9R" &:: Mondo +exit /b + +:ef3d4e49-a53d-4d81-a2b1-2ca6c2556b2c +set "_key=7TC2V%hy%WXF6P%hy%TD7RT%hy%BQRXR%hy%B8K32" &:: Mondo2 +exit /b + +:6f327760-8c5c-417c-9b61-836a98287e0c +set "_key=VYBBJ%hy%TRJPB%hy%QFQRF%hy%QFT4D%hy%H3GVB" &:: Professional Plus +exit /b + +:9da2a678-fb6b-4e67-ab84-60dd6a9c819a +set "_key=V7QKV%hy%4XVVR%hy%XYV4D%hy%F7DFM%hy%8R6BM" &:: Standard +exit /b + +:df133ff7-bf14-4f95-afe3-7b48e7e331ef +set "_key=YGX6F%hy%PGV49%hy%PGW3J%hy%9BTGG%hy%VHKC6" &:: Project Professional +exit /b + +:5dc7bf61-5ec9-4996-9ccb-df806a2d0efe +set "_key=4HP3K%hy%88W3F%hy%W2K3D%hy%6677X%hy%F9PGB" &:: Project Standard +exit /b + +:92236105-bb67-494f-94c7-7f7a607929bd +set "_key=D9DWC%hy%HPYVV%hy%JGF4P%hy%BTWQB%hy%WX8BJ" &:: Visio Premium +exit /b + +:e558389c-83c3-4b29-adfe-5e4d7f46c358 +set "_key=7MCW8%hy%VRQVK%hy%G677T%hy%PDJCM%hy%Q8TCP" &:: Visio Professional +exit /b + +:9ed833ff-4f92-4f36-b370-8683a4f13275 +set "_key=767HD%hy%QGMWX%hy%8QTDB%hy%9G3R2%hy%KHFGJ" &:: Visio Standard +exit /b + +:8ce7e872-188c-4b98-9d90-f8f90b7aad02 +set "_key=V7Y44%hy%9T38C%hy%R2VJK%hy%666HK%hy%T7DDX" &:: Access +exit /b + +:cee5d470-6e3b-4fcc-8c2b-d17428568a9f +set "_key=H62QG%hy%HXVKF%hy%PP4HP%hy%66KMR%hy%CW9BM" &:: Excel +exit /b + +:8947d0b8-c33b-43e1-8c56-9b674c052832 +set "_key=QYYW6%hy%QP4CB%hy%MBV6G%hy%HYMCJ%hy%4T3J4" &:: Groove %hy% SharePoint Workspace +exit /b + +:ca6b6639-4ad6-40ae-a575-14dee07f6430 +set "_key=K96W8%hy%67RPQ%hy%62T9Y%hy%J8FQJ%hy%BT37T" &:: InfoPath +exit /b + +:ab586f5c-5256-4632-962f-fefd8b49e6f4 +set "_key=Q4Y4M%hy%RHWJM%hy%PY37F%hy%MTKWH%hy%D3XHX" &:: OneNote +exit /b + +:ecb7c192-73ab-4ded-acf4-2399b095d0cc +set "_key=7YDC2%hy%CWM8M%hy%RRTJC%hy%8MDVC%hy%X3DWQ" &:: Outlook +exit /b + +:45593b1d-dfb1-4e91-bbfb-2d5d0ce2227a +set "_key=RC8FX%hy%88JRY%hy%3PF7C%hy%X8P67%hy%P4VTT" &:: Powerpoint +exit /b + +:b50c4f75-599b-43e8-8dcd-1081a7967241 +set "_key=BFK7F%hy%9MYHM%hy%V68C7%hy%DRQ66%hy%83YTP" &:: Publisher +exit /b + +:2d0882e7-a4e7-423b-8ccc-70d91e0158b1 +set "_key=HVHB3%hy%C6FV7%hy%KQX9W%hy%YQG79%hy%CRY7T" &:: Word +exit /b + +:ea509e87-07a1-4a45-9edc-eba5a39f36af +set "_key=D6QFG%hy%VBYP2%hy%XQHM7%hy%J97RH%hy%VVRCK" &:: Small Business Basics +exit /b + +:TheEnd + +if %act_failed% EQU 1 ( +echo __________________________________________________________________ +echo. +call :_errorinfo +) + +echo. +if not defined _tskinstalled if not defined _oldtsk ( +if %winbuild% GEQ 9200 ( +call :leavenonexistentkms %nul% +echo Keeping the non-existent IP address 10.0.0.10 as KMS Server. +) else ( +call :Clear-KMS-Cache +) +) + +if defined _tskinstalled echo Renewal Task found, keeping the online KMS IP in the system. +if defined _oldtsk echo Renewal Task found, keeping the online KMS IP in the system. + +if defined _unattended exit /b + +echo ___________________________________________________________________ +echo. +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +::======================================================================================================================================== + +:_errorinfo + +(set msg1=echo Try again and if the issue still persist then either use a^ +&echo different Internet connection or use this offline KMS activator^ +&echo KMS_VL_ALL by @abbodi1406 pastebin.com/raw/cpdmr6HZ +) + +call :CheckFR + +if !server_num! GTR %max_servers% ( +ping -n 1 one.one.one.one 1>nul || ping -n 1 resolver1.opendns.com 1>nul || ( +call :_color %_Red% "Unable to test KMS servers due to restricted or no Internet." +echo. +%msg1% +exit /b +) +) + +echo Restart the system and try again. +echo KMS server is not an issue in this case. +echo Check Troubleshooting steps in the ReadMe. +exit /b + +::======================================================================================================================================== + +:setserv + +:: Multi KMS servers integration and servers randomization + +set srvlist= +set -= + +set "srvlist=win.km%-%s.pub xincheng213%-%618.cn kms.six%-%yin.com kms.moec%-%lub.org kms.cgts%-%oft.com" +set "srvlist=%srvlist% kms.03%-%k.org kms.moey%-%uuko.com kms.lol%-%i.best kms.zhuxi%-%aole.org kms.ca%-%tqu.com" +set "srvlist=%srvlist% kms.lol%-%i.beer kms.ca%-%ry.tech kms.wx%-%lost.com kms.moeyu%-%uko.top kms.ghp%-%ym.com" + +set n=1 +for %%a in (%srvlist%) do (set %%a=&set server!n!=%%a&set /a n+=1) +set max_servers=15 +set /a server_num=0 +exit /b + +:getserv + +if %server_num% equ %max_servers% set /a server_num+=1&set KMS_IP=222.184.9.98&exit /b +set /a rand=%Random%%%(15+1-1)+1 +if defined !server%rand%! goto :getserv +set KMS_IP=!server%rand%! +set !server%rand%!=1 + +:: Get IPv4 address of KMS server to use for the activation, works even if ICMP echo is disabled. +:: Microsoft and Antivirus's may flag the issue if public KMS server host name is directly used for the activation. + +set /a server_num+=1 +(for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%a" +if [%KMS_IP%]==[!KMS_IP!] for /f "delims=[] tokens=2" %%# in ('pathping -4 -h 1 -n -p 1 -q 1 -w 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%#" +if not [%KMS_IP%]==[!KMS_IP!] exit /b +goto :getserv +) + +:========================================================================================================================================== + +:Clear-KMS-Cache + +set OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform +set SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform + +set _wApp=55c92734-d682-4d71-983e-d6ec3f16059f +set _oApp=0ff1ce15-a989-479d-af46-f275c6370663 +set _oA14=59a52881-a989-479d-af46-f275c6370663 + +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort +%nul% reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing +%nul% reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching +%nul% reg delete "HKLM\%SPPk%\%_wApp%" /f +if %winbuild% GEQ 9200 ( +if defined notx86 ( +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName /reg:32 +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServicePort /reg:32 +%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 +) +%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f +) +if %winbuild% GEQ 9600 ( +%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f +%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f +) +%nul% reg delete "HKLM\%OPPk%" /f /v KeyManagementServiceName +%nul% reg delete "HKLM\%OPPk%" /f /v KeyManagementServicePort +%nul% reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing +%nul% reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching +%nul% reg delete "HKLM\%OPPk%\%_oA14%" /f +%nul% reg delete "HKLM\%OPPk%\%_oApp%" /f + +:: check KMS38 lock + +%nul% reg query "HKLM\%SPPk%\%_wApp%" && ( +set error_=9 +echo Failed to completely clear KMS Cache. +reg query "HKLM\%SPPk%\%_wApp%" /s 2>nul | findstr /i "127.0.0.2" >nul && echo Most likely, the KMS38 activation is locked. +) || ( +echo Cleared KMS Cache successfully. +) +exit /b + +:========================================================================================================================================= + +:leavenonexistentkms + +reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" +reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" +reg delete "HKLM\%SPPk%" /f /v DisableDnsPublishing +reg delete "HKLM\%SPPk%" /f /v DisableKeyManagementServiceHostCaching +if not defined _keepkms38 reg delete "HKLM\%SPPk%\%_wApp%" /f +if %winbuild% GEQ 9200 ( +if not %xOS%==x86 ( +reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" /reg:32 +reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 +reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" /reg:32 +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 +) +reg delete "HKLM\%SPPk%\%_oApp%" /f +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" +reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" +) +if %winbuild% GEQ 9600 ( +reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f +reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f +) +reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "10.0.0.10" +reg delete "HKLM\%OPPk%" /f /v KeyManagementServicePort +reg delete "HKLM\%OPPk%" /f /v DisableDnsPublishing +reg delete "HKLM\%OPPk%" /f /v DisableKeyManagementServiceHostCaching +reg delete "HKLM\%OPPk%\%_oA14%" /f +reg delete "HKLM\%OPPk%\%_oApp%" /f +goto :eof + +:========================================================================================================================================= + +:_Complete_Uninstall + +cls +mode con: cols=91 lines=30 +title Online KMS Complete Uninstall + +set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" + +set "_C16R=" +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath /reg:32" 2^>nul') do if exist "%%b\root\Licenses16\ProPlus*.xrm-ms" set "_C16R=1" +if %winbuild% GEQ 9200 if defined _C16R ( +echo. +echo ## Notice ## +echo. +echo To make sure Office programs do not show a non-genuine banner, +echo please run the activation option once, and don't uninstall afterward. +echo __________________________________________________________________________________________ +) + +set error_= +echo. +call :Clear-KMS-Cache +call :clearstuff + +if defined error_ ( +if [%error_%]==[1] ( +echo __________________________________________________________________________________________ +%eline% +echo Try Again / Restart the System +echo __________________________________________________________________________________________ +) +) else ( +echo __________________________________________________________________________________________ +echo. +call :_color %Green% "Online KMS Complete Uninstall was done successfully." +echo __________________________________________________________________________________________ +) + +if defined _unattended exit /b + +echo. +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +:clearstuff + +reg query "%key%" /f Path /s | find /i "\Activation-Renewal" >nul && ( +echo Deleting [Task] Activation-Renewal +schtasks /delete /tn Activation-Renewal /f %nul% +) + +reg query "%key%" /f Path /s | find /i "\Activation-Run_Once" >nul && ( +echo Deleting [Task] Activation-Run_Once +schtasks /delete /tn Activation-Run_Once /f %nul% +) + +reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Renewal" >nul && ( +echo Deleting [Task] Online_KMS_Activation_Script-Renewal +schtasks /delete /tn Online_KMS_Activation_Script-Renewal /f %nul% +) + +reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && ( +echo Deleting [Task] Online_KMS_Activation_Script-Run_Once +schtasks /delete /tn Online_KMS_Activation_Script-Run_Once /f %nul% +) + +If exist "%windir%\Online_KMS_Activation_Script\" ( +echo Deleting [Folder] %windir%\Online_KMS_Activation_Script\ +rmdir /s /q "%windir%\Online_KMS_Activation_Script\" %nul% +) + +if exist "%ProgramData%\Online_KMS_Activation.cmd" ( +echo Deleting [File] %ProgramData%\Online_KMS_Activation.cmd +del /f /q "%ProgramData%\Online_KMS_Activation.cmd" %nul% +) + +If exist "%ProgramData%\Online_KMS_Activation\" ( +echo Deleting [Folder] %ProgramData%\Online_KMS_Activation\ +rmdir /s /q "%ProgramData%\Online_KMS_Activation\" %nul% +) + +If exist "%ProgramData%\Activation-Renewal\" ( +echo Deleting [Folder] %ProgramData%\Activation-Renewal\ +rmdir /s /q "%ProgramData%\Activation-Renewal\" %nul% +) + +reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% && ( +echo Deleting [Registry] HKCR\DesktopBackground\shell\Activate Windows - Office +Reg delete "HKCR\DesktopBackground\shell\Activate Windows - Office" /f %nul% +) + +reg query "%key%" /f Path /s | find /i "\Activation-Renewal" >nul && (set error_=1) +reg query "%key%" /f Path /s | find /i "\Activation-Run_Once" >nul && (set error_=1) +reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (set error_=1) +reg query "%key%" /f Path /s | find /i "\Online_KMS_Activation_Script-Run_Once" >nul && (set error_=1) +If exist "%windir%\Online_KMS_Activation_Script\" (set error_=1) +reg query "HKCR\DesktopBackground\shell\Activate Windows - Office" %nul% && (set error_=1) +if exist "%ProgramData%\Online_KMS_Activation.cmd" (set error_=1) +if exist "%ProgramData%\Online_KMS_Activation\" (set error_=1) +if exist "%ProgramData%\Activation-Renewal\" (set error_=1) +exit /b + +:========================================================================================================================================= + +:RenTask + +cls +mode con cols=91 lines=30 +title Install Activation Auto-Renewal + +set error_= +set "_dest=%ProgramData%\Activation-Renewal" +set "key=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" + +call :clearstuff %nul% + +if defined error_ ( +%eline% +echo Failed to completely clear KMS related folders/tasks. +echo Run the Uninstall option and then try again. +goto :RenDone +) + +if not exist "%_dest%\" md "%_dest%\" %nul% +set "_temp=%SystemRoot%\Temp\_taskwork" + +set nil= +if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% +md "%_temp%\" %nul% +call :RenExport renewal "%_temp%\Renewal.xml" Unicode +if defined ActTask (call :RenExport run_once "%_temp%\Run_Once.xml" Unicode) +s%nil%cht%nil%asks /cre%nil%ate /tn "Activation-Renewal" /ru "SYS%nil%TEM" /xml "%_temp%\Renewal.xml" %nul% +if defined ActTask (s%nil%cht%nil%asks /cre%nil%ate /tn "Activation-Run_Once" /ru "SYS%nil%TEM" /xml "%_temp%\Run_Once.xml" %nul%) +if exist "%_temp%\.*" rmdir /s /q "%_temp%\" %nul% + +call :createInfo.txt +call :RenExport _extracttask "%_dest%\Activation_task.cmd" ASCII +title Install Activation Auto-Renewal + +::======================================================================================================================================== + +reg query "%key%" /f Path /s | find /i "\Activation-Renewal" >nul || (set error_=1) +if defined ActTask reg query "%key%" /f Path /s | find /i "\Activation-Run_Once" >nul || (set error_=1) + +If not exist "%_dest%\Activation_task.cmd" (set error_=1) +If not exist "%_dest%\Info.txt" (set error_=1) + +if defined error_ ( + +reg query "%key%" /f Path /s | find /i "\Activation-Renewal" >nul && ( +schtasks /delete /tn Activation-Renewal /f %nul% +) +reg query "%key%" /f Path /s | find /i "\Activation-Run_Once" >nul && ( +schtasks /delete /tn Activation-Run_Once /f %nul% +) + +If exist "%_dest%\" ( +rmdir /s /q "%_dest%\" %nul% +) + +%eline% +echo Run the Uninstall option and then try again. +goto :RenDone +) + +echo __________________________________________________________________________________________ +echo. +echo Files created: +echo %_dest%\Activation_task.cmd +echo %_dest%\Info.txt +echo. +(if defined ActTask (echo Scheduled Tasks created:) else (echo Scheduled Task created:)) +echo \Activation-Renewal [Weekly] +if defined ActTask (echo \Activation-Run_Once) +echo __________________________________________________________________________________________ +echo. +echo Info: +echo Activation will be renewed every week if the Internet connection is found. +echo __________________________________________________________________________________________ +echo. +if defined ActTask ( +call :_color %Green% "Renewal and Activation Tasks were successfully created." +) else ( +call :_color %Green% "Renewal Task was successfully created." +) +echo. +call :_color %Gray% "Make sure to run the Activation from the previous menu atleast once." +echo __________________________________________________________________________________________ +) + +::======================================================================================================================================== + +:RenDone + +if defined _unattended exit /b + +echo. +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +::======================================================================================================================================== + +:createInfo.txt + +( +echo The use of this script is to activate/renew your Windows/Office license using online KMS. +echo: +echo If renewal/activation Scheduled tasks were created then following would exist, +echo: +echo - Scheduled tasks +echo Activation-Renewal [Renewal / Weekly] +echo Activation-Run_Once [Activation Task - deletes itself once activated] +echo The scheduled tasks runs only if the system is connected to the Internet. +echo: +echo - Files +echo C:\ProgramData\Activation-Renewal\Activation_task.cmd +echo C:\ProgramData\Activation-Renewal\Info.txt +echo C:\ProgramData\Activation-Renewal\Logs.txt +echo ______________________________________________________________________________________________ +echo: +echo Online KMS Activation Script is a part of 'Microsoft Activation Scripts' [MAS] project. +echo: +echo Homepage: massgrave.dev +echo Email: windowsaddict@protonmail.com +)>"%_dest%\Info.txt" +exit /b + +::======================================================================================================================================== + +:renewal: + + + + Microsoft Corporation + 1999-01-01T12:00:00.34375 + WindowsAddict + 1.0 + Online_K-M-S_Activation-Renewal - Weekly Task + \Activation-Renewal + D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFX;;;LS)(A;;FRFW;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)(A;;FR;;;S-1-5-4) + + + + 1999-01-01T12:00:00 + true + + + + + 1 + + + + + + S-1-5-18 + HighestAvailable + + + + IgnoreNew + false + false + true + true + true + + false + false + + true + true + true + false + false + true + false + PT10M + 7 + + PT2M + 3 + + + + + %ProgramData%\Activation-Renewal\Activation_task.cmd + Task + + + +:renewal: + +:run_once: + + + + Microsoft Corporation + 1999-01-01T12:00:00.34375 + WindowsAddict + 1.0 + Online_K-M-S_Activation-Run_Once - Run and Delete itself on first Internet Contact + \Activation-Run_Once + D:P(A;;FA;;;SY)(A;;FA;;;BA)(A;;FRFX;;;LS)(A;;FRFW;;;S-1-5-80-123231216-2592883651-3715271367-3753151631-4175906628)(A;;FR;;;S-1-5-4) + + + + true + + + + + S-1-5-18 + HighestAvailable + + + + IgnoreNew + false + false + true + true + true + + false + false + + true + true + true + false + false + true + false + PT10M + 7 + + PT2M + 3 + + + + + %ProgramData%\Activation-Renewal\Activation_task.cmd + Task + + + +:run_once: + +::======================================================================================================================================== + +:: Extract the text from batch script without character and file encoding issue + +:RenExport + +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('%~2',$f[1].Trim(),[System.Text.Encoding]::%~3);" +exit /b + +::======================================================================================================================================== + +:_extracttask: +@echo off + +:: Renew K-M-S activation with Online servers via scheduled task + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + +if not "%~1"=="Task" ( +echo. +echo ====== Error ====== +echo. +echo This file is supposed to be run only by the scheduled task. +echo. +echo Press any key to exit +pause >nul +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +reg query HKU\S-1-5-19 1>nul 2>nul || exit /b + +::======================================================================================================================================== + +set _tserror= +set "nul=>nul 2>&1" +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G +set psc=powershell.exe + +set run_once= +set t_name=Renewal Task +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\taskcache\tasks" /f Path /s | find /i "\Activation-Run_Once" >nul && ( +set run_once=1 +set t_name=Run Once Task +) + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) + +setlocal EnableDelayedExpansion +if exist "%ProgramData%\Activation-Renewal\" call :_taskstart>>"%ProgramData%\Activation-Renewal\Logs.txt" & exit + +::======================================================================================================================================== + +:_taskstart + +echo. +echo %date%, %time% + +set /a loop=1 +set /a max_loop=4 + +call :_tasksetserv + +:_intrepeat + +:: Check Internet connection. Works even if ICMP echo is disabled. + +for %%a in (%srvlist%) do ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( +if not [%%#]==[] goto _taskIntConnected +) +) + +nslookup dns.msftncsi.com 2>nul | find "131.107.255.255" 1>nul +if [%errorlevel%]==[0] goto _taskIntConnected + +if %loop%==%max_loop% ( +set _tserror=1 +goto _taskend +) + +echo. +echo Error: Internet is not connected +echo Waiting 30 seconds + +timeout /t 30 >nul +set /a loop=%loop%+1 +goto _intrepeat + +:_taskIntConnected + +::======================================================================================================================================== + +:: Check not x86 Windows + +set notx86= +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +if /i not "%arch%"=="x86" set notx86=1 + +::======================================================================================================================================== + +set "OPPk=SOFTWARE\Microsoft\OfficeSoftwareProtectionPlatform" +set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" + +set "slp=SoftwareLicensingProduct" +set "ospp=OfficeSoftwareProtectionProduct" + +set "_wApp=55c92734-d682-4d71-983e-d6ec3f16059f" +set "_oApp=0ff1ce15-a989-479d-af46-f275c6370663" +set "_oA14=59a52881-a989-479d-af46-f275c6370663" + +::======================================================================================================================================== + +:: Clean existing KMS cache from the registry / Set port value to 1688 + +%nul% reg delete "HKLM\%SPPk%" /f /v KeyManagementServiceName +%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" +%nul% reg delete "HKLM\%SPPk%\%_wApp%" /f +if %winbuild% GEQ 9200 ( +if defined notx86 ( +%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 +%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f /reg:32 +%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" /reg:32 +) +%nul% reg delete "HKLM\%SPPk%\%_oApp%" /f +%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" +) +if %winbuild% GEQ 9600 ( +%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_wApp%" /f +%nul% reg delete "HKU\S-1-5-20\%SPPk%\%_oApp%" /f +) +%nul% reg add "HKLM\%OPPk%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" +%nul% reg delete "HKLM\%OPPk%\%_oA14%" /f +%nul% reg delete "HKLM\%OPPk%\%_oApp%" /f + +::======================================================================================================================================== + +:: Check WMI and sppsvc Errors + +set applist= +net start sppsvc /y %nul% +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%_wApp%') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%_wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) + +if not defined applist ( +set _tserror=1 +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +echo. +echo Error: Not Respoding- !e_wmispp! +echo. +) + +::======================================================================================================================================== + +:: Check installed volume products activation ID's + +call :_taskgetids sppwid %slp% windows +call :_taskgetids sppoid %slp% office +call :_taskgetids osppid %ospp% office + +::======================================================================================================================================== + +echo. +echo Renewing KMS activation for all installed Volume products + +if not defined sppwid if not defined sppoid if not defined osppid ( +echo. +echo No installed Volume Windows / Office product found +echo. +echo Renewing KMS server +call :_taskgetserv +call :_taskregserv +goto :_skipact +) + +::======================================================================================================================================== + +:: Check KMS38 activation + +set gpr=0 +set _kms38=0 +if defined sppwid if %winbuild% GEQ 14393 ( +set _path=%slp% +set _actid=%sppwid% +call :_taskgetgrace +) + +if %gpr% NEQ 0 if %gpr% GTR 259200 ( +set _kms38=1 +call :_taskchkEnterpriseG _kms38 +) + +:: Set specific KMS host to Local Host so that global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions. + +if %_kms38% EQU 1 ( +%nul% reg add "HKLM\%SPPk%\%_wApp%\%sppwid%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" +%nul% reg add "HKLM\%SPPk%\%_wApp%\%sppwid%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" +) + +::======================================================================================================================================== + +echo. +if defined sppwid ( +set _path=%slp% +set _actid=%sppwid% +call :_actprod +call :_act act_win +call :_actinfo act_win +) else ( +echo Checking: Volume version of Windows is not installed +) + +if defined sppoid ( +set _path=%slp% +for %%# in (%sppoid%) do ( +echo. +set _actid=%%# +call :_actprod +call :_act +call :_actinfo +) +) + +if defined osppid ( +set _path=%ospp% +for %%# in (%osppid%) do ( +echo. +set _actid=%%# +call :_actprod +call :_act +call :_actinfo +) +) + +if not defined sppoid if not defined osppid ( +echo. +echo Checking: Volume version of Office is not installed +) + +:_skipact + +::======================================================================================================================================== + +if defined run_once ( +echo. +echo Deleting Scheduled Task Activation-Run_Once +schtasks /delete /tn Activation-Run_Once /f %nul% +) + +::======================================================================================================================================== + +:_taskend + +echo. +echo Exiting +echo ______________________________________________________________________ + +if defined _tserror (exit /b 123456789) else (exit /b 0) + +::======================================================================================================================================== + +:_act + +set errorcode=12345 +set /a act_attempt=0 + +:_act2 + +if %act_attempt% GTR 4 exit /b + +if not [%act_ok%]==[1] ( +call :_taskgetserv +call :_taskregserv +) + +if not !server_num! GTR %max_servers% ( + +if [%1]==[act_win] if %_kms38% EQU 1 ( +set act_ok=1 +exit /b +) + +if %_wmic% EQU 1 wmic path !_path! where ID='!_actid!' call Activate %nul% +if %_wmic% EQU 0 %psc% "try {$null=(([WMISEARCHER]'SELECT ID FROM !_path! where ID=''!_actid!''').Get()).Activate(); exit 0} catch { exit $_.Exception.InnerException.HResult }" + +call set errorcode=!errorlevel! + +if !errorcode! EQU 0 ( +set act_ok=1 +exit /b +) +if [%1]==[act_win] if !errorcode! EQU -1073418187 if %winbuild% LSS 9200 ( +set act_ok=1 +exit /b +) + +set act_ok=0 +set /a act_attempt+=1 +goto _act2 +) +exit /b + +:_actprod + +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%x in ('"wmic path !_path! where ID='!_actid!' get Name /VALUE" 2^>nul') do call echo Activating: %%x +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%x in ('%psc% "(([WMISEARCHER]'SELECT Name FROM !_path! WHERE ID=''!_actid!''').Get()).Name | %% {echo ('Name='+$_)}" 2^>nul') do call echo Activating: %%x +exit /b + +::======================================================================================================================================== + +:_actinfo + +if [%1]==[act_win] if %_kms38% EQU 1 ( +echo Windows is activated with KMS38 +exit /b +) + +if %errorcode% EQU 12345 ( +echo Product Activation Failed +echo Unable to test KMS servers due to restricted or no Internet +set _tserror=1 +exit /b +) + +if %errorcode% EQU -1073418187 ( +echo Product Activation Failed: 0xC004F035 +if [%1]==[act_win] if %winbuild% LSS 9200 echo Windows 7 cannot be KMS-activated on this computer due to unqualified OEM BIOS +exit /b +) + +if %errorcode% EQU -1073417728 ( +echo Product Activation Failed: 0xC004F200 +echo Windows needs to rebuild the activation-related files. +echo See KB2736303 for details. +set _tserror=1 +exit /b +) + +set gpr=0 +set gpr2=0 +call :_taskgetgrace +set /a "gpr2=(%gpr%+1440-1)/1440" + +if %errorcode% EQU 0 if %gpr% EQU 0 ( +echo Product Activation succeeded, but Remaining Period failed to increase. +if [%1]==[act_win] if %winbuild% LSS 9200 echo This could be related to the error described in KB4487266 +set _tserror=1 +exit /b +) + +set _actpass=1 +if %gpr% EQU 43200 if [%1]==[act_win] if %winbuild% GEQ 9200 set _actpass=0 +if %gpr% EQU 64800 set _actpass=0 +if %gpr% GTR 259200 if [%1]==[act_win] call :_taskchkEnterpriseG _actpass +if %gpr% EQU 259200 set _actpass=0 + +if %errorcode% EQU 0 if %_actpass% EQU 0 ( +echo Product Activation Successful +echo Remaining Period: %gpr2% days ^(%gpr% minutes^) +exit /b +) + +cmd /c exit /b %errorcode% +if %errorcode% NEQ 0 ( +echo Product Activation Failed: 0x!=ExitCode! +) else ( +echo Product Activation Failed +) +echo Remaining Period: %gpr2% days ^(%gpr% minutes^) +set _tserror=1 +exit /b + +::======================================================================================================================================== + +:_taskgetids + +set %1= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %2 where (Name like '%%%3%%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM %2 WHERE Name like ''%%%3%%'' and Description like ''%%KMSCLIENT%%'' and PartialProductKey is not NULL').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined %1 (call set "%1=!%1! %%a") else (call set "%1=%%a")) +exit /b + +:_taskgetgrace + +set gpr=0 +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('"wmic path !_path! where ID='!_actid!' get GracePeriodRemaining /VALUE" 2^>nul') do call set "gpr=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM !_path! where ID=''!_actid!''').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" 2^>nul') do call set "gpr=%%#" +exit /b + +:_taskchkEnterpriseG + +for %%# in (e0b2d383-d112-413f-8a80-97f373a5820c e38454fb-41a4-4f59-a5dc-25080e354730) do (if %sppwid%==%%# set %1=0) +exit /b + +::======================================================================================================================================== + +:_taskregserv + +%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" +%nul% reg add "HKLM\%OPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" + +:: Thanks to @dialmak for Office non-genuine banner solution +:: forum.ru-board.com/topic.cgi?forum=35&topic=81283&start=6080#19 + +if %winbuild% GEQ 9200 ( +%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" +if defined notx86 ( +%nul% reg add "HKLM\%SPPk%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 +%nul% reg add "HKLM\%SPPk%\%_oApp%" /f /v KeyManagementServiceName /t REG_SZ /d "%KMS_IP%" /reg:32 +) +) +exit /b + +::======================================================================================================================================== + +:_tasksetserv + +:: Multi KMS servers integration and servers randomization + +set srvlist= +set -= + +set "srvlist=win.km%-%s.pub xincheng213%-%618.cn kms.six%-%yin.com kms.moec%-%lub.org kms.cgts%-%oft.com" +set "srvlist=%srvlist% kms.03%-%k.org kms.moey%-%uuko.com kms.lol%-%i.best kms.zhuxi%-%aole.org kms.ca%-%tqu.com" +set "srvlist=%srvlist% kms.lol%-%i.beer kms.ca%-%ry.tech kms.wx%-%lost.com kms.moeyu%-%uko.top kms.ghp%-%ym.com" + +set n=1 +for %%a in (%srvlist%) do (set %%a=&set server!n!=%%a&set /a n+=1) +set max_servers=15 +set /a server_num=0 +exit /b + +:_taskgetserv + +if %server_num% geq %max_servers% (set /a server_num+=1&set KMS_IP=222.184.9.98&exit /b) +set /a rand=%Random%%%(15+1-1)+1 +if defined !server%rand%! goto :_taskgetserv +set KMS_IP=!server%rand%! +set !server%rand%!=1 + +:: Get IPv4 address of KMS server to use for the activation, works even if ICMP echo is disabled. +:: Microsoft and Antivirus's may flag the issue if public KMS server host name is directly used for the activation. + +set /a server_num+=1 +(for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%a" +if [%KMS_IP%]==[!KMS_IP!] for /f "delims=[] tokens=2" %%# in ('pathping -4 -h 1 -n -p 1 -q 1 -w 1 %KMS_IP% 2^>nul') do set "KMS_IP=%%#" +if not [%KMS_IP%]==[!KMS_IP!] exit /b +goto :_taskgetserv +) + +:: Ver:1.6 +::======================================================================================================================================== +:_extracttask: + +:====================================================================================================================================================== + +:_color + +if %_NCS% EQU 1 ( +if defined _unattended (echo %~2) else (echo %esc%[%~1%~2%esc%[0m) +) else ( +if defined _unattended (echo %~2) else (call :batcol %~1 "%~2") +) +exit /b + +:_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +call :batcol %~1 "%~2" %~3 "%~4" +) +exit /b + +::======================================= + +:: Colored text with pure batch method +:: Thanks to @dbenham and @jeb +:: stackoverflow.com/a/10407642 + +:batcol + +pushd %_coltemp% +if not exist "'" ("'" set /p "=.") +setlocal +set "s=%~2" +set "t=%~4" +call :_batcol %1 s %3 t +del /f /q "'" +del /f /q "`.txt" +popd +exit /b + +:_batcol + +setlocal EnableDelayedExpansion +set "s=!%~2!" +set "t=!%~4!" +for /f delims^=^ eol^= %%i in ("!s!") do ( + if "!" equ "" setlocal DisableDelayedExpansion + >`.txt (echo %%i\..\') + findstr /a:%~1 /f:`.txt "." + `.txt (echo %%i\..\') + findstr /a:%~3 /f:`.txt "." + '; $91=@" +using System.IO; public class Bat{public static void File(int x,string fo,string d,ref string[] f){unchecked{int n=0,c=0xff,q=0 +,v=0x5b,z=f[x].Length; byte[]b=new byte[0x100]; while(c>0) b[c--]=0x5b; while(c<0x5b) b[d[c]]=(byte)c++; using (FileStream o=new +FileStream(fo,FileMode.Create)){for(int i=0;i!=z;i++){c=b[f[x][i]];if(c==0x5b)continue;if(v==0x5b){v=c;}else{v+=c*0x5b;q|=v<88){n-=1;}n+=14;v=0x5b;do{o.Writ`eByte((byte)q);n-=8;q>>=8;}while(n>0x7);}}if(v!=0x5b)o.Writ`eByte((byte)(q|v< + +:cleanospp:[ +::AVEYO...Q5u2......*D........j}?.d,..;>_}..O}..v;qGy+yK;.......Q5Cf&gn}v;nrMFzHJebzC2r2y@IR5?bp~]..p...l|....w+Zcp{->RU4qoOcWts?K8Q +::#(lK`@sOkWs!BpVCKi_.Gz8)P().\Fx@L.quL--_;.B.X$~p`lrg!Yj=2SZs|@$C}[qxw*z_..}V0RT;YkLxte6hCe!z7cXup8Z88{\2f8=Pna,L-F<2BBhs.9\w@}1INx1/m;2wXi!fe/,b>3]1t^J7]w~]YQYLxl}FEs|{autWtHu8 +::Zp!x`_*\p!vRh4;>..F7->s/B#]m)EPNG/w0A$OOS=s{|2,V}6%9tQEIh37=/keUZ9qH$0{9}RnE~,P_h8LS^J=,mrkq+QtrIiV^_v2O+YKI#OsW`6Jp3uR%T?<&6}U.$i_-S|tsI)A{A8A7)Ro\.zs.<_iOC.qs$VB +::y7vGpR*%[w@ffzZ!CppP=.z_$C!C&5p<6?)B5!!%^mxHy0q%l&fb*wn##JY|iW.1Ra;sQj!9JORB$CR<6u.X?SeSAipH\d?mtgnBrtZvdZ4+Z@cK1NwsQ_^=Ji.h,cK`&i +::!ZY@LZ9|U$YngSRw1[\C6nBYZWFM6F,7~PBkx2,YfdDCS>03)(yn{sVii*_H)xlcM+RK3I4ZzcwLrX/{6YBK*rf+_GCFXFjR/#g7toZ[$4*.lrSH0\[y#^%ub7.Z&WyRL~bTL`685r_w/l5t_we)] +::RL{WV~0Gcerz.*44h=Ak*\I^0FDE&sXSdmx/RC#0{P[qRQB|Bl*SV|^#-B4LLxh2uE[mH-B,`FcKvAZZWs%a`cjMJWTd.K;[aF5CSi]{[jr?1ucN-OBnc%sZ=5aY{5H%\m=<$UiU?IRQ-|Pj^;o+EZHDmK7E?Za$zkJhd +::Z\vuqPA5]TlqP}c_3kpe+|*ux`~S0oz;ezH54\b62Oee9;zGGV)-\{yPasOL`=?i>!8(`5[Rty[gPZQn869Kgi*bYJx#0S?&07<3WSN!lBba2_~l2P>G4ANo+KITny\Nm/ +::bgQsbIz=!tVil.21cLp^<\5UD>;aEK}\8W]^/fQ@Z|hlpZVvGfGrK[M{POy{YmhKeMGg\;e!* +::`7wp*qKGuq&(Lo0b.+%@l~NRW(S^|!#o5dC,bn&@?T1wn>X)ZEU*`oXi[7w]W[yyaa)1Y{|dDuA~9(^K,\P)(].TfNa30!mSKAIlQUKY=)al7n`T>`;nAB_wYgG6nK`Hn=mOWfLbD{&1tAMmN0y$LTNWov\?sO! +::-BOh02QhE3?iopO+G2ZTwZqPJN08}H6\>=jg3T#nAxXd*])O]WB_caew@?9!L1Vp_1)U-W|4CyNfdI3GV+<)iBFbB@,*.t*vU%{^UrP7Fa_)FE\I@l4T|IB]s@>XT^BiqYP,`JmW`/AD5JeGc/z%HnvL^%6^7gxGnmd6rqWZvY#Vq4C_;i$NIZ~,DrV*uPR|-%%\e);rLR!v+K|}iL=o`j]ScZRIAlDYmk0,ADmCZBCEZ?jhw&$(LP15FG*T2TUX%D+ZwJ^WWA_BT)Bn, +::>C.NkY7a6mnDHIX{=5rb*&bW3fTng95)8XlwV|sle^U|]JI~(qf!HZktQ/RG[$YxLP8{D0lX?)Fl>-avn1(O]K?XVEuu&}A2=H>JpS3zQ,QfOpvkvAeUd$+zMvwt+rR*=? +::6H}NM`l\u3H3E,OYDI=[{S-z*w$I+Gz2na4~?zj6MF>xXGx{VW&mw`9XWU\~KH5e2k,G_G7@Q8}Swp@y$*qN](]KTjV@Ew;m=<0!2?}MvWe>*pJBrm2;&Y,o90mZtSKBYu +::]<&-Y3J?(Ot;z_#pM*$[j!*Iggf!Z}1F-z8nfZ_&9ad%0TZkr3\+{dC8keiH~Nee+h%-xc}A+,t()%,/*<\|mu3,}Wj{hF_T*a}Ml+XMwlI|a7=ky]%2[ckY}#~y(`\8T2 +::JUaFFX@7$9LcyiyWznl|?+J\~^a~7~)|2&I~GpST(#)Ss]qk_~=h%k.c~!T_7^At!y2^Y*1RZ=f}zq^Tzw$V\Y[[Fj6(_sJBt~\>Zj2;Fj9Dupk1EuI.MWtDYeSX@q36JIhTbNRw{AeM]+?7%/A;![&D,CRa)oQt.`@7vESa/v/iJOIh%[f +::bHkE8lBQ\d0~s<J^RikG<~*$y!Rr{at#WthL4x<=6U!8b{FlG}4VkEa/?Vd}>{\.uyeInH}n8n1{A)18adnE1,ac`BdhEf}kdx13Lz(yMJd+c!$g~9XZVg4n`#!D\;A8~XzIy~J44F +::Z@CJX`7rx\7o#q2cFW5IiL(dc,<\{)%k<3,8]@`HQ,k,DzSij4j_f2XW%cVcpsD&vZK}l?Sz$Nk}q_JGB~*qovn`iP[sN5Bh;K8bBht=UmS|44Z|fxHQ/EQ`&$@lSI;FiG +::X/bWUh;_lD5\(anZEwl%duHxqL5!Y?wcw~LR%?d~ImQgH`,-?|~C2ae!FBn4pz>Yajjdzv\]#v>a=&/rS%cjO,KN20K[Nd!,_$hDVA}}=&yAtO_5L;V{)|plFw9YAa`-EJ +::bn\sw6?oO+Nd7bTEW(eB-,)ZMni2ily\mp\Y!CIloe#k*)o.,ed|-49PR9@4S?.+=Tkw1R.81#=QJ3b?^$@S*L_+tA(L$@[X+5?`M5(T@)ugqp]l_{EZ#1d]e#AV?o7K=[ +::5v//o)>@P%VMO},AUkp[UJB3MLl\(Qm.X~l8=$6Gq)0{EKYc|!\~o$xX7O@QbX7HZ +::2Nnoz7saM%[nGcl,dB?7LJGm2d=a`dpD6%}\)r(EJ8$GNGJ2r8+4[}ZxV\r}#cf04\D``x0Z@K&Uwl6u6+Lu/W%G4ddVYMnzO-*3dZ#7!)=N7|B2{!@efFUre<|h2(l2^t +::kKAp[*Q}Zl&!Z#~lw^qkprFPv~vBGz~H);A{!]|3LNpD?T7~$[Nd*g*rpkeQ0+hdwt9Z=h{?Y!;ol*O&9N1Oa8dLjzmEZNQc?sZd9k@iLC=`4MG?UbGDA[MKY_B?zO0GvT +::mn)d-hd@buZ~wMOgF1/)s+c.&xieLo//t|x9Sjba?BLzlTzVc\#Lp9^x;=%X9=*UNkn)FsKxb=Hni<.a;Qvg.Z>y!0x_g94}[7iSDhXiN%z.bM3]a7EsY{+j#9uj|o>lfU +::wM$|#QO{}<{kHsqk6W6.#\yiV@%2bivkx291W0KN$Qz%2]Iy~G]SRr?a\.fzGHMB;DEXFO* +::w{6rFN{dD|q~QsPG`t[lx8!yQme^OGq9yp}.Rjku)S@b7V4I=p/%J}leN-~c4^z]Oge3Ewi-KB3Nqu*R+Q5$|8&5p8cXlu^WY6lB$+hYI/o*Nx6jl+m#K#@jn9FpZz{EVA +::Gc1~b2Mrf_u&PH!le*K2[cQ+WD?F8#B58=_6xcS}/%,Wl|O>Z7k!U0fF_~Ub+M?)lc$94,jV]gw1PijzSjCVq=3)H&-fd/iJtqAHX(X\j<3XYtMDRt}\3Ey>r58Yi?uT_z +::`AGKSZdeuFIYF^QY+3n^wcgF<&6Cz,#cj-DXftH@Sx+unM-(0/XM\XB=~*=x*6}SVYjM!|.3%%Bj_M|#sjC|*dTu{3Pr_toq28Lf2ev~8RE69w!`78B|]Kqs~in,Mk`1GK +::qc\Ky}fpyd*[trJR+]i;pV=zK$}%@~L>\i\\p[33=6V?Bp1GDW~bnI*uf{#4xq[]8;E|P@_c1GJAz4YuiFz}D/A4v}4~ANel,c`#CP!-mX>ZxJ|CKL\s]XO}^HdmSXkCZH +::&8;=+TWK!J^hOSwYft|7F9&faK&3XFOoAUPnhj6NNxeh6zt}nrTN9z1a.(&sn@j~!|[|8Z;2g^CV6@z.E$C_s`cP!4n5(?JThA[DPB6FC]ck>Rra.Sase|&-,*}f(9Q(e +::i7J`#Id,QPpB.=x?o`_\`7j(k#^PxmBa`!g4(^F[;vI0@qoTA5t]o(kjZubJHc)R;I6L(Q/-|mUSgyh?`Zd{3O +::YVRxgeV%DUi;d6PG|(6P\q(#nuBXt{GkH1+B^XCufNRsp_c#B\%N\S+BH#;tSQOGp]X}rw5E8h`;QKtH#-|p +::1s6-5vftZGS/EBwn0Rxx?=/ykq`{=;gg#$,_M-Dly3jV3iPC&fA6P)j+;SH9r6]P!i!p>XuUkrwLv$,@lXt%vN.g,pJp&KH_vLKsMuPRP)lrV9=?%W~5BWB,.qA4+Zd^yD_]5So[zPNZjQf7c(7V|DsrEr7#n1HuRO-CFbWLTrc7T]$_mSQaCRFu3y47MjE/,p]_GjxISK.Y>CpK[8M$s{ofgb/<#gV)L2S=-;eP/F\,X1c^u}A4J+[|vK +::~iEDq,wai<&P9E_e-D8=>RlS3FaxJ;,^NYa#\9HehKI*o[&)p3lsqO8AF^x!4&}|,s?*T&O]?mtPT?D8hvP}WW.eo%@vg]PLg]HO%uFd#J#y8((e;;=deySsr^+jBR0RlOdjRkZ9YuFci)BJrnoU7&CYdWGV/KvPcG!;A3jof#gu0tW8~geu@d*Oyp +::}SF*-uPf/G$5T]Ae/(C;~g_,lNRrF1#;)piPG7M_yjIWKvqrU=W<^mReji2z9[.068~tJjn;D|,C;InF)hLhRYH__xzC`3;1NBv=.5O=5`Egt?iWk9NpnMa1z,a={M[V=q +::gc[,&j&qPFF;1Gx3F$b5@UR6nJ,;y0w[^/NwgiYJMI,VSeuyi/w7Z2E2qqwh8N96m}rrcmXTU^n3aqQ2S3yUJ!ExYF~b8k)S[=CDM}$|3a(WS;>m,@1[fTGc^W8fMsUH+bG#/Xw,[=j59U>[;oF8doOGU(@FR!&gi_\,/7~q1M8o.=a@w7cMf#BXGaO-ixWFy +::O(-vSn>IS0gU<-QA.e3+8i=@70|obrU|+\GYC|f!XfMHI%9ByToU1[c\OCp9G_;?f]js5k(>B6D3UJfJYWUvsu1Hr!O=I8SFd!prYTE^~2{3CK +::SM=coAB/www9K2<_,KkZ^;%3p] +::?![?hF]]e^%fHUsR24uvg9zoVRE~=dqMkGb~L{tG6uO8q&ZV6@];J)4WQHcyKxvh4kcE8l@%[y9&;xB#eP{hRd|qOtzFn/PRU#$<=jY[Dngn{Xv4uNaW|Qgpv-DqI6PYnc@ut[F)c/~$,pDWKP*Mw|fH5BdTT^2#YvToXp4](gPLV2!wO#$tmMXz?gTto`7}}P;2?%aCdFH*!?[uUib\4&| +::1jS$p17&zUBLY_z%tz0i}l&HmzUVvoYUPqBT+YDu^k#O9C=62lFAnbP2qWh,^D^@NU?1$jkVJx!5on~NpHRQ(Jj8iMpOls@Zft=M;Qz`=83GqF!R^Sn!8.Q.jy;Zrk~ehz=0s4_f/~$r_4/|UT+^]()Jgf?1,^hSZx5Y_uNE9H3VVijpG$6^DGgl-d.>1xw~c_iZ>lCp`l)/OrOottQw9Q<|M+5T +::&q;._tX}fCJ_IjwT>lW>pL;(v8deUqqF1E(%Ua0=B^,fhFybOMl3f7}PEc;9|~,Q-*[y.gq3I}6Zy\Rd;]!FFzn-3zG9U{}k6[o?#cpb0D! +::[m0u8]e1zH#u`%OY3rt>Wxy0rmpD_}hE%zh?E\R{VxD31-\P]Fh$p^?,z!d675Pgb;^4>J*ny!?wGWAQh,0Zc1RZ[ihuDZ&1feA8yMuy~o3P\aJa7F3+e=8xSZKUMF9ol2 +::#PTGb}EivmFDdKSY/@j=2Ol+2p_c8R/8Me#_x.S[(&Tyoya<&d<1Wl^yp&F|$PdGyb^6Tyi~|7X`q +::z}Q~2wZ8L1J%s#Yp0Et]is./6@X-stdozPW*dN91y^FhZg`U4DnZRyDnc55?;9zd1/z$NA*2m,v|8/GkS8m}Ia5EK|iExm,1sc73qrTS-]Q_=3Ir$SM(7?o#s|`?MS,}h# +::QWcAN\+TYA3-5a$$7I_lJsm|T12&sJ=LA2{c,L-m+$i1`ScPizNL!1BT6[bF*s%w4qTRto%sBz{Ne%J4VLWZuJHpdv+YVLtV-6O]uL)789pmwcbcxMZj4/~$x9b/JlC/a&LFBGw*]rglxvVG`Y2]9/f-U45Ja~ +::L*441#Qo7ZIU`ueLj?3UXcu26pa}%{\p8jA-[h=x_n9u!,[uPf+3=Wg\fN]dXZApOCDI?,@+a%wE0XngP>s +::-Qvzmiv)V4q#@O&d\gGYCEZ=}0x5R.Awt*%M4~4~BgpsJ\tR%;vkEch>!?Jda,_)pmKm4JL`p!s%_2L67l$;VXVw^Q4f4+bK`D#i>q&h{[c#XZ~{UhX5)_sA1u`59]yXn6 +::O.G]s$@NvK[W;,u+v_*TXRrMdPT-jPm7aFT_W+BJi8i$EED*h{arRMOH?=1DS5568X6bzYEnh(jF&oe8$ay5HO;YOo3EvG[ON|5p~nwF}).R{O8,;+W17Jv%=`s6OV@QM- +::y59(3H-fTA~QR^QC/F[&(MTfr8;d\*OtTfqLs8necZh+5/3AJd=3suJuVceb!g%A=cQ!Mvx7q$DKVB2^P22,lI]1(tr)2t~~t$MYR&R5EBKIdP{.b;\) +::r/m>-Pk3h_uac1~9l}wlFh&tlB+o^+V~9OhsEiRmmwi\]zDP`4Q_+^-5p7&l$cDbwJ*}<~ +::F!g_t0WEZNoDV5jwY%),PfN8Un@n,.b5D6_>qOf$Q>u,fU?;([7_-WG,>NP..yR3;D)CZ0(|ZEVl/Jn}F +::UkOT)uIk@I7tr{]_wyfodWbC(b66i)2wG|ilLTKd#9C0R&,gDE*j.g)gV_GcpY^EODTBL~l~L+Z0#b4{]`/,WS)5j5FJ,7LQU-WH_0Z,za7vtqRO!_^[i03V5^YLU{|!X)bf* +::`r*9R7i1R1w^8jm2m;F1W6Bn#vfXO}#4^((`v6PZ3@6&[m9CbA^Ed+cw)b7W8+hqjS8CTk/P\~o)aT_oz_&5P4J%FH5BUl[`5A&GN9Md71 +::>L$uoB>OI1=oGjYU3&&)u{,sxac!Z)K2Ub{1!7g2?o^3>Y2c]|.]?28SyW#c}+h7\WTv;8Z5v\o)=;N9me(.!7ktqAX(e8s]8ez}8qt(>TeGvGP<98K;.7k\*+tcF~Q!y5 +::x@X!yo~?mU/sJ)wNn@bfq9YM+\D^n{xh#Q!!!hv0|%a$thLJ)R2wbC(=/_6f#I.k*uog;-.%}DX.I`Wm8Ta^NIe;$s!fZ{}nq1].u#4W&dK1/XIt08>kgVDAIVV8uPGA{_ +::$#[xQ5pQ096V7KR0ZLW\X@.5\E!ELd6mw%x\Is-`EX|$[Gw},^?Y%|/MNLx|XJ~2Pstn]2^)l!yohpX\bCr**t-h&/vIK5wBP%fBHBt&pNDF&^-]MQhjOw=729`$fq=J-0 +::B].Yo*&Km?_6iIN^lYl.^WXKU>ehTlVjy,ozWN8DO(&2w$EdvM)v5i&gIP!e0jjE/}&hTWK +::`JhK6(VfK=M@%AFkedXi(8@2BMwp`qEXrHXH)4FVSc~Q)h}G$b,w_o}qBSTrCDfFBiHzUI00{}Agr1Hu[X|wvz=zEi^\Pp+n{&ka[~L+`+K}18+ALX8K)sgmul~f%N#[@mmY].HWIyO9b?~K@IQ\e[G> +::D]I2!lh9ZF=*R1=1GK3y9u.yM&oB8l}/&Df$8s!&yI\EvMv(+/T$=DJUMmts$b>I\)>9>K|4BXL1tQ/ng~1>l=$3yC2cScpTXucwu{QHIAE1M0QwN0;}#@8H+f-)HV.Wdf +::!*Ejy@?iLG=u-h$bT\3}thUwPDdWOey8&B=S%}K\*LHxb;!~$CbF4LK)`^)Sz?aOzf(b34H4r*z~Ua_Mc,60}cdr.TtE]h,c}8$qtW?VCs$tp@)qz5hC-p|`kVoY{H(--X +::@d]ct\{lVBvuA2b3ci6&+@riqNyD<9SEL8VBB^=Cw<K4A%xVuHT.6E%[F(lecOMTGQY;||hE@m`SD+4G]?G(g2/ztG3XU\G-iM<+u|KeMMh]hg<[c*^K[{0UUr1z$S&2=g4wcp!^k@L^kI_bRV*Euc2AFwxnc_LjOBO(gp<\IfMUzQ?#8VOLo*rqUYh`F1 +::*/2&H\LeSylLi0ck+<9gM##W?Oe,(n-ctzHH-A~c}M$CxCr~#WePpWppC<&f-~=NURw\ZK@n,XZo%LCYes}(\ZhQrsuru2)bro[(lm);M5}.&8(K9tLz_cIPo2icgn|Y5& +::)AXS@<8%B_oA]2Ue=9mH3h0Pd0HbRnGcmAr(I]R~qf|eRTj%%&&7(N?~=z1mbtHp|gk;d|oeaLAdd2axuQ>;LR`VV8PvYqU`z10D/F6E>*Fbg[n86Ns\mh&uQ)y,NMYK@Gh]+_s3opEJ0efpid.rZ#[>-0S|jVPke*LOU,Afk!{1[<$8@E%PM7yg*P +::lRhJAmbNe~cDGv>7>%^NY?B!u]!jeXjG2sbT?7}ngz}(`]wk9bvgLT^t`3c1+0dd;e69awr3f2@%&F$Ve|@L<7]w~4xS.hJ|EH +::bx!>e&F\thGGWY11{ZqI|g]ibbYUHMHn^T[qM~@c\ui7L$AJnyS0*4+{U({z,LwH[`f8eub[yTgShzExq|iA\ZVP~F]%#]+>xZb[I=XyeAD!=510|E[pm1i\]*X~W4&r=u +::u(#METhm(/9Kqr=fygK+UQ/k\x-En_^*]%!QQZd2%iDi]s#23OWwIDJ<{X[GTH<2Khu7WG|6#X\cP6=%bM8rHF;c1GWhI-rt6w#X\R*,i#iIom51vOHz?=zzdKY<.rJc[* +::smZ|_bO0UUhOC5zM\?Ff6vy+byN~P$S8Y(`$+Tk{|,*1]1{l=hm;,ah_hp8jez7$1q!sRB]CSx5b\g]68cy=b!WAI}sb$#Pt_U)Zb-)pD&sg/unJoJ6,%kFd>KE.od;_2O +::0pB{c+h|h(5y8zK@`pkSmU(~IlgR,QMp=d_bi&`kSMK+s4OcE5^&*1WUR|G[x]AO$mVf!H\$MR9@]%cTyG2u6KYLfm*G-Bnd2&k829xzD!OA%4*`LE+xS9Q0XR%s,0v?]n +::Iqw1Y#Avf/SHl!>zqQH]vh{=0kLmvJ-QNpNW5~r`o1Y*l?Vj![pd4}wxjco +::\7c(,idILL^#^SmM,PydE1aKu/+8O!-Sp1}D\Yv@.NRZm)qvyiHvE&/4o$!nMi(oL*h0I9Sj>76ZkHX|Uc{Fth{5|Ev?-M!dUc[e.n)T#kxX_buv}8wir+gAMwiP{;Yd8G +::ol3E3{h3t|3DO=xYU{WE]3/>^sc9${}1Y +::m*QxbMVbm;_j\^t{N-tvJzzNO)JIpEZux8+{UUhqb)PrP`*vytFyp^psQ9$s7po?CxQ]v>knk-+{GJ*vNW}nGr0ixgeVs +::8XU\Dq3)UIC#?l)1cdu?oto)rwR\%vhfCl?9JaSn`hJFqEG4zY*krP=mwPOE*G|;`WIO{i<.]6~+4d-*TnFRvqkOH&evEKC@~wyhlWzm`,R0_4NT08C8E/p{Y\l\cq7puQ +::4S=\uN^n!`3lb%B^P}aK^{VelCKd1#WC{ +::>f7SGiGX~Y/&bE=d?BM*I]r6iL!0TycDbl+/W?&-xHUK&Zc07~&/{o`CfggJ#uD+y1q&bdDA;I*J|HB9k9`1BXHoGCl%;0`&J{-jM$V=$+{^Ubo#zq`a3#k\Iu.|=fX&Iz +::Wr*+um+|]0_m{.UR4E4hS{6)!MvH>`I%7i1!S!F\Y`[5T&rUB)*P(r!(w`WM/r#l}cetE8M*^KsN?V8P[@99vR^jPREqTd[i\(bb]8diif_BX8-2Zq$/l(jijL=/uP^^yz +::MQ\#S$bx(;LY8sQSg>KoBjS(m#r^]JQF`R)Kg=c]Vp^!++@L>K3OjCiGND;=%LqK/w4]G>V[?eK$NF.S,>LDo%v>KuKt^Kt24DD4_AuAK#Xu>M$M1aNV6MuWE^fFV_MlQx +::\i,%d1mC!b|LOibK-qI>yoBw_qfvtbH|!=E&07*\wzDkR1Y\0m%1_/[K7fRRX92J70xI<]FA8R=-KY#6O/LwYYQS.-o|KYo\<^Ser+{7^ED +::37V_g=eTOddl+(D\*m^?!Mp&l;!#ppgEU=RR0hns4QUK}O3^Vrz/;zO#=/WSm.k~uBgR###.7BQ];Hk_PPFt*iq5WJ\hv2u(K,ui*KU_#?\e5leay@~bp9bET5xkRDhL,N +::l\gNvV&/3pj)\]<;g4IK-Rjn0Ra.,/|;bQI|0`]FL.%F].8R%T,.AHQo|l~x]tUCQjXsn;[)U+Cr|@[j>l#CEUf8iFs52Y3xo,R{`QuFe&Lc`,VP7$X/vq91EWJkCt.hPJ +::%eR(}aA5Em-JNrZfn](yPqU2sz$}Nq$}X/uavcZ@Q_E88}54/<3t+ptqL-XVf1Gp?2HvlFl0^+m-b1LF1NTp?i@75tg1f9.u~8U(SN{%&ldm~7,K&04oD@E}GvrVf! +::Cl}E^Zk613~sayWQr6UAfL\sz_?X#I+O8ZU?&I@c@3>ez`b=6Y%v]f5q_rFZ+mSuN\jL4YzM7E^*y&>w~_*t5N(lC\#R|SrAeZZ~>X.q!p1G4$vK71F}z*ZrPQ4&jp +::hs+o-~NHwxJ=%cc4?~`5+7%|#ZRNy4,I;)5\6~Jw/BF}~\@~hmO>UI#0}`\o&`2as4+\tEBq,/3T%0!0M\p`&RWT)B&d?>@d7gmwVi2Qy=33-PF}Eohb);qu4o~G]?~`+P +::=pD8Ka@2]SEh)6x/8\jUT5b.}}P$,P9d@R}7qVwjb$Gpz[GX5^*[;WQQ>;auO8*62]h##&+In+TaM%X-XEzf~fm)_!-g0!$oQ9@S$D5ZN3%u*\>$Y +::k9f?2A;2^z\,xqa1VdFdPJk4xXWJ?1.Wd]#w,hlakOZN(N(#+{k[ROb6=X5;^1lVK!T,$H0->OMm%w2MOQU(BwdO5s;OBJ*7;!|{o#_gOiCm9sjMP@Gw@s5Ogv,\ig_!n??Ee8PmOb}A.n.Jm!uC>,;4lY5M/?.IZ7Rnq}B-oQycS.V]b}-Pi( +::xE0=?;?Pr!T.v]h__,@5TPF[(q$({9>}i7+sQQ(S}(HPBK=[EIdKknk|$n7+{-5lLaZ_TMss,qY/{&oGm%=Hi[`?J,%Ge{TXtQxK$}CTw@=^+qwXT} +::>hF{uXZU,7X,@X^;Q,a){v0B*Ye);S$uDqxPzXX_8.D[ +:cleanospp:] + +::======================================================================================================================================== +:kacttxt: + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:_Check_Status_vbs +@setlocal DisableDelayedExpansion +@echo off +@cls +mode con cols=100 lines=32 +>nul 2>&1 powershell "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" +color 07 +title Check Activation Status [vbs] +set "SysPath=%SystemRoot%\System32" +set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "SysPath=%SystemRoot%\Sysnative" +set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" +) + +set "_bit=64" +set "_wow=1" +if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "_wow=0"&set "_bit=32" +set "_utemp=%TEMP%" +set "line2=************************************************************" +set "line3=____________________________________________________________" +set _sO16vbs=0 +set _sO15vbs=0 +if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" ( + set _sO15vbs=1 +) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" ( + set _sO15vbs=1 +) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" ( + set _sO15vbs=1 +) +setlocal EnableDelayedExpansion +echo %line2% +echo *** Windows Status *** +echo %line2% +pushd "!_utemp!" +copy /y %SystemRoot%\System32\slmgr.vbs . >nul 2>&1 +net start sppsvc /y >nul 2>&1 +cscript //nologo slmgr.vbs /dli || (echo Error executing slmgr.vbs&del /f /q slmgr.vbs&popd&goto :casVend) +cscript //nologo slmgr.vbs /xpr +del /f /q slmgr.vbs >nul 2>&1 +popd +echo %line3% + +:casVo16 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") +if exist "!office!\ospp.vbs" ( +set _sO16vbs=1 +echo. +echo %line2% +if %_sO15vbs% EQU 0 ( +echo *** Office 2016 %_bit%-bit Status *** +) else ( +echo *** Office 2013/2016 Status *** +) +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) +if %_wow%==0 goto :casVo13 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\16.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") +if exist "!office!\ospp.vbs" ( +set _sO16vbs=1 +echo. +echo %line2% +if %_sO15vbs% EQU 0 ( +echo *** Office 2016 32-bit Status *** +) else ( +echo *** Office 2013/2016 Status *** +) +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) + +:casVo13 +if %_sO16vbs% EQU 1 goto :casVo10 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") +if exist "!office!\ospp.vbs" ( +echo. +echo %line2% +echo *** Office 2013 %_bit%-bit Status *** +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) +if %_wow%==0 goto :casVo10 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\15.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") +if exist "!office!\ospp.vbs" ( +echo. +echo %line2% +echo *** Office 2013 32-bit Status *** +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) + +:casVo10 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") +if exist "!office!\ospp.vbs" ( +echo. +echo %line2% +echo *** Office 2010 %_bit%-bit Status *** +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) +if %_wow%==0 goto :casVc16 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\Common\InstallRoot /v Path" 2^>nul') do (set "office=%%b") +if exist "!office!\ospp.vbs" ( +echo. +echo %line2% +echo *** Office 2010 32-bit Status *** +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) + +:casVc16 +reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || ( +reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc13 +) +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16") +if exist "!office!\ospp.vbs" ( +set _sO16vbs=1 +echo. +echo %line2% +if %_sO15vbs% EQU 0 ( +echo *** Office 2016-2021 C2R Status *** +) else ( +echo *** Office 2013-2021 Status *** +) +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) +if %_wow%==0 goto :casVc13 +set office= +for /f "skip=2 tokens=2*" %%a in ('"reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\ClickToRun /v InstallPath" 2^>nul') do (set "office=%%b\Office16") +if exist "!office!\ospp.vbs" ( +set _sO16vbs=1 +echo. +echo %line2% +if %_sO15vbs% EQU 0 ( +echo *** Office 2016-2021 C2R Status *** +) else ( +echo *** Office 2013-2021 Status *** +) +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) + +:casVc13 +if %_sO16vbs% EQU 1 goto :casVc10 +reg query HKLM\SOFTWARE\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || ( +reg query HKLM\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\ClickToRun /v InstallPath >nul 2>&1 || goto :casVc10 +) +set office= +if exist "%ProgramFiles%\Microsoft Office\Office15\ospp.vbs" ( + set "office=%ProgramFiles%\Microsoft Office\Office15" +) else if exist "%ProgramW6432%\Microsoft Office\Office15\ospp.vbs" ( + set "office=%ProgramW6432%\Microsoft Office\Office15" +) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office15\ospp.vbs" ( + set "office=%ProgramFiles(x86)%\Microsoft Office\Office15" +) +if exist "!office!\ospp.vbs" ( +echo. +echo %line2% +echo *** Office 2013 C2R Status *** +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) + +:casVc10 +if %_wow%==0 reg query HKLM\SOFTWARE\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend +if %_wow%==1 reg query HKLM\SOFTWARE\Wow6432Node\Microsoft\Office\14.0\CVH /f Click2run /k >nul 2>&1 || goto :casVend +set office= +if exist "%ProgramFiles%\Microsoft Office\Office14\ospp.vbs" ( + set "office=%ProgramFiles%\Microsoft Office\Office14" +) else if exist "%ProgramW6432%\Microsoft Office\Office14\ospp.vbs" ( + set "office=%ProgramW6432%\Microsoft Office\Office14" +) else if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\ospp.vbs" ( + set "office=%ProgramFiles(x86)%\Microsoft Office\Office14" +) +if exist "!office!\ospp.vbs" ( +echo. +echo %line2% +echo *** Office 2010 C2R Status *** +echo %line2% +cscript //nologo "!office!\ospp.vbs" /dstatus +) + +:casVend +echo. +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:_Check_Status_wmi + +@setlocal DisableDelayedExpansion +@echo off +mode con cols=100 lines=32 +>nul 2>&1 powershell "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=300;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" +color 07 +title Check Activation Status [wmi] + +set WMI_VBS=0 +@cls +set "_cmdf=%~f0" +set wspp=SoftwareLicensingProduct +set wsps=SoftwareLicensingService +set ospp=OfficeSoftwareProtectionProduct +set osps=OfficeSoftwareProtectionService +set winApp=55c92734-d682-4d71-983e-d6ec3f16059f +set o14App=59a52881-a989-479d-af46-f275c6370663 +set o15App=0ff1ce15-a989-479d-af46-f275c6370663 +for %%# in (spp_get,ospp_get,cW1nd0ws,sppw,c0ff1ce15,sppo,osppsvc,ospp14,ospp15) do set "%%#=" +for /f "tokens=6 delims=[]. " %%# in ('ver') do set winbuild=%%# +set "spp_get=Description, DiscoveredKeyManagementServiceMachineName, DiscoveredKeyManagementServiceMachinePort, EvaluationEndDate, GracePeriodRemaining, ID, KeyManagementServiceMachine, KeyManagementServicePort, KeyManagementServiceProductKeyID, LicenseStatus, LicenseStatusReason, Name, PartialProductKey, ProductKeyID, VLActivationInterval, VLRenewalInterval" +set "ospp_get=%spp_get%" +if %winbuild% GEQ 9200 set "spp_get=%spp_get%, KeyManagementServiceLookupDomain, VLActivationTypeEnabled" +if %winbuild% GEQ 9600 set "spp_get=%spp_get%, DiscoveredKeyManagementServiceMachineIpAddress, ProductKeyChannel" +set "_work=%~dp0" +set "_batf=%~f0" +set "_batp=%_batf:'=''%" +set "_Local=%LocalAppData%" +set _Identity=0 +setlocal EnableDelayedExpansion +dir /b /s /a:-d "!_Local!\Microsoft\Office\Licenses\*1*" 1>nul 2>nul && set _Identity=1 +dir /b /s /a:-d "!ProgramData!\Microsoft\Office\Licenses\*1*" 1>nul 2>nul && set _Identity=1 +pushd "!_work!" +setlocal DisableDelayedExpansion +if %winbuild% LSS 9200 if not exist "%SystemRoot%\servicing\Packages\Microsoft-Windows-PowerShell-WTR-Package~*.mum" set _Identity=0 + +set "SysPath=%SystemRoot%\System32" +set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "SysPath=%SystemRoot%\Sysnative" +set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" +) + +set _cwmi=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "ComputerSystem" 1>nul && set _cwmi=1 +) + +if %_cwmi% EQU 0 ( +echo: +echo Error: wmic.exe is not responding in the system. +echo: +echo Press any key to go back... +pause >nul +exit /b +) + +set "line2=************************************************************" +set "line3=____________________________________________________________" +set "_psc=powershell" + +set _prsh=1 +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" set _prsh=0 +set "_csg=cscript.exe //NoLogo //Job:WmiMulti "%~nx0?.wsf"" +set "_csq=cscript.exe //NoLogo //Job:WmiQuery "%~nx0?.wsf"" +set "_csx=cscript.exe //NoLogo //Job:XPDT "%~nx0?.wsf"" +if %_cwmi% EQU 0 set WMI_VBS=1 +if %WMI_VBS% EQU 0 ( +set "_zz1=wmic path" +set "_zz2=where" +set "_zz3=get" +set "_zz4=/value" +set "_zz5=(" +set "_zz6=)" +set "_zz7="wmic path" +set "_zz8=/value"" +) else ( +set "_zz1=%_csq%" +set "_zz2=" +set "_zz3=" +set "_zz4=" +set "_zz5="" +set "_zz6="" +set "_zz7=%_csq%" +set "_zz8=" +) +set _WSH=0 +set OsppHook=1 +sc query osppsvc >nul 2>&1 +if %errorlevel% EQU 1060 set OsppHook=0 + +net start sppsvc /y >nul 2>&1 +call :casWpkey %wspp% %winApp% cW1nd0ws sppw +if %winbuild% GEQ 9200 call :casWpkey %wspp% %o15App% c0ff1ce15 sppo +if %OsppHook% NEQ 0 ( +net start osppsvc /y >nul 2>&1 +call :casWpkey %ospp% %o14App% osppsvc ospp14 +if %winbuild% LSS 9200 call :casWpkey %ospp% %o15App% osppsvc ospp15 +) + +echo %line2% +echo *** Windows Status *** +echo %line2% +if not defined cW1nd0ws ( +echo. +echo Error: product key not found. +goto :casWcon +) +set winID=1 +set "_qr=%_zz7% %wspp% %_zz2% %_zz5%ApplicationID='%winApp%' and PartialProductKey is not null%_zz6% %_zz3% ID %_zz8%" +for /f "tokens=2 delims==" %%# in ('%_qr%') do ( + set "chkID=%%#" + call :casWdet "%wspp%" "%wsps%" "%spp_get%" + call :casWout + echo %line3% + echo. +) + +:casWcon +set winID=0 +set verbose=1 +if not defined c0ff1ce15 ( +if defined osppsvc goto :casWospp +goto :casWend +) +echo %line2% +echo *** Office Status *** +echo %line2% +set "_qr=%_zz7% %wspp% %_zz2% %_zz5%ApplicationID='%o15App%' and PartialProductKey is not null%_zz6% %_zz3% ID %_zz8%" +for /f "tokens=2 delims==" %%# in ('%_qr%') do ( + set "chkID=%%#" + call :casWdet "%wspp%" "%wsps%" "%spp_get%" + call :casWout + echo %line3% + echo. +) +set verbose=0 +if defined osppsvc goto :casWospp +goto :casWend + +:casWospp +if %verbose% EQU 1 ( +echo %line2% +echo *** Office Status *** +echo %line2% +) +set "_qr=%_zz7% %ospp% %_zz2% %_zz5%ApplicationID='%o15App%' and PartialProductKey is not null%_zz6% %_zz3% ID %_zz8%" +if defined ospp15 for /f "tokens=2 delims==" %%# in ('%_qr%') do ( + set "chkID=%%#" + call :casWdet "%ospp%" "%osps%" "%ospp_get%" + call :casWout + echo %line3% + echo. +) +set "_qr=%_zz7% %ospp% %_zz2% %_zz5%ApplicationID='%o14App%' and PartialProductKey is not null%_zz6% %_zz3% ID %_zz8%" +if defined ospp14 for /f "tokens=2 delims==" %%# in ('%_qr%') do ( + set "chkID=%%#" + call :casWdet "%ospp%" "%osps%" "%ospp_get%" + call :casWout + echo %line3% + echo. +) +goto :casWend + +:casWpkey +set "_qr=%_zz1% %1 %_zz2% %_zz5%ApplicationID='%2' and PartialProductKey is not null%_zz6% %_zz3% ID %_zz4%" +%_qr% 2>nul | findstr /i ID 1>nul && (set %3=1&set %4=1) +exit /b + +:casWdet +for %%# in (%~3) do set "%%#=" +if /i %~1==%ospp% for %%# in (DiscoveredKeyManagementServiceMachineIpAddress, KeyManagementServiceLookupDomain, ProductKeyChannel, VLActivationTypeEnabled) do set "%%#=" +set "cKmsClient=" +set "cTblClient=" +set "cAvmClient=" +set "ExpireMsg=" +set "_xpr=" +set "_qr="wmic path %~1 where ID='%chkID%' get %~3 /value" ^| findstr ^=" +if %WMI_VBS% NEQ 0 set "_qr=%_csg% %~1 "ID='%chkID%'" "%~3"" +for /f "tokens=* delims=" %%# in ('%_qr%') do set "%%#" + +set /a _gpr=(GracePeriodRemaining+1440-1)/1440 +echo %Description%| findstr /i VOLUME_KMSCLIENT 1>nul && (set cKmsClient=1&set _mTag=Volume) +echo %Description%| findstr /i TIMEBASED_ 1>nul && (set cTblClient=1&set _mTag=Timebased) +echo %Description%| findstr /i VIRTUAL_MACHINE_ACTIVATION 1>nul && (set cAvmClient=1&set _mTag=Automatic VM) +cmd /c exit /b %LicenseStatusReason% +set "LicenseReason=%=ExitCode%" +set "LicenseMsg=Time remaining: %GracePeriodRemaining% minute(s) (%_gpr% day(s))" +if %_gpr% GEQ 1 if %_WSH% EQU 1 ( +for /f "tokens=* delims=" %%# in ('%_csx% %GracePeriodRemaining%') do set "_xpr=%%#" +) +if %_gpr% GEQ 1 if %_prsh% EQU 1 if not defined _xpr ( +for /f "tokens=* delims=" %%# in ('%_psc% "$([DateTime]::Now.addMinutes(%GracePeriodRemaining%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "_xpr=%%#" +title Check Activation Status [wmi] +) + +if %LicenseStatus% EQU 0 ( +set "License=Unlicensed" +set "LicenseMsg=" +) +if %LicenseStatus% EQU 1 ( +set "License=Licensed" +set "LicenseMsg=" +if %GracePeriodRemaining% EQU 0 ( + if %winID% EQU 1 (set "ExpireMsg=The machine is permanently activated.") else (set "ExpireMsg=The product is permanently activated.") + ) else ( + set "LicenseMsg=%_mTag% activation expiration: %GracePeriodRemaining% minute(s) (%_gpr% day(s))" + if defined _xpr set "ExpireMsg=%_mTag% activation will expire %_xpr%" + ) +) +if %LicenseStatus% EQU 2 ( +set "License=Initial grace period" +if defined _xpr set "ExpireMsg=Initial grace period ends %_xpr%" +) +if %LicenseStatus% EQU 3 ( +set "License=Additional grace period (KMS license expired or hardware out of tolerance)" +if defined _xpr set "ExpireMsg=Additional grace period ends %_xpr%" +) +if %LicenseStatus% EQU 4 ( +set "License=Non-genuine grace period." +if defined _xpr set "ExpireMsg=Non-genuine grace period ends %_xpr%" +) +if %LicenseStatus% EQU 6 ( +set "License=Extended grace period" +if defined _xpr set "ExpireMsg=Extended grace period ends %_xpr%" +) +if %LicenseStatus% EQU 5 ( +set "License=Notification" + if "%LicenseReason%"=="C004F200" (set "LicenseMsg=Notification Reason: 0xC004F200 (non-genuine)." + ) else if "%LicenseReason%"=="C004F009" (set "LicenseMsg=Notification Reason: 0xC004F009 (grace time expired)." + ) else (set "LicenseMsg=Notification Reason: 0x%LicenseReason%" + ) +) +if %LicenseStatus% GTR 6 ( +set "License=Unknown" +set "LicenseMsg=" +) +if not defined cKmsClient exit /b + +if %KeyManagementServicePort%==0 set KeyManagementServicePort=1688 +set "KmsReg=Registered KMS machine name: %KeyManagementServiceMachine%:%KeyManagementServicePort%" +if "%KeyManagementServiceMachine%"=="" set "KmsReg=Registered KMS machine name: KMS name not available" + +if %DiscoveredKeyManagementServiceMachinePort%==0 set DiscoveredKeyManagementServiceMachinePort=1688 +set "KmsDns=KMS machine name from DNS: %DiscoveredKeyManagementServiceMachineName%:%DiscoveredKeyManagementServiceMachinePort%" +if "%DiscoveredKeyManagementServiceMachineName%"=="" set "KmsDns=DNS auto-discovery: KMS name not available" + +set "_qr="wmic path %~2 get ClientMachineID, KeyManagementServiceHostCaching /value" ^| findstr ^=" +if %WMI_VBS% NEQ 0 set "_qr=%_csg% %~2 "ClientMachineID, KeyManagementServiceHostCaching"" +for /f "tokens=* delims=" %%# in ('%_qr%') do set "%%#" +if /i %KeyManagementServiceHostCaching%==True (set KeyManagementServiceHostCaching=Enabled) else (set KeyManagementServiceHostCaching=Disabled) + +if %winbuild% LSS 9200 exit /b +if /i %~1==%ospp% exit /b + +if "%KeyManagementServiceLookupDomain%"=="" set "KeyManagementServiceLookupDomain=" + +if %VLActivationTypeEnabled% EQU 3 ( +set VLActivationType=Token +) else if %VLActivationTypeEnabled% EQU 2 ( +set VLActivationType=KMS +) else if %VLActivationTypeEnabled% EQU 1 ( +set VLActivationType=AD +) else ( +set VLActivationType=All +) + +if %winbuild% LSS 9600 exit /b +if "%DiscoveredKeyManagementServiceMachineIpAddress%"=="" set "DiscoveredKeyManagementServiceMachineIpAddress=not available" +exit /b + +:casWout +echo. +echo Name: %Name% +echo Description: %Description% +echo Activation ID: %ID% +echo Extended PID: %ProductKeyID% +if defined ProductKeyChannel echo Product Key Channel: %ProductKeyChannel% +echo Partial Product Key: %PartialProductKey% +echo License Status: %License% +if defined LicenseMsg echo %LicenseMsg% +if not %LicenseStatus%==0 if not %EvaluationEndDate:~0,8%==16010101 echo Evaluation End Date: %EvaluationEndDate:~0,4%-%EvaluationEndDate:~4,2%-%EvaluationEndDate:~6,2% %EvaluationEndDate:~8,2%:%EvaluationEndDate:~10,2% UTC +if not defined cKmsClient ( +if defined ExpireMsg echo.&echo. %ExpireMsg% +exit /b +) +if defined VLActivationTypeEnabled echo Configured Activation Type: %VLActivationType% +echo. +if not %LicenseStatus%==1 ( +echo Please activate the product in order to update KMS client information values. +exit /b +) +echo Most recent activation information: +echo Key Management Service client information +echo. Client Machine ID (CMID): %ClientMachineID% +echo. %KmsDns% +echo. %KmsReg% +if defined DiscoveredKeyManagementServiceMachineIpAddress echo. KMS machine IP address: %DiscoveredKeyManagementServiceMachineIpAddress% +echo. KMS machine extended PID: %KeyManagementServiceProductKeyID% +echo. Activation interval: %VLActivationInterval% minutes +echo. Renewal interval: %VLRenewalInterval% minutes +echo. KMS host caching: %KeyManagementServiceHostCaching% +if defined KeyManagementServiceLookupDomain echo. KMS SRV record lookup domain: %KeyManagementServiceLookupDomain% +if defined ExpireMsg echo.&echo. %ExpireMsg% +exit /b + +:casWend +if %_Identity% EQU 1 if %_prsh% EQU 1 ( +echo %line2% +echo *** Office vNext Status *** +echo %line2% +setlocal EnableDelayedExpansion +%_psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':vNextDiag\:.*';iex ($f[1])" +title Check Activation Status [wmi] +echo %line3% +echo. +) +echo. +call :_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +:vNextDiag: +function PrintModePerPridFromRegistry +{ + $vNextRegkey = "HKCU:\SOFTWARE\Microsoft\Office\16.0\Common\Licensing\LicensingNext" + $vNextPrids = Get-Item -Path $vNextRegkey -ErrorAction Ignore | Select-Object -ExpandProperty 'property' | Where-Object -FilterScript {$_ -Ne 'InstalledGraceKey' -And $_ -Ne 'MigrationToV5Done' -And $_ -Ne 'test' -And $_ -Ne 'unknown'} + If ($vNextPrids -Eq $null) + { + Write-Host "No registry keys found." + Return + } + $vNextPrids | ForEach ` + { + $mode = (Get-ItemProperty -Path $vNextRegkey -Name $_).$_ + Switch ($mode) + { + 2 { $mode = "vNext"; Break } + 3 { $mode = "Device"; Break } + Default { $mode = "Legacy"; Break } + } + Write-Host $_ = $mode + } +} +function PrintSharedComputerLicensing +{ + $scaRegKey = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" + $scaValue = Get-ItemProperty -Path $scaRegKey -ErrorAction Ignore | Select-Object -ExpandProperty "SharedComputerLicensing" -ErrorAction Ignore + $scaRegKey2 = "HKLM:\SOFTWARE\Microsoft\Office\16.0\Common\Licensing" + $scaValue2 = Get-ItemProperty -Path $scaRegKey2 -ErrorAction Ignore | Select-Object -ExpandProperty "SharedComputerLicensing" -ErrorAction Ignore + $scaPolicyKey = "HKLM:\SOFTWARE\Policies\Microsoft\Office\16.0\Common\Licensing" + $scaPolicyValue = Get-ItemProperty -Path $scaPolicyKey -ErrorAction Ignore | Select-Object -ExpandProperty "SharedComputerLicensing" -ErrorAction Ignore + If ($scaValue -Eq $null -And $scaValue2 -Eq $null -And $scaPolicyValue -Eq $null) + { + Write-Host "No registry keys found." + Return + } + $scaModeValue = $scaValue -Or $scaValue2 -Or $scaPolicyValue + If ($scaModeValue -Eq 0) + { + $scaMode = "Disabled" + } + If ($scaModeValue -Eq 1) + { + $scaMode = "Enabled" + } + Write-Host "SharedComputerLicensing" = $scaMode + Write-Host + $tokenFiles = $null + $tokenPath = "${env:LOCALAPPDATA}\Microsoft\Office\16.0\Licensing" + If (Test-Path $tokenPath) + { + $tokenFiles = Get-ChildItem -Path $tokenPath -Recurse -File -Filter "*authString*" + } + If ($tokenFiles.length -Eq 0) + { + Write-Host "No tokens found." + Return + } + $tokenFiles | ForEach ` + { + $tokenParts = (Get-Content -Encoding Unicode -Path $_.FullName).Split('_') + $output = [PSCustomObject] ` + @{ + ACID = $tokenParts[0]; + User = $tokenParts[3] + NotBefore = $tokenParts[4]; + NotAfter = $tokenParts[5]; + } | ConvertTo-Json + Write-Host $output + } +} +function PrintLicensesInformation +{ + Param( + [ValidateSet("NUL", "Device")] + [String]$mode + ) + If ($mode -Eq "NUL") + { + $licensePath = "${env:LOCALAPPDATA}\Microsoft\Office\Licenses" + } + ElseIf ($mode -Eq "Device") + { + $licensePath = "${env:PROGRAMDATA}\Microsoft\Office\Licenses" + } + $licenseFiles = $null + If (Test-Path $licensePath) + { + $licenseFiles = Get-ChildItem -Path $licensePath -Recurse -File + } + If ($licenseFiles.length -Eq 0) + { + Write-Host "No licenses found." + Return + } + $licenseFiles | ForEach ` + { + $license = (Get-Content -Encoding Unicode $_.FullName | ConvertFrom-Json).License + $decodedLicense = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String($license)) | ConvertFrom-Json + $licenseType = $decodedLicense.LicenseType + $userId = $decodedLicense.Metadata.UserId + $identitiesRegkey = Get-ItemProperty -Path "HKCU:\SOFTWARE\Microsoft\Office\16.0\Common\Identity\Identities\${userId}*" -ErrorAction Ignore + $licenseState = $null + If ((Get-Date) -Gt (Get-Date $decodedLicense.MetaData.NotAfter)) + { + $licenseState = "RFM" + } + ElseIf (($decodedLicense.ExpiresOn -Eq $null) -Or + ((Get-Date) -Lt (Get-Date $decodedLicense.ExpiresOn))) + { + $licenseState = "Licensed" + } + Else + { + $licenseState = "Grace" + } + if ($mode -Eq "NUL") + { + $output = [PSCustomObject] ` + @{ + Version = $_.Directory.Name + Type = "User|${licenseType}"; + Product = $decodedLicense.ProductReleaseId; + Acid = $decodedLicense.Acid; + LicenseState = $licenseState; + EntitlementStatus = $decodedLicense.Status; + ReasonCode = $decodedLicense.ReasonCode; + NotBefore = $decodedLicense.Metadata.NotBefore; + NotAfter = $decodedLicense.Metadata.NotAfter; + NextRenewal = $decodedLicense.Metadata.RenewAfter; + Expiration = $decodedLicense.ExpiresOn; + TenantId = $decodedLicense.Metadata.TenantId; + } | ConvertTo-Json + } + ElseIf ($mode -Eq "Device") + { + $output = [PSCustomObject] ` + @{ + Version = $_.Directory.Name + Type = "Device|${licenseType}"; + Product = $decodedLicense.ProductReleaseId; + Acid = $decodedLicense.Acid; + DeviceId = $decodedLicense.Metadata.DeviceId; + LicenseState = $licenseState; + EntitlementStatus = $decodedLicense.Status; + ReasonCode = $decodedLicense.ReasonCode; + NotBefore = $decodedLicense.Metadata.NotBefore; + NotAfter = $decodedLicense.Metadata.NotAfter; + NextRenewal = $decodedLicense.Metadata.RenewAfter; + Expiration = $decodedLicense.ExpiresOn; + TenantId = $decodedLicense.Metadata.TenantId; + } | ConvertTo-Json + } + Write-Output $output + } +} + Write-Host + Write-Host "========== Mode per ProductReleaseId ==========" + Write-Host +PrintModePerPridFromRegistry + Write-Host + Write-Host "========== Shared Computer Licensing ==========" + Write-Host +PrintSharedComputerLicensing + Write-Host + Write-Host "========== vNext licenses ==========" + Write-Host +PrintLicensesInformation -Mode "NUL" + Write-Host + Write-Host "========== Device licenses ==========" + Write-Host +PrintLicensesInformation -Mode "Device" +:vNextDiag: + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:troubleshoot +@setlocal DisableDelayedExpansion +cls +color 07 +title Activation Troubleshoot + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +call :_colorprep + +set cbs_log=%SystemRoot%\logs\cbs\cbs.log +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" +set "line=_________________________________________________________________________________________________" + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +setlocal DisableDelayedExpansion + +:: Check desktop location + +set desktop= +for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" +if not defined desktop for /f "delims=" %%a in ('%psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" + +if not defined desktop ( +%eline% +echo Desktop location was not detected, aborting... +goto at_done +) + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +:at_menu + +cls +color 07 +title Activation Troubleshoot +mode con cols=77 lines=30 + +echo: +echo: +echo: +echo: +echo: _______________________________________________________________ +echo: +echo: [1] ReadMe +echo: ___________________________________________________ +echo: +echo: [2] Dism RestoreHealth +echo: [3] SFC Scannow +echo: +echo: [4] Rebuild Licensing Tokens +echo: [5] Clear Office vNext License +echo: ___________________________________________________ +echo: +echo: [6] Solution: Office is not genuine banner +echo: [0] Go Back +echo: _______________________________________________________________ +echo: +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard :" +choice /C:1234560 /N +set _erl=%errorlevel% + +if %_erl%==7 exit /b +if %_erl%==6 start https://massgrave.dev/office-license-is-not-genuine &goto at_menu +if %_erl%==5 goto:clearvnext +if %_erl%==4 goto:retokens +if %_erl%==3 goto:sfcscan +if %_erl%==2 goto:dism_rest +if %_erl%==1 start https://massgrave.dev/troubleshoot.html &goto at_menu +goto :at_menu + +::======================================================================================================================================== + +:dism_rest + +cls +mode 98, 30 +title Dism /Online /Cleanup-Image /RestoreHealth + +if %winbuild% LSS 9200 ( +%eline% +echo Unsupported OS version Detected. +echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. +goto :at_back +) + +set _int= +for %%a in (dns.msftncsi.com) do ( +if not defined _int (for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do if not [%%#]==[] set _int=1)) + +echo: +if defined _int ( +echo Checking Internet Connection [Connected] +) else ( +call :_color2 %_White% " " %Red% "Checking Internet Connection [Not connected]" +) + +echo %line% +echo: +echo Dism uses Windows Update to provide the files required to fix corruption. +echo This will take 5-15 minutes or more.. +echo %line% +echo: +echo Notes: +echo: +call :_color2 %_White% " - " %Gray% "Make sure the Internet is connected." +call :_color2 %_White% " - " %Gray% "Make sure the Windows update is properly working." +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + +cls +mode 110, 30 +echo: + +call :_stopservice TrustedInstaller +del /s /f /q "%SystemRoot%\logs\cbs\*.*" + +set _time= +for /f %%a in ('%psc% "Get-Date -format HH_mm_ss"') do set _time=%%a +echo: +echo Applying the command, +echo dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 +echo: +dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 + +if not exist "!desktop!\" ( +echo: +call :_color %Red% "Desktop location is not detected. Failed to copy logs on the dekstop." +goto :at_back +) + +if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% +copy /y /b "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" "!desktop!\AT_Logs\RHealth_DISM_%_time%.txt" %nul% +copy /y /b "%cbs_log%" "!desktop!\AT_Logs\RHealth_CBS_%_time%.txt" %nul% +del /f /q "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" %nul% + +echo: +call :_color %Gray% "CBS and DISM logs are copied to the AT_Logs folder on the dekstop." +goto :at_back + +::======================================================================================================================================== + +:sfcscan + +cls +mode 98, 30 +title sfc /scannow + +echo: +echo %line% +echo: +echo System File Checker will repair missing or corrupted system files. +echo This will take 10-15 minutes or more.. +echo: +echo If SFC could not fix something, then run the command again to see if it may be able +echo to the next time. Sometimes it may take running the sfc /scannow command 3 times +echo restarting the PC after each time to completely fix everything that it's able to. +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + +cls +echo: + +call :_stopservice TrustedInstaller +del /s /f /q "%SystemRoot%\logs\cbs\*.*" + +set _time= +for /f %%a in ('%psc% "Get-Date -format HH_mm_ss"') do set _time=%%a +echo: +echo Applying the command, +echo sfc /scannow +echo: +sfc /scannow + +if not exist "!desktop!\" ( +echo: +call :_color %Red% "Desktop location is not detected. Failed to copy logs on the dekstop." +goto :at_back +) + +if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% + +copy /y /b "%cbs_log%" "!desktop!\AT_Logs\SFC_CBS_%_time%.txt" %nul% +findstr /i /c:"[SR]" %cbs_log% | findstr /i /v /c:verify >"!desktop!\AT_Logs\SFC_Main_%_time%.txt" + +echo: +call :_color %Gray% "CBS and main extracted logs are copied to the AT_Logs folder on the dekstop." +goto :at_back + +::======================================================================================================================================== + +:clearvnext + +cls +mode 98, 30 +title Clear Office vNext License + +echo: +echo %line% +echo: +echo This options will clear Office vNext ^(subscription^) license +echo: +echo You need to use this option when, +echo - KMS option is not activating office due to existing subscription license +echo - KMS option activated Office but Office activation page is not showing activated +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + +cls +mode con cols=115 lines=32 +%nul% %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" + + + +echo: +echo %line% +echo: +call :_color %Magenta% "Clearing Office vNext License" +echo: + +setlocal DisableDelayedExpansion +set "_locl=%LocalAppData%\Microsoft\Office\Licenses" +setlocal EnableDelayedExpansion +call :cleanfolder +set "_locl=%ProgramData%\Microsoft\Office\Licenses" +call :cleanfolder + +echo: +for %%# in ( +HKCU\Software\Microsoft\Office\16.0\Common\Licensing +HKCU\Software\Microsoft\Office\16.0\Common\Identity +) do ( +reg query %%# %nul% && ( +reg delete %%# /f %nul% && ( +echo Deleted Registry - %%# +) || ( +echo Failed to Delete - %%# +) +) || ( +echo Already Clean - %%# +) +) + +goto :at_back + +:cleanfolder + +2>nul dir /b /a "!_locl!\*" | %nul% findstr "^" && ( +pushd "!_locl!\" && ( +del /S /F /Q "!_locl!\*" +for /F "delims=" %%i in ('dir /b') do ( +RD /S /Q "%%i" %nul% +if not exist "!_locl!\%%i\" ( +echo Deleted Folder - !_locl!\%%i +) else ( +echo Failed To Delete - !_locl!\%%i +) +) +popd +) +) || ( +echo Already Clean - !_locl!\ +) +exit /b + +::======================================================================================================================================== + +:retokens + +cls +mode con cols=115 lines=32 +%nul% %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" +title Rebuild Licensing Tokens ^(SPP ^+ OSPP) + +echo: +echo %line% +echo: +echo Notes: +echo: +echo - It helps in troubleshooting activation issues. +echo: +call :_color2 %_White% " - " %Magenta% "This option will," +call :_color2 %_White% " " %Magenta% "- Deactivate Windows and Office, you will need to reactivate" +call :_color2 %_White% " " %Magenta% "- Uninstall Office licenses and keys" +call :_color2 %_White% " " %Magenta% "- Clear SPP-OSPP data.dat, tokens.dat, cache.dat" +call :_color2 %_White% " " %Magenta% "- Trigger the repair option for Office" +echo: +call :_color2 %_White% " - " %Red% "Apply it only when it is necessary." +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + + +cls +echo: +echo %line% +echo: +call :_color %Magenta% "Rebuilding SPP Licensing Tokens" +echo: + +call :scandat check + +if not defined token ( +call :_color %Red% "tokens.dat file not found." +) else ( +echo tokens.dat file: [%token%] +) + +echo: +echo Stopping sppsvc service... +call :_stopservice sppsvc + +echo: +call :scandat delete +call :scandat check + +if defined token ( +echo: +call :_color %Red% "Failed to delete .dat files." +echo: +) + +echo: +echo Reinstalling System Licenses [slmgr /rilc]... +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if %errorlevel% NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if %errorlevel% EQU 0 ( +echo [Successful] +) else ( +call :_color %Red% "[Failed]" +) + +call :scandat check + +echo: +if not defined token ( +call :_color %Red% "Failed to rebuilt tokens.dat file." +) else ( +call :_color %Green% "tokens.dat file was rebuilt successfully." +) + +::======================================================================================================================================== + +:: Rebuild OSPP Tokens + +echo: +echo %line% +echo: + +sc qc osppsvc %nul% || ( +echo: +call :_color %Magenta% "OSPP based Office is not installed" +call :_color %Magenta% "Skipping rebuilding OSPP tokens" +goto :cleanclipsvc +) + +call :_color %Magenta% "Rebuilding OSPP Licensing Tokens" +echo: + +call :scandatospp check + +if not defined token ( +call :_color %Red% "tokens.dat file not found." +) else ( +echo tokens.dat file: [%token%] +) + +echo: +echo Stopping osppsvc service... +call :_stopservice osppsvc + +echo: +call :scandatospp delete +call :scandatospp check + +if defined token ( +echo: +call :_color %Red% "Failed to delete .dat files." +echo: +) + +echo: +echo Starting osppsvc service to generate tokens.dat +call :_startservice osppsvc +call :scandatospp check +if not defined token ( +call :_stopservice osppsvc +call :_startservice osppsvc +timeout /t 3 %nul% +) + +call :scandatospp check + +echo: +if not defined token ( +call :_color %Red% "Failed to rebuilt tokens.dat file." +) else ( +call :_color %Green% "tokens.dat file was rebuilt successfully." +) + +::======================================================================================================================================== + +:cleanclipsvc + +:: This section is removed + +::======================================================================================================================================== + +:repairoffice + +echo: +echo %line% +echo: +call :_color %Magenta% "Repairing Office Licenses" +echo: + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b + +if /i "%arch%"=="ARM64" ( +echo: +echo ARM64 Windows Found. +echo You need to use repair option in Windows settings for Office. +echo: +start ms-settings:appsfeatures +goto :repairend +) + +if /i "%arch%"=="x86" ( +set arch=X86 +) else ( +set arch=X64 +) + +for %%# in (68 86) do ( +for %%A in (msi14 msi15 msi16 c2r14 c2r15 c2r16) do (set %%A_%%#=&set %%Arepair%%#=) +) + +set _68=HKLM\SOFTWARE\Microsoft\Office +set _86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office + +%nul% reg query %_68%\14.0\Common\InstallRoot /v Path && (set "msi14_68=Office 14.0 MSI x86/x64" & set "msi14repair68=%systemdrive%\Program Files\Common Files\microsoft shared\OFFICE14\Office Setup Controller\Setup.exe") +%nul% reg query %_86%\14.0\Common\InstallRoot /v Path && (set "msi14_86=Office 14.0 MSI x86" & set "msi14repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\Setup.exe") +%nul% reg query %_68%\15.0\Common\InstallRoot /v Path && (set "msi15_68=Office 15.0 MSI x86/x64" & set "msi15repair68=%systemdrive%\Program Files\Common Files\microsoft shared\OFFICE15\Office Setup Controller\Setup.exe") +%nul% reg query %_86%\15.0\Common\InstallRoot /v Path && (set "msi15_86=Office 15.0 MSI x86" & set "msi15repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe") +%nul% reg query %_68%\16.0\Common\InstallRoot /v Path && (set "msi16_68=Office 16.0 MSI x86/x64" & set "msi16repair68=%systemdrive%\Program Files\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\Setup.exe") +%nul% reg query %_86%\16.0\Common\InstallRoot /v Path && (set "msi16_86=Office 16.0 MSI x86" & set "msi16repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\Setup.exe") +%nul% reg query %_68%\14.0\CVH /f Click2run /k && (set "c2r14_68=Office 14.0 C2R x86/x64" & set "c2r14repair68=") +%nul% reg query %_86%\14.0\CVH /f Click2run /k && (set "c2r14_86=Office 14.0 C2R x86" & set "c2r14repair86=") +%nul% reg query %_68%\15.0\ClickToRun /v InstallPath && (set "c2r15_68=Office 15.0 C2R x86/x64" & set "c2r15repair68=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe") +%nul% reg query %_86%\15.0\ClickToRun /v InstallPath && (set "c2r15_86=Office 15.0 C2R x86" & set "c2r15repair86=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe") +%nul% reg query %_68%\ClickToRun /v InstallPath && (set "c2r16_68=Office 16.0 C2R x86/x64" & set "c2r16repair68=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\OfficeClickToRun.exe") +%nul% reg query %_86%\ClickToRun /v InstallPath && (set "c2r16_86=Office 16.0 C2R x86" & set "c2r16repair86=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\OfficeClickToRun.exe") + +set uwp16= +if %winbuild% GEQ 10240 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msoxmled.exe" %nul% && ( +dir /b "%ProgramFiles%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set uwp16=Office 16.0 UWP +dir /b "%ProgramW6432%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set uwp16=Office 16.0 UWP +dir /b "%ProgramFiles(x86)%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set uwp16=Office 16.0 UWP +) + +set /a counter=0 +echo Checking installed Office versions... +echo: + +for %%# in ( +"%msi14_68%" +"%msi14_86%" +"%msi15_68%" +"%msi15_86%" +"%msi16_68%" +"%msi16_86%" +"%c2r14_68%" +"%c2r14_86%" +"%c2r15_68%" +"%c2r15_86%" +"%c2r16_68%" +"%c2r16_86%" +"%uwp16%" +) do ( +if not "%%#"=="""" ( +set insoff=%%# +set insoff=!insoff:"=! +echo [!insoff!] +set /a counter+=1 +) +) + +if %counter% GTR 1 ( +%eline% +echo Multiple office versions found. +echo It's recommended to install only one version of office. +echo ________________________________________________________________ +echo: +) + +if %counter% EQU 0 ( +echo: +echo Installed Office is not found. +goto :repairend +echo: +) else ( +echo: +call :_color %_Yellow% "A Window will popup, in that Window you need to select Repair Option..." +call :_color %_Yellow% "Press any key to continue..." +echo: +pause >nul +) + +if defined uwp16 ( +echo: +echo Note: Skipping repair for Office 16.0 UWP. +echo You need to use reset option in Windows settings for it. +echo ________________________________________________________________ +echo: +start ms-settings:appsfeatures +) + +set c2r14= +if defined c2r14_68 set c2r14=1 +if defined c2r14_86 set c2r14=1 + +if defined c2r14 ( +echo: +echo Note: Skipping repair for Office 14.0 C2R +echo You need to use Repair option in Windows settings for it. +echo ________________________________________________________________ +echo: +start appwiz.cpl +) + +if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%" +if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%" +if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%" +if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%" +if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%" +if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%" +if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE +if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE +if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" scenario=Repair & "%c2r16repair68%" scenario=Repair +if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" scenario=Repair & "%c2r16repair86%" scenario=Repair + +:repairend + +echo: +echo %line% +echo: +echo: +call :_color %Green% "Finished" + +::======================================================================================================================================== + +:at_back + +echo: +echo %line% +echo: +call :_color %_Yellow% "Press any key to go back..." +pause >nul +goto :at_menu + +::======================================================================================================================================== + +:at_done + +echo: +echo Press any key to go back... +pause >nul +exit /b + +::======================================================================================================================================== + +:_stopservice + +for %%# in (%1) do ( +sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% +sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% +) +exit /b + +:_startservice + +for %%# in (%1) do ( +sc query %%# | find /i "RUNNING" %nul% || net start %%# /y %nul% +sc query %%# | find /i "RUNNING" %nul% || sc start %%# %nul% +) +exit /b + +::======================================================================================================================================== + +:scandat + +set token= +for %%# in ( +%Systemdrive%\Windows\System32\spp\store_test\2.0\ +%Systemdrive%\Windows\System32\spp\store\ +%Systemdrive%\Windows\System32\spp\store\2.0\ +%Systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\ +) do ( + +if %1==check ( +if exist %%#tokens.dat set token=%%#tokens.dat +) + +if %1==delete ( +if exist %%# ( +%nul% dir /a-d /s "%%#*.dat" && ( +attrib -r -s -h "%%#*.dat" /S +del /S /F /Q "%%#*.dat" +) +) +) +) +exit /b + +:scandatospp + +set token= +for %%# in ( +%ProgramData%\Microsoft\OfficeSoftwareProtectionPlatform\ +) do ( + +if %1==check ( +if exist %%#tokens.dat set token=%%#tokens.dat +) + +if %1==delete ( +if exist %%# ( +%nul% dir /a-d /s "%%#*.dat" && ( +attrib -r -s -h "%%#*.dat" /S +del /S /F /Q "%%#*.dat" +) +) +) +) +exit /b + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:insert_hwidkey +@setlocal DisableDelayedExpansion +@echo off +cls +color 07 +title Install Windows Retail/OEM/MAK Key +set _unattended=0 + +::======================================================================================================================================== + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Green="42;97m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Green="DarkGreen" "white"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +set "line=echo ___________________________________________________________________________________________" + +::======================================================================================================================================== + +if %winbuild% LSS 10240 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11. +goto ins_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +cls +mode 98, 30 + +call :dk_initial + +:: Check product name + +cls +call :dk_product + +::======================================================================================================================================== + +:: Check SKU value / Check in multiple places to find Edition change corruption + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto ins_done +) + +::======================================================================================================================================== + +:: Detect key + +set key= +set pkey= +set _chan= + +if defined applist call :hwiddata attempt1 +if not defined key call :hwiddata attempt2 + +set pkey= +if not defined key call :dk_hwidkey %nul% + +if not defined key ( +%eline% +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +echo PowerShell is not responding properly. +echo: +) +echo Unable to find HWID key for [%winos% ^| SKU:%osSKU% ^| %winbuild%] +echo Make sure you are using updated version of the script +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system and try again. +) +goto ins_done +) + +if defined key call :dk_pkeychannel %key% +if defined pkeychannel set _chan=%pkeychannel% Key + +::======================================================================================================================================== + +if %_unattended%==1 goto insertkey + +cls +%line% +echo: +echo Install [%winos% ^| SKU:%osSKU% ^| %winbuild%] %_chan% +echo [%key%] +%line% +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Note: Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system to resolve it +echo: +) +call :dk_color %_Green% "Press [1] to Continue or [2] to Go back" +choice /C:21 /N +if %errorlevel%==1 exit /b +cls + +::======================================================================================================================================== + +:insertkey + +cls +%line% + +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not %errorlevel%==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% + +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" + +if %error_code% EQU 0 ( +call :dk_refresh +echo: +echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] +echo Installing %_chan% [%key%] +echo: +call :dk_color %Green% "[Successful]" +) else ( +%eline% +echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] +echo Installing %_chan% [%key%] +echo: +call :dk_color %Red% "[Unsuccessful] %error_code%" +if not defined applist echo Not Respoding: %e_wmispp% +) +%line% + +::======================================================================================================================================== + +:ins_done + +echo: +if %_unattended%==1 timeout /t 2 & exit /b +call :dk_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:change_edition +@setlocal DisableDelayedExpansion +@echo off +cls +color 07 +title Change Windows Edition + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Magenta="45;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Magenta="Darkmagenta" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +set "line=echo ___________________________________________________________________________________________" + +::======================================================================================================================================== + +if %winbuild% LSS 10240 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11/Server Build 10240 and later. +goto ced_done +) + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +cls +mode 98, 30 + +call :dk_initial + +if not defined applist ( +cls +%eline% +echo Not Respoding: !e_wmispp! +goto ced_done +) + +::======================================================================================================================================== + +:: Check Windows Edition + +set osedition= +for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a" + +cls +if "%osedition%"=="" ( +%eline% +DISM /English /Online /Get-CurrentEdition %nul% +cmd /c exit /b !errorlevel! +echo DISM command failed [Error Code - 0x!=ExitCode!] +echo OS Edition was not detected properly. Aborting... +goto ced_done +) + +:: Check product name + +call :dk_product + +:: Check SKU value + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto ced_done +) + +:: Check PowerShell + +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +%eline% +echo PowerShell is not responding properly. Aborting... +goto ced_done +) + +:: Check slmgr /dlv + +cscript //nologo %windir%\system32\slmgr.vbs /dlv %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +%eline% +echo slmgr /dlv is not responding %error_code% +goto ced_done +) + +::======================================================================================================================================== + +:: Get Target editions list + +set _target= +set _ntarget= +for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _target (set "_target=!_target! %%a") else (set "_target=%%a")) + +::======================================================================================================================================== + +:: Block the change to/from CountrySpecific and CloudEdition editions + +for %%# in (99 139 202 203) do if %osSKU%==%%# ( +%eline% +echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] +echo It's not recommended to change this installed edition to any other. +echo Aborting... +goto ced_done +) + +if defined _target ( +for %%# in (%_target%) do ( +echo %%# | findstr /i "CountrySpecific CloudEdition" %nul% || (if defined _ntarget (set "_ntarget=!_ntarget! %%#") else (set "_ntarget=%%#")) +) +) + +if not defined _ntarget ( +%line% +echo: +call :dk_color %Gray% "Target Edition not found." +echo Current Edition [%osedition% ^| %winbuild%] can not be changed to any other Edition. +%line% +goto ced_done +) + +::======================================================================================================================================== + +:cedmenu2 + +cls +mode 98, 30 +set inpt= +set counter=0 +set verified=0 +set targetedition= + +%line% +echo: +call :dk_color %Gray% "You can change the Current Edition [%osedition%] to one of the following." +%line% +echo: + +for %%A in (%_ntarget%) do ( +set /a counter+=1 +echo [!counter!] %%A +set targetedition!counter!=%%A +) + +%line% +echo: +echo [0] Go back +echo: +call :dk_color %_Green% "Enter option number in keyboard, and press "Enter":" +set /p inpt= +if "%inpt%"=="" goto cedmenu2 +if "%inpt%"=="0" exit /b +for /l %%i in (1,1,%counter%) do (if "%inpt%"=="%%i" set verified=1) +set targetedition=!targetedition%inpt%! +if %verified%==0 goto cedmenu2 + +::======================================================================================================================================== + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( +goto :ced_change_server +) + +cls +set key= +set _chan= +set _changepk=0 +set "keyflow=Retail Volume:MAK Volume:GVLK OEM:NONSLP OEM:DM" + +:: Check if changepk.exe or slmgr.vbs is required for edition upgrade + +if not exist "%SystemRoot%\System32\spp\tokens\skus\%targetedition%\" ( +set _changepk=1 +) + +if /i "%osedition:~0,4%"=="Core" ( +if /i not "%targetedition:~0,4%"=="Core" ( +set _changepk=1 +) +) + +if %winbuild% LEQ 19044 call :changeeditiondata + +if not defined key call :ced_targetSKU %targetedition% +if not defined key if defined targetSKU call :ced_windowskey +if defined key if defined pkeychannel set _chan=%pkeychannel% + +if not defined key ( +%eline% +echo [%targetedition% ^| %winbuild%] +echo Unable to get product key from pkeyhelper.dll +echo Make sure you are using updated version of the script +goto ced_done +) + +::======================================================================================================================================== + +%line% + +:: Changing from Core to Non-Core & Changing editions in Windows build older than 17134 requires "changepk /productkey" method and restart +:: In other cases, editions can be changed instantly with "slmgr /ipk" + +:ced_loop + +cls +if %_changepk%==1 ( +echo "%_chan%" | find /i "OEM" >NUL && ( +%eline% +echo [%osedition%] can not be changed to [%targetedition%] Edition due to lack of non OEM keys. +echo Non-OEM keys are required to change from Core to Non-Core Editions. +goto ced_done +) +for %%a in (dns.msftncsi.com,www.microsoft.com,one.one.one.one,resolver1.opendns.com) do ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( +if not [%%#]==[] ( +%eline% +echo Disconnect the Internet and then press any key... +pause >nul +goto ced_loop +) +) +) +) + +echo: +echo Changing the Current Edition [%osedition%] to [%targetedition%] +echo: + +if %_changepk%==1 ( +call :dk_color %Green% "You can safely ignore if error appears in the upgrade Window." +call :dk_color %Red% "But in that case you must manually reboot the system." +echo: +call :dk_color %Magenta% "Important - Save your work before continue, system will auto reboot." +echo: +choice /C:21 /N /M "[1] Continue [2] Go back : " +if !errorlevel!==1 exit /b +) + +::======================================================================================================================================== + +if %_changepk%==0 ( +echo Installing %_chan% Key [%key%] +echo: +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% + +set error_code=!errorlevel! +cmd /c exit /b !error_code! +if !error_code! NEQ 0 set "error_code=[0x!=ExitCode!]" + +if !error_code! EQU 0 ( +call :dk_refresh +call :dk_color %Green% "[Successful]" +echo: +call :dk_color %Gray% "Reboot is required to properly change the Edition." +) else ( +call :dk_color %Red% "[Unsuccessful] [Error Code: 0x!=ExitCode!]" +) +) + +if %_changepk%==1 ( +echo: +echo Applying the command with %_chan% Key +echo start changepk.exe /ProductKey %key% +start changepk.exe /ProductKey %key% +) +%line% + +goto ced_done + +::======================================================================================================================================== + +:ced_change_server + +cls +mode con cols=105 lines=32 +%nul% %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" + +set key= +set pkeychannel= +set "keyflow=Volume:GVLK Retail Volume:MAK OEM:NONSLP OEM:DM" +call :changeeditionserverdata + +if not defined key call :ced_targetSKU %targetedition% +if not defined key if defined targetSKU call :ced_windowskey +if defined key if not defined pkeychannel call :dk_pkeychannel %key% + +if not defined key ( +%eline% +echo [%targetedition% ^| %winbuild%] +echo Unable to get product key from pkeyhelper.dll +echo Make sure you are using updated version of the script +goto ced_done +) + +::======================================================================================================================================== + +cls +echo: +echo Changing the Current Edition [%osedition%] to [%targetedition%] +echo: +echo Applying the command with %pkeychannel% Key +echo DISM /online /Set-Edition:%targetedition% /ProductKey:%key% /AcceptEula +DISM /online /Set-Edition:%targetedition% /ProductKey:%key% /AcceptEula + +call :dk_color %Magenta% "Make sure to restart the system." + +::======================================================================================================================================== + +:ced_done + +echo: +call :dk_color %_Yellow% "Press any key to go back..." +pause >nul +exit /b + +::======================================================================================================================================== + +:ced_windowskey + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (%keyflow%) do ( +call :dk_pkey %targetSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + +:ced_targetSKU + +set k=%1 +set targetSKU= +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int GetEditionIdFromName(string e, out int s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $s=0; $null=$AP::GetEditionIdFromName('%k%', [ref]$s); $s +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set targetSKU=%%a) +if "%targetSKU%"=="0" set targetSKU= +exit /b + +::======================================================================================================================================== + +:: 1st column = Generic Retail/OEM/MAK/GVLK Key +:: 2nd column = Key Type +:: 3rd column = WMI Edition ID +:: 4th column = Version name incase same Edition ID is used in different OS versions with different key +:: Separator = _ + +:: Key preference is in the following order. Retail > Volume:MAK > Volume:GVLK > OEM:NONSLP > OEM:DM +:: OEM keys are in last because they can't be used in edition change if "changepk /productkey" method is needed instead of "slmgr /ipk" +:: OEM keys are listed here because we don't have other keys for that edition + +:changeeditiondata + +for %%# in ( +44NYX-TKR9D-CCM2D-V6B8F-HQWWR_Volume:MAK_Enterprise +D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ_____Retail_Starter +3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT_Volume:MAK_EnterpriseN +3NFXW-2T27M-2BDW6-4GHRV-68XRX_____Retail_StarterN +VK7JG-NPHTM-C97JM-9MPGT-3V66T_____Retail_Professional +2B87N-8KFHP-DKV6R-Y2C8J-PKCKT_____Retail_ProfessionalN +4CPRK-NM3K3-X6XXQ-RXX86-WXCHW_____Retail_CoreN +N2434-X9D7W-8PF6X-8DV9T-8TYMD_____Retail_CoreCountrySpecific +BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_____Retail_CoreSingleLanguage +YTMG3-N6DKC-DKB77-7M9GH-8HVX7_____Retail_Core +XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_OEM:NONSLP_PPIPro +YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_____Retail_Education +84NGF-MHBT6-FXBX8-QWJK7-DRR8H_____Retail_EducationN +KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_Volume:MAK_EnterpriseS_2021 +VBX36-N7DDY-M9H62-83BMJ-CPR42_Volume:MAK_EnterpriseS_2019 +PN3KR-JXM7T-46HM4-MCQGK-7XPJQ_Volume:MAK_EnterpriseS_2016 +DVWKN-3GCMV-Q2XF4-DDPGM-VQWWY_Volume:MAK_EnterpriseS_2015 +RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_Volume:MAK_EnterpriseSN_2021 +M33WV-NHY3C-R7FPM-BQGPT-239PG_Volume:MAK_EnterpriseSN_2019 +2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_Volume:MAK_EnterpriseSN_2016 +NTX6B-BRYC2-K6786-F6MVQ-M7V2X_Volume:MAK_EnterpriseSN_2015 +G3KNM-CHG6T-R36X3-9QDG6-8M8K9_____Retail_ProfessionalSingleLanguage +HNGCC-Y38KG-QVK8D-WMWRK-X86VK_____Retail_ProfessionalCountrySpecific +DXG7C-N36C4-C4HTG-X4T3X-2YV77_____Retail_ProfessionalWorkstation +WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_____Retail_ProfessionalWorkstationN +8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_____Retail_ProfessionalEducation +GJTYN-HDMQY-FRR76-HVGC7-QPF8P_____Retail_ProfessionalEducationN +C4NTJ-CX6Q2-VXDMR-XVKGM-F9DJC_Volume:MAK_EnterpriseG +46PN6-R9BK9-CVHKB-HWQ9V-MBJY8_Volume:MAK_EnterpriseGN +NJCF7-PW8QT-3324D-688JX-2YV66_____Retail_ServerRdsh +V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_____Retail_Cloud +NH9J3-68WK7-6FB93-4K3DF-DJ4F6_____Retail_CloudN +2HN6V-HGTM8-6C97C-RK67V-JQPFD_____Retail_CloudE +XQQYW-NFFMW-XJPBH-K8732-CKFFD_____OEM:DM_IoTEnterprise +QPM6N-7J2WJ-P88HH-P3YRH-YY74H_OEM:NONSLP_IoTEnterpriseS +K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_____Retail_CloudEditionN +KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_____Retail_CloudEdition +) do ( +for /f "tokens=1-4 delims=_" %%A in ("%%#") do if /i %targetedition%==%%C ( + +if not defined key ( +set 4th=%%D +if not defined 4th ( +set "key=%%A" & set "_chan=%%B" +) else ( +echo "%winos%" | find "%%D" 1>nul && (set "key=%%A" & set "_chan=%%B") +) +) +) +) +exit /b + +::======================================================================================================================================== + +:changeeditionserverdata + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" (set Cor=Cor) else (set Cor=) +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildBranch 2^>nul') do set "branch=%%b" + +:: Only RS3 and older version keys (GVLK/Generic Retail) are stored here, later ones are extracted from the system itself + +for %%# in ( +WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY_RS1_ServerStandard%Cor% +CB7KF-BWN84-R7R2Y-793K2-8XDDG_RS1_ServerDatacenter%Cor% +JCKRF-N37P4-C2D82-9YXRT-4M63B_RS1_ServerSolution +QN4C6-GBJD2-FB422-GHWJK-GJG2R_RS1_ServerCloudStorage +VP34G-4NPPG-79JTQ-864T4-R3MQX_RS1_ServerAzureCor +9JQNQ-V8HQ6-PKB8H-GGHRY-R62H6_RS1_ServerAzureNano +VN8D3-PR82H-DB6BJ-J9P4M-92F6J_RS1_ServerStorageStandard +48TQX-NVK3R-D8QR3-GTHHM-8FHXC_RS1_ServerStorageWorkgroup +2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG_RS3_ServerDatacenterACor +PTXN8-JFHJM-4WC78-MPCBR-9W4KR_RS3_ServerStandardACor +) do ( +for /f "tokens=1-3 delims=_" %%A in ("%%#") do if /i %targetedition%==%%C ( +echo "%branch%" | find /i "%%B" 1>nul && (set "key=%%A") +) +) +exit /b + +:+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + +:MASend +echo: +echo Press any key to exit... +pause >nul +exit /b + +::End:: \ No newline at end of file diff --git a/MAS/ReadMe.html b/MAS/ReadMe.html deleted file mode 100644 index ea6bbca..0000000 --- a/MAS/ReadMe.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activation_Troubleshoot.cmd b/MAS/Separate-Files-Version/Activation_Troubleshoot.cmd new file mode 100644 index 0000000..4fcad36 --- /dev/null +++ b/MAS/Separate-Files-Version/Activation_Troubleshoot.cmd @@ -0,0 +1,886 @@ +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title Activation Troubleshoot + +set _elev= +if /i "%~1"=="-el" set _elev=1 + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +call :_colorprep + +set cbs_log=%SystemRoot%\logs\cbs\cbs.log +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" +set "line=_________________________________________________________________________________________________" + +::======================================================================================================================================== + +if %winbuild% LSS 7600 ( +%nceline% +echo Unsupported OS version detected. +echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. +goto at_done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto at_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%nceline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto at_done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%nceline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto at_done +) + +::======================================================================================================================================== + +setlocal DisableDelayedExpansion + +:: Check desktop location + +set desktop= +for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" +if not defined desktop for /f "delims=" %%a in ('%psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" + +if not defined desktop ( +%eline% +echo Desktop location was not detected, aborting... +goto at_done +) + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +:at_menu + +cls +color 07 +title Activation Troubleshoot +mode con cols=77 lines=30 + +echo: +echo: +echo: +echo: +echo: _______________________________________________________________ +echo: +echo: [1] ReadMe +echo: ___________________________________________________ +echo: +echo: [2] Dism RestoreHealth +echo: [3] SFC Scannow +echo: +echo: [4] Rebuild Licensing Tokens +echo: [5] Clear Office vNext License +echo: ___________________________________________________ +echo: +echo: [6] Solution: Office is not genuine banner +echo: [0] Exit +echo: _______________________________________________________________ +echo: +call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard :" +choice /C:1234560 /N +set _erl=%errorlevel% + +if %_erl%==7 exit /b +if %_erl%==6 start https://massgrave.dev/office-license-is-not-genuine &goto at_menu +if %_erl%==5 goto:clearvnext +if %_erl%==4 goto:retokens +if %_erl%==3 goto:sfcscan +if %_erl%==2 goto:dism_rest +if %_erl%==1 start https://massgrave.dev/troubleshoot.html &goto at_menu +goto :at_menu + +::======================================================================================================================================== + +:dism_rest + +cls +mode 98, 30 +title Dism /Online /Cleanup-Image /RestoreHealth + +if %winbuild% LSS 9200 ( +%eline% +echo Unsupported OS version Detected. +echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. +goto :at_back +) + +set _int= +for %%a in (dns.msftncsi.com) do ( +if not defined _int (for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do if not [%%#]==[] set _int=1)) + +echo: +if defined _int ( +echo Checking Internet Connection [Connected] +) else ( +call :_color2 %_White% " " %Red% "Checking Internet Connection [Not connected]" +) + +echo %line% +echo: +echo Dism uses Windows Update to provide the files required to fix corruption. +echo This will take 5-15 minutes or more.. +echo %line% +echo: +echo Notes: +echo: +call :_color2 %_White% " - " %Gray% "Make sure the Internet is connected." +call :_color2 %_White% " - " %Gray% "Make sure the Windows update is properly working." +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + +cls +mode 110, 30 +echo: + +call :_stopservice TrustedInstaller +del /s /f /q "%SystemRoot%\logs\cbs\*.*" + +set _time= +for /f %%a in ('%psc% "Get-Date -format HH_mm_ss"') do set _time=%%a +echo: +echo Applying the command, +echo dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 +echo: +dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 + +if not exist "!desktop!\" ( +echo: +call :_color %Red% "Desktop location is not detected. Failed to copy logs on the dekstop." +goto :at_back +) + +if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% +copy /y /b "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" "!desktop!\AT_Logs\RHealth_DISM_%_time%.txt" %nul% +copy /y /b "%cbs_log%" "!desktop!\AT_Logs\RHealth_CBS_%_time%.txt" %nul% +del /f /q "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" %nul% + +echo: +call :_color %Gray% "CBS and DISM logs are copied to the AT_Logs folder on the dekstop." +goto :at_back + +::======================================================================================================================================== + +:sfcscan + +cls +mode 98, 30 +title sfc /scannow + +echo: +echo %line% +echo: +echo System File Checker will repair missing or corrupted system files. +echo This will take 10-15 minutes or more.. +echo: +echo If SFC could not fix something, then run the command again to see if it may be able +echo to the next time. Sometimes it may take running the sfc /scannow command 3 times +echo restarting the PC after each time to completely fix everything that it's able to. +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + +cls +echo: + +call :_stopservice TrustedInstaller +del /s /f /q "%SystemRoot%\logs\cbs\*.*" + +set _time= +for /f %%a in ('%psc% "Get-Date -format HH_mm_ss"') do set _time=%%a +echo: +echo Applying the command, +echo sfc /scannow +echo: +sfc /scannow + +if not exist "!desktop!\" ( +echo: +call :_color %Red% "Desktop location is not detected. Failed to copy logs on the dekstop." +goto :at_back +) + +if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% + +copy /y /b "%cbs_log%" "!desktop!\AT_Logs\SFC_CBS_%_time%.txt" %nul% +findstr /i /c:"[SR]" %cbs_log% | findstr /i /v /c:verify >"!desktop!\AT_Logs\SFC_Main_%_time%.txt" + +echo: +call :_color %Gray% "CBS and main extracted logs are copied to the AT_Logs folder on the dekstop." +goto :at_back + +::======================================================================================================================================== + +:clearvnext + +cls +mode 98, 30 +title Clear Office vNext License + +echo: +echo %line% +echo: +echo This options will clear Office vNext ^(subscription^) license +echo: +echo You need to use this option when, +echo - KMS option is not activating office due to existing subscription license +echo - KMS option activated Office but Office activation page is not showing activated +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + +cls +mode con cols=115 lines=32 +%nul% %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" + + + +echo: +echo %line% +echo: +call :_color %Magenta% "Clearing Office vNext License" +echo: + +setlocal DisableDelayedExpansion +set "_locl=%LocalAppData%\Microsoft\Office\Licenses" +setlocal EnableDelayedExpansion +call :cleanfolder +set "_locl=%ProgramData%\Microsoft\Office\Licenses" +call :cleanfolder + +echo: +for %%# in ( +HKCU\Software\Microsoft\Office\16.0\Common\Licensing +HKCU\Software\Microsoft\Office\16.0\Common\Identity +) do ( +reg query %%# %nul% && ( +reg delete %%# /f %nul% && ( +echo Deleted Registry - %%# +) || ( +echo Failed to Delete - %%# +) +) || ( +echo Already Clean - %%# +) +) + +goto :at_back + +:cleanfolder + +2>nul dir /b /a "!_locl!\*" | %nul% findstr "^" && ( +pushd "!_locl!\" && ( +del /S /F /Q "!_locl!\*" +for /F "delims=" %%i in ('dir /b') do ( +RD /S /Q "%%i" %nul% +if not exist "!_locl!\%%i\" ( +echo Deleted Folder - !_locl!\%%i +) else ( +echo Failed To Delete - !_locl!\%%i +) +) +popd +) +) || ( +echo Already Clean - !_locl!\ +) +exit /b + +::======================================================================================================================================== + +:retokens + +cls +mode con cols=115 lines=32 +%nul% %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" +title Rebuild Licensing Tokens ^(SPP ^+ OSPP) + +echo: +echo %line% +echo: +echo Notes: +echo: +echo - It helps in troubleshooting activation issues. +echo: +call :_color2 %_White% " - " %Magenta% "This option will," +call :_color2 %_White% " " %Magenta% "- Deactivate Windows and Office, you will need to reactivate" +call :_color2 %_White% " " %Magenta% "- Uninstall Office licenses and keys" +call :_color2 %_White% " " %Magenta% "- Clear SPP-OSPP data.dat, tokens.dat, cache.dat" +call :_color2 %_White% " " %Magenta% "- Trigger the repair option for Office" +echo: +call :_color2 %_White% " - " %Red% "Apply it only when it is necessary." +echo: +echo %line% +echo: +choice /C:29 /N /M "> [9] Continue [2] Go back : " +if %errorlevel%==1 goto at_menu + + +cls +echo: +echo %line% +echo: +call :_color %Magenta% "Rebuilding SPP Licensing Tokens" +echo: + +call :scandat check + +if not defined token ( +call :_color %Red% "tokens.dat file not found." +) else ( +echo tokens.dat file: [%token%] +) + +echo: +echo Stopping sppsvc service... +call :_stopservice sppsvc + +echo: +call :scandat delete +call :scandat check + +if defined token ( +echo: +call :_color %Red% "Failed to delete .dat files." +echo: +) + +echo: +echo Reinstalling System Licenses [slmgr /rilc]... +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if %errorlevel% NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if %errorlevel% EQU 0 ( +echo [Successful] +) else ( +call :_color %Red% "[Failed]" +) + +call :scandat check + +echo: +if not defined token ( +call :_color %Red% "Failed to rebuilt tokens.dat file." +) else ( +call :_color %Green% "tokens.dat file was rebuilt successfully." +) + +::======================================================================================================================================== + +:: Rebuild OSPP Tokens + +echo: +echo %line% +echo: + +sc qc osppsvc %nul% || ( +echo: +call :_color %Magenta% "OSPP based Office is not installed" +call :_color %Magenta% "Skipping rebuilding OSPP tokens" +goto :cleanclipsvc +) + +call :_color %Magenta% "Rebuilding OSPP Licensing Tokens" +echo: + +call :scandatospp check + +if not defined token ( +call :_color %Red% "tokens.dat file not found." +) else ( +echo tokens.dat file: [%token%] +) + +echo: +echo Stopping osppsvc service... +call :_stopservice osppsvc + +echo: +call :scandatospp delete +call :scandatospp check + +if defined token ( +echo: +call :_color %Red% "Failed to delete .dat files." +echo: +) + +echo: +echo Starting osppsvc service to generate tokens.dat +call :_startservice osppsvc +call :scandatospp check +if not defined token ( +call :_stopservice osppsvc +call :_startservice osppsvc +timeout /t 3 %nul% +) + +call :scandatospp check + +echo: +if not defined token ( +call :_color %Red% "Failed to rebuilt tokens.dat file." +) else ( +call :_color %Green% "tokens.dat file was rebuilt successfully." +) + +::======================================================================================================================================== + +:cleanclipsvc + +:: This section is removed + +::======================================================================================================================================== + +:repairoffice + +echo: +echo %line% +echo: +call :_color %Magenta% "Repairing Office Licenses" +echo: + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b + +if /i "%arch%"=="ARM64" ( +echo: +echo ARM64 Windows Found. +echo You need to use repair option in Windows settings for Office. +echo: +start ms-settings:appsfeatures +goto :repairend +) + +if /i "%arch%"=="x86" ( +set arch=X86 +) else ( +set arch=X64 +) + +for %%# in (68 86) do ( +for %%A in (msi14 msi15 msi16 c2r14 c2r15 c2r16) do (set %%A_%%#=&set %%Arepair%%#=) +) + +set _68=HKLM\SOFTWARE\Microsoft\Office +set _86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office + +%nul% reg query %_68%\14.0\Common\InstallRoot /v Path && (set "msi14_68=Office 14.0 MSI x86/x64" & set "msi14repair68=%systemdrive%\Program Files\Common Files\microsoft shared\OFFICE14\Office Setup Controller\Setup.exe") +%nul% reg query %_86%\14.0\Common\InstallRoot /v Path && (set "msi14_86=Office 14.0 MSI x86" & set "msi14repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE14\Office Setup Controller\Setup.exe") +%nul% reg query %_68%\15.0\Common\InstallRoot /v Path && (set "msi15_68=Office 15.0 MSI x86/x64" & set "msi15repair68=%systemdrive%\Program Files\Common Files\microsoft shared\OFFICE15\Office Setup Controller\Setup.exe") +%nul% reg query %_86%\15.0\Common\InstallRoot /v Path && (set "msi15_86=Office 15.0 MSI x86" & set "msi15repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe") +%nul% reg query %_68%\16.0\Common\InstallRoot /v Path && (set "msi16_68=Office 16.0 MSI x86/x64" & set "msi16repair68=%systemdrive%\Program Files\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\Setup.exe") +%nul% reg query %_86%\16.0\Common\InstallRoot /v Path && (set "msi16_86=Office 16.0 MSI x86" & set "msi16repair86=%systemdrive%\Program Files (x86)\Common Files\Microsoft Shared\OFFICE16\Office Setup Controller\Setup.exe") +%nul% reg query %_68%\14.0\CVH /f Click2run /k && (set "c2r14_68=Office 14.0 C2R x86/x64" & set "c2r14repair68=") +%nul% reg query %_86%\14.0\CVH /f Click2run /k && (set "c2r14_86=Office 14.0 C2R x86" & set "c2r14repair86=") +%nul% reg query %_68%\15.0\ClickToRun /v InstallPath && (set "c2r15_68=Office 15.0 C2R x86/x64" & set "c2r15repair68=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe") +%nul% reg query %_86%\15.0\ClickToRun /v InstallPath && (set "c2r15_86=Office 15.0 C2R x86" & set "c2r15repair86=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\integratedoffice.exe") +%nul% reg query %_68%\ClickToRun /v InstallPath && (set "c2r16_68=Office 16.0 C2R x86/x64" & set "c2r16repair68=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\OfficeClickToRun.exe") +%nul% reg query %_86%\ClickToRun /v InstallPath && (set "c2r16_86=Office 16.0 C2R x86" & set "c2r16repair86=%systemdrive%\Program Files\Microsoft Office 15\Client%arch%\OfficeClickToRun.exe") + +set uwp16= +if %winbuild% GEQ 10240 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msoxmled.exe" %nul% && ( +dir /b "%ProgramFiles%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set uwp16=Office 16.0 UWP +dir /b "%ProgramW6432%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set uwp16=Office 16.0 UWP +dir /b "%ProgramFiles(x86)%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set uwp16=Office 16.0 UWP +) + +set /a counter=0 +echo Checking installed Office versions... +echo: + +for %%# in ( +"%msi14_68%" +"%msi14_86%" +"%msi15_68%" +"%msi15_86%" +"%msi16_68%" +"%msi16_86%" +"%c2r14_68%" +"%c2r14_86%" +"%c2r15_68%" +"%c2r15_86%" +"%c2r16_68%" +"%c2r16_86%" +"%uwp16%" +) do ( +if not "%%#"=="""" ( +set insoff=%%# +set insoff=!insoff:"=! +echo [!insoff!] +set /a counter+=1 +) +) + +if %counter% GTR 1 ( +%eline% +echo Multiple office versions found. +echo It's recommended to install only one version of office. +echo ________________________________________________________________ +echo: +) + +if %counter% EQU 0 ( +echo: +echo Installed Office is not found. +goto :repairend +echo: +) else ( +echo: +call :_color %_Yellow% "A Window will popup, in that Window you need to select Repair Option..." +call :_color %_Yellow% "Press any key to continue..." +echo: +pause >nul +) + +if defined uwp16 ( +echo: +echo Note: Skipping repair for Office 16.0 UWP. +echo You need to use reset option in Windows settings for it. +echo ________________________________________________________________ +echo: +start ms-settings:appsfeatures +) + +set c2r14= +if defined c2r14_68 set c2r14=1 +if defined c2r14_86 set c2r14=1 + +if defined c2r14 ( +echo: +echo Note: Skipping repair for Office 14.0 C2R +echo You need to use Repair option in Windows settings for it. +echo ________________________________________________________________ +echo: +start appwiz.cpl +) + +if defined msi14_68 if exist "%msi14repair68%" echo Running - "%msi14repair68%" & "%msi14repair68%" +if defined msi14_86 if exist "%msi14repair86%" echo Running - "%msi14repair86%" & "%msi14repair86%" +if defined msi15_68 if exist "%msi15repair68%" echo Running - "%msi15repair68%" & "%msi15repair68%" +if defined msi15_86 if exist "%msi15repair86%" echo Running - "%msi15repair86%" & "%msi15repair86%" +if defined msi16_68 if exist "%msi16repair68%" echo Running - "%msi16repair68%" & "%msi16repair68%" +if defined msi16_86 if exist "%msi16repair86%" echo Running - "%msi16repair86%" & "%msi16repair86%" +if defined c2r15_68 if exist "%c2r15repair68%" echo Running - "%c2r15repair68%" REPAIRUI RERUNMODE & "%c2r15repair68%" REPAIRUI RERUNMODE +if defined c2r15_86 if exist "%c2r15repair86%" echo Running - "%c2r15repair86%" REPAIRUI RERUNMODE & "%c2r15repair86%" REPAIRUI RERUNMODE +if defined c2r16_68 if exist "%c2r16repair68%" echo Running - "%c2r16repair68%" scenario=Repair & "%c2r16repair68%" scenario=Repair +if defined c2r16_86 if exist "%c2r16repair86%" echo Running - "%c2r16repair86%" scenario=Repair & "%c2r16repair86%" scenario=Repair + +:repairend + +echo: +echo %line% +echo: +echo: +call :_color %Green% "Finished" + +::======================================================================================================================================== + +:at_back + +echo: +echo %line% +echo: +call :_color %_Yellow% "Press any key to go back..." +pause >nul +goto :at_menu + +::======================================================================================================================================== + +:at_done + +echo: +echo Press any key to exit... +pause >nul +exit /b + +::======================================================================================================================================== + +:_stopservice + +for %%# in (%1) do ( +sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% +sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% +) +exit /b + +:_startservice + +for %%# in (%1) do ( +sc query %%# | find /i "RUNNING" %nul% || net start %%# /y %nul% +sc query %%# | find /i "RUNNING" %nul% || sc start %%# %nul% +) +exit /b + +::======================================================================================================================================== + +:scandat + +set token= +for %%# in ( +%Systemdrive%\Windows\System32\spp\store_test\2.0\ +%Systemdrive%\Windows\System32\spp\store\ +%Systemdrive%\Windows\System32\spp\store\2.0\ +%Systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\ +) do ( + +if %1==check ( +if exist %%#tokens.dat set token=%%#tokens.dat +) + +if %1==delete ( +if exist %%# ( +%nul% dir /a-d /s "%%#*.dat" && ( +attrib -r -s -h "%%#*.dat" /S +del /S /F /Q "%%#*.dat" +) +) +) +) +exit /b + +:scandatospp + +set token= +for %%# in ( +%ProgramData%\Microsoft\OfficeSoftwareProtectionPlatform\ +) do ( + +if %1==check ( +if exist %%#tokens.dat set token=%%#tokens.dat +) + +if %1==delete ( +if exist %%# ( +%nul% dir /a-d /s "%%#*.dat" && ( +attrib -r -s -h "%%#*.dat" /S +del /S /F /Q "%%#*.dat" +) +) +) +) +exit /b + +::========================================================================================================================================\ + +:_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +call :batcol %~1 "%~2" +) +exit /b + +:_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +call :batcol %~1 "%~2" %~3 "%~4" +) +exit /b + +::======================================= + +:: Colored text with pure batch method +:: Thanks to @dbenham and @jeb +:: stackoverflow.com/a/10407642 + +:batcol + +pushd %_coltemp% +if not exist "'" ("'" set /p "=.") +setlocal +set "s=%~2" +set "t=%~4" +call :_batcol %1 s %3 t +del /f /q "'" +del /f /q "`.txt" +popd +exit /b + +:_batcol + +setlocal EnableDelayedExpansion +set "s=!%~2!" +set "t=!%~4!" +for /f delims^=^ eol^= %%i in ("!s!") do ( + if "!" equ "" setlocal DisableDelayedExpansion + >`.txt (echo %%i\..\') + findstr /a:%~1 /f:`.txt "." + `.txt (echo %%i\..\') + findstr /a:%~3 /f:`.txt "." + - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.html b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.html deleted file mode 100644 index 09595e1..0000000 --- a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/_Info.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/arm64_gatherosstate.exe b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/arm64_gatherosstate.exe deleted file mode 100644 index 35657e7..0000000 Binary files a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/arm64_gatherosstate.exe and /dev/null differ diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/arm64_slc.dll b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/arm64_slc.dll deleted file mode 100644 index 5a373a9..0000000 Binary files a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/arm64_slc.dll and /dev/null differ diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dll b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dll deleted file mode 100644 index ce865e2..0000000 Binary files a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/slc.dll and /dev/null differ diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd deleted file mode 100644 index 2e3c73e..0000000 --- a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/HWID_Activation.cmd +++ /dev/null @@ -1,1047 +0,0 @@ -@setlocal DisableDelayedExpansion -@echo off - - - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - - -:: To activate with Downlevel method (default), run the script with /a parameter or change 0 to 1 in below line -set _acti=0 - -:: To only generate GenuineTicket.xml with Downlevel method (default), run the script with /g parameter or change 0 to 1 in below line -set _gent=0 - -:: To enable LockBox method, run the script with /k parameter or change 0 to 1 in below line -:: You need to use this option with either activation or ticket generation. -:: Example, -:: HWID_Activation.cmd /a /k -:: HWID_Activation.cmd /g /k -set _lock=0 - - - -:: If value is changed in above lines or any parameter is used then script will run in unattended mode -:: Incase if more than one options are used then only one option will be applied - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 -title HWID Activation - -set _args= -set _elev= -set _unattended=0 - -set _args=%* -if defined _args set _args=%_args:"=% -if defined _args ( -for %%A in (%_args%) do ( -if /i "%%A"=="/a" set _acti=1 -if /i "%%A"=="/g" set _gent=1 -if /i "%%A"=="/k" set _lock=1 -if /i "%%A"=="-el" set _elev=1 -) -) - -for %%A in (%_acti% %_gent% %_lock%) do (if "%%A"=="1" set _unattended=1) - -::======================================================================================================================================== - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Magenta="45;97m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Magenta="Darkmagenta" "white"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -if %~z0 GEQ 1500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") -set "notifytocheckupdate=if %winbuild% GTR 19044 echo Make sure you are using updated version of the script." - -::======================================================================================================================================== - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11. -goto dk_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto dk_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%eline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto dk_done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%eline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto dk_done -) - -::======================================================================================================================================== - -:dl_menu - -if %_unattended%==0 ( -cls -mode 76, 25 -title HWID Activation - -if !_lock!==0 (set "_method=%_Green% "[Downlevel Method]"") else (set "_method=%_Yellow% " [LockBox Method]"") -echo: -echo: -echo: -echo ____________________________________________________________ -echo: -call :dk_color2 %_White% " [1] HWID Activation " !_method! -echo ____________________________________________ -echo: -call :dk_color2 %_White% " [2] Generate Ticket " !_method! -echo ____________________________________________ -echo: -echo [3] Change Method -echo: -echo [4] %_exitmsg% -echo ____________________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4]" -choice /C:1234 /N -set _el=!errorlevel! -if !_el!==4 exit /b -if !_el!==3 ( -if !_lock!==0 ( -set _lock=1 -) else ( -set _lock=0 -) -cls -echo: -call :dk_color %_Green% " Downlevel Method:" -echo It creates downlevelGTkey ticket for activation with simplest process. -echo: -call :dk_color %_Yellow% " LockBox Method:" -echo It creates clientLockboxKey ticket which better mimics genuine activation, -echo But requires more steps such as, -echo - Cleaning ClipSVC licences -echo - Deleting a volatile and protected registry key by taking ownership -echo - System may need a restart for succesfull activation -echo - Microsoft Account and Store Apps may need relogin-restart in the system -echo: -call :dk_color2 %_White% " " %Green% "Note:" -echo Microsoft accepts both types of tickets and that's unlikely to change. -echo If you are not sure what to choose then select default Downlevel Method. -echo: -call :dk_color %_Yellow% " Press any key to go back..." -pause >nul -goto :dl_menu -) -if !_el!==2 set _gent=1&goto :dl_menu2 -if !_el!==1 goto :dl_menu2 -goto :dl_menu -) - -:dl_menu2 - -cls -if %_gent%==1 (set _title=title Generate HWID GenuineTicket.xml) else (set _title=title HWID Activation) -if %_lock%==0 (%_title% [Downlevel Method] & mode 102, 30) else (%_title% [Lockbox Method] & mode 102, 32) - -::======================================================================================================================================== - -if not exist %_psc% if %_lock%==1 ( -set _lock=0 -set _gent=0 -%nceline% -echo Powershell is not installed in the system. -echo It is required for Lockbox Method of HWID. -echo You need to set the script to the default. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto dl_menu -) else ( -goto dk_done -) -) - -if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( -set _gent=0 -%eline% -echo File '%Systemdrive%\GenuineTicket.xml' already exist. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto dl_menu -) else ( -goto dk_done -) -) - -::======================================================================================================================================== - -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -if %_unattended%==0 ( -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -:: Check if system is permanently activated or not - -cls -call :dk_checkperm -if defined _perm if not %_gent%==1 ( -echo ___________________________________________________________________________________________ -echo: -call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." -call :dk_color2 %_White% " " %Gray% "Activation is not required." -echo ___________________________________________________________________________________________ -if %_unattended%==1 goto dk_done -echo: -choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " -if errorlevel 2 exit /b -) -cls - -::======================================================================================================================================== - -:: Check Evaluation version - -set _eval= -set _evalserv= -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 - -if defined _eval ( -%eline% -echo [%winos% ^| %winbuild%] -if defined _evalserv ( -echo Server Evaluation cannot be activated. Convert it to full Server OS. -) else ( -echo Evaluation Editions cannot be activated. Install full Windows OS. -echo Check the ReadMe for how to get genuine installation media for full version. -) -goto dk_done -) - -::======================================================================================================================================== - -:: Check SKU value - -set osSKU= -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -if not defined osSKU ( -%eline% -echo SKU value was not detected properly. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check if HWID key (Retail,OEM,MAK) is already installed or not - -set _hwidk= -call :dk_channel -for %%A in (Retail,OEM,MAK) do echo: %_channel%| findstr /i "%%A" >nul && set _hwidk=1 - -::======================================================================================================================================== - -:: Detect Key - -set key= -set notworking= -set actidnotfound= - -if defined applist call :hwiddata attempt1 -if not defined key call :hwiddata attempt2 - -::======================================================================================================================================== - -if not defined key if not defined _hwidk ( -%eline% -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo However, if you would like to try HWID activation on this product then, -echo install any generic Retail, OEM, MAK key for this product and run the script. -goto dk_done -) - -if not defined key ( -echo: -call :dk_color %Magenta% "====== Info ======" -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo Since %_channel% key is already installed, script will try to activate with HWID. -echo: -echo It may or may not activate it. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -cls -) - -::======================================================================================================================================== - -:: Enterprise LTSC 2021 doesn't support HWID (At the time of writing this). -:: To activate it with HWID, script insert the product key of Iot Enterprise LTSC 2021. Restart is required for full effect. - -:: If you don't want to change it then comment/delete the below lines. - -set changekey= -if /i %key%==KCNVH-YKWX8-GJJB9-H9FDT-6F7W2 ( -set _chan=OEM:NONSLP -set changekey=1 -set notworking= -set key=QPM6N-7J2WJ-P88HH-P3YRH-YY74H -) - -::======================================================================================================================================== - -:: Check and show info for editions which doesn't support HWID now but may support it in future - -if defined notworking ( -echo: -call :dk_color %Magenta% "====== Info ======" -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo At the time of writing this, HWID Activation was not supported for this product. -echo: -echo Now it may or may not activate it. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -cls -) - -::======================================================================================================================================== - -:: Check Windows Architecture - -set arch= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b - -if not defined arch ( -%eline% -echo Unable to detect Windows Architecture. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check files - -set ARM64_file= -if /i "%arch%"=="ARM64" set ARM64_file=arm64_ - -for %%# in (%ARM64_file%gatherosstate.exe %ARM64_file%slc.dll) do ( -if not exist "!_work!\BIN\%%#" ( -%eline% -echo '%%#' file is missing in 'BIN' folder. Aborting... -goto dk_done -) -) - -:: Verify gatherosstate.exe file - -set _hash= -if /i "%arch%"=="ARM64" (set _orig=7E449AE5549A0D93CF65F4A1BB2AA7D1DC090D2D) else (set _orig=FABB5A0FC1E6A372219711152291339AF36ED0B5) -for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "!_work!\BIN\%ARM64_file%gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" -set "_hash=%_hash: =%" - -if /i not "%_hash%"=="%_orig%" ( -%eline% -echo %ARM64_file%gatherosstate.exe SHA1 hash mismatch found. -echo: -echo Expected: %_orig% -echo Detected: %_hash% -goto dk_done -) - -::======================================================================================================================================== - -:: Check Internet connection - -cls -echo: -echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] - -if not %_gent%==1 ( -set _intcon= -ping -n 1 dns.msftncsi.com 2>nul | find "131.107.255.255" 1>nul || ping -n 1 www.microsoft.com 1>nul -if !errorlevel!==0 ( -set _intcon=1 -echo Checking Internet Connection [Connected] -) else ( -call :dk_color %Red% "Checking Internet Connection [Not connected]" -) -) - -::======================================================================================================================================== - -echo: -set "_serv=ClipSVC wlidsvc sppsvc LicenseManager Winmgmt wuauserv" - -:: Client License Service (ClipSVC) -:: Microsoft Account Sign-in Assistant -:: Software Protection -:: Windows License Manager Service -:: Windows Management Instrumentation -:: Windows Update - -echo Checking Services [%_serv%] - -:: Check disabled services - -set serv_ste= -for %%# in (%_serv%) do ( -set serv_dis= -reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start %nul% || set serv_dis=1 -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b equ 0x4 set serv_dis=1 -if defined serv_dis (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) -) - -:: Change disabled services startup type to auto - -set serv_csts= -set serv_cste= - -if defined serv_ste ( -for %%# in (%serv_ste%) do ( -sc config %%# start= auto %nul% && ( -if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") -) || ( -if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") -) -) -) - -if defined serv_csts echo Enabling Disabled Services [Successful] [%serv_csts%] -if defined serv_cste call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" - -::======================================================================================================================================== - -:: Check if the services are able to run or not - -set serv_e= -for %%# in (%_serv%) do ( -sc query %%# | find /i "RUNNING" %nul% || net start %%# /y %nul% -sc query %%# | find /i "RUNNING" %nul% || sc start %%# %nul% -sc query %%# | find /i "RUNNING" %nul% || if defined serv_e (set "serv_e=!serv_e! %%#") else (set "serv_e=%%#") -) - -if not defined serv_e ( -echo Starting Services [Successful] -) else ( -call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" -echo %serv_e% | find /i "wuauserv" %nul% && ( -call :dk_color %Magenta% "Windows Update Service [wuauserv] is not working, check if you have blocked it" -) -) - -if not defined applist ( -call :dk_color %Red% "Checking WMI Query [Failed]" -) else ( -echo Checking WMI Query [Successful] -) - -::======================================================================================================================================== - -:: Install key - -echo: -if defined changekey call :dk_color %Magenta% "Windows 10 Iot Enterprise LTSC 2021 Product Key Is Selected For HWID Activation"&echo: - -set _partial= -if defined key set _ipartial=%key:~-5% - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" - -if defined key if /i "%_partial%"=="%_ipartial%" ( -echo Checking Installed Product Key [%key%] [%_channel%] -) - -if not defined key ( -echo Checking Installed Product Key [Partial Key - %_partial%] [%_channel%] -) - -set _channel= -if defined key if /i not "%_partial%"=="%_ipartial%" ( -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if !errorlevel!==0 ( -call :dk_refresh -echo Installing Generic Product Key [%key%] [%_chan%] [Successful] -) else ( -call :dk_color %Red% "Installing Generic Product Key [%key%] [%_chan%] [Failed]%actidnotfound%" -) -) - -::======================================================================================================================================== - -:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names - -echo: -set "temp_=%SystemRoot%\Temp\_Temp" -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -md "%temp_%\" %nul% - -pushd "!_work!\BIN\" -copy /y /b "%ARM64_file%gatherosstate.exe" "%temp_%\gatherosstate.exe" %nul% -copy /y /b "%ARM64_file%slc.dll" "%temp_%\slc.dll" %nul% -popd - -set copyf= -if not exist "%temp_%\gatherosstate.exe" set copyf=1 -if not exist "%temp_%\slc.dll" set copyf=1 - -if defined copyf ( -call :dk_color %Red% "Copying Required Files to Temp [%temp_%] [Failed]" -goto :dl_final -) else ( -echo Copying Required Files to Temp [%temp_%] [Successful] -) - -::======================================================================================================================================== - -:: Modify the Pfn value in gatherosstate with slc.dll as per the system, that way one gatherosstate can be used in all the editions - -pushd "%temp_%\" -rundll32 "%temp_%\slc.dll",PatchGatherosstate %nul% -popd -if not exist "%temp_%\gatherosstatemodified.exe" ( -call :dk_color %Red% "Creating Modified Gatherosstate [Failed] Aborting..." -call :dk_color %Magenta% "Most likely Antivirus blocked the process, disable it and/or create proper exclsuions" -goto :dl_final -) else ( -echo Creating Modified Gatherosstate [Successful] -) - -::======================================================================================================================================== - -:: Clean ClipSVC Licences -:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. - -if %_lock%==1 ( -for %%# in (ClipSVC) do ( -sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% -sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% -) - -rundll32 clipc.dll,ClipCleanUpState - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" %nul% - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( -call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" -) else ( -echo Cleaning ClipSVC Licences [Successful] -) -) - -::======================================================================================================================================== - -:: Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after -:: system restart. It needs to be deleted to activate the system without restart. - -:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. - -set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" - -if %_lock%==1 ( -call :regown "%RegKey%" %nul% -reg delete "%RegKey%" /f %nul% - -reg query "%RegKey%" %nul% && ( -call :dk_color %Red% "Deleting a Volatile Registry [Failed]" -call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" -) || ( -echo Deleting a Volatile Registry [Successful] -) -) - -::======================================================================================================================================== - -:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. - -echo: -set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" - -start /wait "" "%temp_%/gatherosstatemodified.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% net stop sppsvc /y %nul% -%_noxml% call "%temp_%/gatherosstatemodified.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% "%temp_%/gatherosstatemodified.exe" %nul% -%_noxml% timeout /t 3 %nul% - -:: Refresh ClipSVC (required after cleanup) with below command, not related to generating tickets - -if %_lock%==1 ( -for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) -call :dk_refresh -) - -%_noxml% ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed] Aborting..." -goto :dl_final -) - -if %_lock%==1 ( -find /i "clientLockboxKey" "%temp_%\GenuineTicket.xml" >nul && ( -echo Generating GenuineTicket.xml [Successful] [clientLockboxKey Ticket] -) || ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed] [downlevelGTkey Ticket created] Aborting..." -call :dk_color %Magenta% "Try again / Restart system" -goto :dl_final -) -) else ( -echo Generating GenuineTicket.xml [Successful] -) - -::======================================================================================================================================== - -:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script - -if %_gent%==1 ( -echo: -copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% -if not exist "%Systemdrive%\GenuineTicket.xml" ( -call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" -) else ( -call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" -) -goto :dl_final -) - -::======================================================================================================================================== - -:: clipup -v -o -altto method to apply ticket is not used to avoid the certain issues in case if the username have -:: spaces / special characters / non English names - -set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% - -if not exist "%tdir%\GenuineTicket.xml" ( -call :dk_color %Red% "Failed to copy Ticket to [%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket\]" -goto :dl_final -) - -set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" - -net stop ClipSVC /y %nul% -net start ClipSVC /y %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -%_xmlexist% %_psc% Restart-Service ClipSVC %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -set fallback_= -%_xmlexist% ( -set fallback_=1 -%nul% clipup -v -o -%_xmlexist% timeout /t 2 %nul% -) - -%_xmlexist% ( -call :dk_color %Red% "Installing GenuineTicket.xml [Failed] Aborting..." -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -goto :dl_final -) else ( -if defined fallback_ (call :dk_color %Red% "Installing GenuineTicket.xml [Successful] [Fallback method: clipup -v -o]" -) else (echo Installing GenuineTicket.xml [Successful] -) -) - -::========================================================================================================================================== - -if defined changekey ( -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -) - -echo: -echo Activating... -echo: - -call :dk_act -call :dk_checkperm -if defined _perm ( -call :dk_color %Green% "%winos% is permanently activated." -goto :dl_final -) - -:: Refresh some services and license status - -if %_lock%==1 set _retry=1 -if defined _intcon set _retry=1 - -if defined _retry ( -for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) -call :dk_refresh -call :dk_act -cscript //nologo %windir%\system32\slmgr.vbs /ato %nul% -) - -:: Check license status reason with wmi query, activation command errorlevel gives incorrect result in older builds of Windows 10 - -set _status=0 -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and PartialProductKey is not null) get LicenseStatusReason /VALUE" 2^>nul') do set "_status=%%a" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT LicenseStatusReason FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).LicenseStatusReason | %% {echo ('LicenseStatusReason='+$_)}" 2^>nul') do set "_status=%%a" -cmd /c exit /b %_status% - -if %_status% NEQ 0 set "error_code=[Error Code: 0x!=ExitCode!]" - -call :dk_checkperm - -if defined _perm ( -call :dk_color %Green% "%winos% is permanently activated." -) else ( -call :dk_color %Red% "Activation Failed %error_code%" -call :dk_color %Magenta% "Try again / Restart system / Check troubleshooting steps in ReadMe" -) - -::======================================================================================================================================== - -:dl_final - -echo: -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -if exist "%temp_%\" ( -call :dk_color %Red% "Cleaning Temp Files [Failed]" -) else ( -echo Cleaning Temp Files [Successful] -) - -:: Rolling back services startup type back to disabled - -set serv_rsts= -set serv_rste= - -if defined serv_csts ( -for %%# in (%serv_csts%) do ( -sc config %%# start= disabled %nul% && ( -if defined serv_rsts (set "serv_rsts=!serv_rsts! %%#") else (set "serv_rsts=%%#") -) || ( -if defined serv_rste (set "serv_cste=!serv_rste! %%#") else (set "serv_rste=%%#") -) -) -) - -if defined serv_rsts echo Reverting Services Back To Disabled [Successful] [%serv_rsts%] -if defined serv_rste call :dk_color %Red% "Reverting Services Back To Disabled [Failed] [%serv_rste%]" - -goto :dk_done - -::======================================================================================================================================== - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of PowerShell is installed. - -:: This code runs only if Lockbox method is manually set by the user in this script. - -:regown - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} -$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -::======================================================================================================================================== - -:: Check Windows permanent activation status - -:dk_checkperm - -if %winbuild% LSS 22483 wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -exit /b - -:: Refresh license status - -:dk_refresh - -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% -if %winbuild% GEQ 22483 %_psc% "$null=(([WMICLASS]'%sls%').GetInstances()).RefreshLicenseStatus()" %nul% -exit /b - -:: Check Windows installed key channel - -:dk_channel - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" -exit /b - -:: Activation command - -:dk_act - -if %winbuild% LSS 22483 wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" call Activate %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% -exit /b - -::======================================================================================================================================== - -:dk_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') -) -exit /b - -:dk_color2 - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else ( -if not exist %_psc% (echo %~3%~6) else (%_psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') -) -exit /b - -::======================================================================================================================================== - -:dk_done - -echo: -if %_unattended%==1 timeout /t 2 & exit /b -call :dk_color %_Yellow% "Press any key to %_exitmsg%..." -pause >nul -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = Generic Retail/OEM/MAK Key -:: 3rd column = SKU ID -:: 4th column = 1 = activation is not working (at the time of writing this), 0 = activation is working -:: 5th column = Key Type -:: 6th column = WMI Edition ID -:: 7th column = Version name incase same Edition ID is used in different OS versions with different key -:: Separator = _ - -:: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK - -:hwiddata - -for %%# in ( -8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8HV2C___4_0_OEM:NONSLP_Enterprise -23505d51-32d6-41f0-8ca7-e78ad0f16e71_D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ__11_1_____Retail_Starter -c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT__27_0_Volume:MAK_EnterpriseN -211b80cc-7f64-482c-89e9-4ba21ff827ad_3NFXW-2T27M-2BDW6-4GHRV-68XRX__47_1_____Retail_StarterN -4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T__48_0_____Retail_Professional -9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PKCKT__49_0_____Retail_ProfessionalN -f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WXCHW__98_0_____Retail_CoreN -1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8TYMD__99_0_____Retail_CoreCountrySpecific -3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_100_0_____Retail_CoreSingleLanguage -2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8HVX7_101_0_____Retail_Core -2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_119_0_OEM:NONSLP_PPIPro -e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_121_0_____Retail_Education -c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DRR8H_122_0_____Retail_EducationN -cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_125_1_Volume:MAK_EnterpriseS_2021 -d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P39PB_125_0_OEM:NONSLP_EnterpriseS_2019 -706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DYJWX_125_0_OEM:NONSLP_EnterpriseS_2016 -faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MDWWW_125_0_OEM:NONSLP_EnterpriseS_2015 -2c060131-0e43-4e01-adc1-cf5ad1100da8_RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_126_1_Volume:MAK_EnterpriseSN_2021 -e8f74caa-03fb-4839-8bcc-2e442b317e53_M33WV-NHY3C-R7FPM-BQGPT-239PG_126_1_Volume:MAK_EnterpriseSN_2019 -3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_126_0_Volume:MAK_EnterpriseSN_2016 -60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7V2X_126_0_Volume:MAK_EnterpriseSN_2015 -a48938aa-62fa-4966-9d44-9f04da3f72f2_G3KNM-CHG6T-R36X3-9QDG6-8M8K9_138_1_____Retail_ProfessionalSingleLanguage -f7af7d09-40e4-419c-a49b-eae366689ebd_HNGCC-Y38KG-QVK8D-WMWRK-X86VK_139_1_____Retail_ProfessionalCountrySpecific -eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2YV77_161_0_____Retail_ProfessionalWorkstation -89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_162_0_____Retail_ProfessionalWorkstationN -62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_164_0_____Retail_ProfessionalEducation -13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QPF8P_165_0_____Retail_ProfessionalEducationN -1ca0bfa8-d96b-4815-a732-7756f30c29e2_FV469-WGNG4-YQP66-2B2HY-KD8YX_171_1_OEM:NONSLP_EnterpriseG -8d6f6ffe-0c30-40ec-9db2-aad7b23bb6e3_FW7NV-4T673-HF4VX-9X4MM-B4H4T_172_1_OEM:NONSLP_EnterpriseGN -df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2YV66_175_0_____Retail_ServerRdsh -d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_178_0_____Retail_Cloud -af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ4F6_179_0_____Retail_CloudN -c7051f63-3a76-4992-bce5-731ec0b1e825_2HN6V-HGTM8-6C97C-RK67V-JQPFD_183_1_____Retail_CloudE -8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CKFFD_188_0_____OEM:DM_IoTEnterprise -ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NONSLP_IoTEnterpriseS -d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN -92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition -) do ( -for /f "tokens=1-7 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( - -if %1==attempt1 if not defined key echo "!applist!" | find /i "%%A" 1>nul && (set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1) - -if %1==attempt2 if not defined key ( -set "actidnotfound= [Mismatched Act-ID]" -set 7th=%%G -if not defined 7th ( -set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1 -) else ( -echo "%winos%" | find "%%G" 1>nul && (set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1) -) -) -) -) -exit /b - -::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd deleted file mode 100644 index a47ae78..0000000 --- a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/KMS38_Activation.cmd +++ /dev/null @@ -1,1074 +0,0 @@ -@setlocal DisableDelayedExpansion -@echo off - - - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - - -:: To activate, run the script with /a parameter or change 0 to 1 in below line -set _acti=0 - -:: To activate along with KMS38 protection (from being replaced by 180 days KMS activation), -:: run the script with /ap parameter or change 0 to 1 in below line -set _prot=0 - -:: To only generate GenuineTicket.xml, run the script with /g parameter or change 0 to 1 in below line -set _gent=0 - -:: To uninstall the KMS38, run the script with /x parameter or change 0 to 1 in below line -set _unin=0 - - - -:: If value is changed in above lines or any parameter is used then script will run in unattended mode -:: Incase if more than one options are used then only one option will be applied - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 -title KMS38 Activation - -set _args= -set _elev= -set _unattended=0 - -set _args=%* -if defined _args set _args=%_args:"=% -if defined _args ( -for %%A in (%_args%) do ( -if /i "%%A"=="/a" set _acti=1 -if /i "%%A"=="/ap" set _prot=1 -if /i "%%A"=="/g" set _gent=1 -if /i "%%A"=="/x" set _unin=1 -if /i "%%A"=="-el" set _elev=1 -) -) - -for %%A in (%_acti% %_prot% %_gent% %_unin%) do (if "%%A"=="1" set _unattended=1) - -::======================================================================================================================================== - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Magenta="45;97m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Magenta="Darkmagenta" "white"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set _k38= -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -if %~z0 GEQ 1500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") -set "SPPk=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" -set "notifytocheckupdate=if %winbuild% GTR 19044 echo Make sure you are using updated version of the script." - -::======================================================================================================================================== - -if %winbuild% LSS 14393 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11/Server, build 14393 and later. -goto dk_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto dk_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%eline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto dk_done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%eline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto dk_done -) - -::======================================================================================================================================== - -if %_unin%==1 goto :k_uninstall - -:k_menu - -if %_unattended%==0 ( -cls -mode 76, 25 -title KMS38 Activation - -echo: -echo: -echo: -echo ____________________________________________________________ -echo: -echo [1] KMS38 Activation -echo: -echo [2] KMS38 Activation ^+ Protection -echo ____________________________________________ -echo: -echo [3] Generate Ticket -echo ____________________________________________ -echo: -echo [4] Complete Uninstall -echo: -echo [5] %_exitmsg% -echo ____________________________________________________________ -echo: -call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5]" -choice /C:12345 /N -set _el=!errorlevel! -if !_el!==5 exit /b -if !_el!==4 ( -cls -echo: -call :dk_color2 %_White% " " %_Green% "KMS38 Complete Uninstall:" -echo: -echo It requires below steps, -echo - Cleaning ClipSVC licences -echo - Deleting a volatile and protected registry key by taking ownership -echo - Microsoft Account and Store Apps may need relogin-restart in the system -echo - Removing Specific KMS Host for Windows -echo: -echo Its recommended to restart the system after this process. -echo: -echo: -choice /C:12 /N /M "> [1] Continue [2] Go back : " -if errorlevel 2 goto :k_menu -if errorlevel 1 goto :k_uninstall -) -if !_el!==3 (set _gent=1&goto :k_menu2) -if !_el!==2 ( -cls -echo: -call :dk_color2 %_White% " " %_Green% "KMS38 Protection:" -echo: -echo It stops 180 days KMS Activation from replacing KMS38 activation. -echo Protection requires permission altering of a registry key. -echo: -echo If you are going to use KMS_VL_ALL or MAS's KMS activation for Office, -echo then you don't need to enable this protection. -echo For more info, check readme. -echo: -echo: -choice /C:12 /N /M "> [1] Continue [2] Go back : " -if errorlevel 2 goto :k_menu -if errorlevel 1 (set _prot=1&goto :k_menu2) -) -if !_el!==1 (set _prot=0&goto :k_menu2) -goto :k_menu -) - -:k_menu2 - -cls -mode 102, 30 -if %_gent%==1 (set _title=title Generate KMS38 GenuineTicket.xml) else (set _title=title KMS38 Activation) -%_title% - -::======================================================================================================================================== - -if not exist %_psc% if %_prot%==1 ( -set _prot=0 -set _gent=0 -%nceline% -echo Powershell is not installed in the system. -echo It is required to protect KMS38 activation. -echo You need to set the script to the default. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto k_menu -) -) - -if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( -set _gent=0 -%eline% -echo File '%Systemdrive%\GenuineTicket.xml' already exist. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to go back..." -pause >nul -goto k_menu -) else ( -goto dk_done -) -) - -::======================================================================================================================================== - -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -if %_unattended%==0 ( -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -:: Check if system is permanently activated or not - -cls -call :dk_checkperm -if defined _perm if not %_gent%==1 ( -echo ___________________________________________________________________________________________ -echo: -call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." -call :dk_color2 %_White% " " %Gray% "Activation is not required." -echo ___________________________________________________________________________________________ -if %_unattended%==1 goto dk_done -echo: -choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " -if errorlevel 2 exit /b -) -cls - -::======================================================================================================================================== - -:: Check Evaluation version - -set _eval= -set _evalserv= -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 - -if defined _eval ( -%eline% -echo [%winos% ^| %winbuild%] -if defined _evalserv ( -echo Server Evaluation cannot be activated. Convert it to full Server OS. -) else ( -echo Evaluation Editions cannot be activated. Install full Windows OS. -echo Check the ReadMe for how to get genuine installation media for full version. -) -goto dk_done -) - -::======================================================================================================================================== - -:: Check SKU value - -set osSKU= -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -if not defined osSKU ( -%eline% -echo SKU value was not detected properly. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check if GVLK (KMS key) is already installed or not - -set _gvlk= -call :dk_channel -echo: %_channel%| findstr /i "GVLK" 1>nul && set _gvlk=1 - -::======================================================================================================================================== - -:: Detect Key - -set app= -set key= - -if defined applist call :kms38data getkey - -::======================================================================================================================================== - -if not defined key if not defined _gvlk ( -%eline% -if not defined applist ( -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Try troublshooting steps listed in the ReadMe. -goto dk_done -) -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo However, if you would like to try KMS38 activation on this product then, -echo install KMS key [GVLK] for this product and run the script. -goto dk_done -) - -if not defined key ( -echo: -call :dk_color %Magenta% "====== Info ======" -echo: -echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] -echo Unable to find this product in the supported product list. -%notifytocheckupdate% -echo: -echo Since KMS key is already installed, script will activate with KMS38. -if %_unattended%==0 ( -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -cls -) - -::======================================================================================================================================== - -:: Making sure we have activation ID if not defined yet - -if not defined key set app= -if not defined app ( -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do call set "app=%%a" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).ID | %% {echo ('ID='+$_)}" 2^>nul') do call set "app=%%a" -) - -if not defined app ( -%eline% -echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] -echo Unable to detect activation ID. -%notifytocheckupdate% -goto dk_done -) - -::======================================================================================================================================== - -:: Check Windows Architecture - -set arch= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b - -if not defined arch ( -%eline% -echo Unable to detect Windows Architecture. Aborting... -goto dk_done -) - -::======================================================================================================================================== - -:: Check files - -set ARM64_file= -if /i "%arch%"=="ARM64" set ARM64_file=arm64_ - -for %%# in (%ARM64_file%gatherosstate.exe %ARM64_file%slc.dll) do ( -if not exist "!_work!\BIN\%%#" ( -%eline% -echo '%%#' file is missing in 'BIN' folder. Aborting... -goto dk_done -) -) - -::======================================================================================================================================== - -:: Check clipup.exe for the detection and activation of server cor and acor editions - -set a_cor= -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" if not exist "%systemroot%\System32\clipup.exe" set a_cor=1 - -if defined a_cor ( -if not exist "!_work!\BIN\clipup.exe" ( -%eline% -echo 'clipup.exe' file is missing in 'BIN' folder. Aborting... -goto dk_done -) -) - -::======================================================================================================================================== - -cls -echo: -echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] - -::======================================================================================================================================== - -echo: -set "_serv=ClipSVC sppsvc Winmgmt" - -:: Client License Service (ClipSVC) -:: Software Protection -:: Windows Management Instrumentation - -echo Checking Services [%_serv%] - -:: Check if the services are able to run or not - -set serv_e= -for %%# in (%_serv%) do ( -sc query %%# | find /i "RUNNING" %nul% || net start %%# /y %nul% -sc query %%# | find /i "RUNNING" %nul% || sc start %%# %nul% -sc query %%# | find /i "RUNNING" %nul% || if defined serv_e (set "serv_e=!serv_e! %%#") else (set "serv_e=%%#") -) - -if not defined serv_e ( -echo Starting Services [Successful] -) else ( -call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" -) - -if not defined applist ( -call :dk_color %Red% "Checking WMI Query [Failed]" -) else ( -echo Checking WMI Query [Successful] -) - -::======================================================================================================================================== - -:: Install key - -echo: -set _partial= -if defined key set _ipartial=%key:~-5% - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" - -if defined key if /i "%_partial%"=="%_ipartial%" ( -echo Checking Installed Product Key [%key%] [Volume:GVLK] -) - -if not defined key ( -echo Checking Installed Product Key [Partial Key - %_partial%] [Volume:GVLK] -) - -if defined key if /i not "%_partial%"=="%_ipartial%" ( -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if !errorlevel!==0 ( -call :dk_refresh -echo Installing KMS Client Setup Key [%key%] [Successful] -) else ( -call :dk_color %Red% "Installing KMS Client Setup Key [%key%] [Failed]" -) -) - -::======================================================================================================================================== - -:: Set specific KMS host to Local Host -:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions - -set regadd= -set k_error= - -if not %_gent%==1 ( -echo: -set regadd=1 -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f - -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -call :regown "HKLM\%SPPk%\%wApp%" -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -) - -%nul% reg add "HKLM\%SPPk%\%wApp%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" || set k_error=1 -%nul% reg add "HKLM\%SPPk%\%wApp%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" || set k_error=1 - -if not defined k_error ( -echo Adding Specific KMS Host [LocalHost 127.0.0.2] [Successful] -) else ( -call :dk_color %Red% "Adding Specific KMS Host [LocalHost 127.0.0.2] [Failed]" -) -) - -::======================================================================================================================================== - -:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names - -echo: -set "temp_=%SystemRoot%\Temp\_Temp" -set "_clipup=%systemroot%\System32\clipup.exe" -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -md "%temp_%\" %nul% - -pushd "!_work!\BIN\" -copy /y /b "%ARM64_file%gatherosstate.exe" "%temp_%\gatherosstate.exe" %nul% -copy /y /b "%ARM64_file%slc.dll" "%temp_%\slc.dll" %nul% -if defined a_cor copy /y /b "ClipUp.exe" "%_clipup%" %nul% -popd - -set copyf= -if not exist "%temp_%\gatherosstate.exe" set copyf=1 -if not exist "%temp_%\slc.dll" set copyf=1 - -if defined copyf ( -call :dk_color %Red% "Copying Required Files to Temp [%temp_%] [Failed]" -goto :k_final -) else ( -echo Copying Required Files to Temp [%temp_%] [Successful] -) - -if defined a_cor ( -if exist "%_clipup%" ( -echo Copying clipup.exe File to [%systemroot%\System32\] [Successful] -) else ( -call :dk_color %Red% "Copying clipup.exe File to [%systemroot%\System32\] [Failed] Aborting..." -goto :k_final -) -) - -::======================================================================================================================================== - -:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. - -set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" - -start /wait "" "%temp_%/gatherosstate.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% net stop sppsvc /y %nul% -%_noxml% call "%temp_%/gatherosstate.exe" %nul% -%_noxml% timeout /t 3 %nul% -%_noxml% "%temp_%/gatherosstate.exe" %nul% -%_noxml% timeout /t 3 %nul% - -%_noxml% ( -call :dk_color %Red% "Generating GenuineTicket.xml [Failed] Aborting..." -goto :k_final -) else ( -echo Generating GenuineTicket.xml [Successful] -) - -::======================================================================================================================================== - -:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script - -if %_gent%==1 ( -echo: -copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% -if not exist "%Systemdrive%\GenuineTicket.xml" ( -call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" -) else ( -call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" -) -goto :k_final -) - -::======================================================================================================================================== - -:: clipup -v -o -altto method to apply ticket is not used to avoid the certain issues in case if the username have -:: spaces / special characters / non English names - -set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% - -if not exist "%tdir%\GenuineTicket.xml" ( -call :dk_color %Red% "Failed to copy Ticket to [%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket\]" -goto :k_final -) - -set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" - -net stop ClipSVC /y %nul% -net start ClipSVC /y %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -%_xmlexist% %_psc% Restart-Service ClipSVC %nul% -%_xmlexist% timeout /t 2 %nul% -%_xmlexist% timeout /t 2 %nul% - -set fallback_= -%_xmlexist% ( -set fallback_=1 -%nul% clipup -v -o -%_xmlexist% timeout /t 2 %nul% -) - -%_xmlexist% ( -call :dk_color %Red% "Installing GenuineTicket.xml [Failed] Aborting..." -if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% -goto :k_final -) else ( -if defined fallback_ (call :dk_color %Red% "Installing GenuineTicket.xml [Successful] [Fallback method: clipup -v -o]" -) else (echo Installing GenuineTicket.xml [Successful] -) -) - -::========================================================================================================================================== - -echo: -echo Activating... -echo: - -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -:: Clear 180 Days KMS Activation lock with Windows SKU specific rearm and without the need to restart the system - -if %winbuild% LSS 22483 wmic path %slp% where ID='%app%' call ReArmsku %nul% -if %winbuild% GEQ 22483 %_psc% "$null=([WMI]'%slp%=''%app%''').ReArmsku()" %nul% - -if %errorlevel%==0 ( -echo Applying SKU-ID Rearm [Successful] -) else ( -call :dk_color %Red% "Applying SKU-ID Rearm [Failed]" -) - -echo: -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -:: Restart software protection service to refresh itself and run refresh license status and activation commands - -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -call :dk_refresh -call :dk_act - -call :k_checkexp -if defined _k38 ( -call :k_actinfo -goto :k_final -) - -call :dk_color %Red% "Activation Failed" -call :dk_color %Magenta% "Try again / Restart system / Check troubleshooting steps in ReadMe" - -::======================================================================================================================================== - -:k_final - -:: Remove the added Specific KMS Host (Local Host) if activation is not completed - -echo: -set k_error= -if defined regadd if not defined _k38 ( -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f -%nul% reg query "HKLM\%SPPk%\%wApp%" && set k_error=1 -%nul% reg query "HKU\S-1-5-20\%SPPk%\%wApp%" && set k_error=1 -if not defined k_error ( -echo Removing The Added Specific KMS Host [Successful] -) else ( -call :dk_color %Red% "Removing The Added Specific KMS Host [Failed]" -) -) - -:: Protect KMS38 if opted by the user and conditions are correct - -if defined regadd if defined _k38 if %_prot%==1 ( -%nul% call :regown "HKLM\%SPPk%\%wApp%" "" S-1-5-32-544 "" Deny "SetValue,Delete" -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -call :dk_color %Gray% "Locking a Registry To Protect KMS38 [Successful]" -) || ( -call :dk_color %Red% "Locking a Registry To Protect KMS38 [Failed]" -) -) - -:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script - -if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% -if defined a_cor if exist "%_clipup%" del /f /q "%_clipup%" %nul% - -if exist "%temp_%\" ( -call :dk_color %Red% "Cleaning Temp Files [Failed]" -) else ( -echo Cleaning Temp Files [Successful] -) - -if defined a_cor ( -if exist "%_clipup%" ( -call :dk_color %Red% "Deleting copied clipup.exe file [Failed]" -) else ( -echo Deleting copied clipup.exe file [Successful] -) -) - -goto :dk_done - -::======================================================================================================================================== - -:k_uninstall - -cls -mode 76, 25 -title KMS38 Complete Uninstall -set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" - -echo: -call :k_checkexp - -if not defined _k38 ( -echo Windows is not activated with KMS38. Skipping cleaning ClipSVC Licences... -echo: -) - -if defined _k38 ( -for %%# in (ClipSVC) do ( -sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% -sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% -) - -REM Thanks to @mspaintmsi for informing this command info - -rundll32 clipc.dll,ClipCleanUpState - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( -call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" -) else ( -echo Cleaning ClipSVC Licences [Successful] -) - -REM Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after -REM system restart. It needs to be deleted to activate the system without restart. - -call :regown "%RegKey%" %nul% -reg delete "%RegKey%" /f %nul% - -reg query "%RegKey%" %nul% && ( -call :dk_color %Red% "Deleting a Volatile Registry [Failed]" -call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" -) || ( -echo Deleting a Volatile Registry [Successful] -) - -for %%# in (ClipSVC wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) -call :dk_refresh -) - -set exist_= -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -set exist_=1 -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -) -%nul% reg delete "HKU\S-1-5-20\%SPPk%\%wApp%" /f - -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -%nul% call :regown "HKLM\%SPPk%\%wApp%" -%nul% reg delete "HKLM\%SPPk%\%wApp%" /f -) - -%nul% reg query "HKLM\%SPPk%\%wApp%" && ( -call :dk_color %Red% "Removing Specific KMS Host [Failed]" -) || ( -if defined exist_ ( -echo Removing Specific KMS Host [Successful] -) else ( -echo Removing Specific KMS Host [Already Removed] -) -) - -if defined _k38 ( -echo: -call :dk_color %Magenta% "Its recommended to restart the system now." -) - -goto :dk_done - -::======================================================================================================================================== - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of PowerShell is installed. - -:: This code runs only if KMS38 protection option or complete uninstall option is used by the user in this script. - -:regown - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} -$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -::======================================================================================================================================== - -:: Check KMS activation status - -:k_actinfo - -set xpr= -if not exist %_psc% ( -cscript //nologo %windir%\system32\slmgr.vbs /xpr -) else ( -for /f "tokens=* delims=" %%# in ('%_psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "xpr=%%#" -call :dk_color %Green% "%winos% is activated till !xpr!" -) -exit /b - -:: Check remaining KMS activation grace period - -:k_checkexp - -set gpr=0 -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('"wmic path %slp% where (ApplicationID='%wApp%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" 2^>nul') do set "gpr=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM %slp% WHERE ApplicationID=''%wApp%'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" 2^>nul') do set "gpr=%%#" -if %gpr% GTR 259200 (set _k38=1) else (set _k38=) -exit /b - -:: Check Windows permanent activation status - -:dk_checkperm - -if %winbuild% LSS 22483 wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= -exit /b - -:: Refresh license status - -:dk_refresh - -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% -if %winbuild% GEQ 22483 %_psc% "$null=(([WMICLASS]'%sls%').GetInstances()).RefreshLicenseStatus()" %nul% -exit /b - -:: Check Windows installed key channel - -:dk_channel - -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%# in ('wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%# in ('%_psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" -exit /b - -:: Activation command - -:dk_act - -if %winbuild% LSS 22483 wmic path %slp% where "ApplicationID='%wApp%' and PartialProductKey<>null" call Activate %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% -exit /b - -::======================================================================================================================================== - -:dk_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') -) -exit /b - -:dk_color2 - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else ( -if not exist %_psc% (echo %~3%~6) else (%_psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') -) -exit /b - -::======================================================================================================================================== - -:dk_done - -echo: -if %_unattended%==1 timeout /t 2 & exit /b -call :dk_color %_Yellow% "Press any key to %_exitmsg%..." -pause >nul -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = GVLK (Generic volume licensing key) -:: 3rd column = SKU ID -:: 4th column = WMI Edition ID (For reference only) -:: 5th column = Build Branch name incase same Edition ID is used in different OS versions with different key (For reference only) -:: Separator = "_" - -:kms38data - -for %%# in ( -73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2YT43___4_Enterprise -9bd77860-9b31-4b7b-96ad-2564017315bf_VDYBN-27WPP-V4HQT-9VMD4-VMK7H___7_ServerStandard_FE -de32eafd-aaee-4662-9444-c1befb41bde2_N69G4-B89J2-4G8F4-WWYCC-J464C___7_ServerStandard_RS5 -8c1c5410-9f39-4805-8c9d-63a07706358f_WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY___7_ServerStandard_RS1 -ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03_WX4NM-KYWYW-QJJR4-XV3QB-6VM33___8_ServerDatacenter_FE -34e1ae55-27f8-4950-8877-7a03be5fb181_WMDGN-G9PQG-XVVXX-R3X43-63DFG___8_ServerDatacenter_RS5 -21c56779-b449-4d20-adfc-eece0e1ad74b_CB7KF-BWN84-R7R2Y-793K2-8XDDG___8_ServerDatacenter_RS1 -e272e3e2-732f-4c65-a8f0-484747d0d947_DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4__27_EnterpriseN -2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T83GX__48_Professional -a80b5abf-76ad-428b-b05d-a47d2dffeebf_MH37W-N47XK-V7XM9-C7227-GCQG9__49_ProfessionalN -034d3cbb-5d4b-4245-b3f8-f84571314078_WVDHN-86M7X-466P6-VHXV7-YY726__50_ServerSolution_RS5 -2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283_JCKRF-N37P4-C2D82-9YXRT-4M63B__50_ServerSolution_RS1 -7b9e1751-a8da-4f75-9560-5fadfe3d8e38_3KHY7-WNT83-DGQKR-F7HPR-844BM__98_CoreN -a9107544-f4a0-4053-a96a-1479abdef912_PVMJN-6DFY6-9CCP6-7BKTT-D3WVR__99_CoreCountrySpecific -cd918a57-a41b-4c82-8dce-1a538e221a83_7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH_100_CoreSingleLanguage -58e97c99-f377-4ef1-81d5-4ad5522b5fd8_TX9XD-98N7V-6WMQ6-BX7FG-H8Q99_101_Core -7b4433f4-b1e7-4788-895a-c45378d38253_QN4C6-GBJD2-FB422-GHWJK-GJG2R_110_ServerCloudStorage -8de8eb62-bbe0-40ac-ac17-f75595071ea3_GRFBW-QNDC4-6QBHG-CCK3B-2PR88_120_ServerARM64_RS5 -43d9af6e-5e86-4be8-a797-d072a046896c_K9FYF-G6NCK-73M32-XMVPY-F9DRR_120_ServerARM64_RS4 -e0c42288-980c-4788-a014-c080d2e1926e_NW6C2-QMPVW-D7KKK-3GKT6-VCFB2_121_Education -3c102355-d027-42c6-ad23-2e7ef8a02585_2WH4N-8QGBV-H22JP-CT43Q-MDWWJ_122_EducationN -32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J462D_125_EnterpriseS_RS5,VB -2d5a5a60-3040-48bf-beb0-fcd770c20ce0_DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ_125_EnterpriseS_RS1 -7b51a46c-0c04-4e8f-9af4-8496cca90d5e_WNMTR-4C88C-JK8YV-HQ7T2-76DF9_125_EnterpriseS_TH1 -7103a333-b8c8-49cc-93ce-d37c09687f92_92NFX-8DJQP-P6BBQ-THF9C-7CG2H_126_EnterpriseSN_RS5,VB -9f776d83-7156-45b2-8a5c-359b9c9f22a3_QFFDN-GRT3P-VKWWX-X7T3R-8B639_126_EnterpriseSN_RS1 -87b838b7-41b6-4590-8318-5797951d8529_2F77B-TNFGY-69QQF-B8YKP-D69TJ_126_EnterpriseSN_TH1 -39e69c41-42b4-4a0a-abad-8e3c10a797cc_QFND9-D3Y9C-J3KKY-6RPVP-2DPYV_145_ServerDatacenterACor_FE -90c362e5-0da1-4bfd-b53b-b87d309ade43_6NMRW-2C8FM-D24W7-TQWMY-CWH2D_145_ServerDatacenterACor_RS5 -e49c08e7-da82-42f8-bde2-b570fbcae76c_2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG_145_ServerDatacenterACor_RS3 -f5e9429c-f50b-4b98-b15c-ef92eb5cff39_67KN8-4FYJW-2487Q-MQ2J7-4C4RG_146_ServerStandardACor_FE -73e3957c-fc0c-400d-9184-5f7b6f2eb409_N2KJX-J94YW-TQVFB-DG9YT-724CC_146_ServerStandardACor_RS5 -61c5ef22-f14f-4553-a824-c4b31e84b100_PTXN8-JFHJM-4WC78-MPCBR-9W4KR_146_ServerStandardACor_RS3 -82bbc092-bc50-4e16-8e18-b74fc486aec3_NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J_161_ProfessionalWorkstation -4b1571d3-bafb-4b40-8087-a961be2caf65_9FNHH-K3HBT-3W4TD-6383H-6XYWF_162_ProfessionalWorkstationN -3f1afc82-f8ac-4f6c-8005-1d233e606eee_6TP4R-GNPTD-KYYHQ-7B7DP-J447Y_164_ProfessionalEducation -5300b18c-2e33-4dc2-8291-47ffcec746dd_YVWGF-BXNMC-HTQYQ-CPQ99-66QFC_165_ProfessionalEducationN -8c8f0ad3-9a43-4e05-b840-93b8d1475cbc_6N379-GGTMK-23C6M-XVVTC-CKFRQ_168_ServerAzureCor_FE -a99cc1f0-7719-4306-9645-294102fbff95_FDNH6-VW9RW-BXPJ7-4XTYG-239TB_168_ServerAzureCor_RS5 -3dbf341b-5f6c-4fa7-b936-699dce9e263f_VP34G-4NPPG-79JTQ-864T4-R3MQX_168_ServerAzureCor_RS1 -e0b2d383-d112-413f-8a80-97f373a5820c_YYVX9-NTFWV-6MDM3-9PT4T-4M68B_171_EnterpriseG -e38454fb-41a4-4f59-a5dc-25080e354730_44RPN-FTY23-9VTTB-MP9BX-T84FV_172_EnterpriseGN -ec868e65-fadf-4759-b23e-93fe37f2cc29_CPWHC-NT2C7-VYW78-DHDB2-PG3GK_175_ServerRdsh_RS5 -e4db50ea-bda1-4566-b047-0ca50abc6f07_7NBT4-WGBQX-MP4H7-QXFF8-YP3KX_175_ServerRdsh_RS3 -0df4f814-3f57-4b8b-9a9d-fddadcd69fac_NBTWJ-3DR69-3C4V8-C26MC-GQ9M6_183_CloudE -d30136fc-cb4b-416e-a23d-87207abc44a9_6XN7V-PCBDC-BDBRH-8DQY7-G6R44_202_CloudEditionN -ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69_37D7F-N49CB-WQR8W-TBJ73-FM8RX_203_CloudEdition -19b5e0fb-4431-46bc-bac1-2f1873e4ae73_NTBV8-9K7Q8-V27C6-M2BTV-KHMXV_407_ServerTurbine -) do ( -for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( -if %1==getkey if not defined key echo "!applist!" | find /i "%%A" >nul && (set "app=%%A" & set "key=%%B") -) -) -exit /b - -::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.html b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.html deleted file mode 100644 index 5d05a66..0000000 --- a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_HWID.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.html b/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.html deleted file mode 100644 index 398e9c0..0000000 --- a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/ReadMe_KMS38.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.html b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.html deleted file mode 100644 index 5e0f421..0000000 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/_Info.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/ReadMe.html b/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/ReadMe.html deleted file mode 100644 index 8dbde63..0000000 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/ReadMe.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Change_Edition.cmd b/MAS/Separate-Files-Version/Change_Edition.cmd new file mode 100644 index 0000000..384fabb --- /dev/null +++ b/MAS/Separate-Files-Version/Change_Edition.cmd @@ -0,0 +1,726 @@ +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title Change Windows Edition + +set _elev= +if /i "%~1"=="-el" set _elev=1 + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Magenta="45;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Magenta="Darkmagenta" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +set "line=echo ___________________________________________________________________________________________" + +::======================================================================================================================================== + +if %winbuild% LSS 10240 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11/Server Build 10240 and later. +goto ced_done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto ced_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%eline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto ced_done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%eline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto ced_done +) + +::======================================================================================================================================== + +cls +mode 98, 30 + +call :dk_initial + +if not defined applist ( +cls +%eline% +echo Not Respoding: !e_wmispp! +goto ced_done +) + +::======================================================================================================================================== + +:: Check Windows Edition + +set osedition= +for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a" + +cls +if "%osedition%"=="" ( +%eline% +DISM /English /Online /Get-CurrentEdition %nul% +cmd /c exit /b !errorlevel! +echo DISM command failed [Error Code - 0x!=ExitCode!] +echo OS Edition was not detected properly. Aborting... +goto ced_done +) + +:: Check product name + +call :dk_product + +:: Check SKU value + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto ced_done +) + +:: Check PowerShell + +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +%eline% +echo PowerShell is not responding properly. Aborting... +goto ced_done +) + +:: Check slmgr /dlv + +cscript //nologo %windir%\system32\slmgr.vbs /dlv %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +%eline% +echo slmgr /dlv is not responding %error_code% +goto ced_done +) + +::======================================================================================================================================== + +:: Get Target editions list + +set _target= +set _ntarget= +for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _target (set "_target=!_target! %%a") else (set "_target=%%a")) + +::======================================================================================================================================== + +:: Block the change to/from CountrySpecific and CloudEdition editions + +for %%# in (99 139 202 203) do if %osSKU%==%%# ( +%eline% +echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] +echo It's not recommended to change this installed edition to any other. +echo Aborting... +goto ced_done +) + +if defined _target ( +for %%# in (%_target%) do ( +echo %%# | findstr /i "CountrySpecific CloudEdition" %nul% || (if defined _ntarget (set "_ntarget=!_ntarget! %%#") else (set "_ntarget=%%#")) +) +) + +if not defined _ntarget ( +%line% +echo: +call :dk_color %Gray% "Target Edition not found." +echo Current Edition [%osedition% ^| %winbuild%] can not be changed to any other Edition. +%line% +goto ced_done +) + +::======================================================================================================================================== + +:cedmenu2 + +cls +mode 98, 30 +set inpt= +set counter=0 +set verified=0 +set targetedition= + +%line% +echo: +call :dk_color %Gray% "You can change the Current Edition [%osedition%] to one of the following." +%line% +echo: + +for %%A in (%_ntarget%) do ( +set /a counter+=1 +echo [!counter!] %%A +set targetedition!counter!=%%A +) + +%line% +echo: +echo [0] Exit +echo: +call :dk_color %_Green% "Enter option number in keyboard, and press "Enter":" +set /p inpt= +if "%inpt%"=="" goto cedmenu2 +if "%inpt%"=="0" exit /b +for /l %%i in (1,1,%counter%) do (if "%inpt%"=="%%i" set verified=1) +set targetedition=!targetedition%inpt%! +if %verified%==0 goto cedmenu2 + +::======================================================================================================================================== + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( +goto :ced_change_server +) + +cls +set key= +set _chan= +set _changepk=0 +set "keyflow=Retail Volume:MAK Volume:GVLK OEM:NONSLP OEM:DM" + +:: Check if changepk.exe or slmgr.vbs is required for edition upgrade + +if not exist "%SystemRoot%\System32\spp\tokens\skus\%targetedition%\" ( +set _changepk=1 +) + +if /i "%osedition:~0,4%"=="Core" ( +if /i not "%targetedition:~0,4%"=="Core" ( +set _changepk=1 +) +) + +if %winbuild% LEQ 19044 call :changeeditiondata + +if not defined key call :ced_targetSKU %targetedition% +if not defined key if defined targetSKU call :ced_windowskey +if defined key if defined pkeychannel set _chan=%pkeychannel% + +if not defined key ( +%eline% +echo [%targetedition% ^| %winbuild%] +echo Unable to get product key from pkeyhelper.dll +echo Make sure you are using updated version of the script +goto ced_done +) + +::======================================================================================================================================== + +%line% + +:: Changing from Core to Non-Core & Changing editions in Windows build older than 17134 requires "changepk /productkey" method and restart +:: In other cases, editions can be changed instantly with "slmgr /ipk" + +:ced_loop + +cls +if %_changepk%==1 ( +echo "%_chan%" | find /i "OEM" >NUL && ( +%eline% +echo [%osedition%] can not be changed to [%targetedition%] Edition due to lack of non OEM keys. +echo Non-OEM keys are required to change from Core to Non-Core Editions. +goto ced_done +) +for %%a in (dns.msftncsi.com,www.microsoft.com,one.one.one.one,resolver1.opendns.com) do ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( +if not [%%#]==[] ( +%eline% +echo Disconnect the Internet and then press any key... +pause >nul +goto ced_loop +) +) +) +) + +echo: +echo Changing the Current Edition [%osedition%] to [%targetedition%] +echo: + +if %_changepk%==1 ( +call :dk_color %Green% "You can safely ignore if error appears in the upgrade Window." +call :dk_color %Red% "But in that case you must manually reboot the system." +echo: +call :dk_color %Magenta% "Important - Save your work before continue, system will auto reboot." +echo: +choice /C:21 /N /M "[1] Continue [2] Exit : " +if !errorlevel!==1 exit /b +) + +::======================================================================================================================================== + +if %_changepk%==0 ( +echo Installing %_chan% Key [%key%] +echo: +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% + +set error_code=!errorlevel! +cmd /c exit /b !error_code! +if !error_code! NEQ 0 set "error_code=[0x!=ExitCode!]" + +if !error_code! EQU 0 ( +call :dk_refresh +call :dk_color %Green% "[Successful]" +echo: +call :dk_color %Gray% "Reboot is required to properly change the Edition." +) else ( +call :dk_color %Red% "[Unsuccessful] [Error Code: 0x!=ExitCode!]" +) +) + +if %_changepk%==1 ( +echo: +echo Applying the command with %_chan% Key +echo start changepk.exe /ProductKey %key% +start changepk.exe /ProductKey %key% +) +%line% + +goto ced_done + +::======================================================================================================================================== + +:ced_change_server + +cls +mode con cols=105 lines=32 +%nul% %psc% "&{$W=$Host.UI.RawUI.WindowSize;$B=$Host.UI.RawUI.BufferSize;$W.Height=31;$B.Height=200;$Host.UI.RawUI.WindowSize=$W;$Host.UI.RawUI.BufferSize=$B;}" + +set key= +set pkeychannel= +set "keyflow=Volume:GVLK Retail Volume:MAK OEM:NONSLP OEM:DM" +call :changeeditionserverdata + +if not defined key call :ced_targetSKU %targetedition% +if not defined key if defined targetSKU call :ced_windowskey +if defined key if not defined pkeychannel call :dk_pkeychannel %key% + +if not defined key ( +%eline% +echo [%targetedition% ^| %winbuild%] +echo Unable to get product key from pkeyhelper.dll +echo Make sure you are using updated version of the script +goto ced_done +) + +::======================================================================================================================================== + +cls +echo: +echo Changing the Current Edition [%osedition%] to [%targetedition%] +echo: +echo Applying the command with %pkeychannel% Key +echo DISM /online /Set-Edition:%targetedition% /ProductKey:%key% /AcceptEula +DISM /online /Set-Edition:%targetedition% /ProductKey:%key% /AcceptEula + +call :dk_color %Magenta% "Make sure to restart the system." + +::======================================================================================================================================== + +:ced_done + +echo: +call :dk_color %_Yellow% "Press any key to exit..." +pause >nul +exit /b + +::======================================================================================================================================== + +:: Refresh license status + +:dk_refresh + +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% +if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% +exit /b + +:: Get Windows Activation IDs + +:dk_actids + +set applist= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) +exit /b + +:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) + +:dk_product + +set winos= +set d1=[DllImport(\"winbrand\",CharSet=CharSet.Unicode)]public static extern string BrandingFormatString(string s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $AP::BrandingFormatString('%%WINDOWS_LONG%%') +for /f "delims=" %%s in ('"%psc% %d2%"') do if not errorlevel 1 (set winos=%%s) +echo "%winos%" | find /i "Windows" 1>nul || ( +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +if %winbuild% GEQ 22000 ( +set winos=!winos:Windows 10=Windows 11! +) +) +exit /b + +:: Check wmic.exe + +:dk_ckeckwmic + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) +exit /b + +:dk_initial + +echo: +echo Initializing... + +:: Check and enable WinMgmt, sppsvc services if required + +for %%# in (WinMgmt sppsvc) do ( +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b NEQ 0x2 ( +echo: +echo Enabling %%# service... +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% || echo Failed +if /i %%#==WinMgmt sc config %%# start= auto %nul% || echo Failed +) +sc start %%# %nul% +if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 ( +echo: +echo Starting %%# service... +sc start %%# +echo: +call :dk_color %Red% "Failed to start [%%#] service, rest of the process may take a long time..." +) +) + +:: Check WMI and SPP Errors + +call :dk_ckeckwmic + +set e_wmi= +set e_wmispp= +call :dk_actids + +if not defined applist ( +net stop sppsvc /y %nul% +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if !errorlevel! NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +call :dk_refresh + +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 set e_wmi=1 + +if defined e_wmi (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +call :dk_actids +) +exit /b + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. + +:dk_pkey + +set pkey= +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int SkuGetProductKeyForEdition(int e, string c, out string k, out string p); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k=''; $null=$AP::SkuGetProductKeyForEdition(%1, %2, [ref]$k, [ref]$null); $k +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:dk_pkeychannel + +set k=%1 +set pkeychannel= +set p=%SystemRoot%\System32\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms +set m=[System.Runtime.InteropServices.Marshal] +set d1=[DllImport(\"PidGenX.dll\",CharSet=CharSet.Unicode)]public static extern int PidGenX(string k,string p,string m,int u,IntPtr i,IntPtr d,IntPtr f); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k='%k%'; $p='%p%'; $r=[byte[]]::new(0x04F8); $r[0]=0xF8; $r[1]=0x04; $f=%m%::AllocHGlobal(1272); %m%::Copy($r,0,$f,1272); +set d3=%d2% [void]$AP::PidGenX($k,$p,\"00000\",0,0,0,$f); %m%::Copy($f,$r,0,1272); %m%::FreeHGlobal($f); [System.Text.Encoding]::Unicode.GetString($r, 1016, 128).Replace('0','') +for /f %%a in ('%psc% "%d3%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:ced_windowskey + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (%keyflow%) do ( +call :dk_pkey %targetSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + +:ced_targetSKU + +set k=%1 +set targetSKU= +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int GetEditionIdFromName(string e, out int s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $s=0; $null=$AP::GetEditionIdFromName('%k%', [ref]$s); $s +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set targetSKU=%%a) +if "%targetSKU%"=="0" set targetSKU= +exit /b + +::======================================================================================================================================== + +:dk_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' +) +exit /b + +:dk_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' +) +exit /b + +::======================================================================================================================================== + +:: 1st column = Generic Retail/OEM/MAK/GVLK Key +:: 2nd column = Key Type +:: 3rd column = WMI Edition ID +:: 4th column = Version name incase same Edition ID is used in different OS versions with different key +:: Separator = _ + +:: Key preference is in the following order. Retail > Volume:MAK > Volume:GVLK > OEM:NONSLP > OEM:DM +:: OEM keys are in last because they can't be used in edition change if "changepk /productkey" method is needed instead of "slmgr /ipk" +:: OEM keys are listed here because we don't have other keys for that edition + +:changeeditiondata + +for %%# in ( +44NYX-TKR9D-CCM2D-V6B8F-HQWWR_Volume:MAK_Enterprise +D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ_____Retail_Starter +3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT_Volume:MAK_EnterpriseN +3NFXW-2T27M-2BDW6-4GHRV-68XRX_____Retail_StarterN +VK7JG-NPHTM-C97JM-9MPGT-3V66T_____Retail_Professional +2B87N-8KFHP-DKV6R-Y2C8J-PKCKT_____Retail_ProfessionalN +4CPRK-NM3K3-X6XXQ-RXX86-WXCHW_____Retail_CoreN +N2434-X9D7W-8PF6X-8DV9T-8TYMD_____Retail_CoreCountrySpecific +BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_____Retail_CoreSingleLanguage +YTMG3-N6DKC-DKB77-7M9GH-8HVX7_____Retail_Core +XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_OEM:NONSLP_PPIPro +YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_____Retail_Education +84NGF-MHBT6-FXBX8-QWJK7-DRR8H_____Retail_EducationN +KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_Volume:MAK_EnterpriseS_2021 +VBX36-N7DDY-M9H62-83BMJ-CPR42_Volume:MAK_EnterpriseS_2019 +PN3KR-JXM7T-46HM4-MCQGK-7XPJQ_Volume:MAK_EnterpriseS_2016 +DVWKN-3GCMV-Q2XF4-DDPGM-VQWWY_Volume:MAK_EnterpriseS_2015 +RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_Volume:MAK_EnterpriseSN_2021 +M33WV-NHY3C-R7FPM-BQGPT-239PG_Volume:MAK_EnterpriseSN_2019 +2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_Volume:MAK_EnterpriseSN_2016 +NTX6B-BRYC2-K6786-F6MVQ-M7V2X_Volume:MAK_EnterpriseSN_2015 +G3KNM-CHG6T-R36X3-9QDG6-8M8K9_____Retail_ProfessionalSingleLanguage +HNGCC-Y38KG-QVK8D-WMWRK-X86VK_____Retail_ProfessionalCountrySpecific +DXG7C-N36C4-C4HTG-X4T3X-2YV77_____Retail_ProfessionalWorkstation +WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_____Retail_ProfessionalWorkstationN +8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_____Retail_ProfessionalEducation +GJTYN-HDMQY-FRR76-HVGC7-QPF8P_____Retail_ProfessionalEducationN +C4NTJ-CX6Q2-VXDMR-XVKGM-F9DJC_Volume:MAK_EnterpriseG +46PN6-R9BK9-CVHKB-HWQ9V-MBJY8_Volume:MAK_EnterpriseGN +NJCF7-PW8QT-3324D-688JX-2YV66_____Retail_ServerRdsh +V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_____Retail_Cloud +NH9J3-68WK7-6FB93-4K3DF-DJ4F6_____Retail_CloudN +2HN6V-HGTM8-6C97C-RK67V-JQPFD_____Retail_CloudE +XQQYW-NFFMW-XJPBH-K8732-CKFFD_____OEM:DM_IoTEnterprise +QPM6N-7J2WJ-P88HH-P3YRH-YY74H_OEM:NONSLP_IoTEnterpriseS +K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_____Retail_CloudEditionN +KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_____Retail_CloudEdition +) do ( +for /f "tokens=1-4 delims=_" %%A in ("%%#") do if /i %targetedition%==%%C ( + +if not defined key ( +set 4th=%%D +if not defined 4th ( +set "key=%%A" & set "_chan=%%B" +) else ( +echo "%winos%" | find "%%D" 1>nul && (set "key=%%A" & set "_chan=%%B") +) +) +) +) +exit /b + +::======================================================================================================================================== + +:changeeditionserverdata + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" (set Cor=Cor) else (set Cor=) +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v BuildBranch 2^>nul') do set "branch=%%b" + +:: Only RS3 and older version keys (GVLK/Generic Retail) are stored here, later ones are extracted from the system itself + +for %%# in ( +WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY_RS1_ServerStandard%Cor% +CB7KF-BWN84-R7R2Y-793K2-8XDDG_RS1_ServerDatacenter%Cor% +JCKRF-N37P4-C2D82-9YXRT-4M63B_RS1_ServerSolution +QN4C6-GBJD2-FB422-GHWJK-GJG2R_RS1_ServerCloudStorage +VP34G-4NPPG-79JTQ-864T4-R3MQX_RS1_ServerAzureCor +9JQNQ-V8HQ6-PKB8H-GGHRY-R62H6_RS1_ServerAzureNano +VN8D3-PR82H-DB6BJ-J9P4M-92F6J_RS1_ServerStorageStandard +48TQX-NVK3R-D8QR3-GTHHM-8FHXC_RS1_ServerStorageWorkgroup +2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG_RS3_ServerDatacenterACor +PTXN8-JFHJM-4WC78-MPCBR-9W4KR_RS3_ServerStandardACor +) do ( +for /f "tokens=1-3 delims=_" %%A in ("%%#") do if /i %targetedition%==%%C ( +echo "%branch%" | find /i "%%B" 1>nul && (set "key=%%A") +) +) +exit /b + +::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/Check-Activation-Status-vbs.cmd b/MAS/Separate-Files-Version/Check-Activation-Status-vbs.cmd similarity index 85% rename from MAS/Separate-Files-Version/Activators/Check-Activation-Status-vbs.cmd rename to MAS/Separate-Files-Version/Check-Activation-Status-vbs.cmd index b2afd24..fc6ef8b 100644 --- a/MAS/Separate-Files-Version/Activators/Check-Activation-Status-vbs.cmd +++ b/MAS/Separate-Files-Version/Check-Activation-Status-vbs.cmd @@ -10,22 +10,47 @@ +set _args= +set _args=%* +for %%A in (%_args%) do ( +if /i "%%A"=="-wow" set _rel1=1 +if /i "%%A"=="-arm" set _rel2=1 +) set "_cmdf=%~f0" -if exist "%SystemRoot%\Sysnative\cmd.exe" ( +if exist "%SystemRoot%\Sysnative\cmd.exe" if not defined _rel1 ( setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" " +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" -wow" exit /b ) -if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 ( +if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 if not defined _rel2 ( setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" " +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" -arm" exit /b ) color 07 title Check Activation Status [vbs] set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" +set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "SysPath=%SystemRoot%\Sysnative" +set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + set "_bit=64" set "_wow=1" if /i "%PROCESSOR_ARCHITECTURE%"=="x86" if "%PROCESSOR_ARCHITEW6432%"=="" set "_wow=0"&set "_bit=32" diff --git a/MAS/Separate-Files-Version/Activators/Check-Activation-Status-wmi.cmd b/MAS/Separate-Files-Version/Check-Activation-Status-wmi.cmd similarity index 81% rename from MAS/Separate-Files-Version/Activators/Check-Activation-Status-wmi.cmd rename to MAS/Separate-Files-Version/Check-Activation-Status-wmi.cmd index 9238d2f..6e9e948 100644 --- a/MAS/Separate-Files-Version/Activators/Check-Activation-Status-wmi.cmd +++ b/MAS/Separate-Files-Version/Check-Activation-Status-wmi.cmd @@ -10,20 +10,24 @@ -:: change to 1 to use VBScript instead wmic.exe to access WMI -:: this option is automatically enabled for Windows 11 build 22483 and later -set WMI_VBS=0 +set WMI_VBS=0 @cls +set _args= +set _args=%* +for %%A in (%_args%) do ( +if /i "%%A"=="-wow" set _rel1=1 +if /i "%%A"=="-arm" set _rel2=1 +) set "_cmdf=%~f0" -if exist "%SystemRoot%\Sysnative\cmd.exe" ( +if exist "%SystemRoot%\Sysnative\cmd.exe" if not defined _rel1 ( setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" " +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" -wow" exit /b ) -if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 ( +if exist "%SystemRoot%\SysArm32\cmd.exe" if /i %PROCESSOR_ARCHITECTURE%==AMD64 if not defined _rel2 ( setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" " +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" -arm" exit /b ) color 07 @@ -52,12 +56,53 @@ dir /b /s /a:-d "!ProgramData!\Microsoft\Office\Licenses\*1*" 1>nul 2>nul && set pushd "!_work!" setlocal DisableDelayedExpansion if %winbuild% LSS 9200 if not exist "%SystemRoot%\servicing\Packages\Microsoft-Windows-PowerShell-WTR-Package~*.mum" set _Identity=0 -set _pwrsh=1 -if not exist "%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" set _pwrsh=0 + +set "SysPath=%SystemRoot%\System32" +set "Path=%SystemRoot%\System32;%SystemRoot%\System32\Wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "SysPath=%SystemRoot%\Sysnative" +set "Path=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\Wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%Path%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +set _cwmi=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "ComputerSystem" 1>nul && set _cwmi=1 +) + +if %_cwmi% EQU 0 ( +echo: +echo Error: wmic.exe is not responding in the system. +echo: +echo Press any key to exit... +pause >nul +exit /b +) + +set "line2=************************************************************" +set "line3=____________________________________________________________" +set "_psc=powershell" + +set _prsh=1 +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" set _prsh=0 set "_csg=cscript.exe //NoLogo //Job:WmiMulti "%~nx0?.wsf"" set "_csq=cscript.exe //NoLogo //Job:WmiQuery "%~nx0?.wsf"" set "_csx=cscript.exe //NoLogo //Job:XPDT "%~nx0?.wsf"" -if %winbuild% GEQ 22483 set WMI_VBS=1 +if %_cwmi% EQU 0 set WMI_VBS=1 if %WMI_VBS% EQU 0 ( set "_zz1=wmic path" set "_zz2=where" @@ -77,20 +122,7 @@ set "_zz6="" set "_zz7=%_csq%" set "_zz8=" ) - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" -set "line2=************************************************************" -set "line3=____________________________________________________________" - -set _WSH=1 -reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0) -reg query HKU\S-1-5-19 1>nul 2>nul && ( -reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _WSH=0) -) -if %_WSH% EQU 0 if %WMI_VBS% NEQ 0 goto :E_VBS - +set _WSH=0 set OsppHook=1 sc query osppsvc >nul 2>&1 if %errorlevel% EQU 1060 set OsppHook=0 @@ -195,8 +227,8 @@ set "LicenseMsg=Time remaining: %GracePeriodRemaining% minute(s) (%_gpr% day(s)) if %_gpr% GEQ 1 if %_WSH% EQU 1 ( for /f "tokens=* delims=" %%# in ('%_csx% %GracePeriodRemaining%') do set "_xpr=%%#" ) -if %_gpr% GEQ 1 if %_pwrsh% EQU 1 if not defined _xpr ( -for /f "tokens=* delims=" %%# in ('powershell "$([DateTime]::Now.addMinutes(%GracePeriodRemaining%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "_xpr=%%#" +if %_gpr% GEQ 1 if %_prsh% EQU 1 if not defined _xpr ( +for /f "tokens=* delims=" %%# in ('%_psc% "$([DateTime]::Now.addMinutes(%GracePeriodRemaining%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "_xpr=%%#" title Check Activation Status [wmi] ) @@ -311,12 +343,12 @@ if defined ExpireMsg echo.&echo. %ExpireMsg% exit /b :casWend -if %_Identity% EQU 1 if %_pwrsh% EQU 1 ( +if %_Identity% EQU 1 if %_prsh% EQU 1 ( echo %line2% echo *** Office vNext Status *** echo %line2% setlocal EnableDelayedExpansion -powershell "$f=[IO.File]::ReadAllText('!_batp!') -split ':vNextDiag\:.*';iex ($f[1])" +%_psc% "$f=[IO.File]::ReadAllText('!_batp!') -split ':vNextDiag\:.*';iex ($f[1])" title Check Activation Status [wmi] echo %line3% echo. @@ -326,15 +358,6 @@ echo Press any key to exit. pause >nul exit /b -:E_VBS -echo ==== ERROR ==== -echo Windows Script Host is disabled. -echo It is required for this script to work. -echo. -echo Press any key to exit. -pause >nul -exit /b - :vNextDiag: function PrintModePerPridFromRegistry { @@ -507,47 +530,4 @@ PrintLicensesInformation -Mode "NUL" Write-Host PrintLicensesInformation -Mode "Device" :vNextDiag: - ------ Begin wsf script ---> - - - - - - - - - - - \ No newline at end of file +::=================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd similarity index 50% rename from MAS/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd rename to MAS/Separate-Files-Version/Extract_OEM_Folder.cmd index dc57c6d..d255eeb 100644 --- a/MAS/Separate-Files-Version/Extras/Extract_OEM_Folder/Extract_OEM_Folder.cmd +++ b/MAS/Separate-Files-Version/Extract_OEM_Folder.cmd @@ -7,7 +7,7 @@ :: :: This script is a part of 'Microsoft Activation Scripts' (MAS) project. :: -:: Homepage: windowsaddict.ml +:: Homepage: massgrave.dev :: Email: windowsaddict@protonmail.com :: ::============================================================================ @@ -20,27 +20,47 @@ :: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows :: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows -if exist %SystemRoot%\Sysnative\cmd.exe ( set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" exit /b ) :: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" exit /b ) :: Set Path variable, it helps if it is misconfigured in the system -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd ::======================================================================================================================================== @@ -50,7 +70,7 @@ title Extract $OEM$ Folder set winbuild=1 set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" +set psc=powershell.exe for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G set _NCS=1 @@ -81,15 +101,14 @@ set "eline=echo: &call :ex_color %Red% "==== ERROR ====" &echo:" if %winbuild% LSS 7600 ( %nceline% -echo Unsupported OS version Detected. +echo Unsupported OS version detected. echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. goto done2 ) -if not exist "%_psc%" ( +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( %nceline% -echo Powershell is not installed in the system. -echo Aborting... +echo Unable to find powershell.exe in the system. goto done2 ) @@ -99,7 +118,7 @@ goto done2 set desktop= for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" -if not defined desktop for /f "delims=" %%a in ('%_psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" +if not defined desktop for /f "delims=" %%a in ('%psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" if not defined desktop ( %eline% @@ -126,7 +145,16 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== +if not exist "!desktop!\" ( +%eline% +echo Desktop location was not detected, aborting... +goto done2 +) + +::======================================================================================================================================== + echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( %eline% echo Script is launched from the temp folder, echo Most likely you are running the script directly from the archive file. @@ -134,10 +162,11 @@ echo: echo Extract the archive file and launch the script from the extracted folder. goto done2 ) +) ::======================================================================================================================================== -mode 66, 25 +mode 66, 26 if exist "!desktop!\$OEM$\" ( echo _____________________________________________________ @@ -147,21 +176,16 @@ echo _____________________________________________________ goto done2 ) -set HWID_Activation.cmd=Activators\HWID-KMS38_Activation\HWID_Activation.cmd -set KMS38_Activation.cmd=Activators\HWID-KMS38_Activation\KMS38_Activation.cmd -set ClipUp.exe=Activators\HWID-KMS38_Activation\BIN\ClipUp.exe -set gatherosstate.exe=Activators\HWID-KMS38_Activation\BIN\gatherosstate.exe -set slc.dll=Activators\HWID-KMS38_Activation\BIN\slc.dll -set arm64_gatherosstate.exe=Activators\HWID-KMS38_Activation\BIN\arm64_gatherosstate.exe -set arm64_slc.dll=Activators\HWID-KMS38_Activation\BIN\arm64_slc.dll +set HWID_Activation.cmd=HWID-KMS38_Activation\HWID_Activation.cmd +set KMS38_Activation.cmd=HWID-KMS38_Activation\KMS38_Activation.cmd +set ClipUp.exe=HWID-KMS38_Activation\BIN\ClipUp.exe +set gatherosstate.exe=HWID-KMS38_Activation\BIN\gatherosstate.exe -set Activate.cmd=Activators\Online_KMS_Activation\Activate.cmd -set cleanosppx64.exe=Activators\Online_KMS_Activation\BIN\cleanosppx64.exe -set cleanosppx86.exe=Activators\Online_KMS_Activation\BIN\cleanosppx86.exe +set Activate.cmd=Online_KMS_Activation\Activate.cmd +set cleanosppx64.exe=Online_KMS_Activation\BIN\cleanosppx64.exe +set cleanosppx86.exe=Online_KMS_Activation\BIN\cleanosppx86.exe pushd "!_work!" -pushd .. -pushd .. set _nofile= for %%# in ( @@ -169,9 +193,6 @@ for %%# in ( %KMS38_Activation.cmd% %ClipUp.exe% %gatherosstate.exe% -%slc.dll% -%arm64_gatherosstate.exe% -%arm64_slc.dll% %Activate.cmd% %cleanosppx64.exe% %cleanosppx86.exe% @@ -179,8 +200,6 @@ for %%# in ( if not exist "%%#" set _nofile=1 ) -popd -popd popd if defined _nofile ( @@ -198,32 +217,28 @@ goto done2 cls echo: echo: +echo: +echo: echo: Extract $OEM$ folder on the desktop -echo: For more details use Read me -echo: Here ^> means Fallback to echo: ________________________________________________________ echo: echo: [1] HWID echo: [2] KMS38 echo: [3] Online KMS +echo: +echo: [4] HWID ^(Windows^) ^+ Online KMS ^(Office^) +echo: [5] KMS38 ^(Windows^) ^+ Online KMS ^(Office^) echo: -echo: [4] HWID ^> KMS38 -echo: [5] HWID ^> Online KMS -echo: [6] KMS38 ^> Online KMS -echo: [7] HWID ^> KMS38 ^> Online KMS -echo: -echo: [8] Exit +echo: [6] Exit echo: ________________________________________________________ echo: -call :ex_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6,7,8]" -choice /C:12345678 /N +call :ex_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4,5,6]" +choice /C:123456 /N set _erl=%errorlevel% -if %_erl%==8 exit /b -if %_erl%==7 goto:hwid_kms38_kms -if %_erl%==6 goto:kms38_kms -if %_erl%==5 goto:hwid_kms -if %_erl%==4 goto:hwid_kms38 +if %_erl%==6 exit /b +if %_erl%==5 goto:kms38_kms +if %_erl%==4 goto:hwid_kms if %_erl%==3 goto:kms if %_erl%==2 goto:kms38 if %_erl%==1 goto:hwid @@ -247,7 +262,7 @@ goto done :hwid_setup: @echo off -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b +fltmc >nul || exit /b start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /a @@ -273,7 +288,7 @@ goto done :kms38_setup: @echo off -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b +fltmc >nul || exit /b start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /a @@ -299,21 +314,10 @@ goto done :kms_setup: @echo off -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b +fltmc >nul || exit /b +start /b /wait cmd /c "%~dp0Activate.cmd" /rat start /b /wait cmd /c "%~dp0Activate.cmd" /wo -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -321,52 +325,6 @@ cd \ ::======================================================================================================================================== -:hwid_kms38 - -cls -call :prep -copy /y /b "%HWID_Activation.cmd%" "!_dir!\HWID_Activation.cmd" %nul% -call :kms38prep -call :pop_d -call :export hwid_kms38_setup -call :kms38prep2 -If not exist "!_dir!\HWID_Activation.cmd" set _error=1 - -if defined _error goto errorfound -set "_oem=HWID [Fallback to] KMS38" -goto done - -:hwid_kms38_setup: -@echo off - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -set KMS38= -set osSKU=0 -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -:: Check Windows Server version -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set KMS38=1 - -:: 171=EnterpriseG, 172=EnterpriseGN, 183=CloudE -for %%# in (171 172 183) do (if %osSKU%==%%# set KMS38=1) - -:: Check Enterprise LTSC 2019/2021 N -if %osSKU%==126 (echo %winos% | findstr /i "2019 2021" 1>nul && set KMS38=1) - -if defined KMS38 ( -start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /a -) else ( -start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /a -) - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:hwid_kms38_setup: - -::======================================================================================================================================== - :hwid_kms cls @@ -380,51 +338,18 @@ call :kmsprep2 if defined _error goto errorfound if defined _kerror goto errorfound -set "_oem=HWID [Fallback to] Online KMS" +set "_oem=HWID [Windows] + Online KMS [Office]" goto done :hwid_kms_setup: @echo off -============================================================================ +fltmc >nul || exit /b -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -set KMS= -set osSKU=0 -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -:: Check Windows 10 install -if %winbuild% LSS 10240 set KMS=1 - -:: Check Windows Server version -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set KMS=1 - -:: 171=EnterpriseG, 172=EnterpriseGN, 183=CloudE -for %%# in (171 172 183) do (if %osSKU%==%%# set KMS=1) - -:: Check Enterprise LTSC 2019/2021 N -if %osSKU%==126 (echo %winos% | findstr /i "2019 2021" 1>nul && set KMS=1) - -if defined KMS ( -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -) else ( start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /a -start /b /wait cmd /c "%~dp0Activate.cmd" /o -) -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm +start /b /wait cmd /c "%~dp0Activate.cmd" /rat +start /b /wait cmd /c "%~dp0Activate.cmd" /o cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -445,29 +370,18 @@ call :kmsprep2 if defined _error goto errorfound if defined _kerror goto errorfound -set "_oem=KMS38 [Fallback to] Online KMS" +set "_oem=KMS38 [Windows] + Online KMS [Office]" goto done :kms38_kms_setup: @echo off -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b +fltmc >nul || exit /b start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /a -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm +start /b /wait cmd /c "%~dp0Activate.cmd" /rat +start /b /wait cmd /c "%~dp0Activate.cmd" /o cd \ (goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") @@ -475,78 +389,6 @@ cd \ ::======================================================================================================================================== -:hwid_kms38_kms - -cls -call :prep -copy /y /b "%HWID_Activation.cmd%" "!_dir!\HWID_Activation.cmd" %nul% -call :kms38prep -call :kmsprep -call :pop_d -call :export hwid_kms38_kms_setup - -call :kms38prep2 -call :kmsprep2 -If not exist "!_dir!\HWID_Activation.cmd" set _error=1 - -if defined _error goto errorfound -if defined _kerror goto errorfound -set "_oem=HWID [Fallback to] KMS38 [Fallback to] Online KMS" -goto done - -:hwid_kms38_kms_setup: -@echo off - -============================================================================ - -:: Change value from 1 to 0 to disable KMS Renewal And Activation Task -set Renewal_And_Activation_Task=1 - -:: Change value from 1 to 0 to disable KMS activation desktop context menu -set Desktop_context_menu=1 - -============================================================================ - -reg query HKU\S-1-5-19 1>nul 2>nul || exit /b - -set KMS= -set KMS38= -set osSKU=0 -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" - -:: Check Windows 10 install -if %winbuild% LSS 10240 set KMS=1 - -:: Check Windows Server version -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" set KMS38=1 - -:: 171=EnterpriseG, 172=EnterpriseGN, 183=CloudE -for %%# in (171 172 183) do (if %osSKU%==%%# set KMS38=1) - -:: Check Enterprise LTSC 2019/2021 N -if %osSKU%==126 (echo %winos% | findstr /i "2019 2021" 1>nul && set KMS38=1) - -if defined KMS38 set KMS=1 - -if defined KMS ( -if defined KMS38 (start /b /wait cmd /c "%~dp0KMS38_Activation.cmd" /a) -start /b /wait cmd /c "%~dp0Activate.cmd" /wo -) else ( -start /b /wait cmd /c "%~dp0HWID_Activation.cmd" /a -start /b /wait cmd /c "%~dp0Activate.cmd" /o -) - -if %Renewal_And_Activation_Task% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /rat -if %Desktop_context_menu% EQU 1 start /b /wait cmd /c "%~dp0Activate.cmd" /dcm - -cd \ -(goto) 2>nul & (if "%~dp0"=="%SystemRoot%\Setup\Scripts\" rd /s /q "%~dp0") -:hwid_kms38_kms_setup: - -::======================================================================================================================================== - :errorfound %eline% @@ -575,17 +417,12 @@ exit /b pushd "!desktop!" md "!desktop!\$OEM$\$$\Setup\Scripts\BIN" pushd "!_work!" -pushd .. -pushd .. exit /b :hwidprep copy /y /b "%HWID_Activation.cmd%" "!_dir!\HWID_Activation.cmd" %nul% copy /y /b "%gatherosstate.exe%" "!_dir!\BIN\gatherosstate.exe" %nul% -copy /y /b "%slc.dll%" "!_dir!\BIN\slc.dll" %nul% -copy /y /b "%arm64_gatherosstate.exe%" "!_dir!\BIN\arm64_gatherosstate.exe" %nul% -copy /y /b "%arm64_slc.dll%" "!_dir!\BIN\arm64_slc.dll" %nul% exit /b :kms38prep @@ -593,9 +430,6 @@ exit /b copy /y /b "%KMS38_Activation.cmd%" "!_dir!\KMS38_Activation.cmd" %nul% copy /y /b "%ClipUp.exe%" "!_dir!\BIN\ClipUp.exe" %nul% copy /y /b "%gatherosstate.exe%" "!_dir!\BIN\gatherosstate.exe" %nul% -copy /y /b "%slc.dll%" "!_dir!\BIN\slc.dll" %nul% -copy /y /b "%arm64_gatherosstate.exe%" "!_dir!\BIN\arm64_gatherosstate.exe" %nul% -copy /y /b "%arm64_slc.dll%" "!_dir!\BIN\arm64_slc.dll" %nul% exit /b :kmsprep @@ -613,9 +447,6 @@ pushd "!_dir!\" for %%# in ( HWID_Activation.cmd BIN\gatherosstate.exe -BIN\slc.dll -BIN\arm64_gatherosstate.exe -BIN\arm64_slc.dll SetupComplete.cmd ) do ( if not exist "%%#" set _error=1 @@ -632,9 +463,6 @@ for %%# in ( KMS38_Activation.cmd BIN\ClipUp.exe BIN\gatherosstate.exe -BIN\slc.dll -BIN\arm64_gatherosstate.exe -BIN\arm64_slc.dll SetupComplete.cmd ) do ( if not exist "%%#" set _error=1 @@ -660,8 +488,6 @@ exit /b :pop_d -popd -popd popd popd exit /b @@ -672,7 +498,7 @@ exit /b :export -%nul% %_psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\SetupComplete.cmd',$f[1].Trim(),[System.Text.Encoding]::ASCII);" +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split \":%~1\:.*`r`n\"; [io.file]::WriteAllText('!_pdesk!\$OEM$\$$\Setup\Scripts\SetupComplete.cmd',$f[1].Trim(),[System.Text.Encoding]::ASCII);" exit /b ::======================================================================================================================================== @@ -682,7 +508,7 @@ exit /b if %_NCS% EQU 1 ( echo %esc%[%~1%~2%esc%[0m ) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') +if not exist %psc% (echo %~3) else (%psc% write-host -back '%1' -fore '%2' '%3') ) exit /b @@ -691,7 +517,7 @@ exit /b if %_NCS% EQU 1 ( echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m ) else ( -if not exist %_psc% (echo %~3%~6) else (%_psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') +if not exist %psc% (echo %~3%~6) else (%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6') ) exit /b diff --git a/MAS/Separate-Files-Version/Extras/Activation_Troubleshoot.cmd b/MAS/Separate-Files-Version/Extras/Activation_Troubleshoot.cmd deleted file mode 100644 index 1353809..0000000 --- a/MAS/Separate-Files-Version/Extras/Activation_Troubleshoot.cmd +++ /dev/null @@ -1,830 +0,0 @@ -@setlocal DisableDelayedExpansion -@echo off - - - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 -title Activation Troubleshoot - -set _elev= -if /i "%~1"=="-el" set _elev=1 - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -call :_colorprep - -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set ospp=OfficeSoftwareProtectionProduct -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -set cbs_log=%SystemRoot%\logs\cbs\cbs.log -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :_color %Red% "==== ERROR ====" &echo:" -set "line=_________________________________________________________________________________________________" - -::======================================================================================================================================== - -if %winbuild% LSS 7600 ( -%nceline% -echo Unsupported OS version detected. -echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. -goto at_done -) - -if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -echo Aborting... -goto at_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%nceline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto at_done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%nceline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto at_done -) - -::======================================================================================================================================== - -setlocal DisableDelayedExpansion - -:: Check desktop location - -set desktop= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do call set "desktop=%%b" -if not defined desktop for /f "delims=" %%a in ('%_psc% "& {write-host $([Environment]::GetFolderPath('Desktop'))}"') do call set "desktop=%%a" - -if not defined desktop ( -%eline% -echo Desktop location was not detected, aborting... -goto at_done -) - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -:at_menu - -cls -color 07 -title Activation Troubleshoot -mode con cols=77 lines=30 - -echo: -echo: -echo: -echo: _______________________________________________________________ -echo: -echo: [1] Troubleshoot ReadMe - HWID -echo: [2] Troubleshoot ReadMe - KMS38 -echo: [3] Troubleshoot ReadMe - Online KMS -echo: ___________________________________________________ -echo: -echo: [4] Dism RestoreHealth -echo: [5] SFC Scannow -echo: -echo: [6] Windows Rearm - Specific SKU ID -echo: [7] Office Rearm - Specific KMS SKU ID -echo: -echo: [8] Clean ClipSVC Licences -echo: [9] Rebuild Licensing Tokens -echo: -echo: [F] Office License Is Not Genuine - Notification -echo: -echo: [0] Exit -echo: _______________________________________________________________ -echo: -call :_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard :" -choice /C:123456789F0 /N -set _erl=%errorlevel% - -if %_erl%==11 exit /b -if %_erl%==10 start https://windowsaddict.ml/office-license-is-not-genuine &goto at_menu -if %_erl%==9 goto:retokens -if %_erl%==8 goto:cleanclipsvc -if %_erl%==7 goto:officerearm -if %_erl%==6 goto:rearmwin -if %_erl%==5 goto:sfcscan -if %_erl%==4 goto:dism_rest -if %_erl%==3 start https://windowsaddict.ml/readme-troubleshoot-onlinekms.html &goto at_menu -if %_erl%==2 start https://windowsaddict.ml/readme-troubleshoot-kms38.html &goto at_menu -if %_erl%==1 start https://windowsaddict.ml/readme-troubleshoot-hwid.html &goto at_menu -goto :at_menu - -::======================================================================================================================================== - -:dism_rest - -cls -mode 98, 30 -title Dism /Online /Cleanup-Image /RestoreHealth - -if %winbuild% LSS 9200 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. -goto :at_back -) - -set _int= -for %%a in (dns.msftncsi.com,www.microsoft.com,one.one.one.one,resolver1.opendns.com) do ( -if not defined _int (for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do if not [%%#]==[] set _int=1)) - -echo: -if defined _int ( -echo Checking Internet Connection [Connected] -) else ( -call :_color2 %_White% " " %Red% "Checking Internet Connection [Not connected]" -) - -echo %line% -echo: -echo Dism uses Windows Update to provide the files required to fix corruption. -echo This will take 5-15 minutes or more.. -echo %line% -echo: -echo Notes: -echo: -call :_color2 %_White% " - " %Gray% "Make sure the Internet is connected." -call :_color2 %_White% " - " %Gray% "Make sure the Windows update is properly working." -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 110, 30 -echo: - -call :_stopservice TrustedInstaller -del /s /f /q "%SystemRoot%\logs\cbs\*.*" - -set _time= -for /f %%a in ('%_psc% "Get-Date -format HH_mm_ss"') do set _time=%%a -echo: -echo Applying the command, -echo dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 -echo: -dism /online /cleanup-image /restorehealth /Logpath:"%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" /loglevel:4 - -if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% -copy /y /b "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" "!desktop!\AT_Logs\RHealth_DISM_%_time%.txt" %nul% -copy /y /b "%cbs_log%" "!desktop!\AT_Logs\RHealth_CBS_%_time%.txt" %nul% -del /f /q "%SystemRoot%\Temp\RHealth_DISM_%_time%.txt" %nul% - -echo: -call :_color %Gray% "CBS and DISM logs are copied to the AT_Logs folder on the dekstop." -goto :at_back - -::======================================================================================================================================== - -:sfcscan - -cls -mode 98, 30 -title sfc /scannow - -echo: -echo %line% -echo: -echo System File Checker will repair missing or corrupted system files. -echo This will take 10-15 minutes or more.. -echo: -echo If SFC could not fix something, then run the command again to see if it may be able -echo to the next time. Sometimes it may take running the sfc /scannow command 3 times -echo restarting the PC after each time to completely fix everything that it's able to. -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -echo: - -call :_stopservice TrustedInstaller -del /s /f /q "%SystemRoot%\logs\cbs\*.*" - -set _time= -for /f %%a in ('%_psc% "Get-Date -format HH_mm_ss"') do set _time=%%a -echo: -echo Applying the command, -echo sfc /scannow -echo: -sfc /scannow - -if not exist "!desktop!\AT_Logs\" md "!desktop!\AT_Logs\" %nul% - -copy /y /b "%cbs_log%" "!desktop!\AT_Logs\SFC_CBS_%_time%.txt" %nul% -findstr /i /c:"[SR]" %cbs_log% | findstr /i /v /c:verify >"!desktop!\AT_Logs\SFC_Main_%_time%.txt" - -echo: -call :_color %Gray% "CBS and main extracted logs are copied to the AT_Logs folder on the dekstop." -goto :at_back - -::======================================================================================================================================== - -:rearmwin - -cls -mode 98, 30 -title Windows Rearm - Specific SKU ID - -if %winbuild% LSS 9600 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. -goto :at_back -) - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Rearm helps in troubleshooting activation issues. -echo: -echo - Windows KMS activation will reset. -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 105, 30 -echo: -echo: -set app= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do call set "app=%%a" -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%'' AND PartialProductKey IS NOT NULL').Get()).ID | %% {echo ('ID='+$_)}" 2^>nul') do call set "app=%%a" - -if defined app ( -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%x in ('"wmic path %slp% where ID='%app%' get Name /VALUE" 2^>nul') do echo Rearming: %%x -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%x in ('%_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE ID=''%app%''').Get()).Name | %% {echo ('Name='+$_)}" 2^>nul') do echo Rearming: %%x -echo: -echo Applying the command, -if %winbuild% LSS 22483 ( -echo wmic path %slp% where ID='%app%' call ReArmsku -wmic path %slp% where ID='%app%' call ReArmsku %nul% -) -if %winbuild% GEQ 22483 ( -echo Powershell "$null=([WMI]'%slp%=''%app%''').ReArmsku()" -%_psc% "$null=([WMI]'%slp%=''%app%''').ReArmsku()" %nul% -) -if !errorlevel!==0 ( -call :_color %Green% "[Successful]" -) else ( -call :_color %Red% "[Failed]" -) -) else ( -call :_color %Red% "Error- Activation ID not found" -) - -goto :at_back - -::======================================================================================================================================== - -:officerearm - -cls -mode 98, 30 -title Office Rearm - Specific KMS SKU ID - -if %winbuild% LSS 9600 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 8/8.1/10/11 and their Server equivalent. -goto :at_back -) - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Rearm helps in troubleshooting activation issues. -echo: -echo - Office KMS activation will reset. -echo: -call :_color2 %_White% " - " %Gray% "Office rearm can be applied only a certain number of times." -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 105, 30 -echo: - -net start sppsvc /y %nul% -call :getapplist %slp% - -if defined applist ( -for %%# in (%applist%) do ( -echo: -if %winbuild% LSS 22483 for /f "tokens=2 delims==" %%x in ('"wmic path %slp% where ID='%%#' get Name /VALUE" 2^>nul') do echo Rearming: %%x -if %winbuild% GEQ 22483 for /f "tokens=2 delims==" %%x in ('%_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE ID=''%%#''').Get()).Name | %% {echo ('Name='+$_)}" 2^>nul') do echo Rearming: %%x -echo: -echo Applying the command, -if %winbuild% LSS 22483 ( -echo wmic path %slp% where ID='%%#' call ReArmsku -wmic path %slp% where ID='%%#' call ReArmsku %nul% -) -if %winbuild% GEQ 22483 ( -echo Powershell "$null=([WMI]'%slp%=''%%#''').ReArmsku()" -%_psc% "$null=([WMI]'%slp%=''%%#''').ReArmsku()" %nul% -) -if !errorlevel!==0 ( -call :_color %Green% "[Successful]" -) else ( -call :_color %Red% "[Failed]" -) -) -) else ( -echo: -echo Checking: Volume version of Office 2013-2021 is not found. -) - -call :getapplist %ospp% - -if defined applist ( -if %winbuild% LSS 9200 (set _off=Office) else (set _off=Office 2010) -echo: -echo Skipping the Rearm of OSPP based '!_off!' -) - -goto :at_back - -:getapplist - -set applist= -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %1 where (Name like '%%office%%' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %1 WHERE Name like ''%%office%%'' and Description like ''%%KMSCLIENT%%'' and PartialProductKey is not NULL').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) -exit /b - -::======================================================================================================================================== - -:retokens - -cls -mode 98, 30 -title Rebuild Licensing Tokens ^& Re-install System License Files - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Rebuild Licensing Tokens ^& Re-install System License Files -echo It helps in troubleshooting activation issues. -echo: -call :_color2 %_White% " - " %Gray% "Windows and Office activation may reset, you may need to activate them again." -echo: -call :_color2 %_White% " - " %Magenta% "This option will uninstall Office licenses and keys." -call :_color2 %_White% " " %Magenta% "Installed Office will need to repair itself ones upon opening an office app," -call :_color2 %_White% " " %Magenta% "you may also need to repair Office from Apps and Features in Windows Settings." -echo: -call :_color2 %_White% " - " %Gray% "Script is designed to skip rebuilding tokens where products may not be able to" -call :_color2 %_White% " " %Gray% "restore their license." -echo: -call :_color2 %_White% " - " %Red% "Apply it only when it is necessary." -echo: -echo %line% -echo: -choice /C:24 /N /M "> [4] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -mode 98, 30 - -set nosup= -set 68=HKLM\SOFTWARE\Microsoft\Office -set 86=HKLM\SOFTWARE\Wow6432Node\Microsoft\Office - -%nul% reg query %68%\16.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2016 MSI x86-x64 -%nul% reg query %86%\16.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2016 MSI x86 -%nul% reg query %68%\15.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2013 MSI x86-x64 -%nul% reg query %86%\15.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2013 MSI x86 -%nul% reg query %68%\14.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2010 MSI x86-x64 -%nul% reg query %86%\14.0\Common\InstallRoot /v Path && set nosup=1 REM Office 2010 MSI x86 -%nul% reg query %68%\14.0\CVH /f Click2run /k && set nosup=1 REM Office 2010 C2R x86-x64 -%nul% reg query %86%\14.0\CVH /f Click2run /k && set nosup=1 REM Office 2010 C2R x86 - -if %winbuild% GEQ 10240 reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\msoxmled.exe" %nul% && ( -dir /b "%ProgramFiles%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set nosup=1 REM Office UWP x86-x64 -dir /b "%ProgramW6432%\WindowsApps\Microsoft.Office.Desktop*" %nul% && set nosup=1 REM Office UWP x86 -) - -sc qc osppsvc %nul% && ( -if %winbuild% LSS 9200 (set _off=Office) else (set _off=Office 2010) -echo: -echo Skipping rebuilding OSPP tokens for detected '!_off!' -) - -echo: -if defined nosup ( -echo Detected Office may not be able to repair itself, hence skipping SPP tokens rebuilding... -goto :at_back -) - -net start sppsvc /y %nul% - -call :at_permcheck Office -if defined _perm ( -echo Office is permanently activated, token rebuilding may deactivate it, hence skipping... -goto :at_back -) - -if %winbuild% LSS 10240 ( -call :at_permcheck Windows -if defined _perm ( -echo Windows is permanently activated, token rebuilding may deactivate it, hence skipping... -goto :at_back -) -) - -set token= -for %%# in ( -%Systemdrive%\Windows\System32\spp\store_test\2.0\tokens.dat -%Systemdrive%\Windows\System32\spp\store\tokens.dat -%Systemdrive%\Windows\System32\spp\store\2.0\tokens.dat -%Systemdrive%\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform\tokens.dat -) do if exist %%# set token=%%# - -echo %line% -echo: -call :_color %Gray% "Rebuilding SoftwareProtectionPlatform tokens.dat" -echo %line% -echo: - -if not exist "%token%" ( -%eline% -echo tokens.dat file not found. -echo Restart the system and try again. -goto :at_back -) else ( -echo Detected tokens.dat file [%token%] -) - -echo Stopping sppsvc service... -call :_stopservice sppsvc - -:: data.dat and cache files are not deleted since doing that may corrupt the office license in a way that only reinstallation can fix - -del /f /q %token% %nul% -if exist %token% ( -call :_stopservice sppsvc -del /f /q %token% %nul% -) - -echo: -if exist %token% ( -call :_color %Red% "Failed to delete the tokens.dat file." -) else ( -echo tokens.dat file was successfully deleted. -) - -echo: -echo Reinstalling System Licenses [slmgr /rilc]... -cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% && ( -echo [Successful] -) || ( -call :_color %Red% "[Failed]" -) - -echo: -if exist %token% ( -call :_color %Green% "tokens.dat file was rebuilt successfully." -) else ( -call :_color %Red% "Failed to rebuilt tokens.dat file." -) - -goto :at_back - -:at_permcheck - -set _perm= -if %winbuild% LSS 22483 wmic path %slp% where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "%1" 1>nul && set _perm=1||set _perm= -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Name FROM %slp% WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "%1" 1>nul && set _perm=1||set _perm= -exit /b - -::======================================================================================================================================== - -:cleanclipsvc - -cls -mode 98, 30 -title Clean ClipSVC Licences - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version Detected. -echo This command is supported only for Windows 10/11 and their Server equivalent.. -goto :at_back -) - -echo: -echo %line% -echo: -echo Notes: -echo: -echo - Cleaning ClipSVC Licences helps in troubleshooting HWID-KMS38 activation issues. -echo: -call :_color2 %_White% " - " %Gray% "All installed HWID-KMS38 licences will be cleaned from the system." -echo This will remove KMS38 license from the system but HWID license can't be removed. -echo: -echo - System restart is recommended after applying it. -echo: -echo %line% -echo: -choice /C:29 /N /M "> [9] Continue [2] Go back : " -if %errorlevel%==1 goto at_menu - -cls -echo: - -echo Stopping ClipSVC service... -call :_stopservice ClipSVC -timeout /t 2 %nul% - -:: Thanks to @mspaintmsi for informing this command info - -echo: -echo Applying the command to Clean ClipSVC Licences... -echo rundll32 clipc.dll,ClipCleanUpState - -rundll32 clipc.dll,ClipCleanUpState - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" %nul% - -if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( -call :_color %Red% "[Failed]" -) else ( -call :_color %Green% "[Successful]" -) - -:: Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after -:: system restart. It needs to be deleted to activate the system without restart. - -set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" - -call :regown "%RegKey%" %nul% -reg delete "%RegKey%" /f %nul% - -echo: -echo Deleting a Volatile ^& Protected Registry Key... -echo [%RegKey%] -reg query "%RegKey%" %nul% && ( -call :_color %Red% "[Failed]" -echo Restart the system, that will delete this registry key automatically. -) || ( -call :_color %Green% "[Successful]" -) - -echo: -echo Restarting [ClipSVC wlidsvc LicenseManager sppsvc] services... -for %%# in (ClipSVC wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) - -::======================================================================================================================================== - -:at_back - -echo: -echo %line% -echo: -call :_color %_Yellow% "Press any key to go back..." -pause >nul -goto :at_menu - -::======================================================================================================================================== - -:at_done - -echo: -echo Press any key to exit... -pause >nul -exit /b - -::======================================================================================================================================== - -:_stopservice - -for %%# in (%1) do ( -sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% -sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% -) -exit /b - -::========================================================================================================================================\ - -:: A lean and mean snippet to set registry ownership and permission recursively -:: Written by @AveYo aka @BAU -:: pastebin.com/XTPt0JSC - -:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of PowerShell is installed. - -:regown - -%_psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText('!_batp!')-split':Own1\:.*')[1])&exit/b:Own1: -$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn -'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} -$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} -$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] -$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' -$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) -$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} -};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') -$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} -$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; -foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo - -::======================================================================================================================================== - -:_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -call :batcol %~1 "%~2" -) -exit /b - -:_color2 - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m -) else ( -call :batcol %~1 "%~2" %~3 "%~4" -) -exit /b - -::======================================= - -:: Colored text with pure batch method -:: Thanks to @dbenham and @jeb -:: stackoverflow.com/a/10407642 - -:batcol - -pushd %_coltemp% -if not exist "'" ("'" set /p "=.") -setlocal -set "s=%~2" -set "t=%~4" -call :_batcol %1 s %3 t -del /f /q "'" -del /f /q "`.txt" -popd -exit /b - -:_batcol - -setlocal EnableDelayedExpansion -set "s=!%~2!" -set "t=!%~4!" -for /f delims^=^ eol^= %%i in ("!s!") do ( - if "!" equ "" setlocal DisableDelayedExpansion - >`.txt (echo %%i\..\') - findstr /a:%~1 /f:`.txt "." - `.txt (echo %%i\..\') - findstr /a:%~3 /f:`.txt "." - nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Gray="100;97m"" -set "Green="42;97m"" -set "Magenta="45;97m"" -set "_White="40;37m"" -set "_Green="40;92m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Gray="Darkgray" "white"" -set "Green="DarkGreen" "white"" -set "Magenta="Darkmagenta" "white"" -set "_White="Black" "Gray"" -set "_Green="Black" "Green"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f -set "line=echo ___________________________________________________________________________________________" - -::======================================================================================================================================== - -if %winbuild% LSS 10240 ( -%eline% -echo Unsupported OS version detected. -echo Project is supported for Windows 10/11. -goto ced_done -) - -if %winbuild% GEQ 22483 if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -goto ced_done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -set "_PSarg="""%~f0""" -el %_args%" - -set "_ttemp=%temp%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( -%eline% -echo Script is launched from the temp folder, -echo Most likely you are running the script directly from the archive file. -echo: -echo Extract the archive file and launch the script from the extracted folder. -goto ced_done -) - -::======================================================================================================================================== - -:: Elevate script as admin and pass arguments and preventing loop - -%nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b -%eline% -echo This script require administrator privileges. -echo To do so, right click on this script and select 'Run as administrator'. -goto ced_done -) - -::======================================================================================================================================== - -mode 98, 30 -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% -cls -) - -::======================================================================================================================================== - -:: Check Windows Server version - -if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*Edition~*.mum" ( -%eline% -echo Windows Server version is not supported. -goto ced_done -) - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh - -:: Check Windows Edition - -set osedition= -for /f "tokens=3 delims=: " %%a in ('DISM /English /Online /Get-CurrentEdition 2^>nul ^| find /i "Current Edition :"') do set "osedition=%%a" - -cls -if "%osedition%"=="" ( -%eline% -echo OS Edition was not detected properly. Aborting... -goto ced_done -) - -:: Check product name - -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" - -::======================================================================================================================================== - -set _target= -for /f "tokens=4" %%a in ('dism /online /english /Get-TargetEditions ^| findstr /i /c:"Target Edition : "') do (if defined _target (set "_target=!_target! %%a") else (set "_target=%%a")) - -if not defined _target ( -%line% -echo: -call :dk_color %Gray% "Target Edition not found." -echo Current Edition [%osedition% ^| %winbuild%] can not be changed to any other Edition. -%line% -goto ced_done -) - -::======================================================================================================================================== - -%line% -echo: -call :dk_color %Gray% "You can change the Current Edition [%osedition%] to one of the following." -%line% -echo: -for %%# in (%_target%) do echo %%# -%line% -echo: -call :dk_color %_Green% "Press [1] to Continue or [2] to Exit" -choice /C:21 /N - -if %errorlevel%==1 exit /b -cls - -::======================================================================================================================================== - -%line% -echo: -call :dk_color %Gray% "Current Edition - [%osedition%]" -echo: -for %%# in (%_target%) do ( -choice /C:NY /N /M "Do you want to change to the [%%#] edition? [Y,N] : " -if [!errorlevel!]==[2] ( -set targetedition=%%# -goto ced_change -) -) - -%line% -goto ced_done - -::======================================================================================================================================== - -:ced_change - -cls -set key= -set _changepk=1 - -call :changeeditiondata - -if not defined key ( -%eline% -echo [%targetedition% ^| %winbuild%] -echo Unable to find this product key in the supported product list. -if %winbuild% GTR 19044 echo Make sure you are using updated version of the script -goto ced_done -) - -::======================================================================================================================================== - -%line% - -:: Changing from Core to Non-Core & Changing editions in Windows build older than 17134 requires "changepk /productkey" method and restart -:: In other cases, editions can be changed instantly with "slmgr /ipk" - -if %_changepk%==1 ( -echo %_chan% | find /i "OEM" >NUL && ( -%eline% -echo [%osedition%] can not be changed to [%targetedition%] Edition due to lack of non OEM keys. -echo Non-OEM keys are required to change from Core to Non-Core Editions. -goto ced_done -) -for %%a in (dns.msftncsi.com,www.microsoft.com,one.one.one.one,resolver1.opendns.com) do ( -for /f "delims=[] tokens=2" %%# in ('ping -n 1 %%a') do ( -if not [%%#]==[] ( -%eline% -echo Disconnect the Internet and then try again. -goto ced_done -) -) -) - -echo: -echo The system will automatically reboot to complete the process. -echo: -call :dk_color %Gray% "If the upgrade Window shows an error then you can safely ignore it." -call :dk_color %Gray% "However you will need to manually reboot the system in that case." -echo: -call :dk_color %Magenta% "Important - Save your work before continue." -echo: -choice /C:21 /N /M "[1] Continue [2] Exit : " -if !errorlevel!==1 exit /b -) - -::======================================================================================================================================== - -echo: -echo Changing the Current Edition [%osedition%] to [%targetedition%] -echo: - -if %_changepk%==0 ( -echo Installing %_chan% Key [%key%] -echo: -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% -if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% - -if !errorlevel!==0 ( -call :dk_refresh -call :dk_color %Green% "[Successful]" -echo: -call :dk_color %Gray% "Reboot is required to properly change the Edition." -) else ( -%eline% -echo [Unsuccessful] -) -) - -if %_changepk%==1 ( -echo Applying the command with %_chan% Key -echo start changepk /productkey %key% -start changepk /productkey %key% -) -%line% - -::======================================================================================================================================== - -:ced_done - -echo: -call :dk_color %_Yellow% "Press any key to exit..." -pause >nul -exit /b - -::======================================================================================================================================== - -:: Refresh license status - -:dk_refresh - -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% -if %winbuild% GEQ 22483 %_psc% "$null=(([WMICLASS]'%sls%').GetInstances()).RefreshLicenseStatus()" %nul% -exit /b - -::======================================================================================================================================== - -:dk_color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') -) -exit /b - -::======================================================================================================================================== - -:: 1st column = Activation ID -:: 2nd column = Generic Retail/OEM/MAK/GVLK Key -:: 3rd column = SKU ID -:: 4th column = 1 = activation is not working (at the time of writing this), 0 = activation is working -:: 5th column = Key Type -:: 6th column = WMI Edition ID -:: 7th column = Version name incase same Edition ID is used in different OS versions with different key -:: Separator = _ - -:: Key preference is in the following order. Retail > Volume:MAK > Volume:GVLK > OEM:NONSLP > OEM:DM -:: OEM keys are in last because they can't be used in edition change if "changepk /productkey" method is needed instead of "slmgr /ipk" -:: OEM keys are listed here because we don't have other keys for that edition - -:changeeditiondata - -for %%# in ( -2ffd8952-423e-4903-b993-72a1aa44cf82_44NYX-TKR9D-CCM2D-V6B8F-HQWWR___4_0_Volume:MAK_Enterprise -23505d51-32d6-41f0-8ca7-e78ad0f16e71_D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ__11_1_____Retail_Starter -c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT__27_0_Volume:MAK_EnterpriseN -211b80cc-7f64-482c-89e9-4ba21ff827ad_3NFXW-2T27M-2BDW6-4GHRV-68XRX__47_1_____Retail_StarterN -4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T__48_0_____Retail_Professional -9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PKCKT__49_0_____Retail_ProfessionalN -f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WXCHW__98_0_____Retail_CoreN -1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8TYMD__99_0_____Retail_CoreCountrySpecific -3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_100_0_____Retail_CoreSingleLanguage -2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8HVX7_101_0_____Retail_Core -2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_119_0_OEM:NONSLP_PPIPro -e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_121_0_____Retail_Education -c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DRR8H_122_0_____Retail_EducationN -cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_125_1_Volume:MAK_EnterpriseS_2021 -97348f2f-bebc-4653-a4bd-18a895d316d9_VBX36-N7DDY-M9H62-83BMJ-CPR42_125_0_Volume:MAK_EnterpriseS_2019 -2782d615-3249-495b-8260-15a4c2295448_PN3KR-JXM7T-46HM4-MCQGK-7XPJQ_125_0_Volume:MAK_EnterpriseS_2016 -6366a32b-72e4-4212-bf11-c22b0e98a435_DVWKN-3GCMV-Q2XF4-DDPGM-VQWWY_125_0_Volume:MAK_EnterpriseS_2015 -2c060131-0e43-4e01-adc1-cf5ad1100da8_RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_126_1_Volume:MAK_EnterpriseSN_2021 -e8f74caa-03fb-4839-8bcc-2e442b317e53_M33WV-NHY3C-R7FPM-BQGPT-239PG_126_1_Volume:MAK_EnterpriseSN_2019 -3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_126_0_Volume:MAK_EnterpriseSN_2016 -60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7V2X_126_0_Volume:MAK_EnterpriseSN_2015 -a48938aa-62fa-4966-9d44-9f04da3f72f2_G3KNM-CHG6T-R36X3-9QDG6-8M8K9_138_1_____Retail_ProfessionalSingleLanguage -f7af7d09-40e4-419c-a49b-eae366689ebd_HNGCC-Y38KG-QVK8D-WMWRK-X86VK_139_1_____Retail_ProfessionalCountrySpecific -eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2YV77_161_0_____Retail_ProfessionalWorkstation -89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_162_0_____Retail_ProfessionalWorkstationN -62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_164_0_____Retail_ProfessionalEducation -13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QPF8P_165_0_____Retail_ProfessionalEducationN -5f87a508-7e1c-4fab-9d45-2356c6002081_C4NTJ-CX6Q2-VXDMR-XVKGM-F9DJC_171_1_Volume:MAK_EnterpriseG -1681ae34-3080-4bfa-a1b5-6d792342e692_46PN6-R9BK9-CVHKB-HWQ9V-MBJY8_172_1_Volume:MAK_EnterpriseGN -df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2YV66_175_0_____Retail_ServerRdsh -d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_178_0_____Retail_Cloud -af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ4F6_179_0_____Retail_CloudN -c7051f63-3a76-4992-bce5-731ec0b1e825_2HN6V-HGTM8-6C97C-RK67V-JQPFD_183_1_____Retail_CloudE -8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CKFFD_188_0_____OEM:DM_IoTEnterprise -ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NONSLP_IoTEnterpriseS -d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN -92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition -) do ( -for /f "tokens=1-7 delims=_" %%A in ("%%#") do if /i %targetedition%==%%F ( - -if not defined key ( -set 7th=%%G -if not defined 7th ( -set "key=%%B" & set "_chan=%%E" -echo "!applist!" | find /i "%%A" 1>nul && set _changepk=0 -) else ( -echo "%winos%" | find "%%G" 1>nul && (set "key=%%B" & set "_chan=%%E" & echo "!applist!" | find /i "%%A" 1>nul && set _changepk=0) -) -) -) -) -exit /b - -::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.html b/MAS/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.html deleted file mode 100644 index a42522e..0000000 --- a/MAS/Separate-Files-Version/Extras/Extract_OEM_Folder/ReadMe.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Extras/_Homepage.html b/MAS/Separate-Files-Version/Extras/_Homepage.html deleted file mode 100644 index 1286096..0000000 --- a/MAS/Separate-Files-Version/Extras/_Homepage.html +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ClipUp.exe b/MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/ClipUp.exe similarity index 100% rename from MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/ClipUp.exe rename to MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/ClipUp.exe diff --git a/MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/Info.txt b/MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/Info.txt new file mode 100644 index 0000000..870efd6 --- /dev/null +++ b/MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/Info.txt @@ -0,0 +1,22 @@ +================================================================================= + File Details: +================================================================================= + + - ClipUp.exe (x64) + SHA-1: 48D928B1BEC25A56FE896C430C2C034B7866AA7A + + Taken from Windows server 2016 x64 ISO + https://www.microsoft.com/en-us/evalcenter/ + + - gatherosstate.exe (x86) + SHA-1: FABB5A0FC1E6A372219711152291339AF36ED0B5 + + Taken from Windows 10 Version 1607 ADK (Section: User State Migration Tool) + https://go.microsoft.com/fwlink/p/?LinkId=526740 + +_________________________________________________________________________________ + + - All files are original Microsoft's files. + - ClipUp.exe is required for KMS38 activation of Server Cor/Acor editions. + +================================================================================= \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/gatherosstate.exe b/MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/gatherosstate.exe similarity index 100% rename from MAS/Separate-Files-Version/Activators/HWID-KMS38_Activation/BIN/gatherosstate.exe rename to MAS/Separate-Files-Version/HWID-KMS38_Activation/BIN/gatherosstate.exe diff --git a/MAS/Separate-Files-Version/HWID-KMS38_Activation/HWID_Activation.cmd b/MAS/Separate-Files-Version/HWID-KMS38_Activation/HWID_Activation.cmd new file mode 100644 index 0000000..ee05bb0 --- /dev/null +++ b/MAS/Separate-Files-Version/HWID-KMS38_Activation/HWID_Activation.cmd @@ -0,0 +1,1331 @@ +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + +:: To activate with Downlevel method (default), run the script with /a parameter or change 0 to 1 in below line +set _acti=0 + +:: To only generate GenuineTicket.xml with Downlevel method (default), run the script with /g parameter or change 0 to 1 in below line +set _gent=0 + +:: To enable LockBox method, run the script with /k parameter or change 0 to 1 in below line +:: You need to use this option with either activation or ticket generation. +:: Example, +:: HWID_Activation.cmd /a /k +:: HWID_Activation.cmd /g /k +set _lock=0 + +:: Note about Lockbox method: It's working method is not very clean. We don't suggest to run it on a production system. + +:: If value is changed in ABOVE lines or any ABOVE parameter is used then script will run in unattended mode +:: Incase if more than one options are used then only one option will be applied + + +:: To disable changing edition if current edition doesn't support HWID activation, change the value to 0 from 1 or run the script with /c parameter +set _chan=1 + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title HWID Activation + +set _args= +set _elev= +set _unattended=0 + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +for %%A in (%_args%) do ( +if /i "%%A"=="/a" set _acti=1 +if /i "%%A"=="/g" set _gent=1 +if /i "%%A"=="/k" set _lock=1 +if /i "%%A"=="/c" set _chan=0 +if /i "%%A"=="-el" set _elev=1 +) +) + +for %%A in (%_acti% %_gent% %_lock%) do (if "%%A"=="1" set _unattended=1) + +::======================================================================================================================================== + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Magenta="45;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Magenta="Darkmagenta" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +if %~z0 GEQ 500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") + +::======================================================================================================================================== + +if %winbuild% LSS 10240 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11. +goto dk_done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto dk_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%eline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto dk_done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%eline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto dk_done +) + +::======================================================================================================================================== + +:dl_menu + +:: Lockbox method is not shown in menu because it's working method is not very clean. We don't suggest to run it on a production system. +:: Will enable it back when we have a better method for it. Till then, if you want to use Lockbox, you can use parameters, check at the top. + +REM if %_unattended%==0 ( +REM cls +REM mode 76, 25 +REM title HWID Activation + +REM echo: +REM echo: +REM echo: +REM echo: +REM echo ____________________________________________________________ +REM echo: +REM if !_lock!==0 ( +REM echo [1] HWID Activation +REM ) else ( +REM call :dk_color2 %_White% " [1] HWID Activation " %_Yellow% " [LockBox Method]" +REM ) +REM echo ____________________________________________ +REM echo: +REM if !_lock!==0 ( +REM echo [G] Generate Ticket +REM ) else ( +REM call :dk_color2 %_White% " [G] Generate Ticket " %_Yellow% " [LockBox Method]" +REM ) +REM echo ____________________________________________ +REM echo: +REM echo [C] Change Method +REM echo: +REM echo [0] %_exitmsg% +REM echo ____________________________________________________________ +REM echo: +REM call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard:" +REM choice /C:1GC0 /N +REM set _el=!errorlevel! +REM if !_el!==4 exit /b +REM if !_el!==3 ( +REM if !_lock!==0 ( +REM set _lock=1 +REM ) else ( +REM set _lock=0 +REM ) +REM cls +REM echo: +REM call :dk_color %_Green% " Downlevel Method:" +REM echo It creates downlevelGTkey ticket for activation with simplest process. +REM echo: +REM call :dk_color %_Yellow% " LockBox Method:" +REM echo It creates clientLockboxKey ticket which better mimics genuine activation, +REM echo But requires more steps such as, +REM echo - Cleaning ClipSVC licences +REM echo - Deleting a volatile and protected registry key by taking ownership +REM echo - System may need a restart for succesful activation +REM echo - Microsoft Account and Store Apps may need relogin-restart in the system +REM echo: +REM call :dk_color2 %_White% " " %Green% "Note:" +REM echo Microsoft accepts both types of tickets and that's unlikely to change. +REM call :dk_color2 %_White% " " %Green% "On a production system we suggest to use Downlevel [default] Method only." +REM echo: +REM call :dk_color %_Yellow% " Press any key to go back..." +REM pause >nul +REM goto :dl_menu +REM ) +REM if !_el!==2 set _gent=1&goto :dl_menu2 +REM if !_el!==1 goto :dl_menu2 +REM goto :dl_menu +REM ) + +:dl_menu2 + +cls +mode 102, 34 +if %_gent%==1 (set _title=title Generate HWID GenuineTicket.xml) else (set _title=title HWID Activation) +if %_lock%==0 (%_title%) else (%_title% [Lockbox Method]) + +::======================================================================================================================================== + +if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( +set _gent=0 +%eline% +echo File '%Systemdrive%\GenuineTicket.xml' already exist. +if %_unattended%==0 ( +echo: +call :dk_color %_Yellow% "Press any key to go back..." +pause >nul +goto dl_menu +) else ( +goto dk_done +) +) + +::======================================================================================================================================== + +call :dk_initial + +:: Check if system is permanently activated or not + +cls +call :dk_product +call :dk_checkperm +if defined _perm if not %_gent%==1 ( +echo ___________________________________________________________________________________________ +echo: +call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." +call :dk_color2 %_White% " " %Gray% "Activation is not required." +echo ___________________________________________________________________________________________ +if %_unattended%==1 goto dk_done +echo: +choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " +if errorlevel 2 exit /b +) +cls + +::======================================================================================================================================== + +:: Check Evaluation version + +set _eval= +set _evalserv= + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 + +if defined _eval ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID 2>nul | find /i "Eval" 1>nul && ( +%eline% +echo [%winos% ^| %winbuild%] +if defined _evalserv ( +echo Server Evaluation cannot be activated. Convert it to full Server OS. +echo: +echo Check 'Change Edition Option' in Extras section in MAS. +) else ( +echo Evaluation Editions cannot be activated. Download ^& Install full version of Windows OS. +echo: +echo https://massgrave.dev/ +) +goto dk_done +) +) + +::======================================================================================================================================== + +:: Check SKU value / Check in multiple places to find Edition change corruption + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto dk_done +) + +::======================================================================================================================================== + +:: Check if HWID key (Retail,OEM,MAK) is already installed or not + +set _hwidk= +call :dk_channel +for %%A in (Retail OEM:SLP OEM:NONSLP OEM:DM Volume:MAK) do (if /i "%%A"=="%_channel%" set _hwidk=1) + +::======================================================================================================================================== + +:: Detect Key + +set app= +set key= +set pkey= +set altkey= +set changekey= +set curedition= +set altedition= +set notworking= + +if defined applist call :hwiddata attempt1 +if not defined key call :hwiddata attempt2 +if defined notworking call :hwidfallback + +if defined altkey (set key=%altkey%&set changekey=1&set notworking=) + +set pkey= +if not defined key call :dk_hwidkey %nul% + +::======================================================================================================================================== + +if not defined key if not defined _hwidk ( +%eline% +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +echo PowerShell is not responding properly. Aborting... +goto dk_done +) +echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] +echo Unable to find this product in the supported product list. +echo Make sure you are using updated version of the script. +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system and try again. +goto dk_done +) +goto dk_done +) + +::======================================================================================================================================== + +:: Check files + +if not exist "!_work!\BIN\gatherosstate.exe" ( +%eline% +echo 'gatherosstate.exe' file is missing in 'BIN' folder. Aborting... +goto dk_done +) + +:: Verify gatherosstate.exe file + +set _hash= +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "!_work!\BIN\gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" +set "_hash=%_hash: =%" + +if /i not "%_hash%"=="FABB5A0FC1E6A372219711152291339AF36ED0B5" ( +if /i not "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +%eline% +echo gatherosstate.exe SHA1 hash mismatch found. +echo: +echo Detected: %_hash% +goto dk_done +) +) + +::======================================================================================================================================== + +set error= +set activ= + +:: Check Internet connection + +cls +echo: +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] + +set _intcon= +if not %_gent%==1 ( +for /f "delims=[] tokens=2" %%# in ('ping -n 1 licensing.mp.microsoft.com') do if not [%%#]==[] set _intcon=1 +if defined _intcon ( +echo Checking Internet Connection [Connected] +) else ( +set error=1 +call :dk_color %Red% "Checking Internet Connection [Failed To Connect licensing.mp.microsoft.com]" +) +) + +::======================================================================================================================================== + +set "_serv=ClipSVC wlidsvc sppsvc LicenseManager Winmgmt wuauserv" + +:: Client License Service (ClipSVC) +:: Microsoft Account Sign-in Assistant +:: Software Protection +:: Windows License Manager Service +:: Windows Management Instrumentation +:: Windows Update + +:: Check disabled services + +set serv_ste= +for %%# in (%_serv%) do ( +set serv_dis= +reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start %nul% || set serv_dis=1 +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b equ 0x4 set serv_dis=1 +if defined serv_dis (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) +) + +:: Change disabled services startup type to default + +set serv_csts= +set serv_cste= + +if defined serv_ste ( +for %%# in (%serv_ste%) do ( +if /i %%#==ClipSVC sc config %%# start= demand %nul% +if /i %%#==wlidsvc sc config %%# start= demand %nul% +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% +if /i %%#==LicenseManager sc config %%# start= demand %nul% +if /i %%#==Winmgmt sc config %%# start= auto %nul% +if /i %%#==wuauserv sc config %%# start= demand %nul% +if !errorlevel!==0 ( +if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") +) else ( +set error=1 +if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") +) +) +) + +if defined serv_csts echo Enabling Disabled Services [Successful] [%serv_csts%] +if defined serv_cste call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" + +if not "%regSKU%"=="%wmiSKU%" ( +set error=1 +call :dk_color %Red% "Checking WMI/REG SKU [Difference Found - WMI:%wmiSKU% Reg:%regSKU%] [Restart System]" +) + +::======================================================================================================================================== + +:: Install key + +echo: +if defined changekey ( +call :dk_color %Magenta% "[%altedition%] Edition product key will be used to enable HWID activation." +echo: +) + +set _partial= +if not defined key ( +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" +call echo Checking Installed Product Key [Partial Key - %%_partial%%] [%_channel%] +) + +set _channel= +set error_code= +if defined key ( +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% +set error_code=!errorlevel! +cmd /c exit /b !error_code! +if !error_code! NEQ 0 set "error_code=[0x!=ExitCode!]" + +if !error_code! EQU 0 ( +call :dk_refresh +call :dk_channel +call echo Installing Generic Product Key [%key%] [%%_channel%%] [Successful] +) else ( +call :dk_color %Red% "Installing Generic Product Key [%key%] [Failed] !error_code!" +) +) + +::======================================================================================================================================== + +:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names + +echo: +set "temp_=%SystemRoot%\Temp\_Temp" +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +md "%temp_%\" %nul% + +pushd "!_work!\BIN\" +copy /y /b "gatherosstate.exe" "%temp_%\gatherosstate.exe" %nul% +popd + +if not exist "%temp_%\gatherosstate.exe" ( +call :dk_color %Red% "Copying Required Files to Temp [%temp_%] [Failed]" +goto :dl_final +) else ( +echo Copying Required Files to Temp [%temp_%] [Successful] +) + +::======================================================================================================================================== + +if /i "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +echo Checking gatherosstate.exe [Already Modified] +%nul% ren "%temp_%\gatherosstate.exe" "gatherosstatemodified.exe" +goto :dlskipmod +) + +:: Modify gatherosstate.exe + +pushd "%temp_%\" +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':hex\:.*';iex ($f[1]);" +popd + +if not exist "%temp_%\gatherosstatemodified.exe" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] Aborting..." +goto :dl_final +) + +set _hash= +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstatemodified.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" +set "_hash=%_hash: =%" + +if /i not "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] [Hash Not Matched] Aborting..." +goto :dl_final +) else ( +echo Creating Modified Gatherosstate [Successful] +) + +:dlskipmod + +::======================================================================================================================================== + +:: Clean ClipSVC Licences +:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. + +if %_lock%==1 ( +for %%# in (ClipSVC) do ( +sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% +sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% +) + +rundll32 clipc.dll,ClipCleanUpState + +if exist "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" del /f /q "%ProgramData%\Microsoft\Windows\ClipSVC\*.dat" %nul% + +if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( +call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" +) else ( +echo Cleaning ClipSVC Licences [Successful] +) +) + +::======================================================================================================================================== + +:: Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after +:: system restart. It needs to be deleted to activate the system without restart. + +:: This code runs only if Lockbox method to generate ticket is manually set by the user in this script. + +set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" +set "_ident=HKU\S-1-5-19\SOFTWARE\Microsoft\IdentityCRL" + +if %_lock%==1 ( +%nul% call :regown "%RegKey%" +reg delete "%RegKey%" /f %nul% + +reg query "%RegKey%" %nul% && ( +call :dk_color %Red% "Deleting a Volatile Registry [Failed]" +call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" +) || ( +echo Deleting a Volatile Registry [Successful] +) + +REM Clear HWID token related registry to fix activation incase if there is any corruption + +reg delete "%_ident%" /f %nul% +reg query "%_ident%" %nul% && ( +call :dk_color %Red% "Deleting a Registry [Failed] [%_ident%]" +) || ( +echo Deleting a Registry [Successful] [%_ident%] +) +) + +::======================================================================================================================================== + +:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. + +echo: +set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" + +set pfn= +for /f "skip=2 tokens=3*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "pfn=%%a" + +"%temp_%/gatherosstatemodified.exe" Pfn=%pfn%;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% +%_noxml% net stop sppsvc /y %nul% +%_noxml% call "%temp_%/gatherosstatemodified.exe" Pfn=%pfn%;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% + +:: Refresh ClipSVC (required after cleanup) with below command, not related to generating tickets + +if %_lock%==1 ( +for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) +call :dk_refresh +) + +%_noxml% ( +call :dk_color %Red% "Generating GenuineTicket.xml [Failed] [%pfn%]" +goto :dl_final +) + +if %_lock%==1 ( +find /i "clientLockboxKey" "%temp_%\GenuineTicket.xml" >nul && ( +echo Generating GenuineTicket.xml [Successful] [%pfn%] +) || ( +call :dk_color %Red% "Generating GenuineTicket.xml [Failed] [%pfn%]" +call :dk_color %Red% "downlevelGTkey Ticket created. Aborting..." +goto :dl_final +) +) else ( +echo Generating GenuineTicket.xml [Successful] [%pfn%] +) + +::======================================================================================================================================== + +:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script + +if %_gent%==1 ( +echo: +copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% +if not exist "%Systemdrive%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" +) else ( +call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" +) +goto :dl_final +) + +::======================================================================================================================================== + +:: clipup -v -o -altto & clipup -v -o both methods may fail if the username have spaces/special characters/non English names +:: Most correct way to apply a ticket is by restarting ClipSVC service but we can not check the log details in this way +:: To get the log details and also to correctly apply ticket, script will install tickets two times (service restart + clipup -v -o -altto ) + +set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +if not exist "%tdir%\" md "%tdir%\" %nul% +copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% + +if not exist "%tdir%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying Ticket to ClipSVC Location [Failed]" +) + +set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" + +%_xmlexist% ( +net stop ClipSVC /y %nul% +net start ClipSVC /y %nul% +%_xmlexist% timeout /t 2 %nul% +%_xmlexist% timeout /t 2 %nul% + +%_xmlexist% ( +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +call :dk_color %Red% "Installing GenuineTicket.xml [Failed With ClipSVC Service Restart Method]" +) +) + +clipup -v -o -altto %temp_%\ + +::========================================================================================================================================== + +call :dk_product + +echo: +echo Activating... +echo: + +call :dk_act +call :dk_checkperm +if defined _perm ( +set activ=1 +call :dk_color %Green% "%winos% is permanently activated." +goto :dl_final +) + +:: Refresh some services and license status + +if %_lock%==1 set _retry=1 +if defined _intcon set _retry=1 + +if defined _retry ( +for %%# in (wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) +call :dk_refresh +call :dk_act +) + +call :dk_checkperm + +set "_unsup=call :dk_color %Magenta% "At the time of writing this, HWID Activation was not supported for this product."" + +if defined _perm ( +set activ=1 +call :dk_color %Green% "%winos% is permanently activated." +) else ( +call :dk_color %Red% "Activation Failed %error_code%" +if defined key if defined pkey %_unsup% +if not defined key %_unsup% +if defined notworking %_unsup% +if not defined notworking if defined key if not defined pkey call :dk_color %Magenta% "Restart the system and try again / Check troubleshooting steps in MAS Extras option" +) + +::======================================================================================================================================== + +:dl_final + +echo: +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +if exist "%temp_%\" ( +call :dk_color %Red% "Cleaning Temp Files [Failed]" +) else ( +echo Cleaning Temp Files [Successful] +) + +if %osSKU%==175 ( +call :dk_color %Red% "ServerRdsh Editon does not officially support activation on non-azure platforms." +) + +if not defined activ call :dk_checkerrors + +if not defined activ if not defined error ( +echo Basic Diagnostic Tests [Error Not Found] +) + +goto :dk_done + +::======================================================================================================================================== + +:: A lean and mean snippet to set registry ownership and permission recursively +:: Written by @AveYo aka @BAU +:: pastebin.com/XTPt0JSC + +:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of Powershell is installed. + +:: This code runs only if Lockbox method is manually set by the user in this script. + +:regown + +pushd "!_work!" +setlocal DisableDelayedExpansion + +set "0=%~nx0"&%psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText($env:0)-split':Own1\:.*')[1])&popd&setlocal EnableDelayedExpansion&exit/b:Own1: +$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn +'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} +$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} +$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] +$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' +$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) +$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} +};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') +$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} +$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; +foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo + +::======================================================================================================================================== + +:: Get Windows permanent activation status + +:dk_checkperm + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Name FROM SoftwareLicensingProduct WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +exit /b + +:: Refresh license status + +:dk_refresh + +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% +if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% +exit /b + +:: Get Windows installed key channel + +:dk_channel + +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" +exit /b + +:: Activation command + +:dk_act + +set error_code= +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" call Activate %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% +if not %errorlevel%==0 cscript //nologo %windir%\system32\slmgr.vbs /ato %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 (set "error_code=[Error Code: 0x%=ExitCode%]") else (set error_code=) +exit /b + +:: Get Windows Activation IDs + +:dk_actids + +set applist= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) +exit /b + +:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) + +:dk_product + +set winos= +set d1=[DllImport(\"winbrand\",CharSet=CharSet.Unicode)]public static extern string BrandingFormatString(string s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $AP::BrandingFormatString('%%WINDOWS_LONG%%') +for /f "delims=" %%s in ('"%psc% %d2%"') do if not errorlevel 1 (set winos=%%s) +echo "%winos%" | find /i "Windows" 1>nul || ( +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +if %winbuild% GEQ 22000 ( +set winos=!winos:Windows 10=Windows 11! +) +) +exit /b + +:: Check wmic.exe + +:dk_ckeckwmic + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) +exit /b + +:dk_initial + +echo: +echo Initializing... + +:: Check and enable WinMgmt, sppsvc services if required + +for %%# in (WinMgmt sppsvc) do ( +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b NEQ 0x2 ( +echo: +echo Enabling %%# service... +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% || echo Failed +if /i %%#==WinMgmt sc config %%# start= auto %nul% || echo Failed +) +sc start %%# %nul% +if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 ( +echo: +echo Starting %%# service... +sc start %%# +echo: +call :dk_color %Red% "Failed to start [%%#] service, rest of the process may take a long time..." +) +) + +:: Check WMI and SPP Errors + +call :dk_ckeckwmic + +set e_wmi= +set e_wmispp= +call :dk_actids + +if not defined applist ( +net stop sppsvc /y %nul% +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if !errorlevel! NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +call :dk_refresh + +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 set e_wmi=1 + +if defined e_wmi (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +call :dk_actids +) +exit /b + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. (Partially on 1803 & 1809, fully on 1903 and later) + +:dk_pkey + +set pkey= +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int SkuGetProductKeyForEdition(int e, string c, out string k, out string p); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k=''; $null=$AP::SkuGetProductKeyForEdition(%1, %2, [ref]$k, [ref]$null); $k +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:dk_pkeychannel + +set k=%1 +set pkeychannel= +set p=%SystemRoot%\System32\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms +set m=[System.Runtime.InteropServices.Marshal] +set d1=[DllImport(\"PidGenX.dll\",CharSet=CharSet.Unicode)]public static extern int PidGenX(string k,string p,string m,int u,IntPtr i,IntPtr d,IntPtr f); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k='%k%'; $p='%p%'; $r=[byte[]]::new(0x04F8); $r[0]=0xF8; $r[1]=0x04; $f=%m%::AllocHGlobal(1272); %m%::Copy($r,0,$f,1272); +set d3=%d2% [void]$AP::PidGenX($k,$p,\"00000\",0,0,0,$f); %m%::Copy($f,$r,0,1272); %m%::FreeHGlobal($f); [System.Text.Encoding]::Unicode.GetString($r, 1016, 128).Replace('0','') +for /f %%a in ('%psc% "%d3%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:dk_hwidkey + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (Retail OEM:NONSLP OEM:DM Volume:MAK) do ( +call :dk_pkey %osSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + +:dk_checkerrors + +:: Check if the services are able to run or not +:: Workarounds are added to get correct status and error code because sc query doesn't output correct results in some conditions + +set serv_e= +for %%# in (%_serv%) do ( +set errorcode= +set checkerror= +sc query %%# | find /i ": 4 RUNNING" %nul% || net start %%# /y %nul% +sc start %%# %nul% +set errorcode=!errorlevel! +if !errorcode! NEQ 1056 if !errorcode! NEQ 0 set checkerror=1 +sc query %%# | find /i ": 4 RUNNING" %nul% || set checkerror=1 +if defined checkerror if defined serv_e (set "serv_e=!serv_e!, %%#-!errorcode!") else (set "serv_e=%%#-!errorcode!") +) + +if defined serv_e ( +set error=1 +call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" +) + +:: Various error checks + +set token=0 +if exist %Systemdrive%\Windows\System32\spp\store\2.0\tokens.dat set token=1 +if exist %Systemdrive%\Windows\System32\spp\store_test\2.0\tokens.dat set token=1 +if %token%==0 ( +set error=1 +call :dk_color %Red% "Checking SPP tokens.dat [Not Found]" +) + +DISM /English /Online /Get-CurrentEdition %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking DISM [Not Responding] %error_code%" +) + +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +set error=1 +call :dk_color %Red% "Checking Powershell [Not Responding]" +) + +for %%# in (wmic.exe) do @if "%%~$PATH:#"=="" ( +set error=1 +call :dk_color %Gray% "Checking WMIC.exe [Not Found]" +) + +reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( +set error=1 +call :dk_color %Red% "Checking Rearm [System Restart Is Required]" +) + +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( +set error=1 +call :dk_color %Red% "Checking ClipSVC [System Restart Is Required]" +) + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" 2^>nul') do if /i %%b NEQ 0x0 ( +reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% +call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found, Changing To 0]" +net stop sppsvc /y %nul% +net start sppsvc /y %nul% +set error=1 +) + +set _wsh=1 +reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +if %_wsh% EQU 0 ( +set error=1 +call :dk_color %Gray% "Checking Windows Script Host [Disabled]" +) + +cscript //nologo %windir%\system32\slmgr.vbs /dlv %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking slmgr /dlv [Not Responding] %error_code%" +) + +if not defined applist ( +set error=1 +call :dk_color %Red% "Checking WMI/SPP [Not Responding] [%e_wmispp%]" +) + +set nil= +set _sppint= +if not %_gent%==1 if not defined error ( +for %%# in (SppE%nil%xtComObj.exe,sppsvc.exe) do ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%nil%ge File Execu%nil%tion Options\%%#" %nul% && set _sppint=1 +) +) + +if defined _sppint ( +call :dk_color %Red% "Checking SPP Interference In IFEO [Found] [Uninstall KMS Activator If There Is Any]" +set error=1 +) +exit /b + +::======================================================================================================================================== + +:dk_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' +) +exit /b + +:dk_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' +) +exit /b + +::======================================================================================================================================== + +:dk_done + +echo: +if %_unattended%==1 timeout /t 2 & exit /b +call :dk_color %_Yellow% "Press any key to %_exitmsg%..." +pause >nul +exit /b + +::======================================================================================================================================== + +:: 1st column = Activation ID +:: 2nd column = Generic Retail/OEM/MAK Key +:: 3rd column = SKU ID +:: 4th column = 1 = activation is not working (at the time of writing this), 0 = activation is working +:: 5th column = Key Type +:: 6th column = WMI Edition ID +:: 7th column = Version name incase same Edition ID is used in different OS versions with different key +:: Separator = _ + +:: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK + + +:hwiddata + +for %%# in ( +8b351c9c-f398-4515-9900-09df49427262_XGVPP-NMH47-7TTHJ-W3FW7-8HV2C___4_0_OEM:NONSLP_Enterprise +23505d51-32d6-41f0-8ca7-e78ad0f16e71_D6RD9-D4N8T-RT9QX-YW6YT-FCWWJ__11_1_____Retail_Starter +c83cef07-6b72-4bbc-a28f-a00386872839_3V6Q6-NQXCX-V8YXR-9QCYV-QPFCT__27_0_Volume:MAK_EnterpriseN +211b80cc-7f64-482c-89e9-4ba21ff827ad_3NFXW-2T27M-2BDW6-4GHRV-68XRX__47_1_____Retail_StarterN +4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T__48_0_____Retail_Professional +9fbaf5d6-4d83-4422-870d-fdda6e5858aa_2B87N-8KFHP-DKV6R-Y2C8J-PKCKT__49_0_____Retail_ProfessionalN +f742e4ff-909d-4fe9-aacb-3231d24a0c58_4CPRK-NM3K3-X6XXQ-RXX86-WXCHW__98_0_____Retail_CoreN +1d1bac85-7365-4fea-949a-96978ec91ae0_N2434-X9D7W-8PF6X-8DV9T-8TYMD__99_0_____Retail_CoreCountrySpecific +3ae2cc14-ab2d-41f4-972f-5e20142771dc_BT79Q-G7N6G-PGBYW-4YWX6-6F4BT_100_0_____Retail_CoreSingleLanguage +2b1f36bb-c1cd-4306-bf5c-a0367c2d97d8_YTMG3-N6DKC-DKB77-7M9GH-8HVX7_101_0_____Retail_Core +2a6137f3-75c0-4f26-8e3e-d83d802865a4_XKCNC-J26Q9-KFHD2-FKTHY-KD72Y_119_0_OEM:NONSLP_PPIPro +e558417a-5123-4f6f-91e7-385c1c7ca9d4_YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY_121_0_____Retail_Education +c5198a66-e435-4432-89cf-ec777c9d0352_84NGF-MHBT6-FXBX8-QWJK7-DRR8H_122_0_____Retail_EducationN +cce9d2de-98ee-4ce2-8113-222620c64a27_KCNVH-YKWX8-GJJB9-H9FDT-6F7W2_125_1_Volume:MAK_EnterpriseS_2021 +d06934ee-5448-4fd1-964a-cd077618aa06_43TBQ-NH92J-XKTM7-KT3KK-P39PB_125_0_OEM:NONSLP_EnterpriseS_2019 +706e0cfd-23f4-43bb-a9af-1a492b9f1302_NK96Y-D9CD8-W44CQ-R8YTK-DYJWX_125_0_OEM:NONSLP_EnterpriseS_2016 +faa57748-75c8-40a2-b851-71ce92aa8b45_FWN7H-PF93Q-4GGP8-M8RF3-MDWWW_125_0_OEM:NONSLP_EnterpriseS_2015 +2c060131-0e43-4e01-adc1-cf5ad1100da8_RQFNW-9TPM3-JQ73T-QV4VQ-DV9PT_126_1_Volume:MAK_EnterpriseSN_2021 +e8f74caa-03fb-4839-8bcc-2e442b317e53_M33WV-NHY3C-R7FPM-BQGPT-239PG_126_1_Volume:MAK_EnterpriseSN_2019 +3d1022d8-969f-4222-b54b-327f5a5af4c9_2DBW3-N2PJG-MVHW3-G7TDK-9HKR4_126_0_Volume:MAK_EnterpriseSN_2016 +60c243e1-f90b-4a1b-ba89-387294948fb6_NTX6B-BRYC2-K6786-F6MVQ-M7V2X_126_0_Volume:MAK_EnterpriseSN_2015 +a48938aa-62fa-4966-9d44-9f04da3f72f2_G3KNM-CHG6T-R36X3-9QDG6-8M8K9_138_1_____Retail_ProfessionalSingleLanguage +f7af7d09-40e4-419c-a49b-eae366689ebd_HNGCC-Y38KG-QVK8D-WMWRK-X86VK_139_1_____Retail_ProfessionalCountrySpecific +eb6d346f-1c60-4643-b960-40ec31596c45_DXG7C-N36C4-C4HTG-X4T3X-2YV77_161_0_____Retail_ProfessionalWorkstation +89e87510-ba92-45f6-8329-3afa905e3e83_WYPNQ-8C467-V2W6J-TX4WX-WT2RQ_162_0_____Retail_ProfessionalWorkstationN +62f0c100-9c53-4e02-b886-a3528ddfe7f6_8PTT6-RNW4C-6V7J2-C2D3X-MHBPB_164_0_____Retail_ProfessionalEducation +13a38698-4a49-4b9e-8e83-98fe51110953_GJTYN-HDMQY-FRR76-HVGC7-QPF8P_165_0_____Retail_ProfessionalEducationN +1ca0bfa8-d96b-4815-a732-7756f30c29e2_FV469-WGNG4-YQP66-2B2HY-KD8YX_171_1_OEM:NONSLP_EnterpriseG +8d6f6ffe-0c30-40ec-9db2-aad7b23bb6e3_FW7NV-4T673-HF4VX-9X4MM-B4H4T_172_1_OEM:NONSLP_EnterpriseGN +df96023b-dcd9-4be2-afa0-c6c871159ebe_NJCF7-PW8QT-3324D-688JX-2YV66_175_0_____Retail_ServerRdsh +d4ef7282-3d2c-4cf0-9976-8854e64a8d1e_V3WVW-N2PV2-CGWC3-34QGF-VMJ2C_178_0_____Retail_Cloud +af5c9381-9240-417d-8d35-eb40cd03e484_NH9J3-68WK7-6FB93-4K3DF-DJ4F6_179_0_____Retail_CloudN +c7051f63-3a76-4992-bce5-731ec0b1e825_2HN6V-HGTM8-6C97C-RK67V-JQPFD_183_1_____Retail_CloudE +8ab9bdd1-1f67-4997-82d9-8878520837d9_XQQYW-NFFMW-XJPBH-K8732-CKFFD_188_0_____OEM:DM_IoTEnterprise +ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NONSLP_IoTEnterpriseS +d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN +92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition +) do ( +for /f "tokens=1-8 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( + +if %1==attempt1 if not defined key ( +echo "!applist!" | find /i "%%A" 1>nul && ( +set app=%%A +set key=%%B +if %%D==1 set notworking=1 +) +) + +if %1==attempt2 if not defined key ( +set 7th=%%G +if not defined 7th ( +set app=%%A +if %%D==1 set notworking=1 +if %winbuild% GTR 19044 call :dk_hwidkey %nul% +if not defined key set key=%%B +) else ( +echo "%winos%" | find /i "%%G" 1>nul && ( +set app=%%A +if %%D==1 set notworking=1 +if %winbuild% GTR 19044 call :dk_hwidkey %nul% +if not defined key set key=%%B +) +) +) +) +) +exit /b + +::======================================================================================================================================== + +:: Below code is used to get alternate edition name and key if current edition doesn't support HWID activation + +:: ProfessionalCountrySpecific won't be converted because it's not a good idea to change CountrySpecific editions + +:: 1st column = Current Edition Activation ID +:: 2nd column = Alternate Edition Activation ID +:: 3rd column = Alternate Edition Key +:: 4th column = Current Edition Name +:: 5th column = Alternate Edition Name +:: Separator = _ + +:: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK + + +:hwidfallback + +if %_chan%==0 exit /b + +for %%# in ( +cce9d2de-98ee-4ce2-8113-222620c64a27_ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_EnterpriseS-2021____________IoTEnterpriseS +a48938aa-62fa-4966-9d44-9f04da3f72f2_4de7cb65-cdf1-4de9-8ae8-e3cce27b9f2c_VK7JG-NPHTM-C97JM-9MPGT-3V66T_ProfessionalSingleLanguage__Professional +) do ( +for /f "tokens=1-5 delims=_" %%A in ("%%#") do if "%app%"=="%%A" ( +echo "!applist!" | find /i "%%B" 1>nul && ( +set altkey=%%C +set curedition=%%D +set altedition=%%E +) +) +) +exit /b + +::======================================================================================================================================== + +:: Script changes below values in official gatherosstate.exe so that it can generate usable ticket in Windows unlicensed state + +:hex:[ +$bytes = [System.IO.File]::ReadAllBytes("gatherosstate.exe") +$bytes[320] = 0x9c +$bytes[321] = 0xfb +$bytes[322] = 0x05 +$bytes[13672] = 0x25 +$bytes[13674] = 0x73 +$bytes[13676] = 0x3b +$bytes[13678] = 0x00 +$bytes[13680] = 0x00 +$bytes[13682] = 0x00 +$bytes[13684] = 0x00 +$bytes[32748] = 0xe9 +$bytes[32749] = 0x9e +$bytes[32750] = 0x00 +$bytes[32751] = 0x00 +$bytes[32752] = 0x00 +$bytes[32894] = 0x8b +$bytes[32895] = 0x44 +$bytes[32897] = 0x64 +$bytes[32898] = 0x85 +$bytes[32899] = 0xc0 +$bytes[32900] = 0x0f +$bytes[32901] = 0x85 +$bytes[32902] = 0x1c +$bytes[32903] = 0x02 +$bytes[32904] = 0x00 +$bytes[32906] = 0xe9 +$bytes[32907] = 0x3c +$bytes[32908] = 0x01 +$bytes[32909] = 0x00 +$bytes[32910] = 0x00 +$bytes[32911] = 0x85 +$bytes[32912] = 0xdb +$bytes[32913] = 0x75 +$bytes[32914] = 0xeb +$bytes[32915] = 0xe9 +$bytes[32916] = 0x69 +$bytes[32917] = 0xff +$bytes[32918] = 0xff +$bytes[32919] = 0xff +$bytes[33094] = 0xe9 +$bytes[33095] = 0x80 +$bytes[33096] = 0x00 +$bytes[33097] = 0x00 +$bytes[33098] = 0x00 +$bytes[33449] = 0x64 +$bytes[33576] = 0x8d +$bytes[33577] = 0x54 +$bytes[33579] = 0x24 +$bytes[33580] = 0xe9 +$bytes[33581] = 0x55 +$bytes[33582] = 0x01 +$bytes[33583] = 0x00 +$bytes[33584] = 0x00 +$bytes[34189] = 0x59 +$bytes[34190] = 0xeb +$bytes[34191] = 0x28 +$bytes[34238] = 0xe9 +$bytes[34239] = 0x4f +$bytes[34240] = 0x00 +$bytes[34241] = 0x00 +$bytes[34242] = 0x00 +$bytes[34346] = 0x24 +$bytes[34376] = 0xeb +$bytes[34377] = 0x63 +[System.IO.File]::WriteAllBytes("gatherosstatemodified.exe", $bytes) +:hex:] + +::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/HWID-KMS38_Activation/KMS38_Activation.cmd b/MAS/Separate-Files-Version/HWID-KMS38_Activation/KMS38_Activation.cmd new file mode 100644 index 0000000..fd812ea --- /dev/null +++ b/MAS/Separate-Files-Version/HWID-KMS38_Activation/KMS38_Activation.cmd @@ -0,0 +1,1425 @@ +@setlocal DisableDelayedExpansion +@echo off + + + +::============================================================================ +:: +:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. +:: +:: Homepage: massgrave.dev +:: Email: windowsaddict@protonmail.com +:: +::============================================================================ + + + +:: To activate, run the script with /a parameter or change 0 to 1 in below line +set _acti=0 + +:: To activate along with KMS38 protection (from being replaced by 180 days KMS activation), +:: run the script with /ap parameter or change 0 to 1 in below line +set _prot=0 + +:: To only generate GenuineTicket.xml, run the script with /g parameter or change 0 to 1 in below line +set _gent=0 + +:: To remove KMS38 protection, run the script with /x parameter or change 0 to 1 in below line +set _unin=0 + + + +:: If value is changed in ABOVE lines or any ABOVE parameter is used then script will run in unattended mode +:: Incase if more than one options are used then only one option will be applied + + +:: To disable changing edition if current edition doesn't support HWID activation, change the value to 0 from 1 or run the script with /c parameter +set _chan=1 + + + +::======================================================================================================================================== + +:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows +:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows + +set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" +exit /b +) + +:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows + +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( +setlocal EnableDelayedExpansion +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" +exit /b +) + +:: Set Path variable, it helps if it is misconfigured in the system + +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd + +::======================================================================================================================================== + +cls +color 07 +title KMS38 Activation + +set _args= +set _elev= +set _unattended=0 + +set _args=%* +if defined _args set _args=%_args:"=% +if defined _args ( +for %%A in (%_args%) do ( +if /i "%%A"=="/a" set _acti=1 +if /i "%%A"=="/ap" set _prot=1 +if /i "%%A"=="/g" set _gent=1 +if /i "%%A"=="/x" set _unin=1 +if /i "%%A"=="/c" set _chan=0 +if /i "%%A"=="-el" set _elev=1 +) +) + +for %%A in (%_acti% %_prot% %_gent% %_unin%) do (if "%%A"=="1" set _unattended=1) + +::======================================================================================================================================== + +set winbuild=1 +set "nul=>nul 2>&1" +set psc=powershell.exe +for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G + +set _NCS=1 +if %winbuild% LSS 10586 set _NCS=0 +if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) + +if %_NCS% EQU 1 ( +for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" +set "Red="41;97m"" +set "Gray="100;97m"" +set "Green="42;97m"" +set "Magenta="45;97m"" +set "_White="40;37m"" +set "_Green="40;92m"" +set "_Yellow="40;93m"" +) else ( +set "Red="Red" "white"" +set "Gray="Darkgray" "white"" +set "Green="DarkGreen" "white"" +set "Magenta="Darkmagenta" "white"" +set "_White="Black" "Gray"" +set "_Green="Black" "Green"" +set "_Yellow="Black" "Yellow"" +) + +set _k38= +set "nceline=echo: &echo ==== ERROR ==== &echo:" +set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" +if %~z0 GEQ 500000 (set "_exitmsg=Go back") else (set "_exitmsg=Exit") +set "specific_kms=SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\55c92734-d682-4d71-983e-d6ec3f16059f" + +::======================================================================================================================================== + +if %winbuild% LSS 14393 ( +%eline% +echo Unsupported OS version detected. +echo Project is supported for Windows 10/11/Server, build 14393 and later. +goto dk_done +) + +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( +%nceline% +echo Unable to find powershell.exe in the system. +goto dk_done +) + +::======================================================================================================================================== + +:: Fix for the special characters limitation in path name + +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + +set "_batf=%~f0" +set "_batp=%_batf:'=''%" + +set _PSarg="""%~f0""" -el %_args% + +set "_ttemp=%temp%" + +setlocal EnableDelayedExpansion + +::======================================================================================================================================== + +echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( +%eline% +echo Script is launched from the temp folder, +echo Most likely you are running the script directly from the archive file. +echo: +echo Extract the archive file and launch the script from the extracted folder. +goto dk_done +) +) + +::======================================================================================================================================== + +:: Elevate script as admin and pass arguments and preventing loop + +%nul% reg query HKU\S-1-5-19 || ( +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +%eline% +echo This script require administrator privileges. +echo To do so, right click on this script and select 'Run as administrator'. +goto dk_done +) + +::======================================================================================================================================== + +if %_unin%==1 goto :k_uninstall + +:k_menu + +if %_unattended%==0 ( +cls +mode 76, 25 +title KMS38 Activation + +echo: +echo: +echo: +echo ____________________________________________________________ +echo: +echo [1] KMS38 Activation +echo: +echo [2] KMS38 Activation ^+ Protection +echo ____________________________________________ +echo: +echo [3] Remove Protection +echo: +echo [4] %_exitmsg% +echo ____________________________________________________________ +echo: +call :dk_color2 %_White% " " %_Green% "Enter a menu option in the Keyboard [1,2,3,4]" +choice /C:1234 /N +set _el=!errorlevel! +if !_el!==4 exit /b +if !_el!==3 goto :k_uninstall +if !_el!==2 ( +cls +echo: +call :dk_color2 %_White% " " %_Green% "KMS38 Protection:" +echo: +echo It stops 180 days KMS Activation from replacing KMS38 activation. +echo Protection requires permission altering of a registry key. +echo: +echo If you are going to use KMS_VL_ALL or MAS's KMS activation for Office, +echo then you don't need to enable this protection. +echo For more info, check readme. +echo: +echo: +choice /C:12 /N /M "> [1] Continue [2] Go back : " +if errorlevel 2 goto :k_menu +if errorlevel 1 (set _prot=1&goto :k_menu2) +) +if !_el!==1 (set _prot=0&goto :k_menu2) +goto :k_menu +) + +:k_menu2 + +cls +mode 102, 34 +if %_gent%==1 (set _title=title Generate KMS38 GenuineTicket.xml) else (set _title=title KMS38 Activation) +%_title% + +::======================================================================================================================================== + +if %_gent%==1 if exist %Systemdrive%\GenuineTicket.xml ( +set _gent=0 +%eline% +echo File '%Systemdrive%\GenuineTicket.xml' already exist. +if %_unattended%==0 ( +echo: +call :dk_color %_Yellow% "Press any key to go back..." +pause >nul +goto k_menu +) else ( +goto dk_done +) +) + +::======================================================================================================================================== + +call :dk_initial + +:: Check if system is permanently activated or not + +cls +call :dk_product +call :dk_checkperm +if defined _perm if not %_gent%==1 ( +echo ___________________________________________________________________________________________ +echo: +call :dk_color2 %_White% " " %Green% "Checking: %winos% is Permanently Activated." +call :dk_color2 %_White% " " %Gray% "Activation is not required." +echo ___________________________________________________________________________________________ +if %_unattended%==1 goto dk_done +echo: +choice /C:12 /N /M "> [1] Activate [2] %_exitmsg% : " +if errorlevel 2 exit /b +) +cls + +::======================================================================================================================================== + +:: Check Evaluation version + +set _eval= +set _evalserv= + +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-*EvalEdition~*.mum" set _eval=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalEdition~*.mum" set _evalserv=1 +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*EvalCorEdition~*.mum" set _eval=1 & set _evalserv=1 + +if defined _eval ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID 2>nul | find /i "Eval" 1>nul && ( +%eline% +echo [%winos% ^| %winbuild%] +if defined _evalserv ( +echo Server Evaluation cannot be activated. Convert it to full Server OS. +echo: +echo Check 'Change Edition Option' in Extras section in MAS. +) else ( +echo Evaluation Editions cannot be activated. Download ^& Install full version of Windows OS. +echo: +echo https://massgrave.dev/ +) +goto dk_done +) +) + +::======================================================================================================================================== + +:: Check SKU value / Check in multiple places to find Edition change corruption + +set osSKU= +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% + +if not defined osSKU ( +%eline% +echo SKU value was not detected properly. Aborting... +goto dk_done +) + +::======================================================================================================================================== + +:: Check if GVLK (KMS key) is already installed or not + +set _gvlk= +call :dk_channel +if /i "Volume:GVLK"=="%_channel%" set _gvlk=1 + +::======================================================================================================================================== + +:: Detect Key + +set key= +set pkey= +set altkey= +set changekey= +set curedition= +set altedition= + +if defined applist call :kms38data getkey + +if not defined key call :dk_gvlk %nul% + +if defined applist if not defined key call :kms38fallback +if defined altkey (set key=%altkey%&set changekey=1) + +::======================================================================================================================================== + +if not defined key if not defined _gvlk ( +%eline% +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +echo PowerShell is not responding properly. Aborting... +goto dk_done +) +if not defined applist ( +echo Failed to get Key due to error in getting Activation IDs. +echo: +echo This error can appear when below services are not properly responding or system have other issues. +echo Windows Management Instrumentation [WinMgmt], Software Protection Platform [sppsvc] +echo: +call :dk_color2 %Red% "Error Found In:" %_White% " %e_wmispp%" +echo: +echo Check troubleshooting steps in MAS Extras option. +goto dk_done +) +echo [%winos% ^| %winbuild% ^| SKU:%osSKU%] +echo Unable to find this product in the supported product list. +echo Make sure you are using updated version of the script. +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system and try again. +goto dk_done +) +goto dk_done +) + +::======================================================================================================================================== + +:: Check files + +if not exist "!_work!\BIN\gatherosstate.exe" ( +%eline% +echo 'gatherosstate.exe' file is missing in 'BIN' folder. Aborting... +goto dk_done +) + +:: Verify gatherosstate.exe file + +set _hash= +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "!_work!\BIN\gatherosstate.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" +set "_hash=%_hash: =%" + +if /i not "%_hash%"=="FABB5A0FC1E6A372219711152291339AF36ED0B5" ( +if /i not "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +%eline% +echo gatherosstate.exe SHA1 hash mismatch found. +echo: +echo Detected: %_hash% +goto dk_done +) +) + +::======================================================================================================================================== + +:: Check clipup.exe for the detection and activation of server cor and acor editions + +set a_cor= +if exist "%SystemRoot%\Servicing\Packages\Microsoft-Windows-Server*CorEdition~*.mum" if not exist "%systemroot%\System32\clipup.exe" set a_cor=1 + +if defined a_cor ( +if not exist "!_work!\BIN\clipup.exe" ( +%eline% +echo 'ClipUp.exe' file is not found in 'BIN' folder. +goto dk_done +) +) + +::======================================================================================================================================== + +set error= +set activ= + +cls +echo: +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE') do set arch=%%b +echo Checking OS Info [%winos% ^| %winbuild% ^| %arch%] + +::======================================================================================================================================== + +set "_serv=ClipSVC sppsvc Winmgmt" + +:: Client License Service (ClipSVC) +:: Software Protection +:: Windows Management Instrumentation + +:: Check disabled services + +set serv_ste= +for %%# in (%_serv%) do ( +set serv_dis= +reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start %nul% || set serv_dis=1 +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b equ 0x4 set serv_dis=1 +if defined serv_dis (if defined serv_ste (set "serv_ste=!serv_ste! %%#") else (set "serv_ste=%%#")) +) + +:: Change disabled services startup type to default + +set serv_csts= +set serv_cste= + +if defined serv_ste ( +for %%# in (%serv_ste%) do ( +if /i %%#==ClipSVC sc config %%# start= demand %nul% +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% +if /i %%#==Winmgmt sc config %%# start= auto %nul% +if !errorlevel!==0 ( +if defined serv_csts (set "serv_csts=!serv_csts! %%#") else (set "serv_csts=%%#") +) else ( +set error=1 +if defined serv_cste (set "serv_cste=!serv_cste! %%#") else (set "serv_cste=%%#") +) +) +) + +if defined serv_csts echo Enabling Disabled Services [Successful] [%serv_csts%] +if defined serv_cste call :dk_color %Red% "Enabling Disabled Services [Failed] [%serv_cste%]" + +if not "%regSKU%"=="%wmiSKU%" ( +set error=1 +call :dk_color %Red% "Checking WMI/REG SKU [Difference Found - WMI:%wmiSKU% Reg:%regSKU%] [Restart System]" +) + +::======================================================================================================================================== + +:: Install key + +echo: +if defined changekey ( +call :dk_color %Magenta% "[%altedition%] Edition product key will be used to enable KMS38 activation." +echo: +) + +set _partial= +if not defined key ( +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get PartialProductKey /value 2^>nul') do set "_partial=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT PartialProductKey FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).PartialProductKey | %% {echo ('PartialProductKey='+$_)}" 2^>nul') do set "_partial=%%#" +call echo Checking Installed Product Key [Partial Key - %%_partial%%] [Volume:GVLK] +) + +set error_code= +if defined key ( +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% +if not !errorlevel!==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% +set error_code=!errorlevel! +cmd /c exit /b !error_code! +if !error_code! NEQ 0 set "error_code=[0x!=ExitCode!]" + +if !error_code! EQU 0 ( +call :dk_refresh +echo Installing KMS Client Setup Key [%key%] [Successful] +) else ( +call :dk_color %Red% "Installing KMS Client Setup Key [%key%] [Failed] !error_code!" +) +) + +::======================================================================================================================================== + +:: Check activation ID for setting specific KMS host + +set app= +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get ID /VALUE" 2^>nul') do call set "app=%%a" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).ID | %% {echo ('ID='+$_)}" 2^>nul') do call set "app=%%a" + +if not defined app ( +call :dk_color %Red% "Checking Activation ID [Failed]" +) + +::======================================================================================================================================== + +:: Set specific KMS host to Local Host +:: By doing this, global KMS IP can not replace KMS38 activation but can be used with Office and other Windows Editions + +set regadd= +set k_error= + +if not %_gent%==1 if defined app ( +echo: +set regadd=1 +%nul% reg delete "HKLM\%specific_kms%" /f +%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f + +%nul% reg query "HKLM\%specific_kms%" && ( +call :regown "HKLM\%specific_kms%" +%nul% reg delete "HKLM\%specific_kms%" /f +) + +%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServiceName /t REG_SZ /d "127.0.0.2" || set k_error=1 +%nul% reg add "HKLM\%specific_kms%\%app%" /f /v KeyManagementServicePort /t REG_SZ /d "1688" || set k_error=1 + +if not defined k_error ( +echo Adding Specific KMS Host [LocalHost 127.0.0.2] [Successful] +) else ( +call :dk_color %Red% "Adding Specific KMS Host [LocalHost 127.0.0.2] [Failed]" +) +) + +if not %_gent%==1 if not defined app ( +call :dk_color %Red% "Adding Specific KMS Host [Skipped] [Activation ID Not Found]" +) + +::======================================================================================================================================== + +:: Files are copied to temp to generate ticket to avoid possible issues in case the path contains special character or non English names + +echo: +set "temp_=%SystemRoot%\Temp\_Temp" +set "_clipup=%systemroot%\System32\clipup.exe" +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +md "%temp_%\" %nul% + +pushd "!_work!\BIN\" +copy /y /b "gatherosstate.exe" "%temp_%\gatherosstate.exe" %nul% +if defined a_cor copy /y /b "ClipUp.exe" "%_clipup%" %nul% +popd + +if not exist "%temp_%\gatherosstate.exe" ( +call :dk_color %Red% "Copying Required Files to Temp [%temp_%] [Failed]" +goto :k_final +) else ( +echo Copying Required Files to Temp [%temp_%] [Successful] +) + +if defined a_cor ( +if exist "%_clipup%" ( +echo Copying clipup.exe File to [%systemroot%\System32\] [Successful] +) else ( +call :dk_color %Red% "Copying clipup.exe File to [%systemroot%\System32\] [Failed] Aborting..." +goto :k_final +) +) + +::======================================================================================================================================== + +if /i "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +echo Checking gatherosstate.exe [Already Modified] +%nul% ren "%temp_%\gatherosstate.exe" "gatherosstatemodified.exe" +goto :kskipmod +) + +:: Modify gatherosstate.exe + +pushd "%temp_%\" +%nul% %psc% "$f=[io.file]::ReadAllText('!_batp!') -split ':hex\:.*';iex ($f[1]);" +popd + +if not exist "%temp_%\gatherosstatemodified.exe" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] Aborting..." +goto :k_final +) + +set _hash= +for /f "skip=1 tokens=* delims=" %%# in ('certutil -hashfile "%temp_%\gatherosstatemodified.exe" SHA1^|findstr /i /v CertUtil') do set "_hash=%%#" +set "_hash=%_hash: =%" + +if /i not "%_hash%"=="3FCCB9C359EDB9527C9F5688683F8B3C5910E75D" ( +call :dk_color %Red% "Creating Modified Gatherosstate [Failed] [Hash Not Matched] Aborting..." +goto :k_final +) else ( +echo Creating Modified Gatherosstate [Successful] +) + +:kskipmod + +::======================================================================================================================================== + +:: Multiple attempts to generate the ticket because in some cases, one attempt is not enough. + +set "_noxml=if not exist "%temp_%\GenuineTicket.xml"" + +"%temp_%/gatherosstatemodified.exe" GVLKExp=2038-01-19T03:14:07Z;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% +%_noxml% net stop sppsvc /y %nul% +%_noxml% call "%temp_%/gatherosstatemodified.exe" GVLKExp=2038-01-19T03:14:07Z;DownlevelGenuineState=1 +%_noxml% timeout /t 3 %nul% + +%_noxml% ( +call :dk_color %Red% "Generating GenuineTicket.xml [Failed] Aborting..." +goto :k_final +) else ( +echo Generating GenuineTicket.xml [Successful] +) + +::======================================================================================================================================== + +:: Copy GenuineTicket.xml to the root of C drive and exit if ticket generation option was used in script + +if %_gent%==1 ( +echo: +copy /y /b "%temp_%\GenuineTicket.xml" "%Systemdrive%\GenuineTicket.xml" %nul% +if not exist "%Systemdrive%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying GenuineTicket.xml to %Systemdrive%\ [Failed]" +) else ( +call :dk_color %Green% "Copying GenuineTicket.xml to %Systemdrive%\ [Successful]" +) +goto :k_final +) + +::======================================================================================================================================== + +:: clipup -v -o -altto & clipup -v -o both methods may fail if the username have spaces/special characters/non English names +:: Most correct way to apply a ticket is by restarting ClipSVC service but we can not check the log details in this way +:: To get the log details and also to correctly apply ticket, script will install tickets two times (service restart + clipup -v -o -altto ) + +set "tdir=%ProgramData%\Microsoft\Windows\ClipSVC\GenuineTicket" +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +if not exist "%tdir%\" md "%tdir%\" %nul% +copy /y /b "%temp_%\GenuineTicket.xml" "%tdir%\GenuineTicket.xml" %nul% + +if not exist "%tdir%\GenuineTicket.xml" ( +call :dk_color %Red% "Copying Ticket to ClipSVC Location [Failed]" +) + +set "_xmlexist=if exist "%tdir%\GenuineTicket.xml"" + +net stop sppsvc /y %nul% || net stop sppsvc /y %nul% +sc stop sppsvc %nul% + +clipup -v -o -altto %temp_%\ + +%_xmlexist% ( +net stop ClipSVC /y %nul% +net start ClipSVC /y %nul% +%_xmlexist% timeout /t 2 %nul% +%_xmlexist% timeout /t 2 %nul% + +%_xmlexist% ( +if exist "%tdir%\*.xml" del /f /q "%tdir%\*.xml" %nul% +call :dk_color %Red% "Installing GenuineTicket.xml [Failed With ClipSVC Service Restart Method]" +) +) + +::========================================================================================================================================== + +call :dk_product + +echo: +echo Activating... +echo: + +call :k_checkexp +if defined _k38 ( +set activ=1 +call :k_actinfo +goto :k_final +) + +:: Clear 180 Days KMS Activation lock with Windows SKU specific rearm and without the need to restart the system + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where ID='%app%' call ReArmsku %nul% +if %_wmic% EQU 0 %psc% "$null=([WMI]'SoftwareLicensingProduct=''%app%''').ReArmsku()" %nul% + +if %errorlevel%==0 ( +echo Applying SKU-ID Rearm [Successful] +) else ( +call :dk_color %Red% "Applying SKU-ID Rearm [Failed]" +) + +echo: +call :k_checkexp +if defined _k38 ( +set activ=1 +call :k_actinfo +goto :k_final +) + +:: Restart software protection service to refresh itself and run refresh license status and activation commands + +net stop sppsvc /y %nul% +net start sppsvc /y %nul% +call :dk_refresh +call :dk_act + +call :k_checkexp +if defined _k38 ( +set activ=1 +call :k_actinfo +goto :k_final +) + +call :dk_color %Red% "Activation Failed" +call :dk_color %Magenta% "Restart the system and try again / Check troubleshooting steps in MAS Extras option" + +::======================================================================================================================================== + +:k_final + +:: Remove the added Specific KMS Host (Local Host) if activation is not completed + +echo: +set k_error= +if defined regadd if not defined _k38 ( +%nul% reg delete "HKLM\%specific_kms%" /f +%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f +%nul% reg query "HKLM\%specific_kms%" && set k_error=1 +%nul% reg query "HKU\S-1-5-20\%specific_kms%" && set k_error=1 +if not defined k_error ( +echo Removing The Added Specific KMS Host [Successful] +) else ( +call :dk_color %Red% "Removing The Added Specific KMS Host [Failed]" +) +) + +:: Protect KMS38 if opted by the user and conditions are correct + +if defined regadd if defined _k38 if %_prot%==1 ( +%nul% call :regown "HKLM\%specific_kms%" "" S-1-5-32-544 "" Deny "SetValue,Delete" +%nul% reg delete "HKLM\%specific_kms%" /f +%nul% reg query "HKLM\%specific_kms%" && ( +call :dk_color %Gray% "Locking a Registry To Protect KMS38 [Successful]" +) || ( +call :dk_color %Red% "Locking a Registry To Protect KMS38 [Failed]" +) +) + +:: clipup.exe does not exist in server cor and acor editions by default, it was copied there with this script + +if exist "%temp_%\.*" rmdir /s /q "%temp_%\" %nul% +if defined a_cor if exist "%_clipup%" del /f /q "%_clipup%" %nul% + +if exist "%temp_%\" ( +call :dk_color %Red% "Cleaning Temp Files [Failed]" +) else ( +echo Cleaning Temp Files [Successful] +) + +if defined a_cor ( +if exist "%_clipup%" ( +call :dk_color %Red% "Deleting copied clipup.exe file [Failed]" +) else ( +echo Deleting copied clipup.exe file [Successful] +) +) + +if %osSKU%==175 ( +call :dk_color %Red% "ServerRdsh Editon does not officially support activation on non-azure platforms." +) + +if not defined activ call :dk_checkerrors + +if not defined activ if not defined error ( +echo Basic Diagnostic Tests [Error Not Found] +) + +goto :dk_done + +::======================================================================================================================================== + +:k_uninstall + +cls +mode 99, 28 +title Remove KMS38 Protection +set "RegKey=HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" +set "_ident=HKU\S-1-5-19\SOFTWARE\Microsoft\IdentityCRL" + +echo: +call :dk_ckeckwmic +call :k_checkexp + +:: It's better to not clean ClipSVC hence its skipped + +REM if defined _k38 ( +REM for %%# in (ClipSVC) do ( +REM sc query %%# | find /i "STOPPED" %nul% || net stop %%# /y %nul% +REM sc query %%# | find /i "STOPPED" %nul% || sc stop %%# %nul% +REM ) + +REM REM Thanks to @mspaintmsi for informing this command info + +REM rundll32 clipc.dll,ClipCleanUpState + +REM if exist "%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat" ( +REM call :dk_color %Red% "Cleaning ClipSVC Licences [Failed]" +REM ) else ( +REM echo Cleaning ClipSVC Licences [Successful] +REM ) + +REM REM Below registry key (Volatile & Protected) gets created after the ClipSVC License cleanup command, and gets automatically deleted after +REM REM system restart. It needs to be deleted to activate the system without restart. + +REM call :regown "%RegKey%" %nul% +REM reg delete "%RegKey%" /f %nul% + +REM reg query "%RegKey%" %nul% && ( +REM call :dk_color %Red% "Deleting a Volatile Registry [Failed]" +REM call :dk_color %Magenta% "Restart the system, that will delete this registry key automatically" +REM ) || ( +REM echo Deleting a Volatile Registry [Successful] +REM ) + +REM REM Clear HWID token related registry to fix activation incase if there is any corruption + +REM reg delete "%_ident%" /f %nul% +REM reg query "%_ident%" %nul% && ( +REM call :dk_color %Red% "Deleting a Registry [Failed] [%_ident%]" +REM ) || ( +REM echo Deleting a Registry [Successful] [%_ident%] +REM ) + +REM for %%# in (ClipSVC wlidsvc LicenseManager sppsvc) do (net stop %%# /y %nul% & net start %%# /y %nul%) +REM call :dk_refresh +REM ) + +set exist_= +%nul% reg query "HKLM\%specific_kms%" && ( +set exist_=1 +%nul% reg delete "HKLM\%specific_kms%" /f +) +%nul% reg delete "HKU\S-1-5-20\%specific_kms%" /f + +%nul% reg query "HKLM\%specific_kms%" && ( +%nul% call :regown "HKLM\%specific_kms%" +%nul% reg delete "HKLM\%specific_kms%" /f +) + +%nul% reg query "HKLM\%specific_kms%" && ( +call :dk_color %Red% "Removing Specific KMS Host [Failed]" +) || ( +if defined exist_ ( +echo Removing Specific KMS Host [Successful] +) else ( +echo Removing Specific KMS Host [Already Removed] +) +) + +goto :dk_done + +::======================================================================================================================================== + +:: A lean and mean snippet to set registry ownership and permission recursively +:: Written by @AveYo aka @BAU +:: pastebin.com/XTPt0JSC + +:: Modified by @abbodi1406 to make it work in ARM64 Windows 10 (builds older than 21277) where only x86 version of Powershell is installed. + +:: This code runs only if KMS38 protection option or complete uninstall option is used by the user in this script. + +:regown + +pushd "!_work!" +setlocal DisableDelayedExpansion + +set "0=%~nx0"&%psc% $A='%~1','%~2','%~3','%~4','%~5','%~6';iex(([io.file]::ReadAllText($env:0)-split':Own1\:.*')[1])&popd&setlocal EnableDelayedExpansion&exit/b:Own1: +$D1=[uri].module.gettype('System.Diagnostics.Process')."GetM`ethods"(42) |where {$_.Name -eq 'SetPrivilege'} #`:no-ev-warn +'SeSecurityPrivilege','SeTakeOwnershipPrivilege','SeBackupPrivilege','SeRestorePrivilege'|foreach {$D1.Invoke($null, @("$_",2))} +$path=$A[0]; $rk=$path-split'\\',2; switch -regex ($rk[0]){'[mM]'{$hv=2147483650};'[uU]'{$hv=2147483649};default{$hv=2147483648};} +$HK=[Microsoft.Win32.RegistryKey]::OpenBaseKey($hv, 256); $s=$A[1]; $sps=[Security.Principal.SecurityIdentifier] +$u=($A[2],'S-1-5-32-544')[!$A[2]];$o=($A[3],$u)[!$A[3]];$w=$u,$o |% {new-object $sps($_)}; $old=!$A[3];$own=!$old; $y=$s-eq'all' +$rar=new-object Security.AccessControl.RegistryAccessRule( $w[0], ($A[5],'FullControl')[!$A[5]], 1, 0, ($A[4],'Allow')[!$A[4]] ) +$x=$s-eq'none';function Own1($k){$t=$HK.OpenSubKey($k,2,'TakeOwnership');if($t){0,4|%{try{$o=$t.GetAccessControl($_)}catch{$old=0} +};if($old){$own=1;$w[1]=$o.GetOwner($sps)};$o.SetOwner($w[0]);$t.SetAccessControl($o); $c=$HK.OpenSubKey($k,2,'ChangePermissions') +$p=$c.GetAccessControl(2);if($y){$p.SetAccessRuleProtection(1,1)};$p.ResetAccessRule($rar);if($x){$p.RemoveAccessRuleAll($rar)} +$c.SetAccessControl($p);if($own){$o.SetOwner($w[1]);$t.SetAccessControl($o)};if($s){$($subkeys=$HK.OpenSubKey($k).GetSubKeyNames()) 2>$null; +foreach($n in $subkeys){Own1 "$k\$n"}}}};Own1 $rk[1];if($env:VO){get-acl Registry::$path|fl} #:Own1: lean & mean snippet by AveYo + +::======================================================================================================================================== + +:: Check KMS activation status + +:k_actinfo + +set xpr= +for /f "tokens=* delims=" %%# in ('%psc% "$([DateTime]::Now.addMinutes(%gpr%)).ToString('yyyy-MM-dd HH:mm:ss')" 2^>nul') do set "xpr=%%#" +call :dk_color %Green% "%winos% is activated till !xpr!" +exit /b + +:: Check remaining KMS activation grace period + +:k_checkexp + +set gpr=0 +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and Description like '%%KMSCLIENT%%' and PartialProductKey is not NULL) get GracePeriodRemaining /VALUE" 2^>nul') do set "gpr=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT GracePeriodRemaining FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND Description like ''%%KMSCLIENT%%'' AND PartialProductKey IS NOT NULL').Get()).GracePeriodRemaining | %% {echo ('GracePeriodRemaining='+$_)}" 2^>nul') do set "gpr=%%#" +if %gpr% GTR 259200 (set _k38=1) else (set _k38=) +exit /b + +:: Get Windows permanent activation status + +:dk_checkperm + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where (LicenseStatus='1' and GracePeriodRemaining='0' and PartialProductKey is not NULL) get Name /value 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Name FROM SoftwareLicensingProduct WHERE LicenseStatus=1 AND GracePeriodRemaining=0 AND PartialProductKey IS NOT NULL').Get()).Name | %% {echo ('Name='+$_)}" 2>nul | findstr /i "Windows" 1>nul && set _perm=1||set _perm= +exit /b + +:: Refresh license status + +:dk_refresh + +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% +if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% +exit /b + +:: Get Windows installed key channel + +:dk_channel + +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%# in ('wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" Get ProductKeyChannel /value 2^>nul') do set "_channel=%%#" +if %_wmic% EQU 0 for /f "tokens=2 delims==" %%# in ('%psc% "(([WMISEARCHER]'SELECT ProductKeyChannel FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).ProductKeyChannel | %% {echo ('ProductKeyChannel='+$_)}" 2^>nul') do set "_channel=%%#" +exit /b + +:: Activation command + +:dk_act + +if %_wmic% EQU 1 wmic path SoftwareLicensingProduct where "ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f' and PartialProductKey<>null" call Activate %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f'' AND PartialProductKey IS NOT NULL').Get()).Activate()" %nul% +exit /b + +:: Get Windows Activation IDs + +:dk_actids + +set applist= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) +exit /b + +:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) + +:dk_product + +set winos= +set d1=[DllImport(\"winbrand\",CharSet=CharSet.Unicode)]public static extern string BrandingFormatString(string s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $AP::BrandingFormatString('%%WINDOWS_LONG%%') +for /f "delims=" %%s in ('"%psc% %d2%"') do if not errorlevel 1 (set winos=%%s) +echo "%winos%" | find /i "Windows" 1>nul || ( +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +if %winbuild% GEQ 22000 ( +set winos=!winos:Windows 10=Windows 11! +) +) +exit /b + +:: Check wmic.exe + +:dk_ckeckwmic + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) +exit /b + +:dk_initial + +echo: +echo Initializing... + +:: Check and enable WinMgmt, sppsvc services if required + +for %%# in (WinMgmt sppsvc) do ( +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b NEQ 0x2 ( +echo: +echo Enabling %%# service... +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% || echo Failed +if /i %%#==WinMgmt sc config %%# start= auto %nul% || echo Failed +) +sc start %%# %nul% +if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 ( +echo: +echo Starting %%# service... +sc start %%# +echo: +call :dk_color %Red% "Failed to start [%%#] service, rest of the process may take a long time..." +) +) + +:: Check WMI and SPP Errors + +call :dk_ckeckwmic + +set e_wmi= +set e_wmispp= +call :dk_actids + +if not defined applist ( +net stop sppsvc /y %nul% +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if !errorlevel! NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +call :dk_refresh + +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 set e_wmi=1 + +if defined e_wmi (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +call :dk_actids +) +exit /b + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. + +:dk_pkey + +set pkey= +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int SkuGetProductKeyForEdition(int e, string c, out string k, out string p); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k=''; $null=$AP::SkuGetProductKeyForEdition(%1, %2, [ref]$k, [ref]$null); $k +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:dk_pkeychannel + +set k=%1 +set pkeychannel= +set p=%SystemRoot%\System32\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms +set m=[System.Runtime.InteropServices.Marshal] +set d1=[DllImport(\"PidGenX.dll\",CharSet=CharSet.Unicode)]public static extern int PidGenX(string k,string p,string m,int u,IntPtr i,IntPtr d,IntPtr f); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k='%k%'; $p='%p%'; $r=[byte[]]::new(0x04F8); $r[0]=0xF8; $r[1]=0x04; $f=%m%::AllocHGlobal(1272); %m%::Copy($r,0,$f,1272); +set d3=%d2% [void]$AP::PidGenX($k,$p,\"00000\",0,0,0,$f); %m%::Copy($f,$r,0,1272); %m%::FreeHGlobal($f); [System.Text.Encoding]::Unicode.GetString($r, 1016, 128).Replace('0','') +for /f %%a in ('%psc% "%d3%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:dk_gvlk + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (Volume:GVLK) do ( +call :dk_pkey %osSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) +exit /b + +::======================================================================================================================================== + +:dk_checkerrors + +:: Check if the services are able to run or not +:: Workarounds are added to get correct status and error code because sc query doesn't output correct results in some conditions + +set serv_e= +for %%# in (%_serv%) do ( +set errorcode= +set checkerror= +sc query %%# | find /i ": 4 RUNNING" %nul% || net start %%# /y %nul% +sc start %%# %nul% +set errorcode=!errorlevel! +if !errorcode! NEQ 1056 if !errorcode! NEQ 0 set checkerror=1 +sc query %%# | find /i ": 4 RUNNING" %nul% || set checkerror=1 +if defined checkerror if defined serv_e (set "serv_e=!serv_e!, %%#-!errorcode!") else (set "serv_e=%%#-!errorcode!") +) + +if defined serv_e ( +set error=1 +call :dk_color %Red% "Starting Services [Failed] [%serv_e%]" +) + +:: Various error checks + +set token=0 +if exist %Systemdrive%\Windows\System32\spp\store\2.0\tokens.dat set token=1 +if exist %Systemdrive%\Windows\System32\spp\store_test\2.0\tokens.dat set token=1 +if %token%==0 ( +set error=1 +call :dk_color %Red% "Checking SPP tokens.dat [Not Found]" +) + +DISM /English /Online /Get-CurrentEdition %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking DISM [Not Responding] %error_code%" +) + +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +set error=1 +call :dk_color %Red% "Checking Powershell [Not Responding]" +) + +for %%# in (wmic.exe) do @if "%%~$PATH:#"=="" ( +set error=1 +call :dk_color %Gray% "Checking WMIC.exe [Not Found]" +) + +reg query "HKU\S-1-5-20\Software\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform\PersistedTSReArmed" %nul% && ( +set error=1 +call :dk_color %Red% "Checking Rearm [System Restart Is Required]" +) + +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ClipSVC\Volatile\PersistedSystemState" %nul% && ( +set error=1 +call :dk_color %Red% "Checking ClipSVC [System Restart Is Required]" +) + +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" 2^>nul') do if /i %%b NEQ 0x0 ( +reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform" /v "SkipRearm" /t REG_DWORD /d "0" /f %nul% +call :dk_color %Red% "Checking SkipRearm [Default 0 Value Not Found, Changing To 0]" +net stop sppsvc /y %nul% +net start sppsvc /y %nul% +set error=1 +) + +set _wsh=1 +reg query "HKCU\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +reg query "HKLM\SOFTWARE\Microsoft\Windows Script Host\Settings" /v Enabled 2>nul | find /i "0x0" 1>nul && (set _wsh=0) +if %_wsh% EQU 0 ( +set error=1 +call :dk_color %Gray% "Checking Windows Script Host [Disabled]" +) + +cscript //nologo %windir%\system32\slmgr.vbs /dlv %nul% +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" +if %error_code% NEQ 0 ( +set error=1 +call :dk_color %Red% "Checking slmgr /dlv [Not Responding] %error_code%" +) + +if not defined applist ( +set error=1 +call :dk_color %Red% "Checking WMI/SPP [Not Responding] [%e_wmispp%]" +) + +set nil= +set _sppint= +if not %_gent%==1 if not defined error ( +for %%# in (SppE%nil%xtComObj.exe,sppsvc.exe) do ( +reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Ima%nil%ge File Execu%nil%tion Options\%%#" %nul% && set _sppint=1 +) +) + +if defined _sppint ( +call :dk_color %Red% "Checking SPP Interference In IFEO [Found] [Uninstall KMS Activator If There Is Any]" +set error=1 +) +exit /b + +::======================================================================================================================================== + +:dk_color + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' +) +exit /b + +:dk_color2 + +if %_NCS% EQU 1 ( +echo %esc%[%~1%~2%esc%[%~3%~4%esc%[0m +) else ( +%psc% write-host -back '%1' -fore '%2' '%3' -NoNewline; write-host -back '%4' -fore '%5' '%6' +) +exit /b + +::======================================================================================================================================== + +:dk_done + +echo: +if %_unattended%==1 timeout /t 2 & exit /b +call :dk_color %_Yellow% "Press any key to %_exitmsg%..." +pause >nul +exit /b + +::======================================================================================================================================== + +:: 1st column = Activation ID +:: 2nd column = GVLK (Generic volume licensing key) +:: 3rd column = SKU ID +:: 4th column = WMI Edition ID (For reference only) +:: 5th column = Build Branch name incase same Edition ID is used in different OS versions with different key (For reference only) +:: Separator = "_" + +:kms38data + +for %%# in ( +73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2YT43___4_Enterprise +9bd77860-9b31-4b7b-96ad-2564017315bf_VDYBN-27WPP-V4HQT-9VMD4-VMK7H___7_ServerStandard_FE +de32eafd-aaee-4662-9444-c1befb41bde2_N69G4-B89J2-4G8F4-WWYCC-J464C___7_ServerStandard_RS5 +8c1c5410-9f39-4805-8c9d-63a07706358f_WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY___7_ServerStandard_RS1 +ef6cfc9f-8c5d-44ac-9aad-de6a2ea0ae03_WX4NM-KYWYW-QJJR4-XV3QB-6VM33___8_ServerDatacenter_FE +34e1ae55-27f8-4950-8877-7a03be5fb181_WMDGN-G9PQG-XVVXX-R3X43-63DFG___8_ServerDatacenter_RS5 +21c56779-b449-4d20-adfc-eece0e1ad74b_CB7KF-BWN84-R7R2Y-793K2-8XDDG___8_ServerDatacenter_RS1 +e272e3e2-732f-4c65-a8f0-484747d0d947_DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4__27_EnterpriseN +2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T83GX__48_Professional +a80b5abf-76ad-428b-b05d-a47d2dffeebf_MH37W-N47XK-V7XM9-C7227-GCQG9__49_ProfessionalN +034d3cbb-5d4b-4245-b3f8-f84571314078_WVDHN-86M7X-466P6-VHXV7-YY726__50_ServerSolution_RS5 +2b5a1b0f-a5ab-4c54-ac2f-a6d94824a283_JCKRF-N37P4-C2D82-9YXRT-4M63B__50_ServerSolution_RS1 +7b9e1751-a8da-4f75-9560-5fadfe3d8e38_3KHY7-WNT83-DGQKR-F7HPR-844BM__98_CoreN +a9107544-f4a0-4053-a96a-1479abdef912_PVMJN-6DFY6-9CCP6-7BKTT-D3WVR__99_CoreCountrySpecific +cd918a57-a41b-4c82-8dce-1a538e221a83_7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH_100_CoreSingleLanguage +58e97c99-f377-4ef1-81d5-4ad5522b5fd8_TX9XD-98N7V-6WMQ6-BX7FG-H8Q99_101_Core +7b4433f4-b1e7-4788-895a-c45378d38253_QN4C6-GBJD2-FB422-GHWJK-GJG2R_110_ServerCloudStorage +8de8eb62-bbe0-40ac-ac17-f75595071ea3_GRFBW-QNDC4-6QBHG-CCK3B-2PR88_120_ServerARM64_RS5 +43d9af6e-5e86-4be8-a797-d072a046896c_K9FYF-G6NCK-73M32-XMVPY-F9DRR_120_ServerARM64_RS4 +e0c42288-980c-4788-a014-c080d2e1926e_NW6C2-QMPVW-D7KKK-3GKT6-VCFB2_121_Education +3c102355-d027-42c6-ad23-2e7ef8a02585_2WH4N-8QGBV-H22JP-CT43Q-MDWWJ_122_EducationN +32d2fab3-e4a8-42c2-923b-4bf4fd13e6ee_M7XTQ-FN8P6-TTKYV-9D4CC-J462D_125_EnterpriseS_RS5,VB +2d5a5a60-3040-48bf-beb0-fcd770c20ce0_DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ_125_EnterpriseS_RS1 +7b51a46c-0c04-4e8f-9af4-8496cca90d5e_WNMTR-4C88C-JK8YV-HQ7T2-76DF9_125_EnterpriseS_TH1 +7103a333-b8c8-49cc-93ce-d37c09687f92_92NFX-8DJQP-P6BBQ-THF9C-7CG2H_126_EnterpriseSN_RS5,VB +9f776d83-7156-45b2-8a5c-359b9c9f22a3_QFFDN-GRT3P-VKWWX-X7T3R-8B639_126_EnterpriseSN_RS1 +87b838b7-41b6-4590-8318-5797951d8529_2F77B-TNFGY-69QQF-B8YKP-D69TJ_126_EnterpriseSN_TH1 +39e69c41-42b4-4a0a-abad-8e3c10a797cc_QFND9-D3Y9C-J3KKY-6RPVP-2DPYV_145_ServerDatacenterACor_FE +90c362e5-0da1-4bfd-b53b-b87d309ade43_6NMRW-2C8FM-D24W7-TQWMY-CWH2D_145_ServerDatacenterACor_RS5 +e49c08e7-da82-42f8-bde2-b570fbcae76c_2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG_145_ServerDatacenterACor_RS3 +f5e9429c-f50b-4b98-b15c-ef92eb5cff39_67KN8-4FYJW-2487Q-MQ2J7-4C4RG_146_ServerStandardACor_FE +73e3957c-fc0c-400d-9184-5f7b6f2eb409_N2KJX-J94YW-TQVFB-DG9YT-724CC_146_ServerStandardACor_RS5 +61c5ef22-f14f-4553-a824-c4b31e84b100_PTXN8-JFHJM-4WC78-MPCBR-9W4KR_146_ServerStandardACor_RS3 +82bbc092-bc50-4e16-8e18-b74fc486aec3_NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J_161_ProfessionalWorkstation +4b1571d3-bafb-4b40-8087-a961be2caf65_9FNHH-K3HBT-3W4TD-6383H-6XYWF_162_ProfessionalWorkstationN +3f1afc82-f8ac-4f6c-8005-1d233e606eee_6TP4R-GNPTD-KYYHQ-7B7DP-J447Y_164_ProfessionalEducation +5300b18c-2e33-4dc2-8291-47ffcec746dd_YVWGF-BXNMC-HTQYQ-CPQ99-66QFC_165_ProfessionalEducationN +8c8f0ad3-9a43-4e05-b840-93b8d1475cbc_6N379-GGTMK-23C6M-XVVTC-CKFRQ_168_ServerAzureCor_FE +a99cc1f0-7719-4306-9645-294102fbff95_FDNH6-VW9RW-BXPJ7-4XTYG-239TB_168_ServerAzureCor_RS5 +3dbf341b-5f6c-4fa7-b936-699dce9e263f_VP34G-4NPPG-79JTQ-864T4-R3MQX_168_ServerAzureCor_RS1 +e0b2d383-d112-413f-8a80-97f373a5820c_YYVX9-NTFWV-6MDM3-9PT4T-4M68B_171_EnterpriseG +e38454fb-41a4-4f59-a5dc-25080e354730_44RPN-FTY23-9VTTB-MP9BX-T84FV_172_EnterpriseGN +ec868e65-fadf-4759-b23e-93fe37f2cc29_CPWHC-NT2C7-VYW78-DHDB2-PG3GK_175_ServerRdsh_RS5 +e4db50ea-bda1-4566-b047-0ca50abc6f07_7NBT4-WGBQX-MP4H7-QXFF8-YP3KX_175_ServerRdsh_RS3 +0df4f814-3f57-4b8b-9a9d-fddadcd69fac_NBTWJ-3DR69-3C4V8-C26MC-GQ9M6_183_CloudE +59eb965c-9150-42b7-a0ec-22151b9897c5_KBN8V-HFGQ4-MGXVD-347P6-PDQGT_191_IoTEnterpriseS_NI +d30136fc-cb4b-416e-a23d-87207abc44a9_6XN7V-PCBDC-BDBRH-8DQY7-G6R44_202_CloudEditionN +ca7df2e3-5ea0-47b8-9ac1-b1be4d8edd69_37D7F-N49CB-WQR8W-TBJ73-FM8RX_203_CloudEdition +19b5e0fb-4431-46bc-bac1-2f1873e4ae73_NTBV8-9K7Q8-V27C6-M2BTV-KHMXV_407_ServerTurbine +) do ( +for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( +if %1==getkey if not defined key echo "!applist!" | find /i "%%A" >nul && set key=%%B +) +) +exit /b + +::======================================================================================================================================== + +:: Below code is used to get alternate edition name and key if current edition doesn't support KMS38 activation + +:: IoTEnterpriseS 2021 won't be converted to EnterpriseS 2021 to enable KMS38 activation because later has 5 years less update support +:: ProfessionalCountrySpecific won't be converted because it's not a good idea to change CountrySpecific editions + +:: 1st column = Current SKU ID +:: 2nd column = Current Edition Name +:: 3rd column = Alternate Edition Activation ID +:: 4th column = Alternate Edition GVLK +:: 5th column = Alternate Edition Name +:: Separator = _ + + +:kms38fallback + +if %_chan%==0 exit /b + +for %%# in ( +188_IoTEnterprise_______________73111121-5638-40f6-bc11-f1d7b0d64300_NPPR9-FWDCX-D2C8J-H872K-2YT43_Enterprise +138_ProfessionalSingleLanguage__2de67392-b7a7-462a-b1ca-108dd189f588_W269N-WFGWX-YVC9B-4J6C9-T83GX_Professional +) do ( +for /f "tokens=1-5 delims=_" %%A in ("%%#") do if %osSKU%==%%A ( +echo "!applist!" | find /i "%%C" 1>nul && ( +set altkey=%%D +set curedition=%%B +set altedition=%%E +) +) +) +exit /b + +::======================================================================================================================================== + +:: Script changes below values in official gatherosstate.exe so that it can generate usable ticket in Windows unlicensed state + +:hex:[ +$bytes = [System.IO.File]::ReadAllBytes("gatherosstate.exe") +$bytes[320] = 0x9c +$bytes[321] = 0xfb +$bytes[322] = 0x05 +$bytes[13672] = 0x25 +$bytes[13674] = 0x73 +$bytes[13676] = 0x3b +$bytes[13678] = 0x00 +$bytes[13680] = 0x00 +$bytes[13682] = 0x00 +$bytes[13684] = 0x00 +$bytes[32748] = 0xe9 +$bytes[32749] = 0x9e +$bytes[32750] = 0x00 +$bytes[32751] = 0x00 +$bytes[32752] = 0x00 +$bytes[32894] = 0x8b +$bytes[32895] = 0x44 +$bytes[32897] = 0x64 +$bytes[32898] = 0x85 +$bytes[32899] = 0xc0 +$bytes[32900] = 0x0f +$bytes[32901] = 0x85 +$bytes[32902] = 0x1c +$bytes[32903] = 0x02 +$bytes[32904] = 0x00 +$bytes[32906] = 0xe9 +$bytes[32907] = 0x3c +$bytes[32908] = 0x01 +$bytes[32909] = 0x00 +$bytes[32910] = 0x00 +$bytes[32911] = 0x85 +$bytes[32912] = 0xdb +$bytes[32913] = 0x75 +$bytes[32914] = 0xeb +$bytes[32915] = 0xe9 +$bytes[32916] = 0x69 +$bytes[32917] = 0xff +$bytes[32918] = 0xff +$bytes[32919] = 0xff +$bytes[33094] = 0xe9 +$bytes[33095] = 0x80 +$bytes[33096] = 0x00 +$bytes[33097] = 0x00 +$bytes[33098] = 0x00 +$bytes[33449] = 0x64 +$bytes[33576] = 0x8d +$bytes[33577] = 0x54 +$bytes[33579] = 0x24 +$bytes[33580] = 0xe9 +$bytes[33581] = 0x55 +$bytes[33582] = 0x01 +$bytes[33583] = 0x00 +$bytes[33584] = 0x00 +$bytes[34189] = 0x59 +$bytes[34190] = 0xeb +$bytes[34191] = 0x28 +$bytes[34238] = 0xe9 +$bytes[34239] = 0x4f +$bytes[34240] = 0x00 +$bytes[34241] = 0x00 +$bytes[34242] = 0x00 +$bytes[34346] = 0x24 +$bytes[34376] = 0xeb +$bytes[34377] = 0x63 +[System.IO.File]::WriteAllBytes("gatherosstatemodified.exe", $bytes) +:hex:] + +::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Extras/Install_W10_11_HWID_Key.cmd b/MAS/Separate-Files-Version/Install_HWID_Key.cmd similarity index 57% rename from MAS/Separate-Files-Version/Extras/Install_W10_11_HWID_Key.cmd rename to MAS/Separate-Files-Version/Install_HWID_Key.cmd index 9c1c3bf..c25d782 100644 --- a/MAS/Separate-Files-Version/Extras/Install_W10_11_HWID_Key.cmd +++ b/MAS/Separate-Files-Version/Install_HWID_Key.cmd @@ -7,7 +7,7 @@ :: :: This script is a part of 'Microsoft Activation Scripts' (MAS) project. :: -:: Homepage: windowsaddict.ml +:: Homepage: massgrave.dev :: Email: windowsaddict@protonmail.com :: ::============================================================================ @@ -23,33 +23,53 @@ :: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows :: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows -if exist %SystemRoot%\Sysnative\cmd.exe ( set "_cmdf=%~f0" +for %%# in (%*) do ( +if /i "%%#"=="r1" set r1=1 +if /i "%%#"=="r2" set r2=1 +) + +if exist %SystemRoot%\Sysnative\cmd.exe if not defined r1 ( setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" +start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %* r1" exit /b ) :: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" +if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 if not defined r2 ( setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" +start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %* r2" exit /b ) :: Set Path variable, it helps if it is misconfigured in the system -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" +set "PATH=%SystemRoot%\System32;%SystemRoot%\System32\wbem;%SystemRoot%\System32\WindowsPowerShell\v1.0\" +if exist "%SystemRoot%\Sysnative\reg.exe" ( +set "PATH=%SystemRoot%\Sysnative;%SystemRoot%\Sysnative\wbem;%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\;%PATH%" +) + +:: Check LF line ending + +pushd "%~dp0" +>nul findstr /rxc:".*" "%~nx0" +if not %errorlevel%==0 ( +echo: +echo Error: This is not a correct file. It has LF line ending issue. +echo: +echo Press any key to exit... +pause >nul +popd +exit /b +) +popd ::======================================================================================================================================== cls color 07 -title Install Windows 10-11 Retail/MAK/OEM Key +title Install Windows Retail/OEM/MAK Key set _args= set _elev= @@ -68,7 +88,7 @@ if /i "%%A"=="/u" set _unattended=1 set winbuild=1 set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" +set psc=powershell.exe for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G set _NCS=1 @@ -90,9 +110,6 @@ set "_Yellow="Black" "Yellow"" set "nceline=echo: &echo ==== ERROR ==== &echo:" set "eline=echo: &call :dk_color %Red% "==== ERROR ====" &echo:" -set slp=SoftwareLicensingProduct -set sls=SoftwareLicensingService -set wApp=55c92734-d682-4d71-983e-d6ec3f16059f set "line=echo ___________________________________________________________________________________________" ::======================================================================================================================================== @@ -104,9 +121,9 @@ echo Project is supported for Windows 10/11. goto ins_done ) -if %winbuild% GEQ 22483 if not exist %_psc% ( +for %%# in (powershell.exe) do @if "%%~$PATH:#"=="" ( %nceline% -echo Powershell is not installed in the system. +echo Unable to find powershell.exe in the system. goto ins_done ) @@ -114,10 +131,13 @@ goto ins_done :: Fix for the special characters limitation in path name +set "_work=%~dp0" +if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" + set "_batf=%~f0" set "_batp=%_batf:'=''%" -set "_PSarg="""%~f0""" -el %_args%" +set _PSarg="""%~f0""" -el %_args% set "_ttemp=%temp%" @@ -126,6 +146,7 @@ setlocal EnableDelayedExpansion ::======================================================================================================================================== echo "!_batf!" | find /i "!_ttemp!" 1>nul && ( +if /i not "!_work!"=="!_ttemp!" ( %eline% echo Script is launched from the temp folder, echo Most likely you are running the script directly from the archive file. @@ -133,13 +154,14 @@ echo: echo Extract the archive file and launch the script from the extracted folder. goto ins_done ) +) ::======================================================================================================================================== :: Elevate script as admin and pass arguments and preventing loop %nul% reg query HKU\S-1-5-19 || ( -if not defined _elev %nul% %_psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b +if not defined _elev %nul% %psc% "start cmd.exe -arg '/c \"!_PSarg:'=''!\"' -verb runas" && exit /b %eline% echo This script require administrator privileges. echo To do so, right click on this script and select 'Run as administrator'. @@ -148,53 +170,30 @@ goto ins_done ::======================================================================================================================================== -mode 98, 30 -echo: -echo Initializing... - -:: Check WMI and sppsvc Errors - -set applist= -net start sppsvc /y %nul% -if %winbuild% LSS 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path %slp% where (ApplicationID='%wApp%') get ID /VALUE" 2^>nul')" -if %winbuild% GEQ 22483 set "chkapp=for /f "tokens=2 delims==" %%a in ('%_psc% "(([WMISEARCHER]'SELECT ID FROM %slp% WHERE ApplicationID=''%wApp%''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" -%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) - -if not defined applist ( -%eline% -echo Failed running WMI query check, verify that these services are working correctly -echo Windows Management Instrumentation [WinMgmt], Software Protection [sppsvc] -echo: -echo Script will try to enable these services. -echo: -if %_unattended%==0 ( -call :dk_color %_Yellow% "Press any key to continue..." -pause >nul -) -for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\WinMgmt /v Start 2^>nul') do if /i %%b equ 0x4 (sc config WinMgmt start= auto %nul%) -net start WinMgmt /y %nul% -net stop sppsvc /y %nul% -net start sppsvc /y %nul% cls -) +mode 98, 30 -::======================================================================================================================================== - -:: Refresh license status, it helps to get correct product name in Windows 17134 and later builds - -call :dk_refresh +call :dk_initial :: Check product name -set winos= -for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +cls +call :dk_product ::======================================================================================================================================== -:: Check SKU value +:: Check SKU value / Check in multiple places to find Edition change corruption set osSKU= -for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "osSKU=%%a" +set regSKU= +set wmiSKU= + +for /f "tokens=3 delims=." %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\ProductOptions" /v OSProductPfn 2^>nul') do set "regSKU=%%a" +if %_wmic% EQU 1 for /f "tokens=2 delims==" %%a in ('"wmic Path Win32_OperatingSystem Get OperatingSystemSKU /format:LIST" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" +if %_wmic% EQU 0 for /f "tokens=1" %%a in ('%psc% "([WMI]'Win32_OperatingSystem=@').OperatingSystemSKU" 2^>nul') do if not errorlevel 1 set "wmiSKU=%%a" + +set osSKU=%wmiSKU% +if not defined osSKU set osSKU=%regSKU% if not defined osSKU ( %eline% @@ -207,18 +206,34 @@ goto ins_done :: Detect key set key= +set pkey= set _chan= if defined applist call :hwiddata attempt1 if not defined key call :hwiddata attempt2 +set pkey= +if not defined key call :dk_hwidkey %nul% + if not defined key ( %eline% -echo Unable to find Key for [%winos% ^| SKU:%osSKU% ^| %winbuild%] -if %winbuild% GTR 19044 echo Make sure you are using updated version of the script +%psc% $ExecutionContext.SessionState.LanguageMode 2>nul | find /i "Full" 1>nul || ( +echo PowerShell is not responding properly. +echo: +) +echo Unable to find HWID key for [%winos% ^| SKU:%osSKU% ^| %winbuild%] +echo Make sure you are using updated version of the script +echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system and try again. +) goto ins_done ) +if defined key call :dk_pkeychannel %key% +if defined pkeychannel set _chan=%pkeychannel% Key + ::======================================================================================================================================== if %_unattended%==1 goto insertkey @@ -226,10 +241,15 @@ if %_unattended%==1 goto insertkey cls %line% echo: -echo Install [%winos% ^| SKU:%osSKU% ^| %winbuild%] %_chan% Key +echo Install [%winos% ^| SKU:%osSKU% ^| %winbuild%] %_chan% echo [%key%] %line% echo: +if not "%regSKU%"=="%wmiSKU%" ( +echo Note: Difference Found In SKU Value- WMI:%wmiSKU% Reg:%regSKU% +echo Restart the system to resolve it +echo: +) call :dk_color %_Green% "Press [1] to Continue or [2] to Exit" choice /C:21 /N if %errorlevel%==1 exit /b @@ -242,23 +262,28 @@ cls cls %line% -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call InstallProductKey ProductKey="%key%" %nul% -if %winbuild% GEQ 22483 %_psc% "(([WMISEARCHER]'SELECT Version FROM %sls%').Get()).InstallProductKey('%key%')" %nul% +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call InstallProductKey ProductKey="%key%" %nul% +if %_wmic% EQU 0 %psc% "(([WMISEARCHER]'SELECT Version FROM SoftwareLicensingService').Get()).InstallProductKey('%key%')" %nul% if not %errorlevel%==0 cscript //nologo %windir%\system32\slmgr.vbs /ipk %key% %nul% -if %errorlevel%==0 ( +set error_code=%errorlevel% +cmd /c exit /b %error_code% +if %error_code% NEQ 0 set "error_code=[0x%=ExitCode%]" + +if %error_code% EQU 0 ( call :dk_refresh echo: echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] -echo Installing %_chan% Key [%key%] +echo Installing %_chan% [%key%] echo: call :dk_color %Green% "[Successful]" ) else ( %eline% echo [%winos% ^| SKU:%osSKU% ^| %winbuild%] -echo Installing %_chan% Key [%key%] +echo Installing %_chan% [%key%] echo: -call :dk_color %Red% "[Unsuccessful]%actidnotfound%" +call :dk_color %Red% "[Unsuccessful] %error_code%" +if not defined applist echo Not Respoding: %e_wmispp% ) %line% @@ -278,8 +303,131 @@ exit /b :dk_refresh -if %winbuild% LSS 22483 wmic path %sls% where __CLASS='%sls%' call RefreshLicenseStatus %nul% -if %winbuild% GEQ 22483 %_psc% "$null=(([WMICLASS]'%sls%').GetInstances()).RefreshLicenseStatus()" %nul% +if %_wmic% EQU 1 wmic path SoftwareLicensingService where __CLASS='SoftwareLicensingService' call RefreshLicenseStatus %nul% +if %_wmic% EQU 0 %psc% "$null=(([WMICLASS]'SoftwareLicensingService').GetInstances()).RefreshLicenseStatus()" %nul% +exit /b + +:: Get Windows Activation IDs + +:dk_actids + +set applist= +if %_wmic% EQU 1 set "chkapp=for /f "tokens=2 delims==" %%a in ('"wmic path SoftwareLicensingProduct where (ApplicationID='55c92734-d682-4d71-983e-d6ec3f16059f') get ID /VALUE" 2^>nul')" +if %_wmic% EQU 0 set "chkapp=for /f "tokens=2 delims==" %%a in ('%psc% "(([WMISEARCHER]'SELECT ID FROM SoftwareLicensingProduct WHERE ApplicationID=''55c92734-d682-4d71-983e-d6ec3f16059f''').Get()).ID ^| %% {echo ('ID='+$_)}" 2^>nul')" +%chkapp% do (if defined applist (call set "applist=!applist! %%a") else (call set "applist=%%a")) +exit /b + +:: Get Product name (WMI/REG methods are not reliable in all conditions, hence winbrand.dll method is used) + +:dk_product + +set winos= +set d1=[DllImport(\"winbrand\",CharSet=CharSet.Unicode)]public static extern string BrandingFormatString(string s); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $AP::BrandingFormatString('%%WINDOWS_LONG%%') +for /f "delims=" %%s in ('"%psc% %d2%"') do if not errorlevel 1 (set winos=%%s) +echo "%winos%" | find /i "Windows" 1>nul || ( +for /f "skip=2 tokens=2*" %%a in ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName 2^>nul') do set "winos=%%b" +if %winbuild% GEQ 22000 ( +set winos=!winos:Windows 10=Windows 11! +) +) +exit /b + +:: Check wmic.exe + +:dk_ckeckwmic + +set _wmic=0 +for %%# in (wmic.exe) do @if not "%%~$PATH:#"=="" ( +wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul && set _wmic=1 +) +exit /b + +:dk_initial + +echo: +echo Initializing... + +:: Check and enable WinMgmt, sppsvc services if required + +for %%# in (WinMgmt sppsvc) do ( +for /f "skip=2 tokens=2*" %%a in ('reg query HKLM\SYSTEM\CurrentControlSet\Services\%%# /v Start 2^>nul') do if /i %%b NEQ 0x2 ( +echo: +echo Enabling %%# service... +if /i %%#==sppsvc sc config %%# start= delayed-auto %nul% || echo Failed +if /i %%#==WinMgmt sc config %%# start= auto %nul% || echo Failed +) +sc start %%# %nul% +if !errorlevel! NEQ 1056 if !errorlevel! NEQ 0 ( +echo: +echo Starting %%# service... +sc start %%# +echo: +call :dk_color %Red% "Failed to start [%%#] service, rest of the process may take a long time..." +) +) + +:: Check WMI and SPP Errors + +call :dk_ckeckwmic + +set e_wmi= +set e_wmispp= +call :dk_actids + +if not defined applist ( +net stop sppsvc /y %nul% +cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +if !errorlevel! NEQ 0 cscript //nologo %windir%\system32\slmgr.vbs /rilc %nul% +call :dk_refresh + +if %_wmic% EQU 1 wmic path Win32_ComputerSystem get CreationClassName /value 2>nul | find /i "computersystem" 1>nul +if %_wmic% EQU 0 %psc% "Get-CIMInstance -Class Win32_ComputerSystem | Select-Object -Property CreationClassName" 2>nul | find /i "computersystem" 1>nul +if !errorlevel! NEQ 0 set e_wmi=1 + +if defined e_wmi (set e_wmispp=WMI, SPP) else (set e_wmispp=SPP) +call :dk_actids +) +exit /b + +::======================================================================================================================================== + +:: Get Product Key from pkeyhelper.dll for future new editions +:: It works on Windows 10 1803 (17134) and later builds. (Partially on 1803 & 1809, fully on 1903 and later) + +:dk_pkey + +set pkey= +set d1=[DllImport(\"pkeyhelper.dll\",CharSet=CharSet.Unicode)]public static extern int SkuGetProductKeyForEdition(int e, string c, out string k, out string p); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k=''; $null=$AP::SkuGetProductKeyForEdition(%1, %2, [ref]$k, [ref]$null); $k +for /f %%a in ('%psc% "%d2%"') do if not errorlevel 1 (set pkey=%%a) +exit /b + +:: Get channel name for the key which was extracted from pkeyhelper.dll + +:dk_pkeychannel + +set k=%1 +set pkeychannel= +set p=%SystemRoot%\System32\spp\tokens\pkeyconfig\pkeyconfig.xrm-ms +set m=[System.Runtime.InteropServices.Marshal] +set d1=[DllImport(\"PidGenX.dll\",CharSet=CharSet.Unicode)]public static extern int PidGenX(string k,string p,string m,int u,IntPtr i,IntPtr d,IntPtr f); +set d2=$AP=Add-Type -Member '%d1%' -Name D1 -PassThru; $k='%k%'; $p='%p%'; $r=[byte[]]::new(0x04F8); $r[0]=0xF8; $r[1]=0x04; $f=%m%::AllocHGlobal(1272); %m%::Copy($r,0,$f,1272); +set d3=%d2% [void]$AP::PidGenX($k,$p,\"00000\",0,0,0,$f); %m%::Copy($f,$r,0,1272); %m%::FreeHGlobal($f); [System.Text.Encoding]::Unicode.GetString($r, 1016, 128).Replace('0','') +for /f %%a in ('%psc% "%d3%"') do if not errorlevel 1 (set pkeychannel=%%a) +exit /b + +:dk_hwidkey + +for %%# in (pkeyhelper.dll) do @if "%%~$PATH:#"=="" exit /b +for %%# in (Retail OEM:NONSLP OEM:DM Volume:MAK) do ( +call :dk_pkey %osSKU% '%%#' +if defined pkey call :dk_pkeychannel !pkey! +if /i [!pkeychannel!]==[%%#] ( +set key=!pkey! +exit /b +) +) exit /b ::======================================================================================================================================== @@ -289,7 +437,7 @@ exit /b if %_NCS% EQU 1 ( echo %esc%[%~1%~2%esc%[0m ) else ( -if not exist %_psc% (echo %~3) else (%_psc% write-host -back '%1' -fore '%2' '%3') +%psc% write-host -back '%1' -fore '%2' '%3' ) exit /b @@ -306,6 +454,7 @@ exit /b :: Key preference is in the following order. Retail > OEM:NONSLP > OEM:DM > Volume:MAK + :hwiddata for %%# in ( @@ -347,17 +496,24 @@ ed655016-a9e8-4434-95d9-4345352c2552_QPM6N-7J2WJ-P88HH-P3YRH-YY74H_191_0_OEM:NON d4bdc678-0a4b-4a32-a5b3-aaa24c3b0f24_K9VKN-3BGWV-Y624W-MCRMQ-BHDCD_202_0_____Retail_CloudEditionN 92fb8726-92a8-4ffc-94ce-f82e07444653_KY7PN-VR6RX-83W6Y-6DDYQ-T6R4W_203_0_____Retail_CloudEdition ) do ( -for /f "tokens=1-7 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( +for /f "tokens=1-8 delims=_" %%A in ("%%#") do if %osSKU%==%%C ( -if %1==attempt1 if not defined key echo "!applist!" | find /i "%%A" 1>nul && (set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1) +if %1==attempt1 if not defined key ( +echo "!applist!" | find /i "%%A" 1>nul && ( +set key=%%B +) +) if %1==attempt2 if not defined key ( -set "actidnotfound= [Mismatched Act-ID]" set 7th=%%G if not defined 7th ( -set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1 +if %winbuild% GTR 19044 call :dk_hwidkey %nul% +if not defined key set key=%%B ) else ( -echo "%winos%" | find "%%G" 1>nul && (set "key=%%B" & set "_chan=%%E" & if %%D==1 set notworking=1) +echo "%winos%" | find /i "%%G" 1>nul && ( +if %winbuild% GTR 19044 call :dk_hwidkey %nul% +if not defined key set key=%%B +) ) ) ) diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd b/MAS/Separate-Files-Version/Online_KMS_Activation/Activate.cmd similarity index 63% rename from MAS/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd rename to MAS/Separate-Files-Version/Online_KMS_Activation/Activate.cmd index 9f50910..de48729 100644 --- a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/Activate.cmd +++ b/MAS/Separate-Files-Version/Online_KMS_Activation/Activate.cmd @@ -1,4 +1,3 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file +::======================================================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Online_KMS_Activation/BIN/Info.txt b/MAS/Separate-Files-Version/Online_KMS_Activation/BIN/Info.txt new file mode 100644 index 0000000..30aab83 --- /dev/null +++ b/MAS/Separate-Files-Version/Online_KMS_Activation/BIN/Info.txt @@ -0,0 +1,15 @@ +==================================================================================================== + File Details: +==================================================================================================== + + cleanosppx64.exe SHA-1: d30a0e4e5911d3ca705617d17225372731c770e2 + cleanosppx86.exe SHA-1: 39ed8659e7ca16aaccb86def94ce6cec4c847dd6 + + - These files are used in cleaning office license in C2R Retail office to VL conversion process. + - These files are taken from the old version of Microsoft official tool 'O15CTRRemove.diagcab'. + + File: O15CTRRemove.diagcab (Digitally Signed) + Link: app.box.com/s/n8qpb5ljmv6djp77w5p6fk043dm6s3r1 (Unofficial Link) + SHA-1: 56c6ca76993a96cf9a255463b90db96cb9d24464 + +==================================================================================================== \ No newline at end of file diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx64.exe b/MAS/Separate-Files-Version/Online_KMS_Activation/BIN/cleanosppx64.exe similarity index 100% rename from MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx64.exe rename to MAS/Separate-Files-Version/Online_KMS_Activation/BIN/cleanosppx64.exe diff --git a/MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx86.exe b/MAS/Separate-Files-Version/Online_KMS_Activation/BIN/cleanosppx86.exe similarity index 100% rename from MAS/Separate-Files-Version/Activators/Online_KMS_Activation/BIN/cleanosppx86.exe rename to MAS/Separate-Files-Version/Online_KMS_Activation/BIN/cleanosppx86.exe diff --git a/MAS/Separate-Files-Version/ReadMe.html b/MAS/Separate-Files-Version/ReadMe.html new file mode 100644 index 0000000..9900831 --- /dev/null +++ b/MAS/Separate-Files-Version/ReadMe.html @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/MAS/Verify_Files-Clear_Zone.Identifier-68.cmd b/MAS/Verify_Files-Clear_Zone.Identifier-68.cmd deleted file mode 100644 index d83459b..0000000 --- a/MAS/Verify_Files-Clear_Zone.Identifier-68.cmd +++ /dev/null @@ -1,335 +0,0 @@ -@setlocal DisableDelayedExpansion -@echo off - - - -::============================================================================ -:: -:: This script is a part of 'Microsoft Activation Scripts' (MAS) project. -:: -:: Homepage: windowsaddict.ml -:: Email: windowsaddict@protonmail.com -:: -::============================================================================ - - - - -::======================================================================================================================================== - -:: Re-launch the script with x64 process if it was initiated by x86 process on x64 bit Windows -:: or with ARM64 process if it was initiated by x86/ARM32 process on ARM64 Windows - -if exist %SystemRoot%\Sysnative\cmd.exe ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\Sysnative\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Re-launch the script with ARM32 process if it was initiated by x64 process on ARM64 Windows - -if exist %SystemRoot%\SysArm32\cmd.exe if %PROCESSOR_ARCHITECTURE%==AMD64 ( -set "_cmdf=%~f0" -setlocal EnableDelayedExpansion -start %SystemRoot%\SysArm32\cmd.exe /c ""!_cmdf!" %*" -exit /b -) - -:: Set Path variable, it helps if it is misconfigured in the system - -set "SysPath=%SystemRoot%\System32" -if exist "%SystemRoot%\Sysnative\reg.exe" (set "SysPath=%SystemRoot%\Sysnative") -set "Path=%SysPath%;%SystemRoot%;%SysPath%\Wbem;%SysPath%\WindowsPowerShell\v1.0\" - -::======================================================================================================================================== - -cls -color 07 -mode con cols=65 lines=12 -title Verify Files ^& Clear Zone.Identifier - -set winbuild=1 -set "nul=>nul 2>&1" -set "_psc=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -for /f "tokens=6 delims=[]. " %%G in ('ver') do set winbuild=%%G - -set _NCS=1 -if %winbuild% LSS 10586 set _NCS=0 -if %winbuild% GEQ 10586 reg query "HKCU\Console" /v ForceV2 2>nul | find /i "0x0" 1>nul && (set _NCS=0) - -if %_NCS% EQU 1 ( -for /F %%a in ('echo prompt $E ^| cmd') do set "esc=%%a" -set "Red="41;97m"" -set "Green="42;97m"" -set "_Yellow="40;93m"" -) else ( -set "Red="Red" "white"" -set "Green="DarkGreen" "white"" -set "_Yellow="Black" "Yellow"" -) - -set "nceline=echo: &echo ==== ERROR ==== &echo:" -set "eline=echo: &call :color %Red% "==== ERROR ====" &echo:" - -::======================================================================================================================================== - -:: Self verification (made sure that script won't crash, if it's in Unix-LF format) - -set "_hash=" -for /f "skip=1 tokens=* delims=" %%G in ('certutil -hashfile "%~f0" SHA1^|findstr /i /v CertUtil') do set "_hash=%%G" -set "_hash=%_hash: =%" -set "_hash=%_hash:~-2%" -set "_fina=%~n0" -set "_fina=%_fina:~-2%" - -if /i not "%_hash%"=="%_fina%" ( -%nceline% -echo File SHA-1 verification failed. -echo Make sure that file is not modified / renamed. -echo: -echo Press any key to exit... -pause >nul -exit /b -) - -::======================================================================================================================================== - -if %winbuild% LSS 7600 ( -%nceline% -echo Unsupported OS version Detected. -echo Project is supported only for Windows 7/8/8.1/10/11 and their Server equivalent. -goto done -) - -if not exist %_psc% ( -%nceline% -echo Powershell is not installed in the system. -echo Aborting... -goto done -) - -::======================================================================================================================================== - -:: Fix for the special characters limitation in path name - -set "_work=%~dp0" -if "%_work:~-1%"=="\" set "_work=%_work:~0,-1%" - -set "_batf=%~f0" -set "_batp=%_batf:'=''%" - -setlocal EnableDelayedExpansion - -::======================================================================================================================================== - -for %%# in (All-In-One-Version,Separate-Files-Version) do ( -if not exist "!_work!\%%#" ( -%eline% -echo [%%~#] folder not found in the current directory. -goto done -) -) - -::======================================================================================================================================== - -set fileM=0 -set hashM=0 - -for %%# in ( -31e13b31812ea4fb3073c0ef4a0527490be5d9da+Separate-Files-Version\Extras\Change_W10_11_Edition.cmd -db4c68bba8a9c9cccfe76d0f1753a2cd922b94f2+Separate-Files-Version\Extras\Extract_OEM_Folder\Extract_OEM_Folder.cmd -d047f7b3bb205e8eb9412af11402e32a31b7906f+Separate-Files-Version\Extras\Extract_OEM_Folder\ReadMe.html -44a364ac2d6fad784aef03361fd64460fbe7357a+Separate-Files-Version\Extras\Install_W10_11_HWID_Key.cmd -89054be4d565ee7f9defa4159b1997d1bdf96d56+Separate-Files-Version\Extras\_Homepage.html -236916e59019d183a55ace4f892016d5cd2194bd+ReadMe.html -9cc32357cb46a078779e51c14402ec594acf611b+Separate-Files-Version\Activators\Online_KMS_Activation\Activate.cmd -fabb5a0fc1e6a372219711152291339af36ed0b5+Separate-Files-Version\Activators\HWID-KMS38_Activation\BIN\gatherosstate.exe -d30a0e4e5911d3ca705617d17225372731c770e2+Separate-Files-Version\Activators\Online_KMS_Activation\BIN\cleanosppx64.exe -da1afd97d92dd6026e7095ee7442a2144f78ed0b+Separate-Files-Version\Activators\HWID-KMS38_Activation\BIN\slc.dll -286f3bb552b6368a347ca74cb7407026624c4eb3+Separate-Files-Version\Activators\HWID-KMS38_Activation\BIN\_Info.html -39ed8659e7ca16aaccb86def94ce6cec4c847dd6+Separate-Files-Version\Activators\Online_KMS_Activation\BIN\cleanosppx86.exe -836ae2f742e8dbf54762f4ecc2468c68eecff6d9+Separate-Files-Version\Activators\Online_KMS_Activation\BIN\_Info.html -6cd44e7186b396016bd97802a7e28d659ac94e78+Separate-Files-Version\Activators\HWID-KMS38_Activation\HWID_Activation.cmd -81d25225805b80a5d32906f32b5aa67d00b24b0c+Separate-Files-Version\Activators\Online_KMS_Activation\ReadMe.html -5bf7ebbb3c4de976476925053b3a8e6dc689cff5+Separate-Files-Version\Extras\Activation_Troubleshoot.cmd -f4d1fa0d085bc17561416946ccbdaf419570b8f9+Separate-Files-Version\Activators\HWID-KMS38_Activation\KMS38_Activation.cmd -06ae500b740d90148a951bd7b40ddc8f9ec0a109+Separate-Files-Version\Activators\HWID-KMS38_Activation\ReadMe_HWID.html -1f90667b15471d9a74ee3a2839a8b795b623fc86+Separate-Files-Version\Activators\HWID-KMS38_Activation\ReadMe_KMS38.html -4d11828cac7728e25f6e2d1e76553d779d4a33ff+All-In-One-Version\MAS_1.5_AIO_CRC32_21D20776.cmd -f19d8a19f6a684e87e2421d185d83af3f5c24a70+Separate-Files-Version\Activators\Activations_Summary.html -c00cd43aa95e8221b8ee6a9e758eb7b128139997+Separate-Files-Version\Activators\Check-Activation-Status-vbs.cmd -27ead0b8d2b8346e55ab54bb682dc3c5afd1ed59+Separate-Files-Version\Activators\Check-Activation-Status-wmi.cmd -023d88e8e0a125f5d85ee2d999b512c4886aab29+Separate-Files-Version\Activators\HWID-KMS38_Activation\BIN\arm64_slc.dll -7e449ae5549a0d93cf65f4a1bb2aa7d1dc090d2d+Separate-Files-Version\Activators\HWID-KMS38_Activation\BIN\arm64_gatherosstate.exe -48d928b1bec25a56fe896c430c2c034b7866aa7a+Separate-Files-Version\Activators\HWID-KMS38_Activation\BIN\ClipUp.exe -) do for /f "tokens=1,2* delims=+" %%A in ("%%#") do ( -if not exist "!_work!\%%B" ( -set fileM=1 -set hashM=1 -) else ( -set "_hash=" -for /f "skip=1 tokens=* delims=" %%G in ('certutil -hashfile "!_work!\%%B" SHA1^|findstr /i /v CertUtil') do ( -set "_hash=%%G" -set "_hash=!_hash: =!" -if /i not "%%A"=="!_hash!" set hashM=1 -) -) -) - -::======================================================================================================================================== - -cls -echo: - -set n=0 -set mn=0 -set cn=27 - -for /f %%a in ('2^>nul dir "!_work!\" /a-d/b/-o/-p/s^|find /v /c ""') do set n=%%a - -if %fileM%==0 ( -echo Checking Files [Passed] -) else ( -call :color %Red% "Checking Files [Files Are Missing]" -) - -if %n% EQU %cn% echo Checking Total Number Of Files [Passed] [%cn%] - -if %n% GTR %cn% ( -set /a "mn=%n%-%cn%" -call :color %Red% "Checking Total Number Of Files [!mn! - Extra Files Found]" -) - -if %n% LSS %cn% ( -set /a "mn=%cn%-%n%" -call :color %Red% "Checking Total Number Of Files [!mn! - Less Files Found]" -) - -if %hashM%==0 ( -echo Verifying Files SHA-1 Hash [Passed] -) else ( -call :color %Red% "Verifying Files SHA-1 Hash [Mismatch Found]" -) - -::======================================================================================================================================== - -:: Clear NTFS alternate data streams (Zone.Identifier) -:: winitor.com/pdf/NtfsAlternateDataStreams.pdf -:: docs.microsoft.com/en-us/archive/blogs/askcore/alternate-data-streams-in-ntfs - -set zone=0 -pushd "!_work!\" -dir /s /r | find ":$DATA" 1>nul && set zone=1 - -if %zone%==0 ( -echo Clearing Zone.Identifier From Files [Already clean] -) else ( -if %winbuild% LSS 9200 ( -%nul% %_psc% "iex(([io.file]::ReadAllText('!_batp!')-split':unblock\:.*')[1])" -) else ( -%nul% %_psc% "& {gci -recurse | unblock-file}" -) -dir /s /r | find ":$DATA" 1>nul -if [!errorlevel!]==[0] ( -call :color %Red% "Clearing Zone.Identifier From Files [Failed] -) else ( -echo Clearing Zone.Identifier From Files [Passed] -) -) -popd - -::======================================================================================================================================== - -:done - -echo: -if not exist "%_psc%" ( -echo Press any key to exit... -) else ( -call :color %_Yellow% "Press any key to exit..." -) -pause >nul -exit /b - -::======================================================================================================================================== - -:color - -if %_NCS% EQU 1 ( -echo %esc%[%~1%~2%esc%[0m -) else ( -%_psc% write-host -back '%1' -fore '%2' '%3' -) -exit /b - -::======================================================================================================================================== - -:: andyarismendi.blogspot.com/2012/02/unblocking-files-with-powershell.html -:: github.com/ellisgeek/Scripts_Windows/blob/master/Powershell/Helper%20Functions/Unblock-File.ps1 -:: Written by @Andy Arismendi - -:: This code to unblock files is used when PowerShell 2.0 is installed (Windows 7 and equivalent). -:: With PowerShell 3.0 (Windows 8 and equivalent) and above, script uses one liner cmdlet 'Unblock-File' - -:unblock: - -function Unblock-File { -#Requires -Version 2.0 - [cmdletbinding(DefaultParameterSetName = "ByName", - SupportsShouldProcess = $True)] - param ( - [parameter(Mandatory = $true, - ParameterSetName = "ByName", - Position = 0)] - [string] - $Path, - [parameter(Mandatory = $true, - ParameterSetName = "ByInput", - ValueFromPipeline = $true)] - $InputObject - ) - begin { - Add-Type -Namespace Win32 -Name PInvoke -MemberDefinition @" - // msdn.microsoft.com/en-us/library/windows/desktop/aa363915(v=vs.85).aspx - [DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)] - [return: MarshalAs(UnmanagedType.Bool)] - private static extern bool DeleteFile(string name); - public static int Win32DeleteFile(string filePath) { - bool is_gone = DeleteFile(filePath); return Marshal.GetLastWin32Error();} - - [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] - static extern int GetFileAttributes(string lpFileName); - public static bool Win32FileExists(string filePath) {return GetFileAttributes(filePath) != -1;} -"@ - } - process { - switch ($PSCmdlet.ParameterSetName) { - 'ByName' { - $input_paths = Resolve-Path -Path $Path | ? { [IO.File]::Exists($_.Path) } | ` - Select -Exp Path - } - 'ByInput' { - if ($InputObject -is [System.IO.FileInfo]) { - $input_paths = $InputObject.FullName - } - } - } - $input_paths | % { - if ([Win32.PInvoke]::Win32FileExists($_ + ':Zone.Identifier')) { - if ($PSCmdlet.ShouldProcess($_)) { - $result_code = [Win32.PInvoke]::Win32DeleteFile($_ + ':Zone.Identifier') - if ([Win32.PInvoke]::Win32FileExists($_ + ':Zone.Identifier')) { - Write-Error ("Failed to unblock '{0}' the Win32 return code is '{1}'." -f ` - $_, $result_code) - } - } - } - } - } -} -gci -recurse | Unblock-File - -:unblock: - -::======================================================================================================================================== \ No newline at end of file