From 639de2b984c7cdd2673e88e401bbdb8626cc94d9 Mon Sep 17 00:00:00 2001 From: lsuper Date: Tue, 23 Jul 2019 10:28:38 +0800 Subject: [PATCH] Add 10.3.1 v26.0.33219.4899 Activator --- 10.3.1/Activator/Activator.bdsproj | 183 ++ 10.3.1/Activator/Activator.dpr | 33 + 10.3.1/Activator/Activator.res | Bin 0 -> 11880 bytes 10.3.1/Activator/Activator_0.inc | 20 + 10.3.1/Activator/Activator_1.inc | 9 + 10.3.1/Activator/Activator_2.inc | 4 + 10.3.1/Activator/Activator_3.inc | 4 + 10.3.1/Activator/Activator_4.inc | 4 + 10.3.1/Activator/Admin.res | Bin 0 -> 1432 bytes 10.3.1/Activator/FileUtils.pas | 65 + 10.3.1/Activator/MainFrm.dfm | 425 ++++ 10.3.1/Activator/MainFrm.pas | 730 ++++++ 10.3.1/Activator/MainFrm_1.inc | 49 + 10.3.1/Activator/PatchData.inc | 3494 +++++++++++++++++++++++++++ 10.3.1/Activator/PatchData.pas | 26 + 10.3.1/Activator/TMainForm.inc | 1 + 10.3.1/Activator/TMainFormclass.inc | 1 + 10.3.1/Activator/WinUtils.pas | 383 +++ 10.3.1/Activator/uses.inc | 9 + 10.3.1/Dcu/dirinfo.txt | 1 + 10.3.1/Keygen/AnsiStrings.pas | 7 + 10.3.1/Keygen/FGInt.pas | 2282 +++++++++++++++++ 10.3.1/Keygen/RadKeygen.pas | 394 +++ 10.3.1/Keygen/RadLicense.pas | 339 +++ 10.3.1/Keygen/RadVersion.pas | 85 + 10.3.1/Keygen/SHFolderDll.pas | 894 +++++++ 10.3.1/Keygen/Sha1.pas | 251 ++ 10.3.1/Release/Activator.exe | Bin 0 -> 232728 bytes 10.3.1/Release/Readme.txt | 32 + 29 files changed, 9725 insertions(+) create mode 100644 10.3.1/Activator/Activator.bdsproj create mode 100644 10.3.1/Activator/Activator.dpr create mode 100644 10.3.1/Activator/Activator.res create mode 100644 10.3.1/Activator/Activator_0.inc create mode 100644 10.3.1/Activator/Activator_1.inc create mode 100644 10.3.1/Activator/Activator_2.inc create mode 100644 10.3.1/Activator/Activator_3.inc create mode 100644 10.3.1/Activator/Activator_4.inc create mode 100644 10.3.1/Activator/Admin.res create mode 100644 10.3.1/Activator/FileUtils.pas create mode 100644 10.3.1/Activator/MainFrm.dfm create mode 100644 10.3.1/Activator/MainFrm.pas create mode 100644 10.3.1/Activator/MainFrm_1.inc create mode 100644 10.3.1/Activator/PatchData.inc create mode 100644 10.3.1/Activator/PatchData.pas create mode 100644 10.3.1/Activator/TMainForm.inc create mode 100644 10.3.1/Activator/TMainFormclass.inc create mode 100644 10.3.1/Activator/WinUtils.pas create mode 100644 10.3.1/Activator/uses.inc create mode 100644 10.3.1/Dcu/dirinfo.txt create mode 100644 10.3.1/Keygen/AnsiStrings.pas create mode 100644 10.3.1/Keygen/FGInt.pas create mode 100644 10.3.1/Keygen/RadKeygen.pas create mode 100644 10.3.1/Keygen/RadLicense.pas create mode 100644 10.3.1/Keygen/RadVersion.pas create mode 100644 10.3.1/Keygen/SHFolderDll.pas create mode 100644 10.3.1/Keygen/Sha1.pas create mode 100644 10.3.1/Release/Activator.exe create mode 100644 10.3.1/Release/Readme.txt diff --git a/10.3.1/Activator/Activator.bdsproj b/10.3.1/Activator/Activator.bdsproj new file mode 100644 index 0000000..713a8a1 --- /dev/null +++ b/10.3.1/Activator/Activator.bdsproj @@ -0,0 +1,183 @@ + + + + + + + + + + + + Activator.dpr + + + 7.0 + + + 8 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + Classes=;mirror= + + False + + False + True + False + True + True + False + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + ..\Release + ..\Dcu + + + ..\KOL + vcl;rtl + KOL_MCK;NOT_USE_RICHEDIT;USE_MHTOOLTIP;xDEBUGMODE + + False + + + + + + False + + + True + False + + + False + + + False + False + 26 + 0 + 0 + 0 + False + False + False + False + False + 1033 + 1252 + + + + + 26.0.0.0 + + + + + + 26.0 + + + + + diff --git a/10.3.1/Activator/Activator.dpr b/10.3.1/Activator/Activator.dpr new file mode 100644 index 0000000..26597d7 --- /dev/null +++ b/10.3.1/Activator/Activator.dpr @@ -0,0 +1,33 @@ +{ KOL MCK } // Do not remove this line! +program Activator; + +uses +KOL, + FileUtils in 'FileUtils.pas', + PatchData in 'PatchData.pas', + WinUtils in 'WinUtils.pas', + + AnsiStrings in '..\Keygen\AnsiStrings.pas', + FGInt in '..\Keygen\FGInt.pas', + RadKeygen in '..\Keygen\RadKeygen.pas', + RadLicense in '..\Keygen\RadLicense.pas', + RadVersion in '..\Keygen\RadVersion.pas', + Sha1 in '..\Keygen\Sha1.pas', + SHFolderDll in '..\Keygen\SHFolderDll.pas', + + MainFrm in 'MainFrm.pas' {MainForm}; + +{$R Activator.res} + +begin // PROGRAM START HERE -- Please do not remove this comment + +{$IF Defined(KOL_MCK)} {$I Activator_0.inc} {$ELSE} + + Application.Initialize; + Application.MainFormOnTaskbar := True; + Application.CreateForm(TMainForm, MainForm); + Application.Run; + +{$IFEND} + +end. diff --git a/10.3.1/Activator/Activator.res b/10.3.1/Activator/Activator.res new file mode 100644 index 0000000000000000000000000000000000000000..72163db81680400afaf09de8e457ba739f36749e GIT binary patch literal 11880 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 literal 0 HcmV?d00001 diff --git a/10.3.1/Activator/Activator_0.inc b/10.3.1/Activator/Activator_0.inc new file mode 100644 index 0000000..8fa625f --- /dev/null +++ b/10.3.1/Activator/Activator_0.inc @@ -0,0 +1,20 @@ +{ KOL MCK } // Do not remove this line! +{ Activator_0.inc + Do not edit this file manually - it is generated automatically. + You can only modify Activator_1.inc and Activator_3.inc + files. } + +{$IFDEF Pcode} + InstallCollapse; +{$ENDIF Pcode} + NewMainForm( MainForm, nil ); +{$I Activator_1.inc} + +{$I Activator_2.inc} + +{$I Activator_3.inc} + + Run( MainForm.Form ); + +{$I Activator_4.inc} + diff --git a/10.3.1/Activator/Activator_1.inc b/10.3.1/Activator/Activator_1.inc new file mode 100644 index 0000000..e19f111 --- /dev/null +++ b/10.3.1/Activator/Activator_1.inc @@ -0,0 +1,9 @@ +{ Activator_1.inc + This file is for you. Place here any code to run it + just following Applet creation (if it present) but + before creating other forms. E.g., You can place here + statement, which prevents running of application + in some cases. TIP: always use Applet for such checks + and make it invisible until final decision if to run + application or not. } + diff --git a/10.3.1/Activator/Activator_2.inc b/10.3.1/Activator/Activator_2.inc new file mode 100644 index 0000000..830ed7f --- /dev/null +++ b/10.3.1/Activator/Activator_2.inc @@ -0,0 +1,4 @@ +{ KOL MCK } // Do not remove this line! +{ Activator_2.inc + Do not modify this file manually - it is generated automatically. } + diff --git a/10.3.1/Activator/Activator_3.inc b/10.3.1/Activator/Activator_3.inc new file mode 100644 index 0000000..5f758d7 --- /dev/null +++ b/10.3.1/Activator/Activator_3.inc @@ -0,0 +1,4 @@ +{ Activator_3.inc + This file is for you. Place here any code to run it + after forms creating, but before Run call, if necessary. } + diff --git a/10.3.1/Activator/Activator_4.inc b/10.3.1/Activator/Activator_4.inc new file mode 100644 index 0000000..3e4c27b --- /dev/null +++ b/10.3.1/Activator/Activator_4.inc @@ -0,0 +1,4 @@ +{ Activator_4.inc + This file is for you. Place here any code to be inserted + after Run call, if necessary. } + diff --git a/10.3.1/Activator/Admin.res b/10.3.1/Activator/Admin.res new file mode 100644 index 0000000000000000000000000000000000000000..5e2a64c62a540aec70de607e5da17b56da031951 GIT binary patch literal 1432 zcma)6U2oGc6fF`wFlp~RMtMYX^PMJBx@np~ngD^c4W1qQy0b{^U_0F^#BU#V+jI$g zD2~!3KG)~ob9~*|Y&P@k{q(fE?dxRRy&3R#Hs;k93ukX%4?)$%W7~LZP?}4z^rLy` zdmxCUT&$M<-R(zI_?|XcP~1oXOMe5}zc@cVsj$}2*3HJV1VS(UUWqeJ?xDpRwVWua zB{PV~_6+NGzK(pa#ey@?=KDC?nChB>Fx+fTPdqyWZf(Asz5_MCv0M*Wfxm+~B?)LP z)ukf$+yF7Xva#>?@Ig*I58bt&Hk-}{J#dl4e&F&_&_wahSn21}JXJ8pwxJyeTOQfi zg|0fgcsFA%_eSi2EjXAnRpcNy#)a(IcJqVgFN1yaA6!uRpyyYzZKXh0QWzy0y%#jB zI_S+OdI$K3TZgc|ZaDb_n_Kx4Y%kRzrudpSumU}Tw^bcNK0I0ixAC80 z4UN~h-=*(huHcfkTySj^Hd6Us&o7BZly~1T_=^b;_HofO_%;}h{GsKvjvK>G)HMd zGK4b*C=3e<00~W4_-Cr@1xJ!aNl}*=Wwf*$tfr`dm?9jfX&A>DD-(Q-BgHX`3rJ9w z)Fn#OG(t5l38HyPQ=H-)lHwRg#PUT>7C9)}; +{$ELSE} +{$I uses.inc} + Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, mirror; +{$ENDIF} + +type + {$IF Defined(KOL_MCK)} + {$I MCKfakeClasses.inc} + {$IFDEF KOLCLASSES} {$I TMainFormclass.inc} {$ELSE OBJECTS} PMainForm = ^TMainForm; {$ENDIF CLASSES/OBJECTS} + {$IFDEF KOLCLASSES}{$I TMainForm.inc}{$ELSE} TMainForm = object(TObj) {$ENDIF} + Form: PControl; + {$ELSE not_KOL_MCK} + TMainForm = class(TForm) + {$IFEND KOL_MCK} + btnAbout: TKOLButton; + btnActive: TKOLButton; + btnExit: TKOLButton; + btnReset: TKOLButton; + btnRunBds: TKOLButton; + kolActivator: TKOLProject; + kolMainForm: TKOLForm; + procedure btnAboutClick(Sender: PObj); + procedure btnActiveClick(Sender: PObj); + procedure btnExitClick(Sender: PObj); + procedure btnResetClick(Sender: PObj); + procedure btnRunBdsClick(Sender: PObj); + procedure kolMainFormDestroy(Sender: PObj); + procedure kolMainFormFormCreate(Sender: PObj); + function kolMainFormMessage(var Msg: TMsg; var Rslt: Integer): Boolean; + procedure kolMainFormShow(Sender: PObj); + private + FAppPath, + FBdsPath: string; + FCurFileBuild: Integer; + FSerialNumber, + FRegCode, + FInformation: string; + private + function FindBdsPath: Boolean; + + function GetSystemHostsFile: string; + + procedure BeginCursor; + procedure EndCursor; + + procedure CopyFile(const ASrcFile, ADestFile: string); + + procedure DeleteFile(const AFile: string); + procedure DeleteFiles(const AFileMask: string); + private + procedure BuildNormalCglmFile; + procedure BuildNormalSlipFile; + + procedure GenerateRegistrationCode; + procedure GenerateKeyGenLicense; + + procedure PatchLicenseHostsFile; + procedure RestoreLicenseHostsFile; + + procedure PatchBdsFile; + procedure RestoreBdsFile; + + procedure DeleteTrialFiles; + procedure DeleteTrialRegKeys; + private + procedure DoActive; + procedure DoReset; + procedure DoRunBds; + + procedure ShowAboutMessage; + + procedure Execute; + end; + +var + MainForm {$IFDEF KOL_MCK} : PMainForm {$ELSE} : TMainForm {$ENDIF} ; + +{$IFDEF KOL_MCK} +procedure NewMainForm( var Result: PMainForm; AParent: PControl ); +{$ENDIF} + +implementation + +{.$DEFINE DEBUGMODE} + +uses + SysUtils, ShellAPI, Registry, FileUtils, PatchData, WinUtils, RadKeygen, RadVersion; + +{$IF Defined(KOL_MCK)}{$ELSE}{$R *.DFM}{$IFEND} + +{$IFDEF KOL_MCK} +{$I MainFrm_1.inc} +{$ENDIF} + +const + CSIDL_APPDATA = $001A; // Application Data, new for NT4, \Application Data + CSIDL_COMMON_APPDATA = $0023; // All Users\Application Data + + UM_SHOWABOUT = 100; + +const + defAppMessage = 'Many thanks to elseif, tonzi, freecat, unis, x-force, cjack and others who worked for this keygen!'; + defAppVersion = '15.1'; + + defAppHelperFileName = 'SHFolder.dll'; + + defBdsVersion = '20.0'; + + defBdsLicenseFile = 'RADStudio10_2.slip'; + defBdsLicenseManager = '"%s" -reg -skey 8220_21 -loadKey 2026 -a'; + + defBdsPatchFileName = 'SHFolder.dll'; + + defLicenseHosts: array[0..12] of string = ( + '127.0.0.1 comapi.embarcadero.com', + '127.0.0.1 getit.embarcadero.com', + '127.0.0.1 license.embarcadero.com', + '127.0.0.1 track.embarcadero.com', + '127.0.0.1 external.ws.sanctx.embarcadero.com', + '127.0.0.1 object.ws.sanctx.embarcadero.com', + '127.0.0.1 license.codegear.com', + '127.0.0.1 license-stage.codegear.com', + '127.0.0.1 services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 LicenseRenewalServicesImpl.services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 LicenseUsageServicesImpl.services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 RegistrationServicesImpl.services.server.v8.srs.sanctuary.codegear.com', + '127.0.0.1 embt.usertility.com' + ); + +{ TMainForm } + +procedure TMainForm.BeginCursor; +begin + SetCursor(LoadCursor(0, IDC_WAIT)); +end; + +procedure TMainForm.btnAboutClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('About'); +{$ENDIF} + ShowAboutMessage; +end; + +procedure TMainForm.btnActiveClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Active'); +{$ENDIF} + BeginCursor; + try + DoActive; + finally + EndCursor; + end; +end; + +procedure TMainForm.btnExitClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Exit'); +{$ENDIF} + Self.Form.Close; +end; + +procedure TMainForm.btnResetClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Reset'); +{$ENDIF} + BeginCursor; + try + DoReset; + finally + EndCursor; + end; +end; + +procedure TMainForm.btnRunBdsClick(Sender: PObj); +begin +{$IFDEF DEBUGMODE} + LogMessage('Run'); +{$ENDIF} + BeginCursor; + try + DoRunBds; + finally + EndCursor; + end; +end; + +procedure TMainForm.BuildNormalCglmFile; +var + S: string; +begin + S := FBdsPath + 'Bin\cglm.ini'; + SaveDataToFile(S, defCglmFileDatas, Length(defCglmFileDatas)); + S := GetShellFolderPath(CSIDL_COMMON_APPDATA) + 'Embarcadero\Studio\' + defBdsVersion + '\cglm.ini'; + SaveDataToFile(S, defCglmFileDatas, Length(defCglmFileDatas)); +end; + +procedure TMainForm.BuildNormalSlipFile; +var + S: string; +begin + S := FBdsPath + 'License\*.slip'; + DeleteFiles(S); + S := FBdsPath + 'License\' + defBdsLicenseFile; + SaveDataToFile(S, defSlipFileDatas, Length(defSlipFileDatas)); +end; + +procedure TMainForm.CopyFile(const ASrcFile, ADestFile: string); +{$IFDEF DEBUGMODE} +var + bRet: Boolean; +{$ENDIF} +begin +{$IFDEF DEBUGMODE} + bRet := Windows.CopyFile(PChar(ASrcFile), PChar(ADestFile), False); + if bRet then + LogMessage('CopyFile.OK: ' + ADestFile) + else LogMessage('CopyFile.Error: ' + ADestFile + ', ' + SysErrorMessage(GetLastError)); +{$ELSE} + Windows.CopyFile(PChar(ASrcFile), PChar(ADestFile), False); +{$ENDIF} +end; + +procedure TMainForm.DeleteFile(const AFile: string); +{$IFDEF DEBUGMODE} +var + bRet: Boolean; +{$ENDIF} +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteFile: ' + AFile + ' ...'); + bRet := Windows.DeleteFile(PChar(AFile)); + if bRet then + LogMessage('DeleteFile.OK: ' + AFile) + else LogMessage('DeleteFile.Error: ' + AFile + ', ' + SysErrorMessage(GetLastError)); +{$ELSE} + Windows.DeleteFile(PChar(AFile)); +{$ENDIF} +end; + +procedure TMainForm.DeleteFiles(const AFileMask: string); + //////////////////////////////////////////////////////////////////////////////// + //: Lsuper 2005.09.21 + //: жļ + // + //////////////////////////////////////////////////////////////////////////////// + function IsDirNotation(const AName: string): Boolean; + begin + Result := (AName = '.') or (AName = '..'); + end; +var + cSearchRec: TSearchRec; + strFilePath: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteFiles: ' + AFileMask + ' ...'); +{$ENDIF} + strFilePath := ExtractFilePath(AFileMask); + if FindFirst(AFileMask, faAnyFile, cSearchRec) = 0 then + repeat + if (cSearchRec.Name <> '') and not IsDirNotation(cSearchRec.Name) then + begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteFiles, File: ' + strFilePath + cSearchRec.Name); +{$ENDIF} + SysUtils.DeleteFile(strFilePath + cSearchRec.Name); + end; + until FindNext(cSearchRec) <> 0; + SysUtils.FindClose(cSearchRec); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2011.01.05 +//ܣȨϢ +// +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.DeleteTrialFiles; +var + AllUsersPath, UserPath: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteTrialFiles'); +{$ENDIF} + AllUsersPath := GetShellFolderPath(CSIDL_COMMON_APPDATA) + 'Embarcadero\'; + UserPath := GetShellFolderPath(CSIDL_APPDATA) + 'Embarcadero\'; + +{$IFDEF DEBUGMODE} + LogMessage('DeleteTrialFiles.AllUsersPath: ' + AllUsersPath); + LogMessage('DeleteTrialFiles.UserPath: ' + UserPath); +{$ENDIF} + + DeleteFile(UserPath + '.cgb_license'); + DeleteFile(AllUsersPath + '.cgb_license'); + + DeleteFile(UserPath + '.licenses\.cg_license'); + DeleteFile(AllUsersPath + '.licenses\.cg_license'); + + DeleteFile(AllUsersPath + 'RAD Studio Activation.slip'); + + DeleteFiles(AllUsersPath + '.82*.slip'); +end; + +procedure TMainForm.DeleteTrialRegKeys; +begin +{$IFDEF DEBUGMODE} + LogMessage('DeleteTrialRegKeys'); +{$ENDIF} +end; + +procedure TMainForm.DoActive; +var + S: string; + nBuild: Integer; +begin +{$IFDEF DEBUGMODE} + LogMessage('DoActive'); +{$ENDIF} + if not FindBdsPath then + begin + ShowError('No BDS find!'); + Exit; + end; + S := FBdsPath + 'Bin\bds.exe'; + nBuild := GetFileBuildVersion(S); + if nBuild <> FCurFileBuild then + begin + ShowError('BDS version not support!'); + Exit; + end; + BuildNormalCglmFile; + BuildNormalSlipFile; + RestoreBdsFile; + + GenerateRegistrationCode; + GenerateKeyGenLicense; + PatchBdsFile; + PatchLicenseHostsFile; +{ + ShowMessage('Active', 'OK!'); +} + ShowMessage('Active', 'OK! Code: ' + FRegCode + ', Serial: ' + FSerialNumber); +end; + +procedure TMainForm.DoReset; +begin +{$IFDEF DEBUGMODE} + LogMessage('DoReset'); +{$ENDIF} + if not FindBdsPath then + begin + ShowError('No BDS find!'); + Exit; + end; + DeleteTrialFiles; + DeleteTrialRegKeys; + BuildNormalCglmFile; + BuildNormalSlipFile; + RestoreBdsFile; + RestoreLicenseHostsFile; + ShowMessage('Reset', 'OK!'); +end; + +procedure TMainForm.DoRunBds; +var + BdsExe: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('DoRunBds'); +{$ENDIF} + if not FindBdsPath then + begin + ShowError('No BDS find!'); + Exit; + end; + FBdsPath := FBdsPath + 'Bin'; + BdsExe := FBdsPath + '\bds.exe'; + ShellExecute(0, 'open', PChar(BdsExe), '-pDelphi', PChar(FBdsPath), SW_NORMAL); + Delay(20); +end; + +procedure TMainForm.EndCursor; +begin + SetCursor(LoadCursor(0, IDC_ARROW)); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2011.09.20 +//ܣֱִ Lite İװ +// +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.Execute; +var + S: string; + nBuild: Integer; +begin + if not FindBdsPath then + begin + LogMessage('No BDS find!'); + Exit; + end; + S := FBdsPath + 'Bin\bds.exe'; + nBuild := GetFileBuildVersion(S); + if nBuild <> FCurFileBuild then + begin + LogMessage('BDS version not support!'); + Exit; + end; + + GenerateRegistrationCode; + GenerateKeyGenLicense; + BuildNormalCglmFile; + BuildNormalSlipFile; + PatchBdsFile; + PatchLicenseHostsFile; +{ + LogMessage('Done.'); +} + LogMessage('Done. Code: ' + FRegCode + ', Serial: ' + FSerialNumber); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.02.15 +//ܣ Delphi +// +//////////////////////////////////////////////////////////////////////////////// +function TMainForm.FindBdsPath: Boolean; +begin + Result := False; + with TRegistry.Create do + try + Access := KEY_READ; + RootKey := HKEY_LOCAL_MACHINE; + if OpenKeyReadOnly('SOFTWARE\Embarcadero\BDS\' + defBdsVersion) then + begin + FBdsPath := ReadString('RootDir'); + CloseKey; + end; + finally + Free; + end; + if FBdsPath <> '' then + begin + FBdsPath := IncludeTrailingPathDelimiter(FBdsPath); + Result := FileExists(FBdsPath + 'Bin\bds.exe'); + end; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.05.01 +//ܣ +// +//ע⣺û IPC ֪ͨͨѶ +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.GenerateKeyGenLicense; + + function CurrentRadStudioVersion: PRadStudioVersion; inline; + begin + Assert(RadStudioVersionList.Count > 0); + Result := PRadStudioVersion(RadStudioVersionList.Objects[0]); + end; +begin +{$IFDEF DEBUGMODE} + LogMessage('GenerateKeyGenLicense'); +{$ENDIF} + FSerialNumber := RadKeygen.GenerateSerialNumber; + FRegCode := RadKeygen.GetRegistrationCode; + RadKeygen.GenerateLicenseFile(FSerialNumber, FRegCode, CurrentRadStudioVersion, FInformation); +end; + +//////////////////////////////////////////////////////////////////////////////// +//: Lsuper 2006.09.19 +//: ע +// +//ע⣺û IPC ֪ͨͨѶ +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.GenerateRegistrationCode; +var + si: TStartupInfo; + pi: TProcessInformation; + nExitCode: LongWord; + strHelper, strCommandLine, strWorkDir: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('GenerateRegistrationCode'); +{$ENDIF} + strHelper := FAppPath + defAppHelperFileName; + if not FileExists(strHelper) then + SaveDataToFile(strHelper, defHelperDatas, Length(defHelperDatas)); + strWorkDir := FBdsPath + 'Bin'; + strCommandLine := Format('%s\LicenseManager.exe', [strWorkDir]); + if not FileExists(strCommandLine) then + raise Exception.CreateFmt('File %s not exists!', [strCommandLine]); + strCommandLine := Format(defBdsLicenseManager, [strCommandLine]); + FillChar(si, SizeOf(TStartupInfo), 0); + with si do + begin + cb := SizeOf(TStartupInfo); + dwFlags := STARTF_USESHOWWINDOW + STARTF_FORCEONFEEDBACK; + wShowWindow := SW_HIDE; + end; + if CreateProcessEx(nil, PChar(strCommandLine), nil, nil, False, 0, nil, PChar(strWorkDir), si, pi, AnsiString(strHelper)) then + try + WaitForSingleObject(pi.hProcess, INFINITE); + GetExitCodeProcess(pi.hProcess, nExitCode); + if nExitCode <> 0 then + raise Exception.Create('BdsReg error!'); + finally + CloseHandle(pi.hThread); + CloseHandle(pi.hProcess); + end + else RaiseLastOSError; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2009.01.30 +//ܣȡWindowsϵͳĿ¼ +// +//////////////////////////////////////////////////////////////////////////////// +function TMainForm.GetSystemHostsFile: string; +const + defHostsFilePath = 'drivers\etc\hosts'; +var + nRet: LongWord; +begin + SetLength(Result, MAX_PATH); + nRet := GetSystemDirectory(PChar(Result), MAX_PATH); + if nRet = 0 then + Result := '' + else begin + SetLength(Result, nRet); + Result := IncludeTrailingPathDelimiter(Result) + defHostsFilePath; + end; +end; + +procedure TMainForm.kolMainFormDestroy(Sender: PObj); +begin + LogMessage('Destroy'); +{$IFNDEF DEBUGMODE} + DeleteFiles(FAppPath + '*.*'); + RemoveDirectory(PChar(FAppPath)); +{$ENDIF} +end; + +procedure TMainForm.kolMainFormFormCreate(Sender: PObj); +var + S: string; +begin + LogMessage('Create'); + + FAppPath := GetShellFolderPath(CSIDL_APPDATA); + FAppPath := IncludeTrailingPathDelimiter(FAppPath) + 'Activator\' + defAppVersion + '\'; + ForceDirectories(FAppPath); + S := GetModuleName(HInstance); + FCurFileBuild := GetFileBuildVersion(S); + + SetEnvironmentVariable('SESSIONNAME', 'Conso1e'); + + if ParamStr(1) = '-process' then + begin + Execute; + Halt(1); + end; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2003.09.21 +//ܣϵͳ˵ +// +//////////////////////////////////////////////////////////////////////////////// +function TMainForm.kolMainFormMessage(var Msg: TMsg; + var Rslt: Integer): Boolean; +begin + if (Msg.message = WM_SYSCOMMAND) and (Msg.WParam = UM_SHOWABOUT) then + ShowAboutMessage; + Result := False; +end; + +procedure TMainForm.kolMainFormShow(Sender: PObj); +var + hMain : HMENU; +begin + LogMessage('Show'); + + hMain := GetSystemMenu(Self.Form.Handle, False); + AppendMenu(hMain, MF_SEPARATOR, 0, nil); + AppendMenu(hMain, MF_STRING{ or MF_CHECKED}, UM_SHOWABOUT, 'About ...'); + SetMainFormHandle(Self.Form.Handle); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2011.09.21 +//ܣ޸ BDS.exe ļ +// +//////////////////////////////////////////////////////////////////////////////// +procedure TMainForm.PatchBdsFile; +var + S: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('PatchBdsFile'); +{$ENDIF} + S := FBdsPath + 'Bin\' + defBdsPatchFileName; +{$IFDEF DEBUGMODE} + LogMessage('Patch: ' + S); +{$ENDIF} + SaveDataToFile(S, defBdsPatchDllDatas, SizeOf(defBdsPatchDllDatas)); +end; + +procedure TMainForm.PatchLicenseHostsFile; +var + F, S: string; + nIndex, I: Integer; + pList, pHosts: PStrListEx; +begin +{$IFDEF DEBUGMODE} + LogMessage('PatchLicenseHostsFile'); +{$ENDIF} + F := GetSystemHostsFile; + pHosts := NewStrListEx; + with pHosts^ do + try + if FileExists(F) then + LoadFromFile(F); + pList := NewStrListEx; + for S in defLicenseHosts do + pList.Add(S); + for I := 0 to Count - 1 do + begin + S := Trim(Items[I]); + nIndex := pList.IndexOf(S); + if nIndex >= 0 then + pList.Delete(nIndex); + end; + if pList.Count > 0 then + try +{$IFDEF DEBUGMODE} + LogMessage('PatchLicenseHostsFile, SaveToFile: ' + F); +{$ENDIF} + AddStrings(pList); + FileSetReadOnly(F, False); + SaveToFile(F); + except + on E: Exception do + LogMessage('Disable Hosts Error: ' + E.Message); + end; + pList.Free; + finally + Free; + end; +end; + +procedure TMainForm.RestoreBdsFile; +var + S: string; +begin +{$IFDEF DEBUGMODE} + LogMessage('RestoreBdsFile'); +{$ENDIF} + S := FBdsPath + 'Bin\' + defBdsPatchFileName; +{$IFDEF DEBUGMODE} + LogMessage('Restore: ' + S); +{$ENDIF} + Self.DeleteFile(S);; +end; + +procedure TMainForm.RestoreLicenseHostsFile; +var + F, S: string; + nIndex, nRet, I: Integer; + pList, pHosts: PStrListEx; +begin +{$IFDEF DEBUGMODE} + LogMessage('RestoreLicenseHostsFile'); +{$ENDIF} + F := GetSystemHostsFile; + if not FileExists(F) then + Exit; + pHosts := NewStrListEx; + with pHosts^ do + try + LoadFromFile(F); + pList := NewStrListEx; + for S in defLicenseHosts do + pList.Add(S); + nRet := 0; + for I := Count - 1 downto 0 do + begin + S := Trim(Items[I]); + nIndex := pList.IndexOf(S); + if nIndex < 0 then + Continue; + pHosts.Delete(I); + Inc(nRet); + end; + if nRet > 0 then + try +{$IFDEF DEBUGMODE} + LogMessage('RestoreLicenseHostsFile, SaveToFile: ' + F); +{$ENDIF} + FileSetReadOnly(F, False); + SaveToFile(F); + except + on E: Exception do + LogMessage('Disable Hosts Error: ' + E.Message); + end; + pList.Free; + finally + Free; + end; +end; + +procedure TMainForm.ShowAboutMessage; +begin + with Self.Form^ do + ShellAbout(Handle, PChar(string(Caption) + ', Lsuper'), PAnsiChar(AnsiString(defAppMessage)), Icon); +end; + +end. diff --git a/10.3.1/Activator/MainFrm_1.inc b/10.3.1/Activator/MainFrm_1.inc new file mode 100644 index 0000000..f1976f2 --- /dev/null +++ b/10.3.1/Activator/MainFrm_1.inc @@ -0,0 +1,49 @@ +{ KOL MCK } // Do not remove this line! + +procedure NewMainForm( var Result: PMainForm; AParent: PControl ); +begin + + {$IFDEF KOLCLASSES} + Result := PMainForm.Create; + {$ELSE OBJECTS} + New( Result, Create ); + {$ENDIF KOL CLASSES/OBJECTS} + Result.Form := NewForm( AParent, 'Delphi 10.3.1 Activator' ).SetPosition( 8, 8 ); + Applet := Result.Form; + Result.Form.Add2AutoFree( Result ); + Result.Form.Style := Result.Form.Style and not (WS_MINIMIZEBOX or WS_MAXIMIZEBOX); + Result.Form.SetClientSize( 534, 122 ); + Result.Form.OnMessage := Result.kolMainFormMessage; + Result.Form.OnShow := Result.kolMainFormShow; + Result.Form.OnDestroy := Result.kolMainFormDestroy; + Result.btnAbout := NewButton( Result.Form, '&About' ).SetPosition( 325, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnAbout.Hint.Text := 'About'; + {$ENDIF USE_MHTOOLTIP} + Result.btnReset := NewButton( Result.Form, 'Re&set' ).SetPosition( 222, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnReset.Hint.Text := 'Reset Delphi 10.3.1'; + {$ENDIF USE_MHTOOLTIP} + Result.btnExit := NewButton( Result.Form, '&Exit' ).SetPosition( 428, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnExit.Hint.Text := 'Exit'; + {$ENDIF USE_MHTOOLTIP} + Result.btnRunBds := NewButton( Result.Form, '&Run' ).SetPosition( 119, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnRunBds.Hint.Text := 'Run Delphi 10.3.1'; + {$ENDIF USE_MHTOOLTIP} + Result.btnActive := NewButton( Result.Form, '&Active' ).SetPosition( 16, 16 ).SetSize( 90, 90 ); + {$IFDEF USE_MHTOOLTIP} + Result.btnActive.Hint.Text := 'Active Delphi 10.3.1'; + {$ENDIF USE_MHTOOLTIP} + Result.btnAbout.OnClick := Result.btnAboutClick; + Result.btnReset.OnClick := Result.btnResetClick; + Result.btnExit.OnClick := Result.btnExitClick; + Result.btnRunBds.OnClick := Result.btnRunBdsClick; + Result.btnActive.OnClick := Result.btnActiveClick; + Result.Form.CenterOnParent.CanResize := False; + Result.Form.Perform( WM_INITMENU, 0, 0 ); + Result.kolMainFormFormCreate( Result ); + +end; + diff --git a/10.3.1/Activator/PatchData.inc b/10.3.1/Activator/PatchData.inc new file mode 100644 index 0000000..d27bc90 --- /dev/null +++ b/10.3.1/Activator/PatchData.inc @@ -0,0 +1,3494 @@ + defCglmFileDatas: array[0..255] of Byte = ( + $5B, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, $20, $4C, $69, $63, + $65, $6E, $73, $65, $20, $4D, $61, $6E, $61, $67, $65, $6D, $65, $6E, $74, $5D, + $0D, $0A, $52, $6F, $6F, $74, $44, $69, $72, $3D, $24, $7B, $4D, $4F, $44, $55, + $4C, $45, $5F, $44, $49, $52, $7D, $5C, $2E, $2E, $0D, $0A, $4C, $69, $63, $65, + $6E, $73, $65, $44, $69, $72, $3D, $24, $7B, $52, $4F, $4F, $54, $44, $49, $52, + $7D, $5C, $4C, $69, $63, $65, $6E, $73, $65, $0D, $0A, $49, $6E, $66, $6F, $44, + $69, $72, $3D, $24, $7B, $43, $4F, $4D, $4D, $4F, $4E, $5F, $41, $50, $50, $44, + $41, $54, $41, $7D, $5C, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, $6F, + $5C, $2E, $6C, $69, $63, $65, $6E, $73, $65, $73, $0D, $0A, $53, $6C, $69, $70, + $44, $69, $72, $3D, $24, $7B, $43, $4F, $4D, $4D, $4F, $4E, $5F, $41, $50, $50, + $44, $41, $54, $41, $7D, $5C, $45, $6D, $62, $61, $72, $63, $61, $64, $65, $72, + $6F, $5C, $0D, $0A, $52, $65, $67, $45, $78, $65, $3D, $4C, $69, $63, $65, $6E, + $73, $65, $4D, $61, $6E, $61, $67, $65, $72, $2E, $65, $78, $65, $0D, $0A, $4C, + $6F, $63, $6B, $54, $79, $70, $65, $3D, $35, $0D, $0A, $5B, $45, $6D, $62, $61, + $72, $63, $61, $64, $65, $72, $6F, $20, $53, $4C, $49, $50, $20, $46, $69, $6C, + $65, $73, $5D, $0D, $0A, $53, $4C, $49, $50, $46, $69, $6C, $65, $3D, $0D, $0A + ); + + defSlipFileDatas: array[0..1919] of Byte = ( + $CC, $8F, $F6, $42, $00, $00, $07, $78, $D6, $E1, $23, $6F, $D7, $83, $D2, $45, + $8F, $73, $42, $E9, $D6, $CF, $61, $F1, $5D, $6B, $8B, $F9, $9C, $46, $CC, $77, + $1E, $DF, $BB, $D4, $40, $F4, $70, $2B, $CA, $EB, $BB, $5D, $BD, $52, $59, $99, + $C3, $E9, $17, $E8, $3B, $49, $92, $A3, $91, $44, $8B, $34, $03, $DF, $B3, $9A, + $25, $A2, $09, $54, $85, $AC, $A4, $2D, $DC, $0E, $5C, $B4, $F6, $8B, $09, $C4, + $5B, $67, $F3, $B3, $F8, $6E, $9F, $49, $7C, $F8, $C1, $FC, $52, $DD, $7D, $51, + $A6, $9B, $8D, $39, $F3, $30, $64, $93, $FC, $A9, $16, $9A, $2C, $5F, $97, $D4, + $F1, $38, $88, $40, $05, $AC, $82, $BC, $68, $D6, $59, $20, $B1, $AF, $B1, $61, + $9B, $4B, $07, $A6, $AD, $EC, $28, $A2, $07, $39, $99, $EB, $A2, $5D, $CD, $08, + $63, $BC, $9B, $CC, $46, $E2, $14, $5C, $8B, $E2, $86, $1C, $84, $77, $46, $9B, + $C0, $F9, $6C, $A7, $17, $51, $A2, $A4, $B0, $1B, $88, $00, $7C, $BD, $8B, $AD, + $39, $CE, $74, $7F, $DA, $D1, $D3, $61, $F9, $5A, $69, $AD, $85, $83, $3F, $F5, + $21, $43, $E8, $DB, $AC, $5A, $EB, $78, $04, $B7, $8F, $86, $74, $C1, $15, $5C, + $AF, $83, $A0, $0E, $FC, $75, $11, $F0, $A7, $D5, $44, $F0, $55, $7D, $AE, $BC, + $95, $3E, $A6, $28, $1C, $B9, $D0, $83, $1E, $C5, $51, $71, $95, $F7, $DD, $5B, + $DD, $49, $4B, $C7, $FD, $A2, $5E, $8F, $35, $65, $FA, $AC, $D0, $3C, $BD, $6E, + $6A, $DF, $FA, $EA, $3F, $9C, $06, $37, $97, $A4, $E6, $44, $D6, $7D, $6C, $8B, + $E9, $F2, $09, $DD, $63, $0A, $C5, $FF, $B4, $1A, $E3, $7D, $5E, $FD, $EB, $E0, + $76, $F3, $7E, $62, $A7, $B9, $D3, $0C, $FB, $68, $06, $E4, $9D, $99, $36, $AB, + $08, $53, $B1, $88, $FD, $00, $C3, $0D, $41, $F4, $E5, $D0, $7C, $EE, $78, $53, + $8D, $E4, $B5, $02, $AC, $17, $77, $96, $8A, $94, $3D, $80, $34, $5E, $83, $E8, + $A4, $14, $83, $09, $7C, $98, $89, $F8, $35, $E8, $60, $04, $FA, $8C, $A2, $3A, + $9B, $28, $1A, $BA, $A0, $CB, $25, $F1, $63, $15, $D8, $9B, $9F, $2E, $B2, $0C, + $76, $B6, $84, $8E, $07, $DA, $19, $50, $9E, $CB, $E1, $14, $F1, $1B, $57, $FF, + $AD, $96, $0A, $9B, $62, $24, $D1, $C2, $B8, $5B, $E5, $6A, $02, $97, $A4, $AF, + $2B, $AE, $10, $7A, $F2, $C9, $91, $57, $CC, $6F, $1D, $A7, $D9, $D7, $7D, $B6, + $6E, $50, $F7, $D6, $E0, $3A, $C1, $0D, $1D, $DC, $FD, $E4, $05, $C5, $0A, $2D, + $82, $FB, $D8, $49, $D9, $3B, $4B, $9D, $EA, $89, $6F, $F8, $5F, $32, $CA, $AC, + $81, $39, $BC, $26, $48, $8E, $E1, $CC, $27, $FA, $56, $55, $E6, $B7, $F5, $55, + $8F, $33, $33, $D4, $84, $D0, $5B, $D2, $59, $72, $B2, $FB, $C6, $2A, $A9, $78, + $41, $8C, $DE, $DB, $7D, $B7, $33, $77, $F4, $B9, $92, $6F, $83, $0A, $2C, $C5, + $92, $D2, $03, $E5, $5B, $1B, $D5, $BC, $80, $29, $8D, $52, $6F, $8E, $ED, $AF, + $15, $A6, $7D, $1F, $90, $EF, $EA, $7C, $ED, $1C, $31, $95, $B0, $C2, $7F, $D1, + $6A, $74, $AB, $A3, $DD, $42, $8E, $7A, $55, $94, $F4, $D9, $38, $C0, $71, $52, + $F5, $B0, $DC, $04, $AF, $37, $61, $8A, $CD, $86, $6C, $C2, $3D, $16, $9B, $FB, + $B9, $78, $B4, $16, $40, $B0, $89, $A5, $7C, $81, $05, $0B, $8E, $CD, $CF, $6C, + $8E, $70, $48, $D1, $EE, $E5, $73, $E7, $5E, $3D, $EE, $9D, $D9, $61, $E9, $53, + $4B, $D6, $B4, $F9, $7A, $DC, $5B, $75, $AE, $E2, $96, $4B, $BE, $13, $62, $90, + $B6, $97, $53, $D7, $3F, $23, $C5, $FE, $EA, $11, $A1, $52, $6B, $BD, $94, $87, + $4C, $CD, $0A, $6A, $9D, $DC, $87, $43, $A3, $46, $5D, $B4, $81, $FE, $73, $9F, + $10, $70, $EC, $88, $91, $21, $9A, $15, $40, $F0, $EB, $F5, $21, $EF, $7B, $7F, + $A1, $96, $FB, $26, $C6, $2F, $3E, $E6, $F1, $B3, $3D, $E2, $5F, $08, $86, $D8, + $B0, $1E, $FF, $06, $48, $F6, $B9, $BB, $4F, $AF, $49, $6F, $E5, $FF, $DB, $75, + $B3, $5A, $04, $FC, $D1, $C9, $50, $96, $73, $0E, $93, $9B, $86, $10, $B7, $78, + $7E, $AB, $DE, $F4, $34, $9B, $41, $6D, $C9, $D7, $B6, $18, $9F, $79, $57, $90, + $98, $99, $63, $A2, $32, $37, $9B, $CE, $B0, $2D, $B1, $7A, $64, $81, $DC, $80, + $5A, $F9, $32, $41, $F7, $9E, $E1, $5E, $FD, $29, $2D, $AA, $B2, $AB, $06, $F1, + $1A, $41, $EE, $87, $FA, $28, $8B, $1B, $7D, $DD, $86, $9A, $4C, $BD, $25, $2A, + $E2, $97, $CA, $37, $E1, $68, $0E, $D4, $B0, $FC, $46, $85, $0D, $18, $AD, $8D, + $FB, $51, $B1, $31, $06, $A4, $BA, $F0, $1D, $A3, $15, $7C, $BB, $A7, $8D, $35, + $F2, $43, $01, $9E, $E7, $82, $58, $C6, $25, $7F, $F0, $E6, $B4, $6B, $E4, $43, + $1C, $97, $AF, $A6, $4E, $C7, $62, $31, $89, $A5, $D6, $6B, $DF, $3F, $03, $EC, + $A7, $D1, $2B, $F4, $2A, $58, $B1, $DB, $9C, $0D, $82, $59, $78, $F1, $9D, $87, + $09, $E9, $5D, $2C, $8E, $B1, $9F, $46, $D7, $30, $30, $BA, $F8, $F5, $62, $87, + $0D, $03, $8D, $9D, $F3, $1F, $8E, $79, $04, $FF, $AB, $D4, $44, $90, $79, $65, + $DF, $D2, $A1, $17, $B5, $73, $0F, $FB, $B9, $FD, $5B, $E2, $3E, $41, $B5, $D2, + $95, $09, $82, $41, $0C, $D4, $BA, $A3, $48, $D2, $7E, $14, $86, $AE, $9D, $13, + $9C, $49, $60, $E0, $95, $B1, $7F, $96, $26, $39, $C2, $A5, $F1, $03, $A2, $54, + $66, $87, $F2, $D8, $67, $EE, $2D, $4B, $95, $8E, $DF, $1A, $E5, $4F, $6E, $D7, + $A8, $C1, $38, $95, $77, $03, $C6, $FA, $F3, $63, $A8, $13, $00, $89, $C2, $F3, + $7C, $A8, $48, $2B, $8E, $84, $EE, $18, $A4, $01, $08, $BF, $CB, $A7, $3B, $CA, + $54, $59, $BA, $C2, $A4, $64, $A9, $61, $3F, $B5, $F3, $C2, $55, $F6, $36, $2B, + $A0, $CB, $F5, $74, $92, $37, $68, $EE, $A9, $B4, $21, $AD, $02, $6C, $C3, $F1, + $87, $40, $DB, $35, $3B, $90, $ED, $EA, $5C, $86, $12, $58, $C1, $8D, $FA, $71, + $B5, $71, $3B, $9A, $D2, $85, $68, $D6, $67, $18, $BD, $D0, $A0, $3F, $A4, $0F, + $58, $FD, $84, $92, $65, $E0, $2B, $4D, $91, $B3, $AC, $4A, $FF, $3D, $1D, $A4, + $CE, $E0, $47, $B5, $32, $59, $C2, $BC, $8C, $6F, $DF, $68, $5F, $E5, $B7, $B4, + $04, $FF, $60, $6E, $F1, $F7, $CC, $06, $D3, $62, $39, $EC, $CC, $FD, $26, $E6, + $54, $47, $FA, $8B, $89, $21, $B4, $3B, $32, $F6, $B5, $CA, $58, $DF, $45, $51, + $D2, $A1, $8F, $46, $E7, $52, $67, $FA, $DA, $D3, $6B, $DD, $02, $74, $AD, $FE, + $86, $31, $AF, $55, $47, $E4, $EB, $B9, $02, $CB, $39, $3C, $94, $84, $99, $68, + $EB, $34, $2E, $81, $F7, $E7, $75, $AE, $39, $64, $C4, $83, $A5, $4E, $C1, $00, + $49, $CB, $FB, $DD, $1C, $8B, $77, $59, $B4, $C1, $C4, $75, $9B, $7E, $0F, $D4, + $8E, $F5, $65, $E6, $25, $49, $98, $DC, $93, $28, $B9, $46, $52, $99, $F0, $F7, + $7C, $96, $56, $3D, $D0, $AB, $F3, $4A, $D1, $1F, $73, $9F, $DF, $BB, $01, $B6, + $56, $41, $A8, $E6, $C1, $19, $D7, $25, $7B, $90, $C9, $CA, $60, $FA, $47, $3A, + $8E, $BE, $9B, $58, $F9, $24, $24, $DD, $D9, $A2, $42, $C0, $29, $26, $F5, $B4, + $B6, $43, $AA, $01, $13, $FA, $9D, $EC, $0E, $E4, $7C, $1C, $ED, $E6, $84, $14, + $EE, $62, $79, $85, $DD, $A2, $57, $94, $4D, $51, $BD, $B3, $AD, $1F, $C8, $24, + $6A, $D7, $90, $8C, $2B, $B4, $59, $5F, $D1, $E1, $C0, $4B, $E8, $21, $31, $F8, + $A0, $DE, $0F, $FC, $3B, $29, $BD, $CB, $D4, $51, $AE, $1F, $3A, $A2, $D8, $EB, + $5B, $D8, $76, $48, $DA, $AE, $E3, $4B, $B4, $45, $4E, $E5, $EF, $9F, $74, $90, + $30, $2E, $BA, $C8, $B6, $2F, $E6, $16, $33, $B7, $F4, $A8, $3B, $D9, $4B, $60, + $F3, $9F, $CA, $7D, $F8, $07, $2E, $88, $9A, $95, $27, $F5, $09, $5A, $AC, $B4, + $F7, $5C, $D4, $71, $0E, $D6, $EF, $FE, $3C, $C2, $17, $20, $E9, $B4, $88, $6D, + $CC, $58, $4E, $F4, $F9, $FE, $2E, $A4, $6A, $26, $EC, $9E, $CD, $23, $8E, $40, + $08, $C1, $90, $CF, $2B, $C8, $0F, $65, $F5, $C4, $86, $76, $F7, $41, $1C, $8E, + $8C, $A2, $06, $C8, $22, $59, $F7, $8F, $E7, $4F, $C6, $35, $39, $8C, $E2, $E8, + $24, $D0, $59, $77, $CE, $B7, $91, $04, $D9, $48, $6F, $CC, $8A, $D5, $4D, $D0, + $1F, $3E, $CB, $F7, $E0, $4A, $83, $4A, $3B, $CC, $D8, $95, $05, $FA, $71, $77, + $F7, $8D, $C3, $7F, $EE, $6F, $0D, $D6, $C9, $AB, $66, $A7, $44, $22, $DA, $AF, + $CC, $52, $D6, $71, $5A, $C4, $FB, $89, $0F, $C5, $63, $62, $DD, $B8, $E8, $3E, + $DC, $09, $56, $98, $92, $FD, $5F, $F0, $7E, $46, $B8, $90, $D1, $2A, $C8, $4B, + $13, $D8, $83, $CC, $5C, $B3, $4D, $01, $8E, $E9, $A4, $1E, $C4, $1B, $05, $E1, + $D9, $EB, $10, $FC, $70, $56, $AB, $8C, $9F, $5B, $A7, $6D, $6B, $A3, $B0, $E1, + $3B, $E2, $44, $27, $C3, $A0, $F3, $44, $E5, $42, $27, $E2, $C0, $9A, $26, $DF, + $52, $3D, $B2, $F7, $81, $1F, $FA, $11, $61, $F9, $E9, $87, $4C, $FA, $7F, $33, + $8C, $85, $D8, $66, $F2, $48, $38, $F0, $BD, $84, $2B, $FF, $7F, $6B, $D5, $9E, + $BF, $69, $B6, $3E, $57, $CA, $96, $93, $09, $BB, $7D, $3C, $D9, $DC, $D1, $58, + $83, $12, $7C, $C7, $E8, $C9, $13, $B4, $53, $64, $FB, $8C, $C9, $63, $E6, $14, + $26, $C4, $C9, $F7, $56, $AE, $6B, $26, $D6, $C2, $B2, $77, $D0, $13, $1A, $E8, + $C4, $B5, $0E, $D8, $66, $44, $D0, $B7, $CB, $63, $94, $68, $0F, $E2, $E3, $9E, + $5D, $A0, $6B, $2C, $EB, $88, $BB, $33, $9F, $28, $7F, $A8, $A2, $B9, $33, $EC, + $54, $62, $D9, $BE, $86, $1A, $8E, $08, $55, $F5, $B6, $A8, $5C, $DD, $3E, $6E, + $B7, $9C, $97, $40, $FB, $31, $17, $DD, $F7, $9C, $21, $AD, $5E, $2B, $AE, $D1, + $8E, $6B, $8C, $60, $1B, $C7, $F0, $85, $13, $F3, $6D, $62, $BE, $C6, $B3, $76, + $87, $09, $7B, $A3, $ED, $AC, $2D, $D9, $7C, $18, $DE, $FC, $97, $00, $A0, $32, + $64, $99, $F7, $CA, $38, $A8, $58, $6E, $AA, $C9, $AC, $58, $A6, $59, $68, $9D, + $C5, $F2, $5F, $9C, $53, $68, $A8, $B3, $95, $64, $8B, $3F, $07, $ED, $BF, $F4, + $0E, $8C, $44, $12, $81, $E5, $A6, $16, $8A, $17, $11, $A7, $F6, $81, $14, $D8, + $14, $55, $C8, $E5, $9E, $60, $FA, $79, $24, $BD, $AA, $AB, $79, $FC, $06, $3C, + $FC, $DC, $98, $7B, $E5, $2F, $7D, $DA, $9B, $CA, $7B, $83, $44, $29, $E9, $BC, + $D3, $05, $C1, $14, $68, $87, $8B, $A5, $0B, $EC, $2E, $57, $E5, $CB, $90, $45, + $DE, $47, $62, $9B, $C8, $93, $3C, $C7, $3C, $08, $AE, $BC, $FE, $5D, $FC, $6A, + $4E, $A8, $A4, $DF, $06, $F5, $52, $29, $95, $A5, $D8, $1D, $F4, $16, $4E, $B5, + $A6, $C8, $10, $EF, $77, $34, $C9, $99, $A4, $7E, $A2, $3C, $22, $A2, $85, $FB, + $65, $D8, $68, $1E, $EC, $F6, $DD, $3E, $D7, $70, $62, $83, $E9, $E1, $27, $AF, + $2F, $39, $F4, $BD, $80, $3E, $F3, $3A, $0F, $C1, $F0, $F0, $16, $CE, $45, $42, + $B1, $BA, $C1, $57, $B1, $7C, $27, $EA, $F4, $9E, $15, $E1, $2A, $29, $9D, $FA, + $C0, $16, $DD, $3D, $70, $CB, $C2, $94, $7B, $FE, $4F, $0A, $9B, $DA, $9A, $0B + ); + + defBdsPatchDllDatas: array[0..13823] of Byte = ( + $4D, $5A, $90, $00, $03, $00, $00, $00, $04, $00, $00, $00, $FF, $FF, $00, $00, + $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $D8, $00, $00, $00, + $0E, $1F, $BA, $0E, $00, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, + $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, + $74, $20, $62, $65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, + $6D, $6F, $64, $65, $2E, $0D, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00, + $C9, $E7, $94, $1A, $8D, $86, $FA, $49, $8D, $86, $FA, $49, $8D, $86, $FA, $49, + $68, $DF, $FE, $48, $88, $86, $FA, $49, $84, $FE, $69, $49, $88, $86, $FA, $49, + $8D, $86, $FB, $49, $A7, $86, $FA, $49, $7F, $DF, $F3, $48, $8A, $86, $FA, $49, + $7F, $DF, $FA, $48, $8C, $86, $FA, $49, $7F, $DF, $05, $49, $8C, $86, $FA, $49, + $7F, $DF, $F8, $48, $8C, $86, $FA, $49, $52, $69, $63, $68, $8D, $86, $FA, $49, + $00, $00, $00, $00, $00, $00, $00, $00, $50, $45, $00, $00, $4C, $01, $05, $00, + $E1, $70, $F1, $55, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $02, $21, + $0B, $01, $0E, $00, $00, $1C, $00, $00, $00, $18, $00, $00, $00, $00, $00, $00, + $80, $18, $00, $00, $00, $10, $00, $00, $00, $30, $00, $00, $00, $00, $00, $10, + $00, $10, $00, $00, $00, $02, $00, $00, $05, $00, $01, $00, $00, $00, $00, $00, + $05, $00, $01, $00, $00, $00, $00, $00, $00, $70, $00, $00, $00, $04, $00, $00, + $FD, $77, $00, $00, $02, $00, $40, $05, $00, $00, $10, $00, $00, $10, $00, $00, + $00, $00, $10, $00, $00, $10, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00, + $B0, $36, $00, $00, $6B, $00, $00, $00, $28, $38, $00, $00, $3C, $00, $00, $00, + $00, $50, $00, $00, $E0, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $E0, $01, $00, $00, + $30, $36, $00, $00, $1C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $50, $36, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $30, $00, $00, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $2E, $74, $65, $78, $74, $00, $00, $00, $0D, $1A, $00, $00, $00, $10, $00, $00, + $00, $1C, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $20, $00, $00, $60, $2E, $72, $64, $61, $74, $61, $00, $00, + $32, $0C, $00, $00, $00, $30, $00, $00, $00, $0E, $00, $00, $00, $20, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $2E, $64, $61, $74, $61, $00, $00, $00, $8C, $05, $00, $00, $00, $40, $00, $00, + $00, $04, $00, $00, $00, $2E, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $C0, $2E, $72, $73, $72, $63, $00, $00, $00, + $E0, $01, $00, $00, $00, $50, $00, $00, $00, $02, $00, $00, $00, $32, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $2E, $72, $65, $6C, $6F, $63, $00, $00, $E0, $01, $00, $00, $00, $60, $00, $00, + $00, $02, $00, $00, $00, $34, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $42, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $51, $53, $56, $33, $F6, $56, $68, $80, $00, $00, $00, $6A, $03, $56, $6A, $01, + $68, $00, $00, $00, $80, $51, $FF, $15, $00, $30, $00, $10, $8B, $D8, $83, $FB, + $FF, $0F, $84, $81, $00, $00, $00, $57, $8D, $44, $24, $0C, $89, $74, $24, $0C, + $50, $53, $FF, $15, $04, $30, $00, $10, $8B, $F8, $83, $FF, $FF, $74, $61, $39, + $74, $24, $0C, $75, $5B, $55, $56, $56, $56, $6A, $02, $56, $53, $FF, $15, $08, + $30, $00, $10, $8B, $E8, $83, $FD, $FF, $74, $45, $56, $56, $56, $6A, $04, $55, + $FF, $15, $0C, $30, $00, $10, $8B, $D0, $85, $D2, $74, $2C, $83, $CE, $FF, $8B, + $CA, $85, $FF, $74, $1A, $0F, $B6, $01, $8D, $49, $01, $33, $C6, $C1, $EE, $08, + $0F, $B6, $C0, $33, $34, $85, $D0, $30, $00, $10, $83, $EF, $01, $75, $E6, $52, + $F7, $D6, $FF, $15, $10, $30, $00, $10, $55, $FF, $15, $14, $30, $00, $10, $5D, + $53, $FF, $15, $14, $30, $00, $10, $5F, $8B, $C6, $5E, $5B, $59, $C3, $CC, $CC, + $C7, $44, $24, $10, $00, $00, $00, $00, $C7, $44, $24, $0C, $00, $00, $00, $00, + $FF, $25, $A4, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $FF, $25, $A8, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $33, $C0, $40, $C2, $04, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $81, $B9, $F0, $0F, $00, $00, $78, $56, $34, $12, $53, $8D, $99, $F0, $0F, + $00, $00, $74, $52, $56, $57, $8B, $3D, $18, $30, $00, $10, $8D, $44, $24, $0C, + $50, $6A, $40, $8D, $B1, $40, $F6, $02, $00, $6A, $02, $56, $FF, $D7, $B8, $B3, + $01, $00, $00, $66, $89, $06, $8D, $44, $24, $0C, $50, $FF, $74, $24, $10, $6A, + $02, $56, $FF, $D7, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $53, $FF, $D7, + $8D, $44, $24, $0C, $C7, $03, $78, $56, $34, $12, $50, $FF, $74, $24, $10, $6A, + $04, $53, $FF, $D7, $5F, $5E, $5B, $59, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $5C, $24, $14, $56, $57, $8B, $7C, $24, $18, $53, $57, $FF, $74, $24, + $1C, $FF, $74, $24, $1C, $FF, $15, $44, $45, $00, $10, $8B, $F0, $85, $F6, $75, + $5C, $85, $DB, $74, $58, $F7, $C7, $00, $00, $FF, $FF, $74, $50, $66, $39, $07, + $74, $4B, $8B, $57, $04, $F7, $C2, $00, $00, $FF, $FF, $74, $40, $8B, $CA, $66, + $39, $02, $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, + $D1, $66, $83, $39, $00, $75, $ED, $0F, $B7, $02, $83, $F8, $73, $74, $05, $83, + $F8, $53, $75, $17, $68, $D0, $34, $00, $10, $52, $FF, $15, $1C, $30, $00, $10, + $85, $C0, $75, $07, $8B, $0B, $E8, $15, $FF, $FF, $FF, $8B, $C6, $5F, $5E, $5B, + $C2, $10, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $50, $A1, $54, $45, $00, $10, $3B, $44, $24, $04, $75, $06, $8B, $45, $2C, $C6, + $00, $01, $58, $FF, $25, $58, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $5C, $24, $08, $56, $8B, $74, $24, $10, $57, $56, $53, $FF, $15, $3C, + $45, $00, $10, $8B, $F8, $85, $FF, $75, $77, $3B, $1D, $5C, $45, $00, $10, $75, + $6F, $F7, $C6, $00, $00, $FF, $FF, $74, $67, $B9, $F4, $34, $00, $10, $8B, $C6, + $8A, $10, $3A, $11, $75, $1A, $84, $D2, $74, $12, $8A, $50, $01, $3A, $51, $01, + $75, $0E, $83, $C0, $02, $83, $C1, $02, $84, $D2, $75, $E4, $33, $C0, $EB, $05, + $1B, $C0, $83, $C8, $01, $85, $C0, $74, $32, $B8, $10, $35, $00, $10, $66, $90, + $8A, $0E, $3A, $08, $75, $1A, $84, $C9, $74, $12, $8A, $4E, $01, $3A, $48, $01, + $75, $0E, $83, $C6, $02, $83, $C0, $02, $84, $C9, $75, $E4, $33, $C0, $EB, $05, + $1B, $C0, $83, $C8, $01, $85, $C0, $8B, $C7, $75, $05, $B8, $E0, $10, $00, $10, + $5F, $5E, $5B, $C2, $08, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $55, $8B, $6C, $24, $0C, $8B, $5C, $24, $10, $8B, $4C, $24, $14, $8B, $44, + $24, $18, $8B, $54, $24, $1C, $F0, $0F, $C7, $4D, $00, $5D, $5B, $C2, $14, $00, + $74, $67, $60, $8B, $4D, $0C, $03, $C8, $8D, $51, $02, $81, $3A, $49, $6E, $74, + $65, $75, $4F, $81, $7A, $04, $72, $6C, $6F, $63, $75, $46, $81, $7A, $08, $6B, + $65, $64, $43, $75, $3D, $81, $7A, $0C, $6F, $6D, $70, $61, $75, $34, $81, $7A, + $10, $72, $65, $45, $78, $75, $2B, $81, $7A, $14, $63, $68, $61, $6E, $75, $22, + $81, $7A, $18, $67, $65, $36, $34, $75, $19, $80, $7A, $1C, $00, $75, $13, $B8, + $B0, $12, $00, $10, $8B, $55, $14, $89, $02, $61, $33, $C0, $FF, $25, $4C, $45, + $00, $10, $61, $FF, $25, $50, $45, $00, $10, $B8, $7A, $00, $00, $C0, $FF, $25, + $4C, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $56, $8B, $35, $24, $30, $00, $10, $68, $30, $35, $00, $10, $FF, $D6, $68, + $4C, $35, $00, $10, $A3, $60, $45, $00, $10, $FF, $D6, $8B, $35, $28, $30, $00, + $10, $68, $3C, $45, $00, $10, $68, $64, $35, $00, $10, $FF, $35, $60, $45, $00, + $10, $A3, $5C, $45, $00, $10, $FF, $D6, $BA, $10, $12, $00, $10, $8B, $C8, $E8, + $1A, $0B, $00, $00, $68, $74, $35, $00, $10, $FF, $35, $64, $45, $00, $10, $FF, + $D6, $85, $C0, $0F, $84, $6F, $01, $00, $00, $83, $3D, $60, $45, $00, $10, $00, + $0F, $84, $62, $01, $00, $00, $8B, $0D, $64, $45, $00, $10, $53, $55, $8D, $98, + $00, $FC, $FF, $FF, $8B, $51, $3C, $57, $8D, $78, $C0, $8B, $6C, $0A, $2C, $03, + $E9, $8B, $4C, $0A, $1C, $03, $CD, $3B, $DD, $89, $4C, $24, $10, $0F, $42, $DD, + $3B, $FB, $0F, $86, $2D, $01, $00, $00, $8D, $77, $03, $0F, $1F, $44, $00, $00, + $8B, $07, $25, $FF, $F8, $FF, $00, $3D, $C1, $E8, $1F, $00, $0F, $85, $E4, $00, + $00, $00, $8D, $56, $08, $8B, $CE, $3B, $F2, $0F, $83, $D7, $00, $00, $00, $90, + $8B, $01, $25, $FF, $F8, $FF, $00, $3D, $80, $E0, $01, $00, $74, $0A, $41, $3B, + $CA, $72, $ED, $E9, $BE, $00, $00, $00, $3B, $CA, $0F, $83, $B6, $00, $00, $00, + $83, $C1, $03, $8D, $51, $08, $3B, $CA, $0F, $83, $A8, $00, $00, $00, $66, $90, + $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $88, $45, $13, $00, $74, $0A, $41, $3B, + $CA, $72, $ED, $E9, $8E, $00, $00, $00, $3B, $CA, $0F, $83, $86, $00, $00, $00, + $83, $C1, $03, $8D, $41, $08, $3B, $C8, $0F, $83, $78, $00, $00, $00, $BA, $0F, + $85, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, $72, $F6, $EB, $67, $3B, + $C8, $73, $63, $83, $C1, $06, $8D, $51, $08, $3B, $CA, $73, $59, $0F, $1F, $00, + $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $8B, $45, $0C, $00, $74, $07, $41, $3B, + $CA, $72, $ED, $EB, $41, $3B, $CA, $73, $3D, $83, $C1, $03, $8D, $41, $08, $3B, + $C8, $73, $33, $BA, $0F, $84, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, + $72, $F6, $EB, $22, $3B, $C8, $73, $1E, $8D, $51, $06, $03, $51, $02, $3B, $D5, + $72, $14, $3B, $54, $24, $10, $73, $0E, $80, $3A, $B8, $75, $09, $81, $7A, $01, + $7A, $00, $00, $C0, $74, $10, $4F, $4E, $3B, $FB, $0F, $87, $00, $FF, $FF, $FF, + $5F, $5D, $5B, $5E, $59, $C3, $8D, $41, $06, $A3, $50, $45, $00, $10, $8D, $42, + $05, $68, $40, $45, $00, $10, $BA, $D0, $12, $00, $10, $A3, $4C, $45, $00, $10, + $E8, $99, $09, $00, $00, $5F, $5D, $5B, $5E, $59, $C3, $CC, $CC, $CC, $CC, $CC, + $81, $EC, $14, $01, $00, $00, $53, $8B, $1D, $50, $30, $00, $10, $55, $56, $57, + $33, $FF, $33, $ED, $57, $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $8B, $35, + $6C, $30, $00, $10, $85, $C0, $74, $1D, $83, $FF, $20, $73, $04, $6A, $00, $EB, + $02, $6A, $01, $FF, $D6, $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $47, $FF, + $D3, $85, $C0, $75, $E3, $39, $2D, $6C, $45, $00, $10, $75, $1A, $6A, $00, $6A, + $00, $6A, $00, $FF, $15, $44, $30, $00, $10, $A3, $6C, $45, $00, $10, $85, $C0, + $75, $0A, $8D, $68, $09, $EB, $05, $BD, $01, $00, $00, $00, $6A, $00, $68, $68, + $45, $00, $10, $FF, $15, $40, $30, $00, $10, $85, $ED, $0F, $85, $BC, $00, $00, + $00, $68, $8C, $35, $00, $10, $FF, $15, $24, $30, $00, $10, $68, $44, $45, $00, + $10, $68, $A0, $35, $00, $10, $50, $A3, $64, $45, $00, $10, $FF, $15, $28, $30, + $00, $10, $BA, $60, $11, $00, $10, $8B, $C8, $E8, $E0, $08, $00, $00, $85, $C0, + $0F, $85, $87, $00, $00, $00, $32, $C0, $8D, $7C, $24, $10, $B9, $14, $01, $00, + $00, $F3, $AA, $8D, $44, $24, $10, $C7, $44, $24, $10, $14, $01, $00, $00, $50, + $FF, $15, $20, $30, $00, $10, $85, $C0, $74, $13, $83, $7C, $24, $20, $02, $75, + $07, $83, $7C, $24, $14, $05, $77, $05, $E8, $43, $FD, $FF, $FF, $33, $FF, $57, + $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $85, $C0, $74, $20, $0F, $1F, $00, + $83, $FF, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D6, $6A, $00, $6A, + $01, $68, $68, $45, $00, $10, $47, $FF, $D3, $85, $C0, $75, $E3, $83, $3D, $6C, + $45, $00, $10, $00, $74, $0A, $B9, $01, $00, $00, $00, $E8, $ED, $06, $00, $00, + $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $5F, $5E, $5D, + $5B, $81, $C4, $14, $01, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $1D, $50, $30, $00, $10, $56, $33, $F6, $56, $6A, $01, $68, $68, $45, + $00, $10, $FF, $D3, $85, $C0, $74, $26, $57, $8B, $3D, $6C, $30, $00, $10, $90, + $83, $FE, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D7, $6A, $00, $6A, + $01, $68, $68, $45, $00, $10, $46, $FF, $D3, $85, $C0, $75, $E3, $5F, $83, $3D, + $6C, $45, $00, $10, $00, $5E, $5B, $74, $07, $33, $C9, $E8, $7D, $06, $00, $00, + $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $E9, $51, $07, + $00, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $57, $68, $AC, $35, $00, $10, $FF, $15, $2C, $30, $00, $10, $8B, $F8, $85, + $FF, $0F, $84, $80, $00, $00, $00, $53, $56, $68, $C8, $35, $00, $10, $57, $FF, + $15, $28, $30, $00, $10, $8B, $1D, $18, $30, $00, $10, $8B, $F0, $85, $F6, $74, + $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, $56, $FF, $D3, $8D, $44, $24, + $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, $24, $10, $C6, $46, $04, $00, + $6A, $FF, $56, $FF, $D3, $68, $D8, $35, $00, $10, $57, $FF, $15, $28, $30, $00, + $10, $8B, $F0, $85, $F6, $74, $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, + $56, $FF, $D3, $8D, $44, $24, $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, + $24, $10, $C6, $46, $04, $00, $6A, $FF, $56, $FF, $D3, $5E, $5B, $C6, $05, $48, + $45, $00, $10, $00, $5F, $59, $C3, $C6, $05, $48, $45, $00, $10, $01, $5F, $59, + $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $81, $EC, $14, $04, $00, $00, $53, $56, $57, $6A, $00, $FF, $15, $24, $30, $00, + $10, $8B, $D8, $8D, $44, $24, $10, $68, $08, $02, $00, $00, $50, $53, $FF, $15, + $30, $30, $00, $10, $66, $83, $7C, $24, $10, $00, $8D, $4C, $24, $10, $8B, $F1, + $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, $F1, $66, + $83, $39, $00, $75, $ED, $8B, $3D, $1C, $30, $00, $10, $68, $EC, $35, $00, $10, + $56, $FF, $D7, $85, $C0, $75, $25, $8D, $4C, $24, $10, $E8, $10, $F8, $FF, $FF, + $3D, $3C, $BA, $5F, $62, $74, $07, $3D, $E2, $F5, $99, $11, $75, $72, $8D, $83, + $30, $F7, $01, $00, $8D, $BB, $84, $EF, $11, $00, $EB, $28, $68, $FC, $35, $00, + $10, $56, $FF, $D7, $85, $C0, $75, $58, $8D, $4C, $24, $10, $E8, $DF, $F7, $FF, + $FF, $3D, $21, $79, $63, $B7, $75, $48, $8D, $83, $84, $04, $1F, $00, $8D, $BB, + $CC, $37, $62, $00, $8B, $35, $18, $30, $00, $10, $A3, $54, $45, $00, $10, $8B, + $07, $A3, $58, $45, $00, $10, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $57, + $FF, $D6, $8D, $44, $24, $0C, $C7, $07, $F0, $11, $00, $10, $50, $FF, $74, $24, + $10, $6A, $04, $57, $FF, $D6, $E8, $75, $FE, $FF, $FF, $E8, $B0, $FC, $FF, $FF, + $5F, $5E, $5B, $81, $C4, $14, $04, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, + $8B, $44, $24, $08, $83, $F8, $03, $77, $2F, $FF, $24, $85, $C0, $18, $00, $10, + $E8, $FB, $FE, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, $80, $3D, $48, + $45, $00, $10, $00, $74, $12, $E8, $35, $FE, $FF, $FF, $B8, $01, $00, $00, $00, + $C2, $0C, $00, $E8, $B8, $FD, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, + $B3, $18, $00, $10, $90, $18, $00, $10, $9D, $18, $00, $10, $9D, $18, $00, $10, + $56, $8B, $35, $88, $45, $00, $10, $33, $C0, $85, $F6, $74, $12, $8B, $15, $80, + $45, $00, $10, $3B, $0A, $74, $0B, $40, $83, $C2, $28, $3B, $C6, $72, $F4, $83, + $C8, $FF, $5E, $C3, $8B, $0D, $80, $45, $00, $10, $85, $C9, $75, $2B, $68, $00, + $05, $00, $00, $51, $FF, $35, $6C, $45, $00, $10, $C7, $05, $84, $45, $00, $10, + $20, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $8B, $C8, $89, $0D, $80, $45, + $00, $10, $85, $C9, $75, $3D, $33, $C0, $C3, $8B, $15, $88, $45, $00, $10, $A1, + $84, $45, $00, $10, $3B, $D0, $72, $31, $6B, $C0, $50, $50, $51, $6A, $00, $FF, + $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, $10, $8B, $C8, $85, $C9, $74, + $D5, $A1, $84, $45, $00, $10, $03, $C0, $89, $0D, $80, $45, $00, $10, $A3, $84, + $45, $00, $10, $8B, $15, $88, $45, $00, $10, $6B, $C2, $28, $03, $C1, $42, $89, + $15, $88, $45, $00, $10, $C3, $55, $8B, $EC, $81, $EC, $D8, $02, $00, $00, $A1, + $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $C1, $C7, $85, $30, $FD, $FF, + $FF, $01, $00, $01, $00, $56, $8D, $8D, $30, $FD, $FF, $FF, $89, $85, $28, $FD, + $FF, $FF, $51, $50, $8B, $F2, $FF, $15, $7C, $30, $00, $10, $85, $C0, $0F, $84, + $C3, $00, $00, $00, $53, $83, $FE, $FF, $75, $0A, $8B, $1D, $88, $45, $00, $10, + $33, $F6, $EB, $03, $8D, $5E, $01, $3B, $F3, $0F, $83, $A7, $00, $00, $00, $6B, + $D6, $28, $2B, $DE, $57, $8B, $BD, $28, $FD, $FF, $FF, $89, $95, $2C, $FD, $FF, + $FF, $8B, $35, $80, $45, $00, $10, $8B, $45, $08, $03, $F2, $83, $E8, $00, $74, + $1A, $83, $E8, $01, $74, $10, $83, $E8, $01, $75, $12, $8B, $7E, $14, $C1, $E7, + $1D, $C1, $FF, $1F, $EB, $07, $33, $FF, $47, $EB, $02, $33, $FF, $8B, $56, $14, + $8B, $C2, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C7, $74, $41, $85, $FF, $74, $70, + $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $14, $0F, $B6, $44, $0E, $18, $03, + $06, $39, $85, $E8, $FD, $FF, $FF, $74, $4D, $41, $3B, $CA, $72, $EC, $33, $C9, + $85, $C9, $74, $19, $8D, $85, $30, $FD, $FF, $FF, $89, $8D, $E8, $FD, $FF, $FF, + $50, $FF, $B5, $28, $FD, $FF, $FF, $FF, $15, $88, $30, $00, $10, $8B, $95, $2C, + $FD, $FF, $FF, $83, $C2, $28, $89, $95, $2C, $FD, $FF, $FF, $83, $EB, $01, $0F, + $85, $6C, $FF, $FF, $FF, $5F, $5B, $8B, $4D, $FC, $33, $CD, $5E, $E8, $50, $0E, + $00, $00, $8B, $E5, $5D, $C3, $0F, $B6, $4C, $31, $20, $03, $4E, $08, $EB, $B0, + $F6, $C2, $01, $74, $0D, $8B, $0E, $8D, $41, $FB, $39, $85, $E8, $FD, $FF, $FF, + $74, $9E, $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $92, $0F, $B6, $44, $0E, + $20, $03, $46, $08, $39, $85, $E8, $FD, $FF, $FF, $74, $0A, $41, $3B, $CA, $72, + $EB, $E9, $78, $FF, $FF, $FF, $0F, $B6, $4C, $31, $18, $03, $0E, $E9, $6E, $FF, + $FF, $FF, $55, $8B, $EC, $83, $EC, $20, $A1, $04, $40, $00, $10, $33, $C5, $89, + $45, $FC, $56, $57, $6A, $00, $6A, $04, $8B, $F1, $FF, $15, $68, $30, $00, $10, + $8B, $F8, $83, $FF, $FF, $0F, $84, $AE, $00, $00, $00, $8D, $45, $E0, $C7, $45, + $E0, $1C, $00, $00, $00, $50, $57, $FF, $15, $58, $30, $00, $10, $E9, $88, $00, + $00, $00, $83, $7D, $E0, $10, $72, $70, $FF, $15, $80, $30, $00, $10, $39, $45, + $EC, $75, $65, $FF, $15, $5C, $30, $00, $10, $39, $45, $E8, $74, $5A, $83, $3E, + $00, $75, $22, $68, $00, $02, $00, $00, $6A, $00, $FF, $35, $6C, $45, $00, $10, + $C7, $46, $04, $80, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $89, $06, $85, + $C0, $74, $4F, $EB, $25, $8B, $46, $04, $39, $46, $08, $72, $1D, $C1, $E0, $03, + $50, $FF, $36, $6A, $00, $FF, $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, + $10, $85, $C0, $74, $2D, $D1, $66, $04, $89, $06, $8B, $56, $08, $8B, $0E, $8B, + $45, $E8, $89, $04, $91, $FF, $46, $08, $8D, $45, $E0, $C7, $45, $E0, $1C, $00, + $00, $00, $50, $57, $FF, $15, $54, $30, $00, $10, $85, $C0, $0F, $85, $70, $FF, + $FF, $FF, $57, $FF, $15, $14, $30, $00, $10, $8B, $4D, $FC, $5F, $33, $CD, $5E, + $E8, $1D, $0D, $00, $00, $8B, $E5, $5D, $C3, $55, $8B, $EC, $51, $53, $56, $8B, + $F1, $89, $55, $FC, $33, $DB, $89, $1E, $89, $5E, $04, $89, $5E, $08, $E8, $FF, + $FE, $FF, $FF, $39, $1E, $74, $42, $57, $8B, $FB, $39, $5E, $08, $76, $39, $8B, + $06, $FF, $34, $B8, $53, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, $D8, $85, + $DB, $74, $1C, $53, $FF, $15, $60, $30, $00, $10, $FF, $75, $08, $8B, $55, $FC, + $8B, $CB, $E8, $6F, $FD, $FF, $FF, $59, $53, $FF, $15, $14, $30, $00, $10, $47, + $6A, $00, $5B, $3B, $7E, $08, $72, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, + $8B, $F1, $83, $3E, $00, $74, $44, $57, $33, $FF, $39, $7E, $08, $76, $2B, $53, + $8B, $06, $FF, $34, $B8, $6A, $00, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, + $D8, $85, $DB, $74, $0E, $53, $FF, $15, $64, $30, $00, $10, $53, $FF, $15, $14, + $30, $00, $10, $47, $3B, $7E, $08, $72, $D7, $5B, $FF, $36, $6A, $00, $FF, $35, + $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $5F, $5E, $C3, $55, $8B, $EC, + $83, $EC, $10, $53, $6B, $D9, $28, $56, $57, $6A, $05, $8B, $F2, $03, $1D, $80, + $45, $00, $10, $58, $89, $75, $F0, $89, $45, $FC, $F6, $43, $14, $01, $8B, $3B, + $89, $7D, $F8, $74, $0B, $2B, $F8, $6A, $07, $58, $89, $7D, $F8, $89, $45, $FC, + $8D, $4D, $F4, $51, $6A, $40, $50, $57, $FF, $15, $18, $30, $00, $10, $85, $C0, + $75, $05, $6A, $0A, $58, $EB, $7F, $85, $F6, $74, $1D, $C6, $07, $E9, $8B, $43, + $04, $2B, $C7, $83, $E8, $05, $89, $47, $01, $F6, $43, $14, $01, $74, $29, $8B, + $03, $66, $C7, $00, $EB, $F9, $EB, $20, $F6, $43, $14, $01, $74, $0F, $8D, $73, + $0C, $A5, $66, $A5, $A4, $8B, $7D, $F8, $8B, $75, $F0, $EB, $0B, $8B, $43, $0C, + $89, $07, $8A, $43, $10, $88, $47, $04, $8D, $45, $F4, $50, $FF, $75, $F4, $FF, + $75, $FC, $57, $FF, $15, $18, $30, $00, $10, $FF, $75, $FC, $57, $FF, $15, $4C, + $30, $00, $10, $50, $FF, $15, $84, $30, $00, $10, $83, $E6, $01, $8B, $CE, $83, + $E1, $FD, $8D, $04, $36, $0B, $C8, $8B, $43, $14, $03, $C9, $83, $E0, $F9, $0B, + $C8, $33, $C0, $89, $4B, $14, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $55, $8B, $EC, + $83, $EC, $10, $53, $8B, $1D, $88, $45, $00, $10, $8B, $D1, $56, $57, $33, $FF, + $89, $55, $FC, $8B, $F7, $85, $DB, $0F, $84, $83, $00, $00, $00, $8B, $0D, $80, + $45, $00, $10, $83, $C1, $14, $8B, $01, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C2, + $75, $0A, $46, $83, $C1, $28, $3B, $F3, $72, $EC, $EB, $64, $83, $FE, $FF, $74, + $5F, $33, $C0, $8D, $4D, $F0, $85, $D2, $0F, $95, $C0, $83, $CA, $FF, $50, $E8, + $25, $FE, $FF, $FF, $8B, $15, $88, $45, $00, $10, $59, $3B, $F2, $73, $39, $8B, + $4D, $FC, $6B, $DE, $28, $A1, $80, $45, $00, $10, $8B, $44, $03, $14, $C1, $E0, + $1E, $C1, $F8, $1F, $3B, $C1, $74, $18, $8B, $D1, $8B, $CE, $E8, $AC, $FE, $FF, + $FF, $8B, $F8, $85, $FF, $75, $11, $8B, $15, $88, $45, $00, $10, $8B, $4D, $FC, + $46, $83, $C3, $28, $3B, $F2, $72, $CD, $8D, $4D, $F0, $E8, $3F, $FE, $FF, $FF, + $8B, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, $33, $F6, $EB, $12, $83, $FE, + $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $15, $6C, $30, $00, $10, $46, + $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $FF, $15, $50, $30, $00, $10, $85, + $C0, $75, $DB, $5E, $C3, $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, + $00, $10, $C3, $57, $E8, $C0, $FF, $FF, $FF, $83, $3D, $6C, $45, $00, $10, $00, + $74, $70, $33, $C9, $E8, $04, $FF, $FF, $FF, $8B, $F8, $85, $FF, $75, $66, $A1, + $74, $45, $00, $10, $53, $33, $DB, $89, $1D, $74, $45, $00, $10, $85, $C0, $74, + $17, $56, $8B, $30, $68, $00, $80, $00, $00, $53, $50, $FF, $15, $90, $30, $00, + $10, $8B, $C6, $85, $F6, $75, $EB, $5E, $FF, $35, $80, $45, $00, $10, $53, $FF, + $35, $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $FF, $35, $6C, $45, $00, + $10, $FF, $15, $78, $30, $00, $10, $89, $1D, $6C, $45, $00, $10, $89, $1D, $80, + $45, $00, $10, $89, $1D, $84, $45, $00, $10, $89, $1D, $88, $45, $00, $10, $5B, + $EB, $03, $6A, $02, $5F, $E8, $6B, $FF, $FF, $FF, $8B, $C7, $5F, $C3, $55, $8B, + $EC, $83, $EC, $30, $A1, $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $45, + $08, $53, $56, $57, $8B, $FA, $89, $45, $D0, $89, $7D, $D4, $8B, $F1, $33, $DB, + $E8, $14, $FF, $FF, $FF, $39, $1D, $6C, $45, $00, $10, $0F, $84, $EB, $00, $00, + $00, $8B, $CE, $E8, $8A, $04, $00, $00, $85, $C0, $0F, $84, $D8, $00, $00, $00, + $8B, $CF, $E8, $7B, $04, $00, $00, $85, $C0, $0F, $84, $C9, $00, $00, $00, $8B, + $CE, $E8, $CA, $F9, $FF, $FF, $83, $F8, $FF, $0F, $85, $B5, $00, $00, $00, $E8, + $9D, $03, $00, $00, $8B, $F8, $85, $FF, $0F, $84, $A2, $00, $00, $00, $8B, $45, + $D4, $8D, $4D, $D8, $89, $75, $D8, $89, $45, $DC, $89, $7D, $E0, $E8, $E2, $00, + $00, $00, $85, $C0, $74, $7E, $E8, $B9, $F9, $FF, $FF, $8B, $D0, $85, $D2, $74, + $6F, $8B, $45, $D8, $8B, $4D, $E8, $8B, $7D, $E0, $83, $E1, $0F, $89, $02, $8B, + $45, $DC, $89, $42, $04, $8B, $45, $E4, $83, $E0, $01, $C1, $E1, $03, $0B, $C8, + $89, $7A, $08, $8B, $42, $14, $83, $E0, $80, $0B, $C8, $8B, $45, $EC, $89, $42, + $18, $8B, $45, $F0, $89, $42, $1C, $8B, $45, $F4, $89, $42, $20, $8B, $45, $F8, + $89, $4A, $14, $89, $42, $24, $39, $5D, $E4, $74, $0F, $83, $C6, $FB, $8D, $7A, + $0C, $A5, $66, $A5, $A4, $8B, $7D, $E0, $EB, $0B, $8B, $06, $89, $42, $0C, $8A, + $46, $04, $88, $42, $10, $8B, $45, $D0, $85, $C0, $74, $23, $89, $38, $EB, $1F, + $6A, $09, $EB, $02, $6A, $08, $5B, $8B, $CF, $E8, $67, $03, $00, $00, $EB, $0F, + $6A, $09, $EB, $0A, $6A, $03, $EB, $06, $6A, $07, $EB, $02, $6A, $02, $5B, $E8, + $41, $FE, $FF, $FF, $8B, $4D, $FC, $8B, $C3, $5F, $5E, $33, $CD, $5B, $E8, $EF, + $08, $00, $00, $8B, $E5, $5D, $C2, $04, $00, $56, $8B, $F1, $8A, $06, $84, $C0, + $74, $0C, $3C, $90, $74, $08, $3C, $CC, $74, $04, $33, $C0, $5E, $C3, $33, $C9, + $41, $3B, $D1, $76, $0A, $38, $04, $31, $75, $F0, $41, $3B, $CA, $72, $F6, $33, + $C0, $40, $5E, $C3, $55, $8B, $EC, $83, $EC, $58, $A1, $04, $40, $00, $10, $33, + $C5, $89, $45, $FC, $53, $33, $DB, $C6, $45, $AC, $E8, $56, $8B, $F1, $89, $5D, + $AD, $8A, $C3, $89, $75, $C4, $57, $C6, $45, $BC, $E9, $89, $5D, $BD, $66, $C7, + $45, $B4, $0F, $80, $89, $5D, $B6, $88, $45, $DF, $89, $5D, $D8, $89, $5D, $D4, + $89, $5E, $0C, $89, $5E, $10, $0F, $B6, $C8, $8D, $55, $E0, $8B, $46, $08, $0F, + $B6, $FB, $03, $C1, $03, $3E, $89, $4D, $A8, $8B, $CF, $89, $45, $C8, $E8, $2C, + $03, $00, $00, $F7, $45, $F8, $00, $10, $00, $00, $8B, $C8, $89, $4D, $D0, $0F, + $85, $19, $02, $00, $00, $89, $7D, $CC, $80, $FB, $05, $0F, $82, $84, $00, $00, + $00, $8B, $C7, $33, $D2, $2B, $45, $C8, $83, $E8, $05, $42, $6A, $05, $89, $45, + $BD, $8D, $45, $BC, $59, $89, $45, $CC, $89, $4D, $D0, $89, $55, $D4, $8B, $45, + $D8, $3B, $F8, $73, $0C, $0F, $B6, $45, $E0, $3B, $C8, $0F, $85, $DD, $01, $00, + $00, $8B, $45, $A8, $03, $C1, $83, $F8, $20, $0F, $87, $CF, $01, $00, $00, $8B, + $46, $10, $83, $F8, $08, $0F, $83, $C3, $01, $00, $00, $8A, $55, $DF, $88, $5C, + $30, $14, $8B, $46, $10, $02, $5D, $E0, $88, $54, $30, $1C, $8A, $C2, $8B, $7E, + $08, $FF, $46, $10, $03, $7D, $A8, $02, $45, $D0, $8B, $75, $CC, $8B, $55, $D4, + $88, $45, $DF, $F3, $A4, $85, $D2, $0F, $85, $2E, $01, $00, $00, $8B, $75, $C4, + $E9, $41, $FF, $FF, $FF, $8A, $55, $E6, $80, $FA, $E8, $75, $23, $0F, $B6, $45, + $E0, $2B, $45, $C8, $83, $C0, $FB, $03, $45, $F0, $03, $C7, $89, $45, $AD, $8D, + $45, $AC, $6A, $05, $59, $89, $45, $CC, $89, $4D, $D0, $E9, $6E, $FF, $FF, $FF, + $8A, $C2, $24, $FD, $3C, $E9, $75, $50, $0F, $B6, $4D, $E0, $03, $CF, $80, $FA, + $EB, $75, $08, $0F, $BE, $45, $F0, $03, $C8, $EB, $03, $03, $4D, $F0, $8B, $06, + $3B, $C1, $77, $1D, $83, $C0, $05, $3B, $C8, $73, $16, $8B, $45, $D8, $3B, $C1, + $0F, $83, $BD, $00, $00, $00, $89, $4D, $D8, $8B, $4D, $D0, $E9, $2D, $FF, $FF, + $FF, $2B, $4D, $C8, $8D, $45, $BC, $83, $E9, $05, $89, $45, $CC, $6A, $05, $89, + $4D, $BD, $59, $89, $4D, $D0, $EB, $29, $8A, $75, $E7, $8A, $E2, $80, $E4, $F0, + $80, $FC, $70, $74, $2C, $8A, $C2, $24, $FC, $3C, $E0, $74, $24, $8A, $C6, $24, + $F0, $3C, $80, $74, $1C, $80, $E2, $FE, $80, $FA, $C2, $0F, $85, $ED, $FE, $FF, + $FF, $8B, $45, $D8, $3B, $F8, $1B, $D2, $42, $89, $55, $D4, $E9, $E0, $FE, $FF, + $FF, $8A, $45, $E0, $0F, $B6, $C8, $03, $CF, $80, $FC, $70, $74, $0D, $8A, $C2, + $24, $FC, $3C, $E0, $74, $05, $03, $4D, $F0, $EB, $06, $0F, $BE, $45, $F0, $03, + $C8, $8B, $06, $3B, $C1, $77, $0B, $83, $C0, $05, $3B, $C8, $0F, $82, $69, $FF, + $FF, $FF, $8A, $C2, $24, $FC, $3C, $E0, $0F, $84, $90, $00, $00, $00, $0F, $B6, + $C2, $80, $FA, $0F, $75, $03, $0F, $B6, $C6, $2B, $4D, $C8, $24, $0F, $0C, $80, + $83, $E9, $06, $88, $45, $B5, $8D, $45, $B4, $89, $4D, $B6, $6A, $06, $E9, $01, + $FF, $FF, $FF, $8B, $4D, $D0, $E9, $76, $FE, $FF, $FF, $80, $FB, $05, $73, $59, + $8B, $7D, $C4, $0F, $B6, $F3, $6A, $05, $5A, $8B, $07, $2B, $D6, $03, $C6, $8B, + $C8, $89, $45, $C4, $E8, $90, $FD, $FF, $FF, $85, $C0, $75, $3C, $80, $FB, $02, + $73, $11, $8B, $4D, $C4, $6A, $02, $5A, $2B, $D6, $E8, $7A, $FD, $FF, $FF, $85, + $C0, $74, $2B, $8B, $0F, $83, $C1, $FB, $E8, $F5, $00, $00, $00, $85, $C0, $74, + $1D, $8B, $0F, $6A, $05, $83, $E9, $05, $5A, $E8, $5B, $FD, $FF, $FF, $85, $C0, + $74, $0C, $C7, $47, $0C, $01, $00, $00, $00, $33, $C0, $40, $EB, $02, $33, $C0, + $8B, $4D, $FC, $5F, $5E, $33, $CD, $5B, $E8, $25, $06, $00, $00, $8B, $E5, $5D, + $C3, $8B, $15, $74, $45, $00, $10, $56, $33, $F6, $EB, $07, $39, $72, $04, $75, + $4F, $8B, $12, $85, $D2, $75, $F5, $6A, $40, $68, $00, $30, $00, $00, $68, $00, + $10, $00, $00, $56, $FF, $15, $94, $30, $00, $10, $8B, $D0, $85, $D2, $74, $41, + $8D, $4A, $20, $89, $72, $04, $89, $72, $08, $8B, $F1, $2B, $F2, $8B, $42, $04, + $83, $C6, $20, $89, $01, $89, $4A, $04, $83, $C1, $20, $81, $FE, $E0, $0F, $00, + $00, $76, $EA, $A1, $74, $45, $00, $10, $89, $02, $89, $15, $74, $45, $00, $10, + $85, $D2, $74, $0D, $8B, $42, $04, $5E, $8B, $08, $FF, $42, $08, $89, $4A, $04, + $C3, $33, $C0, $5E, $C3, $8B, $15, $74, $45, $00, $10, $8B, $C1, $56, $33, $F6, + $25, $00, $F0, $FF, $FF, $EB, $08, $3B, $D0, $74, $0A, $8B, $F2, $8B, $12, $85, + $D2, $75, $F4, $5E, $C3, $8B, $42, $04, $89, $01, $83, $6A, $08, $01, $89, $4A, + $04, $75, $1D, $8B, $02, $85, $F6, $74, $04, $89, $06, $EB, $05, $A3, $74, $45, + $00, $10, $68, $00, $80, $00, $00, $6A, $00, $52, $FF, $15, $90, $30, $00, $10, + $5E, $C3, $55, $8B, $EC, $83, $EC, $1C, $6A, $1C, $8D, $45, $E4, $50, $51, $FF, + $15, $98, $30, $00, $10, $81, $7D, $F4, $00, $10, $00, $00, $75, $0B, $F6, $45, + $F8, $F0, $74, $05, $33, $C0, $40, $EB, $02, $33, $C0, $8B, $E5, $5D, $C3, $55, + $8B, $EC, $83, $EC, $24, $8B, $C1, $89, $55, $E8, $53, $57, $89, $45, $DC, $8B, + $D8, $33, $C0, $C7, $45, $EC, $10, $40, $00, $10, $6A, $1C, $89, $45, $F0, $8B, + $FA, $88, $45, $FF, $32, $C0, $59, $F3, $AA, $B5, $10, $8A, $0B, $43, $0F, $B6, + $C1, $88, $4D, $FE, $83, $F8, $66, $7F, $30, $74, $25, $83, $F8, $26, $74, $17, + $83, $F8, $2E, $74, $12, $83, $F8, $36, $74, $0D, $83, $F8, $3E, $74, $08, $83, + $C0, $9C, $83, $F8, $01, $77, $50, $80, $4D, $FF, $40, $88, $4A, $03, $EB, $42, + $80, $4D, $FF, $08, $88, $4A, $04, $EB, $39, $83, $E8, $67, $74, $2D, $2D, $89, + $00, $00, $00, $74, $1D, $48, $83, $E8, $01, $74, $0E, $83, $E8, $01, $75, $27, + $80, $4D, $FF, $04, $88, $4A, $01, $EB, $19, $80, $4D, $FF, $02, $88, $4A, $01, + $EB, $10, $80, $4D, $FF, $20, $88, $4A, $02, $EB, $07, $80, $4D, $FF, $10, $88, + $4A, $05, $80, $ED, $01, $75, $84, $8A, $6D, $FF, $0F, $B6, $C5, $C1, $E0, $17, + $89, $42, $18, $84, $ED, $75, $05, $FE, $C5, $88, $6D, $FF, $88, $4A, $06, $80, + $F9, $0F, $75, $12, $8A, $0B, $43, $88, $4D, $FE, $88, $4A, $07, $C7, $45, $EC, + $5A, $40, $00, $10, $EB, $18, $8A, $C1, $04, $60, $3C, $03, $77, $10, $F6, $C5, + $10, $74, $05, $80, $CD, $08, $EB, $03, $80, $E5, $F7, $88, $6D, $FF, $0F, $B6, + $F9, $56, $8B, $F7, $8B, $C7, $C1, $EE, $02, $25, $03, $00, $00, $80, $79, $05, + $48, $83, $C8, $FC, $40, $8B, $55, $EC, $89, $45, $E4, $8B, $45, $EC, $0F, $B6, + $04, $06, $03, $45, $E4, $8A, $04, $10, $8B, $55, $E8, $89, $45, $F4, $3C, $FF, + $75, $1F, $81, $4A, $18, $00, $30, $00, $00, $8B, $C7, $83, $E0, $FD, $C6, $45, + $F4, $00, $83, $F8, $24, $75, $07, $B0, $01, $89, $45, $F4, $EB, $03, $8B, $45, + $F4, $C6, $45, $E0, $00, $84, $C0, $79, $19, $8B, $55, $EC, $0F, $B6, $C0, $83, + $E0, $7F, $0F, $B7, $04, $10, $8B, $55, $E8, $89, $45, $F4, $C1, $E8, $08, $89, + $45, $E0, $8A, $42, $07, $84, $C0, $74, $1A, $0F, $B6, $86, $40, $41, $00, $10, + $8B, $75, $E4, $84, $AC, $30, $40, $41, $00, $10, $74, $07, $81, $4A, $18, $00, + $30, $00, $00, $8B, $45, $F4, $A8, $01, $0F, $84, $C2, $02, $00, $00, $83, $4A, + $18, $01, $8A, $03, $8A, $E0, $88, $42, $08, $C0, $EC, $06, $88, $65, $FB, $88, + $62, $09, $8A, $E0, $C0, $E8, $03, $80, $E4, $07, $24, $07, $88, $65, $FC, $88, + $62, $0B, $88, $45, $FD, $88, $42, $0A, $8B, $45, $E0, $84, $C0, $74, $16, $8A, + $4D, $FD, $0F, $B6, $C0, $D3, $E0, $8A, $4D, $FE, $84, $C0, $79, $07, $81, $4A, + $18, $00, $30, $00, $00, $8A, $62, $07, $84, $E4, $75, $43, $8A, $C1, $04, $27, + $3C, $06, $77, $3B, $80, $C1, $27, $80, $7D, $FB, $03, $75, $13, $0F, $B6, $45, + $FD, $0F, $B6, $C9, $8A, $84, $C8, $08, $41, $00, $10, $8A, $4D, $FC, $EB, $0C, + $0F, $B6, $C1, $8A, $4D, $FD, $8A, $80, $01, $41, $00, $10, $8A, $6D, $FF, $8A, + $62, $07, $D2, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $30, $00, $00, $BE, + $DB, $41, $00, $10, $F6, $C5, $20, $74, $5E, $80, $7D, $FB, $03, $75, $09, $81, + $4A, $18, $00, $90, $00, $00, $EB, $4F, $8A, $45, $FE, $8A, $C8, $84, $E4, $74, + $0E, $BE, $C9, $41, $00, $10, $C7, $45, $E0, $DB, $41, $00, $10, $EB, $11, $8A, + $C8, $C7, $45, $E0, $C9, $41, $00, $10, $BE, $B1, $41, $00, $10, $80, $E1, $FE, + $38, $0E, $74, $0A, $83, $C6, $02, $3B, $75, $E0, $75, $F4, $EB, $0D, $0F, $B6, + $46, $01, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $90, + $00, $00, $BE, $DB, $41, $00, $10, $8A, $4A, $07, $8B, $C7, $84, $C9, $74, $43, + $83, $E8, $20, $74, $22, $83, $E8, $01, $74, $0A, $83, $E8, $01, $74, $18, $83, + $E8, $01, $75, $3C, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, $0F, $84, $A6, + $00, $00, $00, $3C, $05, $EB, $11, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, + $0F, $87, $93, $00, $00, $00, $3C, $01, $0F, $85, $92, $00, $00, $00, $E9, $86, + $00, $00, $00, $2D, $8C, $00, $00, $00, $74, $79, $48, $83, $E8, $01, $74, $68, + $80, $7D, $FB, $03, $75, $39, $84, $C9, $74, $0C, $BE, $EA, $41, $00, $10, $BF, + $14, $42, $00, $10, $EB, $05, $BF, $EA, $41, $00, $10, $8A, $4D, $FE, $38, $0E, + $74, $09, $83, $C6, $03, $3B, $F7, $75, $F5, $EB, $58, $84, $6E, $01, $74, $53, + $0F, $B6, $46, $02, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $3C, $EB, $41, $84, + $C9, $74, $3D, $83, $EF, $50, $74, $14, $83, $EF, $75, $74, $2C, $83, $EF, $11, + $74, $0F, $83, $EF, $01, $74, $05, $83, $EF, $20, $75, $24, $F6, $C5, $09, $EB, + $03, $F6, $C5, $06, $75, $13, $EB, $18, $8A, $45, $FD, $3C, $01, $74, $0A, $3C, + $05, $EB, $04, $80, $7D, $FD, $05, $76, $07, $81, $4A, $18, $00, $10, $01, $00, + $8A, $4D, $FE, $8A, $43, $01, $83, $C3, $02, $80, $7D, $FD, $01, $88, $45, $FA, + $77, $14, $80, $F9, $F6, $75, $06, $80, $4D, $F4, $02, $EB, $09, $80, $F9, $F7, + $75, $04, $80, $4D, $F4, $10, $8A, $4D, $FB, $0F, $B6, $C1, $83, $E8, $00, $74, + $65, $83, $E8, $01, $74, $57, $83, $E8, $01, $8A, $45, $FC, $75, $0D, $C6, $45, + $F0, $02, $F6, $C5, $10, $75, $04, $C6, $45, $F0, $04, $80, $F9, $03, $74, $5C, + $3C, $04, $75, $58, $F6, $C5, $10, $75, $53, $8A, $4D, $FA, $83, $4A, $18, $02, + $8A, $C1, $C0, $E8, $06, $43, $88, $42, $0D, $8A, $C1, $C0, $E8, $03, $24, $07, + $88, $4A, $0C, $88, $42, $0E, $0F, $B6, $C1, $83, $E0, $07, $88, $42, $0F, $3C, + $05, $75, $29, $F6, $45, $FB, $01, $75, $23, $FE, $C8, $EB, $22, $8A, $45, $FC, + $C6, $45, $F0, $01, $EB, $B5, $8A, $45, $FC, $F6, $C5, $10, $74, $0A, $3C, $06, + $75, $A9, $C6, $45, $F0, $02, $EB, $A3, $3C, $05, $EB, $99, $8B, $45, $F0, $0F, + $B6, $F0, $4B, $8B, $C6, $83, $E8, $01, $74, $26, $83, $E8, $01, $74, $14, $48, + $83, $E8, $01, $75, $24, $81, $4A, $18, $80, $00, $00, $00, $8B, $03, $89, $42, + $14, $EB, $16, $83, $4A, $18, $40, $66, $8B, $03, $66, $89, $42, $14, $EB, $09, + $83, $4A, $18, $20, $8A, $03, $88, $42, $14, $8B, $45, $F4, $03, $DE, $EB, $0C, + $F6, $C5, $20, $74, $07, $81, $4A, $18, $00, $90, $00, $00, $5E, $A8, $10, $74, + $44, $A8, $40, $74, $1F, $F6, $C5, $08, $0F, $84, $84, $00, $00, $00, $81, $4A, + $18, $08, $01, $00, $00, $66, $8B, $03, $83, $C3, $02, $66, $89, $42, $10, $E9, + $91, $00, $00, $00, $F6, $C5, $08, $74, $10, $83, $4A, $18, $08, $66, $8B, $03, + $83, $C3, $02, $66, $89, $42, $10, $EB, $0C, $83, $4A, $18, $10, $8B, $03, $83, + $C3, $04, $89, $42, $10, $8B, $4D, $F4, $F6, $C1, $04, $74, $31, $8B, $42, $18, + $A8, $10, $74, $05, $83, $C8, $08, $EB, $09, $A8, $08, $74, $11, $0D, $00, $08, + $00, $00, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $14, $EB, $0D, $83, $C8, + $08, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $10, $83, $C3, $02, $F6, $C1, + $02, $74, $0A, $83, $4A, $18, $04, $8A, $03, $43, $88, $42, $10, $F6, $C1, $40, + $74, $11, $81, $4A, $18, $10, $01, $00, $00, $8B, $03, $83, $C3, $04, $89, $42, + $10, $EB, $12, $F6, $C1, $20, $74, $0D, $81, $4A, $18, $04, $01, $00, $00, $8A, + $03, $43, $88, $42, $10, $2B, $5D, $DC, $5F, $88, $1A, $80, $FB, $0F, $5B, $76, + $0A, $81, $4A, $18, $00, $50, $00, $00, $C6, $02, $0F, $0F, $B6, $02, $8B, $E5, + $5D, $C3, $3B, $0D, $04, $40, $00, $10, $F2, $75, $02, $F2, $C3, $F2, $E9, $28, + $00, $00, $00, $55, $8B, $EC, $6A, $00, $FF, $15, $38, $30, $00, $10, $FF, $75, + $08, $FF, $15, $3C, $30, $00, $10, $68, $09, $04, $00, $C0, $FF, $15, $4C, $30, + $00, $10, $50, $FF, $15, $34, $30, $00, $10, $5D, $C3, $55, $8B, $EC, $81, $EC, + $24, $03, $00, $00, $6A, $17, $E8, $EB, $00, $00, $00, $85, $C0, $74, $05, $6A, + $02, $59, $CD, $29, $A3, $20, $43, $00, $10, $89, $0D, $1C, $43, $00, $10, $89, + $15, $18, $43, $00, $10, $89, $1D, $14, $43, $00, $10, $89, $35, $10, $43, $00, + $10, $89, $3D, $0C, $43, $00, $10, $66, $8C, $15, $38, $43, $00, $10, $66, $8C, + $0D, $2C, $43, $00, $10, $66, $8C, $1D, $08, $43, $00, $10, $66, $8C, $05, $04, + $43, $00, $10, $66, $8C, $25, $00, $43, $00, $10, $66, $8C, $2D, $FC, $42, $00, + $10, $9C, $8F, $05, $30, $43, $00, $10, $8B, $45, $00, $A3, $24, $43, $00, $10, + $8B, $45, $04, $A3, $28, $43, $00, $10, $8D, $45, $08, $A3, $34, $43, $00, $10, + $8B, $85, $DC, $FC, $FF, $FF, $C7, $05, $70, $42, $00, $10, $01, $00, $01, $00, + $A1, $28, $43, $00, $10, $A3, $2C, $42, $00, $10, $C7, $05, $20, $42, $00, $10, + $09, $04, $00, $C0, $C7, $05, $24, $42, $00, $10, $01, $00, $00, $00, $C7, $05, + $30, $42, $00, $10, $01, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $C7, $80, + $34, $42, $00, $10, $02, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $8B, $0D, + $04, $40, $00, $10, $89, $4C, $05, $F8, $6A, $04, $58, $C1, $E0, $00, $8B, $0D, + $00, $40, $00, $10, $89, $4C, $05, $F8, $68, $C0, $30, $00, $10, $E8, $E1, $FE, + $FF, $FF, $8B, $E5, $5D, $C3, $FF, $25, $9C, $30, $00, $10, $C3, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, $46, $39, $00, $00, + $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, $88, $39, $00, $00, + $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, $CA, $39, $00, $00, + $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, $C8, $3B, $00, $00, + $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, $62, $3A, $00, $00, + $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, $B4, $3A, $00, $00, + $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, $06, $3B, $00, $00, + $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, $36, $3B, $00, $00, + $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, $8C, $3B, $00, $00, + $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, $16, $3C, $00, $00, + $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, $00, $00, $00, $00, + $0C, $2A, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $20, $42, $00, $10, $70, $42, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $96, $30, $07, $77, $2C, $61, $0E, $EE, $BA, $51, $09, $99, + $19, $C4, $6D, $07, $8F, $F4, $6A, $70, $35, $A5, $63, $E9, $A3, $95, $64, $9E, + $32, $88, $DB, $0E, $A4, $B8, $DC, $79, $1E, $E9, $D5, $E0, $88, $D9, $D2, $97, + $2B, $4C, $B6, $09, $BD, $7C, $B1, $7E, $07, $2D, $B8, $E7, $91, $1D, $BF, $90, + $64, $10, $B7, $1D, $F2, $20, $B0, $6A, $48, $71, $B9, $F3, $DE, $41, $BE, $84, + $7D, $D4, $DA, $1A, $EB, $E4, $DD, $6D, $51, $B5, $D4, $F4, $C7, $85, $D3, $83, + $56, $98, $6C, $13, $C0, $A8, $6B, $64, $7A, $F9, $62, $FD, $EC, $C9, $65, $8A, + $4F, $5C, $01, $14, $D9, $6C, $06, $63, $63, $3D, $0F, $FA, $F5, $0D, $08, $8D, + $C8, $20, $6E, $3B, $5E, $10, $69, $4C, $E4, $41, $60, $D5, $72, $71, $67, $A2, + $D1, $E4, $03, $3C, $47, $D4, $04, $4B, $FD, $85, $0D, $D2, $6B, $B5, $0A, $A5, + $FA, $A8, $B5, $35, $6C, $98, $B2, $42, $D6, $C9, $BB, $DB, $40, $F9, $BC, $AC, + $E3, $6C, $D8, $32, $75, $5C, $DF, $45, $CF, $0D, $D6, $DC, $59, $3D, $D1, $AB, + $AC, $30, $D9, $26, $3A, $00, $DE, $51, $80, $51, $D7, $C8, $16, $61, $D0, $BF, + $B5, $F4, $B4, $21, $23, $C4, $B3, $56, $99, $95, $BA, $CF, $0F, $A5, $BD, $B8, + $9E, $B8, $02, $28, $08, $88, $05, $5F, $B2, $D9, $0C, $C6, $24, $E9, $0B, $B1, + $87, $7C, $6F, $2F, $11, $4C, $68, $58, $AB, $1D, $61, $C1, $3D, $2D, $66, $B6, + $90, $41, $DC, $76, $06, $71, $DB, $01, $BC, $20, $D2, $98, $2A, $10, $D5, $EF, + $89, $85, $B1, $71, $1F, $B5, $B6, $06, $A5, $E4, $BF, $9F, $33, $D4, $B8, $E8, + $A2, $C9, $07, $78, $34, $F9, $00, $0F, $8E, $A8, $09, $96, $18, $98, $0E, $E1, + $BB, $0D, $6A, $7F, $2D, $3D, $6D, $08, $97, $6C, $64, $91, $01, $5C, $63, $E6, + $F4, $51, $6B, $6B, $62, $61, $6C, $1C, $D8, $30, $65, $85, $4E, $00, $62, $F2, + $ED, $95, $06, $6C, $7B, $A5, $01, $1B, $C1, $F4, $08, $82, $57, $C4, $0F, $F5, + $C6, $D9, $B0, $65, $50, $E9, $B7, $12, $EA, $B8, $BE, $8B, $7C, $88, $B9, $FC, + $DF, $1D, $DD, $62, $49, $2D, $DA, $15, $F3, $7C, $D3, $8C, $65, $4C, $D4, $FB, + $58, $61, $B2, $4D, $CE, $51, $B5, $3A, $74, $00, $BC, $A3, $E2, $30, $BB, $D4, + $41, $A5, $DF, $4A, $D7, $95, $D8, $3D, $6D, $C4, $D1, $A4, $FB, $F4, $D6, $D3, + $6A, $E9, $69, $43, $FC, $D9, $6E, $34, $46, $88, $67, $AD, $D0, $B8, $60, $DA, + $73, $2D, $04, $44, $E5, $1D, $03, $33, $5F, $4C, $0A, $AA, $C9, $7C, $0D, $DD, + $3C, $71, $05, $50, $AA, $41, $02, $27, $10, $10, $0B, $BE, $86, $20, $0C, $C9, + $25, $B5, $68, $57, $B3, $85, $6F, $20, $09, $D4, $66, $B9, $9F, $E4, $61, $CE, + $0E, $F9, $DE, $5E, $98, $C9, $D9, $29, $22, $98, $D0, $B0, $B4, $A8, $D7, $C7, + $17, $3D, $B3, $59, $81, $0D, $B4, $2E, $3B, $5C, $BD, $B7, $AD, $6C, $BA, $C0, + $20, $83, $B8, $ED, $B6, $B3, $BF, $9A, $0C, $E2, $B6, $03, $9A, $D2, $B1, $74, + $39, $47, $D5, $EA, $AF, $77, $D2, $9D, $15, $26, $DB, $04, $83, $16, $DC, $73, + $12, $0B, $63, $E3, $84, $3B, $64, $94, $3E, $6A, $6D, $0D, $A8, $5A, $6A, $7A, + $0B, $CF, $0E, $E4, $9D, $FF, $09, $93, $27, $AE, $00, $0A, $B1, $9E, $07, $7D, + $44, $93, $0F, $F0, $D2, $A3, $08, $87, $68, $F2, $01, $1E, $FE, $C2, $06, $69, + $5D, $57, $62, $F7, $CB, $67, $65, $80, $71, $36, $6C, $19, $E7, $06, $6B, $6E, + $76, $1B, $D4, $FE, $E0, $2B, $D3, $89, $5A, $7A, $DA, $10, $CC, $4A, $DD, $67, + $6F, $DF, $B9, $F9, $F9, $EF, $BE, $8E, $43, $BE, $B7, $17, $D5, $8E, $B0, $60, + $E8, $A3, $D6, $D6, $7E, $93, $D1, $A1, $C4, $C2, $D8, $38, $52, $F2, $DF, $4F, + $F1, $67, $BB, $D1, $67, $57, $BC, $A6, $DD, $06, $B5, $3F, $4B, $36, $B2, $48, + $DA, $2B, $0D, $D8, $4C, $1B, $0A, $AF, $F6, $4A, $03, $36, $60, $7A, $04, $41, + $C3, $EF, $60, $DF, $55, $DF, $67, $A8, $EF, $8E, $6E, $31, $79, $BE, $69, $46, + $8C, $B3, $61, $CB, $1A, $83, $66, $BC, $A0, $D2, $6F, $25, $36, $E2, $68, $52, + $95, $77, $0C, $CC, $03, $47, $0B, $BB, $B9, $16, $02, $22, $2F, $26, $05, $55, + $BE, $3B, $BA, $C5, $28, $0B, $BD, $B2, $92, $5A, $B4, $2B, $04, $6A, $B3, $5C, + $A7, $FF, $D7, $C2, $31, $CF, $D0, $B5, $8B, $9E, $D9, $2C, $1D, $AE, $DE, $5B, + $B0, $C2, $64, $9B, $26, $F2, $63, $EC, $9C, $A3, $6A, $75, $0A, $93, $6D, $02, + $A9, $06, $09, $9C, $3F, $36, $0E, $EB, $85, $67, $07, $72, $13, $57, $00, $05, + $82, $4A, $BF, $95, $14, $7A, $B8, $E2, $AE, $2B, $B1, $7B, $38, $1B, $B6, $0C, + $9B, $8E, $D2, $92, $0D, $BE, $D5, $E5, $B7, $EF, $DC, $7C, $21, $DF, $DB, $0B, + $D4, $D2, $D3, $86, $42, $E2, $D4, $F1, $F8, $B3, $DD, $68, $6E, $83, $DA, $1F, + $CD, $16, $BE, $81, $5B, $26, $B9, $F6, $E1, $77, $B0, $6F, $77, $47, $B7, $18, + $E6, $5A, $08, $88, $70, $6A, $0F, $FF, $CA, $3B, $06, $66, $5C, $0B, $01, $11, + $FF, $9E, $65, $8F, $69, $AE, $62, $F8, $D3, $FF, $6B, $61, $45, $CF, $6C, $16, + $78, $E2, $0A, $A0, $EE, $D2, $0D, $D7, $54, $83, $04, $4E, $C2, $B3, $03, $39, + $61, $26, $67, $A7, $F7, $16, $60, $D0, $4D, $47, $69, $49, $DB, $77, $6E, $3E, + $4A, $6A, $D1, $AE, $DC, $5A, $D6, $D9, $66, $0B, $DF, $40, $F0, $3B, $D8, $37, + $53, $AE, $BC, $A9, $C5, $9E, $BB, $DE, $7F, $CF, $B2, $47, $E9, $FF, $B5, $30, + $1C, $F2, $BD, $BD, $8A, $C2, $BA, $CA, $30, $93, $B3, $53, $A6, $A3, $B4, $24, + $05, $36, $D0, $BA, $93, $06, $D7, $CD, $29, $57, $DE, $54, $BF, $67, $D9, $23, + $2E, $7A, $66, $B3, $B8, $4A, $61, $C4, $02, $1B, $68, $5D, $94, $2B, $6F, $2A, + $37, $BE, $0B, $B4, $A1, $8E, $0C, $C3, $1B, $DF, $05, $5A, $8D, $EF, $02, $2D, + $73, $00, $61, $00, $6E, $00, $63, $00, $74, $00, $75, $00, $61, $00, $72, $00, + $79, $00, $6C, $00, $69, $00, $62, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $41, $64, $64, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, + $46, $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, + $52, $65, $6D, $6F, $76, $65, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, $46, + $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, $00, + $6B, $00, $65, $00, $72, $00, $6E, $00, $65, $00, $6C, $00, $33, $00, $32, $00, + $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, $00, $00, $75, $00, $73, $00, + $65, $00, $72, $00, $33, $00, $32, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41, $64, $64, $72, $65, + $73, $73, $00, $00, $4C, $64, $72, $47, $65, $74, $50, $72, $6F, $63, $65, $64, + $75, $72, $65, $41, $64, $64, $72, $65, $73, $73, $00, $00, $6E, $00, $74, $00, + $64, $00, $6C, $00, $6C, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, + $4C, $64, $72, $4C, $6F, $61, $64, $44, $6C, $6C, $00, $00, $77, $00, $69, $00, + $6E, $00, $74, $00, $72, $00, $75, $00, $73, $00, $74, $00, $2E, $00, $64, $00, + $6C, $00, $6C, $00, $00, $00, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66, + $79, $54, $72, $75, $73, $74, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66, + $79, $54, $72, $75, $73, $74, $45, $78, $00, $00, $00, $00, $62, $00, $64, $00, + $73, $00, $2E, $00, $65, $00, $78, $00, $65, $00, $00, $00, $4C, $00, $69, $00, + $63, $00, $65, $00, $6E, $00, $73, $00, $65, $00, $4D, $00, $61, $00, $6E, $00, + $61, $00, $67, $00, $65, $00, $72, $00, $2E, $00, $65, $00, $78, $00, $65, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $0D, $00, $00, $00, + $0C, $01, $00, $00, $1C, $37, $00, $00, $1C, $27, $00, $00, $00, $00, $00, $00, + $5C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $40, $00, $10, + $00, $00, $00, $00, $00, $00, $00, $00, $B0, $30, $00, $10, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $EC, $36, $00, $00, + $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $D8, $36, $00, $00, + $E0, $36, $00, $00, $E8, $36, $00, $00, $B0, $10, $00, $00, $D0, $10, $00, $00, + $F9, $36, $00, $00, $0A, $37, $00, $00, $00, $00, $01, $00, $73, $68, $66, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F, + $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46, + $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $00, $00, $47, $43, $54, $4C, + $00, $10, $00, $00, $0D, $1A, $00, $00, $2E, $74, $65, $78, $74, $24, $6D, $6E, + $00, $00, $00, $00, $00, $30, $00, $00, $B0, $00, $00, $00, $2E, $69, $64, $61, + $74, $61, $24, $35, $00, $00, $00, $00, $B0, $30, $00, $00, $04, $00, $00, $00, + $2E, $30, $30, $63, $66, $67, $00, $00, $C0, $30, $00, $00, $EC, $05, $00, $00, + $2E, $72, $64, $61, $74, $61, $00, $00, $B0, $36, $00, $00, $6B, $00, $00, $00, + $2E, $65, $64, $61, $74, $61, $00, $00, $1C, $37, $00, $00, $0C, $01, $00, $00, + $2E, $72, $64, $61, $74, $61, $24, $7A, $7A, $7A, $64, $62, $67, $00, $00, $00, + $28, $38, $00, $00, $28, $00, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $32, + $00, $00, $00, $00, $50, $38, $00, $00, $14, $00, $00, $00, $2E, $69, $64, $61, + $74, $61, $24, $33, $00, $00, $00, $00, $64, $38, $00, $00, $B0, $00, $00, $00, + $2E, $69, $64, $61, $74, $61, $24, $34, $00, $00, $00, $00, $14, $39, $00, $00, + $1E, $03, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $36, $00, $00, $00, $00, + $00, $40, $00, $00, $14, $02, $00, $00, $2E, $64, $61, $74, $61, $00, $00, $00, + $20, $42, $00, $00, $6C, $03, $00, $00, $2E, $62, $73, $73, $00, $00, $00, $00, + $00, $50, $00, $00, $58, $00, $00, $00, $2E, $72, $73, $72, $63, $24, $30, $31, + $00, $00, $00, $00, $60, $50, $00, $00, $80, $01, $00, $00, $2E, $72, $73, $72, + $63, $24, $30, $32, $00, $00, $00, $00, $64, $38, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $F0, $39, $00, $00, $00, $30, $00, $00, $08, $39, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $26, $3A, $00, $00, $A4, $30, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, + $46, $39, $00, $00, $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, + $88, $39, $00, $00, $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, + $CA, $39, $00, $00, $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, + $C8, $3B, $00, $00, $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, + $62, $3A, $00, $00, $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, + $B4, $3A, $00, $00, $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, + $06, $3B, $00, $00, $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, + $36, $3B, $00, $00, $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, + $8C, $3B, $00, $00, $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, + $16, $3C, $00, $00, $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, + $00, $00, $00, $00, $8F, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, + $57, $00, $F0, $01, $47, $65, $74, $46, $69, $6C, $65, $53, $69, $7A, $65, $00, + $8C, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, $4D, $61, $70, $70, + $69, $6E, $67, $57, $00, $00, $57, $03, $4D, $61, $70, $56, $69, $65, $77, $4F, + $66, $46, $69, $6C, $65, $00, $D6, $04, $55, $6E, $6D, $61, $70, $56, $69, $65, + $77, $4F, $66, $46, $69, $6C, $65, $00, $52, $00, $43, $6C, $6F, $73, $65, $48, + $61, $6E, $64, $6C, $65, $00, $EF, $04, $56, $69, $72, $74, $75, $61, $6C, $50, + $72, $6F, $74, $65, $63, $74, $00, $00, $45, $05, $6C, $73, $74, $72, $63, $6D, + $70, $69, $57, $00, $A4, $02, $47, $65, $74, $56, $65, $72, $73, $69, $6F, $6E, + $45, $78, $57, $00, $18, $02, $47, $65, $74, $4D, $6F, $64, $75, $6C, $65, $48, + $61, $6E, $64, $6C, $65, $57, $00, $00, $45, $02, $47, $65, $74, $50, $72, $6F, + $63, $41, $64, $64, $72, $65, $73, $73, $00, $00, $3F, $03, $4C, $6F, $61, $64, + $4C, $69, $62, $72, $61, $72, $79, $57, $00, $00, $14, $02, $47, $65, $74, $4D, + $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $57, $00, $00, + $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $64, $6C, $6C, $00, $00, $BF, $00, + $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41, + $00, $00, $C3, $00, $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, + $61, $74, $68, $57, $00, $00, $53, $48, $45, $4C, $4C, $33, $32, $2E, $64, $6C, + $6C, $00, $EC, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, $6B, $65, $64, $45, + $78, $63, $68, $61, $6E, $67, $65, $00, $CD, $02, $48, $65, $61, $70, $43, $72, + $65, $61, $74, $65, $00, $00, $CF, $02, $48, $65, $61, $70, $46, $72, $65, $65, + $00, $00, $C0, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, + $6F, $63, $65, $73, $73, $00, $E9, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, + $6B, $65, $64, $43, $6F, $6D, $70, $61, $72, $65, $45, $78, $63, $68, $61, $6E, + $67, $65, $00, $00, $C4, $04, $54, $68, $72, $65, $61, $64, $33, $32, $4E, $65, + $78, $74, $00, $00, $C3, $04, $54, $68, $72, $65, $61, $64, $33, $32, $46, $69, + $72, $73, $74, $00, $C5, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, + $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $BA, $04, $53, $75, $73, $70, + $65, $6E, $64, $54, $68, $72, $65, $61, $64, $00, $13, $04, $52, $65, $73, $75, + $6D, $65, $54, $68, $72, $65, $61, $64, $00, $00, $BE, $00, $43, $72, $65, $61, + $74, $65, $54, $6F, $6F, $6C, $68, $65, $6C, $70, $33, $32, $53, $6E, $61, $70, + $73, $68, $6F, $74, $00, $00, $B2, $04, $53, $6C, $65, $65, $70, $00, $D2, $02, + $48, $65, $61, $70, $52, $65, $41, $6C, $6C, $6F, $63, $00, $CB, $02, $48, $65, + $61, $70, $41, $6C, $6C, $6F, $63, $00, $CE, $02, $48, $65, $61, $70, $44, $65, + $73, $74, $72, $6F, $79, $00, $86, $02, $47, $65, $74, $54, $68, $72, $65, $61, + $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $C1, $01, $47, $65, $74, $43, + $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49, $64, $00, + $58, $01, $46, $6C, $75, $73, $68, $49, $6E, $73, $74, $72, $75, $63, $74, $69, + $6F, $6E, $43, $61, $63, $68, $65, $00, $91, $04, $53, $65, $74, $54, $68, $72, + $65, $61, $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $85, $03, $4F, $70, + $65, $6E, $54, $68, $72, $65, $61, $64, $00, $00, $EC, $04, $56, $69, $72, $74, + $75, $61, $6C, $46, $72, $65, $65, $00, $E9, $04, $56, $69, $72, $74, $75, $61, + $6C, $41, $6C, $6C, $6F, $63, $00, $00, $F1, $04, $56, $69, $72, $74, $75, $61, + $6C, $51, $75, $65, $72, $79, $00, $00, $D3, $04, $55, $6E, $68, $61, $6E, $64, + $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, + $65, $72, $00, $00, $A5, $04, $53, $65, $74, $55, $6E, $68, $61, $6E, $64, $6C, + $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, $65, + $72, $00, $C0, $04, $54, $65, $72, $6D, $69, $6E, $61, $74, $65, $50, $72, $6F, + $63, $65, $73, $73, $00, $00, $04, $03, $49, $73, $50, $72, $6F, $63, $65, $73, + $73, $6F, $72, $46, $65, $61, $74, $75, $72, $65, $50, $72, $65, $73, $65, $6E, + $74, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $B1, $19, $BF, $44, $4E, $E6, $40, $BB, $00, $00, $00, $00, $00, $00, $00, $00, + $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, + $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AC, $AA, $B2, $AA, $9F, $9F, $9F, $9F, + $B5, $A3, $A3, $A4, $AA, $AA, $BA, $AA, $96, $AA, $A8, $AA, $C3, $C3, $96, $96, + $B7, $AE, $D6, $BD, $A3, $C5, $A3, $A3, $9F, $C3, $9C, $AA, $AA, $AC, $AA, $BF, + $03, $7F, $11, $7F, $01, $7F, $01, $3F, $01, $01, $90, $82, $7D, $97, $59, $59, + $59, $59, $59, $7F, $59, $59, $60, $7D, $7F, $7F, $59, $59, $59, $59, $59, $59, + $59, $59, $59, $59, $59, $59, $9A, $88, $7D, $59, $50, $50, $50, $50, $59, $59, + $59, $59, $61, $94, $61, $9E, $59, $59, $85, $59, $92, $A3, $60, $60, $59, $59, + $59, $59, $59, $59, $59, $59, $59, $59, $59, $9F, $01, $03, $01, $04, $03, $D5, + $03, $CC, $01, $BC, $03, $F0, $10, $10, $10, $10, $50, $50, $50, $50, $14, $20, + $20, $20, $20, $01, $01, $01, $01, $C4, $02, $10, $00, $00, $00, $00, $01, $01, + $C0, $C2, $10, $11, $02, $03, $11, $03, $03, $04, $00, $00, $14, $00, $02, $00, + $00, $C6, $C8, $02, $02, $02, $02, $00, $00, $FF, $FF, $FF, $FF, $00, $00, $00, + $FF, $CA, $01, $01, $01, $00, $06, $00, $04, $00, $C0, $C2, $01, $01, $03, $01, + $FF, $FF, $01, $00, $03, $C4, $C4, $C6, $03, $01, $01, $01, $FF, $03, $03, $03, + $C8, $40, $00, $0A, $00, $04, $00, $00, $00, $00, $7F, $00, $33, $01, $00, $00, + $00, $00, $00, $00, $FF, $BF, $FF, $FF, $00, $00, $00, $00, $07, $00, $00, $FF, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, + $00, $00, $00, $BF, $00, $00, $00, $00, $00, $00, $00, $00, $7F, $00, $00, $FF, + $4A, $4A, $4A, $4A, $4B, $52, $4A, $4A, $4A, $4A, $4F, $4C, $4A, $4A, $4A, $4A, + $4A, $4A, $4A, $4A, $55, $45, $40, $4A, $4A, $4A, $45, $59, $4D, $46, $4A, $5D, + $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $61, $63, + $67, $4E, $4A, $4A, $6B, $6D, $4A, $4A, $45, $6D, $4A, $4A, $44, $45, $4A, $4A, + $00, $00, $00, $02, $0D, $06, $06, $06, $06, $0E, $00, $00, $00, $00, $06, $06, + $06, $00, $06, $06, $02, $06, $00, $0A, $0A, $07, $07, $06, $02, $05, $05, $02, + $02, $00, $00, $04, $04, $04, $04, $00, $00, $00, $0E, $05, $06, $06, $06, $01, + $06, $00, $00, $08, $00, $10, $00, $18, $00, $20, $00, $28, $00, $30, $00, $80, + $01, $82, $01, $86, $00, $F6, $CF, $FE, $3F, $AB, $00, $B0, $00, $B1, $00, $B3, + $00, $BA, $F8, $BB, $00, $C0, $00, $C1, $00, $C7, $BF, $62, $FF, $00, $8D, $FF, + $00, $C4, $FF, $00, $C5, $FF, $00, $FF, $FF, $EB, $01, $FF, $0E, $12, $08, $00, + $13, $09, $00, $16, $08, $00, $17, $09, $00, $2B, $09, $00, $AE, $FF, $07, $B2, + $FF, $00, $B4, $FF, $00, $B5, $FF, $00, $C3, $01, $00, $C7, $FF, $BF, $E7, $08, + $00, $F0, $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, + $18, $00, $00, $00, $18, $00, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $01, $00, $02, $00, $00, $00, $30, $00, $00, $80, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, + $09, $04, $00, $00, $48, $00, $00, $00, $60, $50, $00, $00, $7D, $01, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $3C, $3F, $78, $6D, $6C, $20, $76, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, + $2E, $30, $27, $20, $65, $6E, $63, $6F, $64, $69, $6E, $67, $3D, $27, $55, $54, + $46, $2D, $38, $27, $20, $73, $74, $61, $6E, $64, $61, $6C, $6F, $6E, $65, $3D, + $27, $79, $65, $73, $27, $3F, $3E, $0D, $0A, $3C, $61, $73, $73, $65, $6D, $62, + $6C, $79, $20, $78, $6D, $6C, $6E, $73, $3D, $27, $75, $72, $6E, $3A, $73, $63, + $68, $65, $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, + $63, $6F, $6D, $3A, $61, $73, $6D, $2E, $76, $31, $27, $20, $6D, $61, $6E, $69, + $66, $65, $73, $74, $56, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, $2E, $30, + $27, $3E, $0D, $0A, $20, $20, $3C, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, + $20, $78, $6D, $6C, $6E, $73, $3D, $22, $75, $72, $6E, $3A, $73, $63, $68, $65, + $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, $63, $6F, + $6D, $3A, $61, $73, $6D, $2E, $76, $33, $22, $3E, $0D, $0A, $20, $20, $20, $20, + $3C, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, $20, $20, $20, $20, + $20, $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $50, $72, $69, $76, + $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, $20, $20, $20, $20, $20, $20, + $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $45, $78, $65, $63, $75, + $74, $69, $6F, $6E, $4C, $65, $76, $65, $6C, $20, $6C, $65, $76, $65, $6C, $3D, + $27, $61, $73, $49, $6E, $76, $6F, $6B, $65, $72, $27, $20, $75, $69, $41, $63, + $63, $65, $73, $73, $3D, $27, $66, $61, $6C, $73, $65, $27, $20, $2F, $3E, $0D, + $0A, $20, $20, $20, $20, $20, $20, $3C, $2F, $72, $65, $71, $75, $65, $73, $74, + $65, $64, $50, $72, $69, $76, $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, + $20, $20, $20, $3C, $2F, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, + $20, $20, $3C, $2F, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, $3E, $0D, $0A, + $3C, $2F, $61, $73, $73, $65, $6D, $62, $6C, $79, $3E, $0D, $0A, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $10, $00, $00, $54, $01, $00, $00, $18, $30, $34, $30, $4F, $30, $62, $30, + $86, $30, $94, $30, $9B, $30, $A3, $30, $C2, $30, $D2, $30, $08, $31, $77, $31, + $C5, $31, $CC, $31, $F2, $31, $05, $32, $1F, $32, $2B, $32, $3A, $32, $6A, $32, + $9C, $32, $20, $33, $2E, $33, $35, $33, $40, $33, $54, $33, $59, $33, $60, $33, + $65, $33, $6D, $33, $72, $33, $77, $33, $7D, $33, $82, $33, $89, $33, $95, $33, + $9B, $33, $AB, $33, $B8, $33, $FA, $34, $02, $35, $07, $35, $0C, $35, $29, $35, + $38, $35, $40, $35, $5A, $35, $67, $35, $75, $35, $7A, $35, $8F, $35, $95, $35, + $A2, $35, $A8, $35, $AD, $35, $B2, $35, $B8, $35, $BE, $35, $C3, $35, $F2, $35, + $13, $36, $32, $36, $3F, $36, $53, $36, $59, $36, $73, $36, $7E, $36, $8B, $36, + $A2, $36, $B0, $36, $C3, $36, $C9, $36, $E3, $36, $E9, $36, $FA, $36, $01, $37, + $07, $37, $36, $37, $3D, $37, $6F, $37, $79, $37, $9D, $37, $B0, $37, $D7, $37, + $DC, $37, $0D, $38, $36, $38, $3B, $38, $42, $38, $58, $38, $8C, $38, $9F, $38, + $C0, $38, $C4, $38, $C8, $38, $CC, $38, $D3, $38, $DF, $38, $F6, $38, $06, $39, + $0C, $39, $16, $39, $1E, $39, $2B, $39, $30, $39, $41, $39, $47, $39, $52, $39, + $5A, $39, $5F, $39, $65, $39, $71, $39, $80, $39, $A8, $39, $BC, $39, $E3, $39, + $59, $3A, $D9, $3A, $EC, $3A, $09, $3B, $1A, $3B, $25, $3B, $3C, $3B, $49, $3B, + $67, $3B, $6D, $3B, $96, $3B, $A5, $3B, $E9, $3B, $F6, $3B, $0B, $3C, $3B, $3C, + $48, $3C, $4F, $3C, $60, $3C, $66, $3C, $7F, $3C, $AA, $3C, $05, $3D, $0F, $3D, + $16, $3D, $46, $3D, $5F, $3D, $96, $3D, $A6, $3D, $C9, $3D, $FB, $3D, $05, $3E, + $0B, $3E, $18, $3E, $1E, $3E, $2B, $3E, $40, $3E, $49, $3E, $5D, $3E, $6A, $3E, + $71, $3E, $77, $3E, $7D, $3E, $83, $3E, $89, $3E, $8F, $3E, $95, $3E, $9B, $3E, + $B5, $3E, $D7, $3E, $00, $20, $00, $00, $78, $00, $00, $00, $1B, $30, $B3, $32, + $D6, $32, $04, $33, $0C, $33, $27, $33, $5E, $33, $6C, $33, $81, $33, $B6, $33, + $70, $34, $0C, $35, $16, $35, $97, $35, $A8, $35, $C0, $35, $E2, $35, $E9, $35, + $F4, $35, $F9, $35, $23, $36, $8B, $36, $90, $36, $97, $36, $D4, $38, $EA, $38, + $F3, $38, $FE, $38, $05, $39, $25, $39, $2B, $39, $31, $39, $37, $39, $3D, $39, + $43, $39, $4A, $39, $51, $39, $58, $39, $5F, $39, $66, $39, $6D, $39, $74, $39, + $7C, $39, $84, $39, $8C, $39, $98, $39, $A1, $39, $A6, $39, $AC, $39, $B6, $39, + $C0, $39, $D0, $39, $E0, $39, $F0, $39, $F9, $39, $08, $3A, $00, $30, $00, $00, + $14, $00, $00, $00, $B0, $30, $C0, $30, $C4, $30, $8C, $36, $98, $36, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + ); + + defHelperDatas: array[0..39703] of Byte = ( + $4D, $5A, $50, $00, $02, $00, $00, $00, $04, $00, $0F, $00, $FF, $FF, $00, $00, + $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $1A, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, + $BA, $10, $00, $0E, $1F, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $90, $90, + $54, $68, $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $6D, $75, $73, + $74, $20, $62, $65, $20, $72, $75, $6E, $20, $75, $6E, $64, $65, $72, $20, $57, + $69, $6E, $33, $32, $0D, $0A, $24, $37, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $50, $45, $00, $00, $4C, $01, $08, $00, $3A, $53, $69, $5C, $00, $00, $00, $00, + $00, $00, $00, $00, $E0, $00, $8E, $A1, $0B, $01, $02, $19, $00, $46, $00, $00, + $00, $26, $00, $00, $00, $00, $00, $00, $D4, $60, $00, $00, $00, $10, $00, $00, + $00, $70, $00, $00, $00, $00, $40, $00, $00, $10, $00, $00, $00, $02, $00, $00, + $04, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, + $00, $F0, $00, $00, $00, $04, $00, $00, $F6, $B8, $00, $00, $02, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $00, $00, $10, $00, $00, + $00, $00, $00, $00, $10, $00, $00, $00, $00, $C0, $00, $00, $6B, $00, $00, $00, + $00, $B0, $00, $00, $12, $06, $00, $00, $00, $E0, $00, $00, $00, $08, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $00, $00, $18, $2B, $00, $00, + $00, $D0, $00, $00, $38, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $74, $B1, $00, $00, $E8, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $2E, $74, $65, $78, $74, $00, $00, $00, + $48, $42, $00, $00, $00, $10, $00, $00, $00, $44, $00, $00, $00, $04, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $00, $00, $60, + $2E, $69, $74, $65, $78, $74, $00, $00, $EC, $00, $00, $00, $00, $60, $00, $00, + $00, $02, $00, $00, $00, $48, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $20, $00, $00, $60, $2E, $64, $61, $74, $61, $00, $00, $00, + $04, $0D, $00, $00, $00, $70, $00, $00, $00, $0E, $00, $00, $00, $4A, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $C0, + $2E, $62, $73, $73, $00, $00, $00, $00, $1C, $28, $00, $00, $00, $80, $00, $00, + $00, $00, $00, $00, $00, $58, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $C0, $2E, $69, $64, $61, $74, $61, $00, $00, + $12, $06, $00, $00, $00, $B0, $00, $00, $00, $08, $00, $00, $00, $58, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $C0, + $2E, $65, $64, $61, $74, $61, $00, $00, $6B, $00, $00, $00, $00, $C0, $00, $00, + $00, $02, $00, $00, $00, $60, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $40, $2E, $72, $65, $6C, $6F, $63, $00, $00, + $38, $04, $00, $00, $00, $D0, $00, $00, $00, $06, $00, $00, $00, $62, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $42, + $2E, $72, $73, $72, $63, $00, $00, $00, $00, $08, $00, $00, $00, $E0, $00, $00, + $00, $08, $00, $00, $00, $68, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $F0, $00, $00, $00, $00, $00, $00, $00, $70, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $FF, $25, $CC, $B1, $40, $00, $8B, $C0, $FF, $25, $C8, $B1, $40, $00, $8B, $C0, + $FF, $25, $C4, $B1, $40, $00, $8B, $C0, $FF, $25, $C0, $B1, $40, $00, $8B, $C0, + $FF, $25, $BC, $B1, $40, $00, $8B, $C0, $FF, $25, $B8, $B1, $40, $00, $8B, $C0, + $FF, $25, $8C, $B1, $40, $00, $8B, $C0, $FF, $25, $B4, $B1, $40, $00, $8B, $C0, + $FF, $25, $B0, $B1, $40, $00, $8B, $C0, $FF, $25, $AC, $B1, $40, $00, $8B, $C0, + $FF, $25, $7C, $B1, $40, $00, $8B, $C0, $FF, $25, $78, $B1, $40, $00, $8B, $C0, + $FF, $25, $74, $B1, $40, $00, $8B, $C0, $FF, $25, $A8, $B1, $40, $00, $8B, $C0, + $FF, $25, $A4, $B1, $40, $00, $8B, $C0, $53, $83, $C4, $BC, $BB, $0A, $00, $00, + $00, $54, $E8, $C1, $FF, $FF, $FF, $F6, $44, $24, $2C, $01, $74, $05, $0F, $B7, + $5C, $24, $30, $8B, $C3, $83, $C4, $44, $5B, $C3, $8B, $C0, $FF, $25, $A0, $B1, + $40, $00, $8B, $C0, $FF, $25, $9C, $B1, $40, $00, $8B, $C0, $FF, $25, $98, $B1, + $40, $00, $8B, $C0, $FF, $25, $88, $B1, $40, $00, $8B, $C0, $FF, $FF, $FF, $FF, + $57, $00, $00, $00, $46, $61, $73, $74, $4D, $4D, $20, $42, $6F, $72, $6C, $61, + $6E, $64, $20, $45, $64, $69, $74, $69, $6F, $6E, $20, $A9, $20, $32, $30, $30, + $34, $2C, $20, $32, $30, $30, $35, $20, $50, $69, $65, $72, $72, $65, $20, $6C, + $65, $20, $52, $69, $63, $68, $65, $20, $2F, $20, $50, $72, $6F, $66, $65, $73, + $73, $69, $6F, $6E, $61, $6C, $20, $53, $6F, $66, $74, $77, $61, $72, $65, $20, + $44, $65, $76, $65, $6C, $6F, $70, $6D, $65, $6E, $74, $00, $F0, $0F, $B0, $11, + $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $8B, $40, $08, $89, $4A, + $04, $89, $42, $08, $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $89, + $4A, $04, $8B, $48, $08, $89, $4A, $08, $8B, $48, $0C, $8B, $40, $10, $89, $4A, + $0C, $89, $42, $10, $C3, $8D, $40, $00, $8B, $08, $89, $0A, $8B, $48, $04, $89, + $4A, $04, $8B, $48, $08, $89, $4A, $08, $8B, $48, $0C, $89, $4A, $0C, $8B, $48, + $10, $89, $4A, $10, $8B, $48, $14, $8B, $40, $18, $89, $4A, $14, $89, $42, $18, + $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $8B, + $48, $20, $89, $4A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, + $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF, + $68, $20, $8B, $48, $28, $89, $4A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, + $10, $DF, $7A, $08, $DF, $3A, $C3, $90, $DF, $28, $DF, $68, $08, $DF, $68, $10, + $DF, $68, $18, $DF, $68, $20, $DF, $68, $28, $8B, $48, $30, $89, $4A, $30, $DF, + $7A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, + $C3, $8D, $40, $00, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF, + $68, $20, $DF, $68, $28, $DF, $68, $30, $8B, $48, $38, $89, $4A, $38, $DF, $7A, + $30, $DF, $7A, $28, $DF, $7A, $20, $DF, $7A, $18, $DF, $7A, $10, $DF, $7A, $08, + $DF, $3A, $C3, $90, $DF, $28, $DF, $68, $08, $DF, $68, $10, $DF, $68, $18, $DF, + $68, $20, $DF, $68, $28, $DF, $68, $30, $DF, $68, $38, $8B, $48, $40, $89, $4A, + $40, $DF, $7A, $38, $DF, $7A, $30, $DF, $7A, $28, $DF, $7A, $20, $DF, $7A, $18, + $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, $C3, $8D, $40, $00, $83, $E9, $0C, $01, + $C8, $01, $CA, $F7, $D9, $79, $13, $DF, $2C, $01, $DF, $6C, $01, $08, $DF, $7C, + $11, $08, $DF, $3C, $11, $83, $C1, $10, $78, $ED, $DF, $2C, $01, $DF, $3C, $11, + $8B, $44, $01, $08, $89, $44, $11, $08, $C3, $8D, $40, $00, $83, $E9, $04, $01, + $C8, $01, $CA, $F7, $D9, $DF, $2C, $01, $DF, $3C, $11, $83, $C1, $08, $78, $F5, + $8B, $04, $01, $89, $04, $11, $C3, $90, $8B, $48, $04, $8B, $10, $39, $D1, $89, + $11, $89, $4A, $04, $74, $02, $C3, $90, $81, $E9, $90, $87, $40, $00, $89, $CA, + $C1, $E9, $03, $0F, $B6, $D6, $B8, $FE, $FF, $FF, $FF, $D3, $C0, $21, $04, $95, + $10, $87, $40, $00, $75, $E0, $B8, $FE, $FF, $FF, $FF, $89, $D1, $D3, $C0, $21, + $05, $0C, $87, $40, $00, $C3, $8B, $C0, $81, $EA, $30, $0B, $00, $00, $C1, $EA, + $08, $81, $EA, $FF, $03, $00, $00, $19, $C9, $21, $CA, $81, $C2, $FF, $03, $00, + $00, $8D, $0C, $D5, $90, $87, $40, $00, $8B, $51, $04, $39, $CA, $89, $08, $89, + $50, $04, $89, $02, $89, $41, $04, $74, $03, $C3, $90, $90, $81, $E9, $90, $87, + $40, $00, $89, $CA, $C1, $E9, $03, $0F, $B6, $D6, $B8, $01, $00, $00, $00, $D3, + $E0, $09, $04, $95, $10, $87, $40, $00, $B8, $01, $00, $00, $00, $89, $D1, $D3, + $E0, $09, $05, $0C, $87, $40, $00, $C3, $83, $3D, $08, $87, $40, $00, $00, $75, + $03, $C3, $90, $90, $A1, $04, $87, $40, $00, $F6, $40, $FC, $01, $75, $25, $83, + $48, $FC, $08, $8B, $15, $08, $87, $40, $00, $29, $D0, $8D, $4A, $03, $89, $48, + $FC, $89, $54, $02, $F8, $81, $FA, $30, $0B, $00, $00, $0F, $83, $67, $FF, $FF, + $FF, $C3, $90, $90, $BA, $F0, $FF, $FF, $FF, $23, $50, $FC, $81, $FA, $30, $0B, + $00, $00, $72, $12, $E8, $0F, $FF, $FF, $FF, $A1, $04, $87, $40, $00, $BA, $F0, + $FF, $FF, $FF, $23, $50, $FC, $8B, $0D, $08, $87, $40, $00, $29, $C8, $01, $CA, + $EB, $B9, $C3, $90, $53, $8B, $D8, $E8, $8C, $FF, $FF, $FF, $6A, $04, $68, $00, + $10, $00, $00, $68, $F0, $FF, $13, $00, $6A, $00, $E8, $CD, $FC, $FF, $FF, $85, + $C0, $74, $4D, $8B, $15, $F4, $86, $40, $00, $8B, $C8, $C7, $01, $F0, $86, $40, + $00, $A3, $F4, $86, $40, $00, $89, $51, $04, $89, $02, $8B, $D0, $81, $C2, $F0, + $FF, $13, $00, $8B, $CA, $83, $E9, $04, $C7, $01, $02, $00, $00, $00, $B9, $E0, + $FF, $13, $00, $2B, $CB, $89, $0D, $08, $87, $40, $00, $2B, $D3, $8B, $C2, $A3, + $04, $87, $40, $00, $83, $CB, $02, $8B, $D0, $83, $EA, $04, $89, $1A, $5B, $C3, + $33, $C0, $A3, $08, $87, $40, $00, $33, $C0, $5B, $C3, $90, $80, $3D, $35, $80, + $40, $00, $00, $74, $3D, $EB, $29, $80, $3D, $9D, $85, $40, $00, $00, $75, $20, + $6A, $00, $E8, $65, $FC, $FF, $FF, $B9, $90, $A7, $40, $00, $B2, $01, $33, $C0, + $E8, $C7, $FC, $FF, $FF, $84, $C0, $74, $19, $6A, $0A, $E8, $4C, $FC, $FF, $FF, + $B9, $90, $A7, $40, $00, $B2, $01, $33, $C0, $E8, $AE, $FC, $FF, $FF, $84, $C0, + $75, $C5, $C3, $90, $53, $56, $57, $55, $8B, $E8, $8D, $B5, $10, $00, $01, $00, + $4E, $83, $C6, $04, $81, $E6, $00, $00, $FF, $FF, $6A, $04, $68, $00, $10, $10, + $00, $56, $6A, $00, $E8, $03, $FC, $FF, $FF, $8B, $D8, $85, $DB, $74, $30, $8B, + $FB, $89, $6F, $08, $83, $CE, $04, $89, $77, $0C, $E8, $7D, $FF, $FF, $FF, $A1, + $98, $A7, $40, $00, $C7, $07, $94, $A7, $40, $00, $89, $1D, $98, $A7, $40, $00, + $89, $47, $04, $89, $18, $C6, $05, $90, $A7, $40, $00, $00, $83, $C3, $10, $8B, + $C3, $5D, $5F, $5E, $5B, $C3, $8B, $C0, $53, $56, $57, $55, $83, $C4, $DC, $8B, + $F0, $83, $EE, $10, $E8, $43, $FF, $FF, $FF, $8B, $C6, $8B, $10, $89, $14, $24, + $8B, $50, $04, $89, $54, $24, $04, $8B, $50, $0C, $F6, $C2, $08, $75, $1A, $68, + $00, $80, $00, $00, $6A, $00, $56, $E8, $98, $FB, $FF, $FF, $85, $C0, $74, $04, + $33, $FF, $EB, $3F, $83, $CF, $FF, $EB, $3A, $8B, $DE, $8B, $EA, $83, $E5, $F0, + $33, $FF, $6A, $1C, $8D, $44, $24, $0C, $50, $53, $E8, $39, $FB, $FF, $FF, $68, + $00, $80, $00, $00, $6A, $00, $53, $E8, $68, $FB, $FF, $FF, $85, $C0, $75, $05, + $83, $CF, $FF, $EB, $0E, $8B, $74, $24, $14, $3B, $EE, $76, $06, $2B, $EE, $01, + $F3, $EB, $CF, $85, $FF, $75, $13, $8B, $44, $24, $04, $8B, $14, $24, $89, $10, + $8B, $04, $24, $8B, $54, $24, $04, $89, $50, $04, $C6, $05, $90, $A7, $40, $00, + $00, $8B, $C7, $83, $C4, $24, $5D, $5F, $5E, $5B, $C3, $90, $53, $56, $57, $55, + $83, $C4, $E0, $8B, $F2, $8B, $F8, $8B, $C7, $83, $E8, $04, $8B, $00, $8B, $D8, + $83, $E3, $F0, $83, $EB, $14, $3B, $DE, $0F, $83, $E1, $00, $00, $00, $8B, $D3, + $C1, $EA, $02, $03, $D3, $3B, $D6, $76, $04, $8B, $EA, $EB, $02, $8B, $EE, $8B, + $D7, $83, $EA, $10, $83, $E0, $F0, $03, $D0, $89, $14, $24, $6A, $1C, $8D, $44, + $24, $08, $50, $8B, $44, $24, $08, $50, $E8, $9B, $FA, $FF, $FF, $81, $7C, $24, + $14, $00, $00, $01, $00, $75, $70, $81, $64, $24, $10, $00, $00, $FF, $FF, $8B, + $D6, $2B, $D3, $8B, $44, $24, $10, $3B, $D0, $73, $5C, $8B, $D5, $2B, $D3, $81, + $C2, $00, $00, $01, $00, $4A, $81, $E2, $00, $00, $FF, $FF, $8B, $DA, $3B, $C3, + $73, $02, $8B, $D8, $6A, $04, $68, $00, $20, $00, $00, $53, $8B, $44, $24, $0C, + $50, $E8, $86, $FA, $FF, $FF, $85, $C0, $74, $2D, $6A, $04, $68, $00, $10, $00, + $00, $53, $8B, $44, $24, $0C, $50, $E8, $70, $FA, $FF, $FF, $85, $C0, $74, $17, + $8B, $C7, $83, $E8, $10, $89, $70, $08, $8B, $D0, $03, $5A, $0C, $83, $CB, $08, + $89, $5A, $0C, $8B, $DF, $EB, $77, $8B, $C5, $E8, $7A, $00, $00, $00, $8B, $D8, + $85, $DB, $74, $6A, $81, $FD, $2C, $0A, $04, $00, $76, $08, $8B, $C3, $83, $E8, + $10, $89, $70, $08, $8B, $C7, $83, $E8, $10, $8B, $40, $08, $8B, $D3, $8B, $CF, + $91, $E8, $E6, $FB, $FF, $FF, $8B, $C7, $E8, $CF, $03, $00, $00, $EB, $3F, $D1, + $EB, $3B, $F3, $72, $0A, $8B, $DF, $83, $EF, $10, $89, $77, $08, $EB, $2F, $8B, + $C6, $E8, $32, $00, $00, $00, $8B, $D8, $85, $DB, $74, $22, $81, $FE, $2C, $0A, + $04, $00, $76, $08, $8B, $C7, $83, $E8, $10, $89, $70, $08, $8B, $D3, $8B, $C7, + $8B, $CE, $E8, $D5, $FB, $FF, $FF, $8B, $C7, $E8, $8E, $03, $00, $00, $8B, $C3, + $83, $C4, $20, $5D, $5F, $5E, $5B, $C3, $8D, $50, $03, $C1, $EA, $03, $3D, $2C, + $0A, $00, $00, $53, $8A, $0D, $35, $80, $40, $00, $0F, $87, $48, $02, $00, $00, + $84, $C9, $0F, $B6, $82, $A8, $85, $40, $00, $8D, $1C, $C5, $28, $70, $40, $00, + $75, $56, $8B, $53, $04, $8B, $42, $08, $B9, $F8, $FF, $FF, $FF, $39, $DA, $74, + $17, $83, $42, $0C, $01, $23, $48, $FC, $89, $4A, $08, $89, $50, $FC, $74, $28, + $C6, $03, $00, $5B, $C3, $90, $90, $90, $8B, $53, $10, $0F, $B7, $4B, $02, $01, + $C1, $3B, $43, $0C, $77, $76, $83, $42, $0C, $01, $89, $4B, $08, $C6, $03, $00, + $89, $50, $FC, $5B, $C3, $90, $90, $90, $8B, $4A, $04, $89, $59, $14, $89, $4B, + $04, $C6, $03, $00, $5B, $C3, $90, $90, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $23, $74, $9F, $83, $C3, $20, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $74, + $91, $83, $C3, $20, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $74, $83, $83, + $EB, $40, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $CB, $6A, $00, $E8, + $28, $F9, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $23, $0F, $84, $5F, + $FF, $FF, $FF, $6A, $0A, $E8, $12, $F9, $FF, $FF, $EB, $AC, $56, $57, $80, $3D, + $35, $80, $40, $00, $00, $74, $39, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, + $00, $87, $40, $00, $74, $2A, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, + $E6, $6A, $00, $E8, $E4, $F8, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $25, $00, $87, $40, $00, $74, $09, $6A, $0A, $E8, $CE, $F8, $FF, $FF, $EB, $C7, + $0F, $BE, $73, $01, $23, $35, $0C, $87, $40, $00, $74, $70, $0F, $BC, $C6, $8D, + $34, $C5, $00, $00, $00, $00, $8B, $0C, $85, $10, $87, $40, $00, $0F, $BC, $C9, + $8D, $0C, $B1, $8D, $3C, $CD, $90, $87, $40, $00, $8B, $77, $04, $8B, $56, $04, + $89, $57, $04, $89, $3A, $39, $D7, $75, $17, $BA, $FE, $FF, $FF, $FF, $D3, $C2, + $21, $14, $85, $10, $87, $40, $00, $75, $07, $0F, $B3, $05, $0C, $87, $40, $00, + $BF, $F0, $FF, $FF, $FF, $23, $7E, $FC, $81, $FF, $60, $0A, $01, $00, $72, $6C, + $89, $FA, $0F, $B7, $7B, $1A, $29, $FA, $8D, $04, $37, $8D, $4A, $03, $89, $48, + $FC, $89, $54, $02, $F8, $E8, $8E, $FA, $FF, $FF, $EB, $55, $0F, $B7, $4B, $18, + $8B, $3D, $08, $87, $40, $00, $39, $CF, $72, $26, $8B, $35, $04, $87, $40, $00, + $0F, $B7, $4B, $1A, $8D, $91, $30, $0B, $00, $00, $39, $D7, $72, $02, $89, $CF, + $29, $FE, $29, $3D, $08, $87, $40, $00, $89, $35, $04, $87, $40, $00, $EB, $21, + $0F, $B7, $43, $1A, $89, $C7, $E8, $19, $FB, $FF, $FF, $89, $C6, $85, $C0, $75, + $10, $A2, $00, $87, $40, $00, $88, $03, $5F, $5E, $5B, $C3, $80, $64, $37, $FC, + $F7, $8D, $4F, $06, $89, $4E, $FC, $31, $C0, $A2, $00, $87, $40, $00, $89, $1E, + $89, $46, $08, $C7, $46, $0C, $01, $00, $00, $00, $89, $73, $10, $8D, $46, $20, + $0F, $B7, $4B, $02, $8D, $14, $01, $89, $53, $08, $01, $F7, $29, $CF, $89, $7B, + $0C, $C6, $03, $00, $89, $70, $FC, $5F, $5E, $5B, $C3, $90, $B8, $00, $01, $00, + $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $4B, $F3, $90, $80, $3D, $9D, + $85, $40, $00, $00, $75, $E6, $6A, $00, $E8, $9F, $F7, $FF, $FF, $B8, $00, $01, + $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $2A, $6A, $0A, $E8, $89, + $F7, $FF, $FF, $EB, $C7, $90, $90, $90, $3D, $2C, $0A, $04, $00, $0F, $87, $0D, + $01, $00, $00, $8D, $98, $D3, $00, $00, $00, $81, $E3, $00, $FF, $FF, $FF, $83, + $C3, $30, $84, $C9, $75, $A6, $8D, $93, $D0, $F4, $FF, $FF, $89, $D1, $C1, $EA, + $0D, $C1, $E9, $08, $B8, $FF, $FF, $FF, $FF, $D3, $E0, $23, $04, $95, $10, $87, + $40, $00, $74, $0C, $83, $E1, $E0, $0F, $BC, $C0, $09, $C1, $EB, $5E, $90, $90, + $B8, $FE, $FF, $FF, $FF, $89, $D1, $D3, $E0, $23, $05, $0C, $87, $40, $00, $74, + $17, $0F, $BC, $D0, $8B, $04, $95, $10, $87, $40, $00, $0F, $BC, $C8, $89, $D0, + $C1, $E0, $05, $09, $C1, $EB, $35, $90, $8B, $0D, $08, $87, $40, $00, $29, $D9, + $72, $1A, $A1, $04, $87, $40, $00, $29, $D8, $A3, $04, $87, $40, $00, $89, $0D, + $08, $87, $40, $00, $83, $CB, $02, $89, $58, $FC, $EB, $07, $89, $D8, $E8, $F1, + $F9, $FF, $FF, $C6, $05, $00, $87, $40, $00, $00, $5B, $C3, $56, $57, $8D, $3C, + $CD, $90, $87, $40, $00, $8B, $77, $04, $8B, $46, $04, $89, $47, $04, $89, $38, + $39, $C7, $75, $17, $B8, $FE, $FF, $FF, $FF, $D3, $C0, $21, $04, $95, $10, $87, + $40, $00, $75, $07, $0F, $B3, $15, $0C, $87, $40, $00, $BF, $F0, $FF, $FF, $FF, + $23, $7E, $FC, $89, $FA, $29, $DA, $74, $1F, $8D, $04, $33, $8D, $4A, $03, $89, + $48, $FC, $89, $54, $02, $F8, $81, $FA, $30, $0B, $00, $00, $72, $0F, $E8, $C5, + $F8, $FF, $FF, $EB, $08, $90, $90, $90, $80, $64, $37, $FC, $F7, $8D, $4B, $02, + $89, $4E, $FC, $C6, $05, $00, $87, $40, $00, $00, $89, $F0, $5F, $5E, $5B, $C3, + $5B, $85, $C0, $0F, $89, $2B, $FA, $FF, $FF, $31, $C0, $C3, $8B, $50, $FC, $F6, + $C2, $07, $89, $C1, $53, $8A, $1D, $35, $80, $40, $00, $0F, $85, $E3, $00, $00, + $00, $84, $DB, $8B, $1A, $75, $61, $83, $6A, $0C, $01, $8B, $42, $08, $74, $2C, + $85, $C0, $89, $4A, $08, $8D, $40, $01, $89, $41, $FC, $74, $07, $31, $C0, $88, + $03, $5B, $C3, $90, $8B, $4B, $04, $89, $5A, $14, $89, $4A, $04, $89, $51, $14, + $89, $53, $04, $C6, $03, $00, $31, $C0, $5B, $C3, $90, $90, $85, $C0, $74, $13, + $8B, $42, $14, $8B, $4A, $04, $89, $48, $04, $89, $41, $14, $31, $C0, $39, $53, + $10, $75, $03, $89, $43, $0C, $88, $03, $89, $D0, $8B, $52, $FC, $8A, $1D, $35, + $80, $40, $00, $E9, $85, $00, $00, $00, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $23, $74, $94, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $EA, $51, $52, + $6A, $00, $E8, $C5, $F5, $FF, $FF, $5A, $59, $B8, $00, $01, $00, $00, $F0, $0F, + $B0, $23, $0F, $84, $6F, $FF, $FF, $FF, $51, $52, $6A, $0A, $E8, $AB, $F5, $FF, + $FF, $5A, $59, $EB, $C3, $90, $90, $90, $B8, $00, $01, $00, $00, $F0, $0F, $B0, + $25, $00, $87, $40, $00, $74, $42, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, + $75, $E6, $6A, $00, $E8, $83, $F5, $FF, $FF, $B8, $00, $01, $00, $00, $F0, $0F, + $B0, $25, $00, $87, $40, $00, $74, $21, $6A, $0A, $E8, $6D, $F5, $FF, $FF, $EB, + $C7, $90, $90, $90, $F6, $C2, $05, $0F, $85, $E7, $00, $00, $00, $83, $E2, $F0, + $84, $DB, $89, $D3, $56, $89, $C6, $75, $AF, $F7, $44, $33, $FC, $01, $00, $00, + $00, $8B, $4C, $33, $FC, $75, $35, $83, $C9, $08, $89, $4C, $33, $FC, $F6, $46, + $FC, $08, $75, $40, $81, $FB, $E0, $FF, $13, $00, $74, $50, $8D, $43, $03, $89, + $46, $FC, $89, $5C, $33, $F8, $89, $F0, $89, $DA, $E8, $59, $F7, $FF, $FF, $C6, + $05, $00, $87, $40, $00, $00, $31, $C0, $5E, $5B, $C3, $90, $8D, $04, $33, $83, + $E1, $F0, $01, $CB, $81, $F9, $30, $0B, $00, $00, $72, $C2, $E8, $F7, $F6, $FF, + $FF, $EB, $BB, $90, $8B, $4E, $F8, $29, $CE, $01, $CB, $81, $F9, $30, $0B, $00, + $00, $72, $B1, $89, $F0, $E8, $DE, $F6, $FF, $FF, $EB, $A8, $81, $3D, $08, $87, + $40, $00, $E0, $FF, $13, $00, $75, $2C, $83, $EE, $10, $8B, $06, $8B, $56, $04, + $89, $50, $04, $89, $02, $C6, $05, $00, $87, $40, $00, $00, $68, $00, $80, $00, + $00, $6A, $00, $56, $E8, $AB, $F4, $FF, $FF, $83, $F8, $01, $19, $C0, $5E, $5B, + $C3, $90, $90, $90, $8D, $9E, $E0, $FF, $13, $00, $E8, $39, $F7, $FF, $FF, $C7, + $43, $FC, $02, $00, $00, $00, $C7, $05, $08, $87, $40, $00, $E0, $FF, $13, $00, + $89, $1D, $04, $87, $40, $00, $C6, $05, $00, $87, $40, $00, $00, $31, $C0, $5E, + $5B, $C3, $90, $90, $5B, $F6, $C2, $03, $0F, $84, $9A, $F8, $FF, $FF, $B8, $FF, + $FF, $FF, $FF, $C3, $8B, $48, $FC, $F6, $C1, $07, $53, $56, $89, $C6, $0F, $85, + $88, $00, $00, $00, $8B, $19, $0F, $B7, $4B, $02, $83, $E9, $04, $39, $D1, $72, + $37, $8D, $1C, $95, $40, $00, $00, $00, $39, $CB, $72, $04, $5E, $5B, $C3, $90, + $89, $D3, $89, $D0, $E8, $4F, $FA, $FF, $FF, $85, $C0, $74, $16, $89, $D9, $89, + $C2, $89, $C3, $89, $F0, $E8, $02, $F6, $FF, $FF, $89, $F0, $E8, $BB, $FD, $FF, + $FF, $89, $D8, $5E, $5B, $C3, $90, $90, $8D, $4C, $09, $20, $57, $89, $D7, $31, + $C0, $29, $D1, $83, $D0, $FF, $21, $C8, $01, $D0, $E8, $19, $FA, $FF, $FF, $85, + $C0, $74, $24, $81, $FF, $2C, $0A, $04, $00, $76, $03, $89, $78, $F8, $0F, $B7, + $4B, $02, $83, $E9, $04, $89, $C2, $89, $C7, $89, $F0, $FF, $53, $1C, $89, $F0, + $E8, $77, $FD, $FF, $FF, $89, $F8, $5F, $5E, $5B, $C3, $90, $F6, $C1, $05, $0F, + $85, $67, $02, $00, $00, $89, $CB, $83, $E1, $F0, $57, $8D, $3C, $01, $83, $E9, + $04, $83, $E3, $0F, $39, $CA, $55, $0F, $87, $0F, $01, $00, $00, $8D, $2C, $12, + $39, $CD, $72, $08, $5D, $5F, $5E, $5B, $C3, $90, $90, $90, $81, $FA, $2C, $0B, + $00, $00, $73, $15, $81, $FA, $CC, $02, $00, $00, $0F, $82, $C4, $00, $00, $00, + $BA, $2C, $0B, $00, $00, $39, $D1, $76, $DB, $8D, $AA, $D3, $00, $00, $00, $81, + $E5, $00, $FF, $FF, $FF, $83, $C5, $30, $83, $C1, $04, $29, $E9, $80, $3D, $35, + $80, $40, $00, $00, $74, $46, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, $00, + $87, $40, $00, $74, $2F, $F3, $90, $80, $3D, $9D, $85, $40, $00, $00, $75, $E6, + $51, $6A, $00, $E8, $44, $F3, $FF, $FF, $59, $B8, $00, $01, $00, $00, $F0, $0F, + $B0, $25, $00, $87, $40, $00, $74, $0C, $51, $6A, $0A, $E8, $2C, $F3, $FF, $FF, + $59, $EB, $C3, $90, $BB, $0F, $00, $00, $00, $23, $5E, $FC, $09, $EB, $89, $5E, + $FC, $89, $CB, $8B, $57, $FC, $F6, $C2, $01, $75, $09, $83, $CA, $08, $89, $57, + $FC, $EB, $17, $90, $89, $F8, $83, $E2, $F0, $01, $D3, $01, $D7, $81, $FA, $30, + $0B, $00, $00, $72, $05, $E8, $EE, $F4, $FF, $FF, $89, $5F, $F8, $8D, $43, $03, + $89, $44, $2E, $FC, $81, $FB, $30, $0B, $00, $00, $72, $0A, $8D, $04, $2E, $89, + $DA, $E8, $12, $F5, $FF, $FF, $C6, $05, $00, $87, $40, $00, $00, $89, $F0, $5D, + $5F, $5E, $5B, $C3, $89, $D7, $89, $D0, $E8, $DB, $F8, $FF, $FF, $85, $C0, $74, + $16, $89, $C5, $89, $C2, $89, $F0, $89, $F9, $E8, $8E, $F4, $FF, $FF, $89, $F0, + $E8, $47, $FC, $FF, $FF, $89, $E8, $5D, $5F, $5E, $5B, $C3, $8B, $47, $FC, $A8, + $01, $0F, $84, $ED, $00, $00, $00, $83, $E0, $F0, $8D, $2C, $01, $39, $EA, $0F, + $87, $DF, $00, $00, $00, $80, $3D, $35, $80, $40, $00, $00, $74, $5B, $B8, $00, + $01, $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, $74, $33, $F3, $90, $80, + $3D, $9D, $85, $40, $00, $00, $75, $E6, $51, $52, $6A, $00, $E8, $5B, $F2, $FF, + $FF, $5A, $59, $B8, $00, $01, $00, $00, $F0, $0F, $B0, $25, $00, $87, $40, $00, + $74, $0E, $51, $52, $6A, $0A, $E8, $41, $F2, $FF, $FF, $5A, $59, $EB, $BF, $90, + $BB, $0F, $00, $00, $00, $23, $5E, $FC, $8B, $47, $FC, $A8, $01, $74, $7E, $83, + $E0, $F0, $8D, $2C, $01, $39, $EA, $77, $74, $3D, $30, $0B, $00, $00, $72, $0B, + $89, $F8, $51, $52, $E8, $0F, $F4, $FF, $FF, $5A, $59, $89, $C8, $C1, $E8, $02, + $01, $C8, $31, $FF, $29, $D0, $83, $D7, $FF, $21, $F8, $8D, $84, $02, $D3, $00, + $00, $00, $25, $00, $FF, $FF, $FF, $83, $C0, $30, $8D, $55, $04, $29, $C2, $77, + $0B, $83, $24, $2E, $F7, $83, $C5, $04, $EB, $1E, $90, $90, $89, $54, $2E, $FC, + $8D, $7A, $03, $89, $7C, $30, $FC, $89, $C5, $81, $FA, $30, $0B, $00, $00, $72, + $07, $01, $F0, $E8, $00, $F4, $FF, $FF, $09, $DD, $89, $6E, $FC, $C6, $05, $00, + $87, $40, $00, $00, $89, $F0, $5D, $5F, $5E, $5B, $C3, $90, $90, $C6, $05, $00, + $87, $40, $00, $00, $89, $C8, $C1, $E8, $02, $01, $C8, $31, $FF, $29, $D0, $83, + $D7, $FF, $21, $F8, $01, $D0, $89, $C5, $89, $CF, $52, $E8, $A8, $F7, $FF, $FF, + $5A, $85, $C0, $74, $D1, $81, $FD, $2C, $0A, $04, $00, $76, $03, $89, $50, $F8, + $89, $C5, $89, $C2, $89, $F0, $89, $F9, $E8, $1F, $F3, $FF, $FF, $89, $F0, $E8, + $08, $FB, $FF, $FF, $89, $E8, $5D, $5F, $5E, $5B, $C3, $90, $5E, $5B, $F6, $C1, + $03, $0F, $84, $25, $F6, $FF, $FF, $31, $C0, $C3, $8B, $C0, $53, $8D, $58, $FF, + $83, $E3, $FC, $E8, $60, $F7, $FF, $FF, $83, $F8, $01, $19, $C9, $8D, $14, $03, + $09, $CB, $81, $FB, $2C, $0A, $04, $00, $73, $10, $F7, $DB, $D9, $EE, $DD, $14, + $13, $83, $C3, $08, $78, $F8, $89, $0A, $DD, $C0, $5B, $C3, $8B, $C8, $8B, $D1, + $83, $EA, $04, $8B, $12, $83, $E2, $F0, $03, $D1, $8B, $C2, $8B, $D0, $83, $EA, + $04, $8B, $12, $83, $E2, $F0, $85, $D2, $75, $02, $33, $C0, $C3, $8D, $40, $00, + $83, $3D, $08, $87, $40, $00, $00, $74, $1A, $8B, $15, $04, $87, $40, $00, $3B, + $D0, $72, $10, $8B, $D0, $81, $C2, $F0, $FF, $13, $00, $3B, $15, $04, $87, $40, + $00, $73, $04, $83, $C0, $10, $C3, $81, $3D, $08, $87, $40, $00, $E0, $FF, $13, + $00, $74, $07, $A1, $04, $87, $40, $00, $EB, $02, $33, $C0, $C3, $8D, $40, $00, + $53, $56, $8B, $D8, $83, $C3, $20, $89, $1A, $8B, $10, $3B, $42, $10, $75, $08, + $8B, $5A, $08, $3B, $5A, $0C, $76, $19, $8B, $F0, $8B, $DE, $83, $EB, $04, $8B, + $1B, $83, $E3, $F0, $03, $DE, $0F, $B7, $42, $02, $2B, $D8, $89, $19, $5E, $5B, + $C3, $8B, $42, $08, $48, $89, $01, $5E, $5B, $C3, $8B, $C0, $57, $89, $D7, $83, + $C0, $01, $BA, $41, $5F, $70, $89, $F7, $E2, $C1, $E8, $1E, $89, $D1, $81, $E2, + $FF, $FF, $FF, $1F, $C1, $E9, $1D, $8D, $14, $92, $01, $C2, $89, $C8, $83, $C8, + $30, $88, $07, $89, $D0, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $1C, $81, $E2, + $FF, $FF, $FF, $0F, $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, + $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $1B, $81, $E2, $FF, $FF, $FF, $07, + $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, + $83, $DF, $FF, $C1, $E8, $1A, $81, $E2, $FF, $FF, $FF, $03, $09, $C1, $83, $C8, + $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, + $E8, $19, $81, $E2, $FF, $FF, $FF, $01, $09, $C1, $83, $C8, $30, $88, $07, $8D, + $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $18, $81, $E2, + $FF, $FF, $FF, $00, $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, + $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $17, $81, $E2, $FF, $FF, $7F, $00, + $09, $C1, $83, $C8, $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, + $83, $DF, $FF, $C1, $E8, $16, $81, $E2, $FF, $FF, $3F, $00, $09, $C1, $83, $C8, + $30, $88, $07, $8D, $04, $92, $8D, $14, $92, $83, $F9, $01, $83, $DF, $FF, $C1, + $E8, $15, $81, $E2, $FF, $FF, $1F, $00, $09, $C1, $83, $C8, $30, $88, $07, $8D, + $04, $92, $83, $F9, $01, $83, $DF, $FF, $C1, $E8, $14, $83, $C8, $30, $88, $07, + $8D, $47, $01, $5F, $C3, $8D, $40, $00, $53, $56, $8B, $F1, $8B, $DA, $8B, $D3, + $8B, $CE, $E8, $45, $0B, $00, $00, $8B, $C3, $03, $C6, $5E, $5B, $C3, $8B, $C0, + $55, $8B, $EC, $53, $8B, $D0, $81, $FA, $FF, $FF, $00, $00, $76, $68, $F6, $C2, + $03, $75, $63, $8B, $55, $08, $8B, $52, $E4, $8B, $C8, $3B, $D1, $77, $10, $8B, + $5D, $08, $8B, $5D, $08, $03, $53, $F0, $83, $C1, $04, $3B, $D1, $73, $17, $8B, + $55, $08, $33, $C9, $89, $4A, $F0, $6A, $1C, $8B, $55, $08, $83, $C2, $E4, $52, + $50, $E8, $C2, $EE, $FF, $FF, $8B, $45, $08, $83, $78, $F0, $04, $72, $1E, $8B, + $45, $08, $81, $78, $F4, $00, $10, $00, $00, $75, $12, $8B, $45, $08, $F6, $40, + $F8, $F6, $74, $09, $8B, $45, $08, $F6, $40, $F9, $01, $74, $04, $33, $C0, $EB, + $07, $B0, $01, $5B, $5D, $C3, $33, $C0, $5B, $5D, $C3, $90, $55, $8B, $EC, $53, + $56, $57, $8B, $FA, $8B, $D8, $81, $FF, $E8, $03, $00, $00, $7D, $65, $8B, $45, + $08, $50, $8B, $C3, $83, $C0, $B4, $E8, $64, $FF, $FF, $FF, $59, $84, $C0, $74, + $52, $8B, $45, $08, $50, $8B, $C3, $83, $C0, $DC, $E8, $51, $FF, $FF, $FF, $59, + $84, $C0, $74, $3F, $8B, $C3, $83, $C0, $DC, $8B, $30, $8B, $C3, $83, $C0, $B4, + $3B, $18, $75, $27, $85, $F6, $74, $27, $8B, $45, $08, $50, $8B, $C6, $E8, $2D, + $FF, $FF, $FF, $59, $84, $C0, $74, $13, $8B, $45, $08, $50, $8D, $57, $01, $8B, + $06, $E8, $96, $FF, $FF, $FF, $59, $84, $C0, $75, $04, $33, $C0, $EB, $06, $B0, + $01, $EB, $02, $33, $C0, $5F, $5E, $5B, $5D, $C3, $8B, $C0, $55, $8B, $EC, $83, + $C4, $E4, $53, $8B, $18, $33, $C0, $89, $45, $F0, $55, $33, $D2, $8B, $C3, $E8, + $68, $FF, $FF, $FF, $59, $84, $C0, $75, $02, $33, $DB, $8B, $C3, $5B, $8B, $E5, + $5D, $C3, $8B, $C0, $80, $3D, $35, $80, $40, $00, $00, $74, $3D, $EB, $29, $80, + $3D, $9D, $85, $40, $00, $00, $75, $20, $6A, $00, $E8, $0D, $EE, $FF, $FF, $B9, + $A8, $A7, $40, $00, $B2, $01, $33, $C0, $E8, $6F, $EE, $FF, $FF, $84, $C0, $74, + $19, $6A, $0A, $E8, $F4, $ED, $FF, $FF, $B9, $A8, $A7, $40, $00, $B2, $01, $33, + $C0, $E8, $56, $EE, $FF, $FF, $84, $C0, $75, $C5, $83, $3D, $A4, $A7, $40, $00, + $00, $75, $18, $6A, $04, $68, $00, $10, $00, $00, $68, $00, $00, $01, $00, $6A, + $00, $E8, $B6, $ED, $FF, $FF, $A3, $A4, $A7, $40, $00, $83, $3D, $A4, $A7, $40, + $00, $00, $0F, $95, $C0, $C3, $8B, $C0, $53, $8B, $D8, $E8, $84, $FF, $FF, $FF, + $84, $C0, $74, $29, $A1, $A4, $A7, $40, $00, $81, $38, $FE, $3F, $00, $00, $7D, + $1C, $A1, $A4, $A7, $40, $00, $8B, $00, $8B, $15, $A4, $A7, $40, $00, $89, $5C, + $82, $04, $A1, $A4, $A7, $40, $00, $FF, $00, $B0, $01, $EB, $02, $33, $C0, $C6, + $05, $A8, $A7, $40, $00, $00, $5B, $C3, $53, $56, $57, $8B, $F0, $BF, $A4, $A7, + $40, $00, $33, $DB, $83, $3F, $00, $74, $3F, $E8, $36, $FF, $FF, $FF, $84, $C0, + $74, $36, $8B, $07, $8B, $10, $4A, $85, $D2, $7C, $26, $42, $33, $C0, $8B, $0F, + $3B, $74, $81, $04, $75, $17, $8B, $17, $8B, $12, $8B, $0F, $8B, $14, $91, $8B, + $0F, $89, $54, $81, $04, $8B, $17, $FF, $0A, $B3, $01, $EB, $04, $40, $4A, $75, + $DD, $C6, $05, $A8, $A7, $40, $00, $00, $8B, $C3, $5F, $5E, $5B, $C3, $8B, $C0, + $55, $8B, $EC, $83, $C4, $E0, $53, $56, $57, $89, $45, $FC, $8B, $45, $FC, $8B, + $00, $81, $E8, $28, $70, $40, $00, $C1, $E8, $05, $C1, $E0, $08, $8B, $55, $08, + $8D, $B4, $C2, $00, $48, $FE, $FF, $8D, $4D, $E4, $8D, $55, $E8, $8B, $45, $FC, + $E8, $2B, $FC, $FF, $FF, $E9, $FD, $00, $00, $00, $8B, $45, $E8, $83, $E8, $04, + $F6, $00, $01, $0F, $85, $E2, $00, $00, $00, $8B, $45, $E8, $E8, $57, $FF, $FF, + $FF, $84, $C0, $0F, $85, $D2, $00, $00, $00, $8B, $45, $08, $C6, $80, $FF, $47, + $FE, $FF, $00, $33, $DB, $8B, $45, $E8, $E8, $5F, $FE, $FF, $FF, $8B, $F8, $85, + $FF, $0F, $85, $88, $00, $00, $00, $8B, $45, $E8, $81, $38, $00, $01, $00, $00, + $0F, $83, $A1, $00, $00, $00, $8B, $45, $E8, $83, $C0, $04, $8B, $00, $89, $45, + $F4, $83, $7D, $F4, $00, $0F, $8E, $8C, $00, $00, $00, $8B, $45, $FC, $8B, $00, + $0F, $B7, $40, $02, $83, $E8, $0D, $3B, $45, $F4, $7C, $7B, $8B, $45, $E8, $83, + $C0, $08, $89, $45, $F0, $C6, $45, $EF, $01, $8B, $45, $F4, $85, $C0, $7E, $2A, + $89, $45, $E0, $80, $7D, $EF, $00, $74, $10, $8B, $45, $F0, $80, $38, $20, $72, + $08, $8B, $45, $F0, $80, $38, $80, $72, $04, $33, $C0, $EB, $02, $B0, $01, $88, + $45, $EF, $FF, $45, $F0, $FF, $4D, $E0, $75, $D9, $80, $7D, $EF, $00, $74, $37, + $8B, $45, $F0, $80, $38, $00, $75, $2F, $BB, $01, $00, $00, $00, $EB, $28, $BB, + $02, $00, $00, $00, $3B, $3C, $DE, $74, $0F, $83, $3C, $DE, $00, $74, $09, $43, + $81, $FB, $FF, $00, $00, $00, $7E, $EC, $81, $FB, $FF, $00, $00, $00, $7F, $05, + $89, $3C, $DE, $EB, $02, $33, $DB, $FF, $44, $DE, $04, $8B, $45, $FC, $8B, $00, + $0F, $B7, $40, $02, $01, $45, $E8, $8B, $45, $E8, $3B, $45, $E4, $0F, $86, $F7, + $FE, $FF, $FF, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $8B, $C0, $55, $8B, $EC, $50, + $B8, $27, $00, $00, $00, $81, $C4, $04, $F0, $FF, $FF, $50, $48, $75, $F6, $8B, + $45, $FC, $81, $C4, $DC, $F6, $FF, $FF, $53, $56, $57, $8D, $85, $00, $48, $FE, + $FF, $33, $C9, $BA, $00, $B8, $01, $00, $E8, $E7, $08, $00, $00, $8D, $85, $D8, + $07, $FE, $FF, $33, $C9, $BA, $00, $40, $00, $00, $E8, $D5, $08, $00, $00, $33, + $C0, $89, $85, $F8, $47, $FE, $FF, $C6, $85, $FF, $47, $FE, $FF, $01, $8B, $3D, + $F4, $86, $40, $00, $E9, $82, $00, $00, $00, $8B, $C7, $E8, $70, $FA, $FF, $FF, + $8B, $D8, $85, $DB, $74, $72, $8B, $C3, $83, $E8, $04, $8B, $30, $F7, $C6, $01, + $00, $00, $00, $75, $56, $F7, $C6, $04, $00, $00, $00, $74, $0B, $55, $8B, $C3, + $E8, $2B, $FE, $FF, $FF, $59, $EB, $43, $81, $BD, $F8, $47, $FE, $FF, $00, $10, + $00, $00, $7D, $37, $83, $E6, $F0, $83, $EE, $04, $89, $B5, $EC, $47, $FE, $FF, + $8B, $C3, $E8, $B1, $FD, $FF, $FF, $84, $C0, $75, $20, $C6, $85, $FF, $47, $FE, + $FF, $00, $8B, $85, $F8, $47, $FE, $FF, $8B, $95, $EC, $47, $FE, $FF, $89, $94, + $85, $D8, $07, $FE, $FF, $FF, $85, $F8, $47, $FE, $FF, $8B, $C3, $E8, $DA, $F9, + $FF, $FF, $8B, $D8, $85, $DB, $75, $8E, $8B, $7F, $04, $81, $FF, $F0, $86, $40, + $00, $0F, $85, $72, $FF, $FF, $FF, $8B, $1D, $98, $A7, $40, $00, $EB, $37, $8B, + $C3, $83, $C0, $10, $E8, $5F, $FD, $FF, $FF, $84, $C0, $75, $26, $C6, $85, $FF, + $47, $FE, $FF, $00, $8B, $73, $0C, $83, $E6, $F0, $83, $EE, $04, $83, $EE, $10, + $8B, $85, $F8, $47, $FE, $FF, $89, $B4, $85, $D8, $07, $FE, $FF, $FF, $85, $F8, + $47, $FE, $FF, $8B, $5B, $04, $81, $FB, $94, $A7, $40, $00, $74, $0C, $81, $BD, + $F8, $47, $FE, $FF, $00, $10, $00, $00, $7C, $B5, $80, $BD, $FF, $47, $FE, $FF, + $00, $0F, $85, $58, $02, $00, $00, $C6, $85, $F7, $47, $FE, $FF, $00, $33, $C0, + $89, $85, $E8, $47, $FE, $FF, $8D, $95, $D8, $87, $FD, $FF, $B8, $88, $28, $40, + $00, $B9, $28, $00, $00, $00, $E8, $FD, $FA, $FF, $FF, $8B, $D8, $C7, $85, $F0, + $47, $FE, $FF, $37, $00, $00, $00, $C7, $85, $DC, $47, $FE, $FF, $2A, $70, $40, + $00, $8D, $85, $FC, $4F, $FE, $FF, $89, $85, $D8, $47, $FE, $FF, $8B, $85, $DC, + $47, $FE, $FF, $0F, $B7, $00, $83, $E8, $04, $89, $85, $E4, $47, $FE, $FF, $C6, + $85, $F6, $47, $FE, $FF, $00, $BF, $FF, $00, $00, $00, $8B, $85, $D8, $47, $FE, + $FF, $8B, $F0, $8D, $85, $D7, $FF, $FD, $FF, $3B, $D8, $0F, $87, $09, $01, $00, + $00, $83, $3E, $00, $0F, $86, $F3, $00, $00, $00, $80, $BD, $F7, $47, $FE, $FF, + $00, $75, $1A, $B8, $B4, $28, $40, $00, $B9, $27, $00, $00, $00, $8B, $D3, $E8, + $84, $FA, $FF, $FF, $8B, $D8, $C6, $85, $F7, $47, $FE, $FF, $01, $80, $BD, $F6, + $47, $FE, $FF, $00, $75, $4F, $C6, $03, $0D, $43, $C6, $03, $0A, $43, $8B, $85, + $E8, $47, $FE, $FF, $40, $8B, $D3, $E8, $40, $F9, $FF, $FF, $8B, $D8, $C6, $03, + $20, $43, $C6, $03, $2D, $43, $C6, $03, $20, $43, $8B, $D3, $8B, $85, $E4, $47, + $FE, $FF, $E8, $25, $F9, $FF, $FF, $8B, $D8, $B8, $DC, $28, $40, $00, $B9, $08, + $00, $00, $00, $8B, $D3, $E8, $2E, $FA, $FF, $FF, $8B, $D8, $C6, $85, $F6, $47, + $FE, $FF, $01, $EB, $08, $C6, $03, $2C, $43, $C6, $03, $20, $43, $8B, $C7, $83, + $E8, $01, $72, $04, $74, $17, $EB, $2A, $B8, $E8, $28, $40, $00, $B9, $07, $00, + $00, $00, $8B, $D3, $E8, $FF, $F9, $FF, $FF, $8B, $D8, $EB, $39, $B8, $F0, $28, + $40, $00, $B9, $06, $00, $00, $00, $8B, $D3, $E8, $EA, $F9, $FF, $FF, $8B, $D8, + $EB, $24, $8D, $95, $D8, $86, $FD, $FF, $8B, $46, $FC, $E8, $38, $08, $00, $00, + $0F, $B6, $8D, $D8, $86, $FD, $FF, $8D, $85, $D9, $86, $FD, $FF, $8B, $D3, $E8, + $C4, $F9, $FF, $FF, $8B, $D8, $C6, $03, $20, $43, $C6, $03, $78, $43, $C6, $03, + $20, $43, $8B, $06, $8B, $D3, $E8, $91, $F8, $FF, $FF, $8B, $D8, $4F, $83, $EE, + $08, $83, $FF, $FF, $0F, $85, $E9, $FE, $FF, $FF, $8B, $85, $E4, $47, $FE, $FF, + $89, $85, $E8, $47, $FE, $FF, $81, $85, $D8, $47, $FE, $FF, $00, $08, $00, $00, + $83, $85, $DC, $47, $FE, $FF, $20, $FF, $8D, $F0, $47, $FE, $FF, $0F, $85, $9A, + $FE, $FF, $FF, $83, $BD, $F8, $47, $FE, $FF, $00, $7E, $7A, $80, $BD, $F7, $47, + $FE, $FF, $00, $74, $10, $C6, $03, $0D, $43, $C6, $03, $0A, $43, $C6, $03, $0D, + $43, $C6, $03, $0A, $43, $B8, $F8, $28, $40, $00, $B9, $3C, $00, $00, $00, $8B, + $D3, $E8, $42, $F9, $FF, $FF, $8B, $D8, $8B, $BD, $F8, $47, $FE, $FF, $4F, $85, + $FF, $72, $43, $47, $C7, $85, $E0, $47, $FE, $FF, $00, $00, $00, $00, $8D, $B5, + $D8, $07, $FE, $FF, $83, $BD, $E0, $47, $FE, $FF, $00, $74, $08, $C6, $03, $2C, + $43, $C6, $03, $20, $43, $8B, $06, $8B, $D3, $E8, $EE, $F7, $FF, $FF, $8B, $D8, + $8D, $85, $D7, $FF, $FD, $FF, $3B, $D8, $77, $0C, $FF, $85, $E0, $47, $FE, $FF, + $83, $C6, $04, $4F, $75, $CE, $B8, $38, $29, $40, $00, $B9, $03, $00, $00, $00, + $8B, $D3, $E8, $E1, $F8, $FF, $FF, $68, $10, $20, $00, $00, $68, $3C, $29, $40, + $00, $8D, $85, $D8, $87, $FD, $FF, $50, $6A, $00, $E8, $B1, $E7, $FF, $FF, $5F, + $5E, $5B, $8B, $E5, $5D, $C3, $00, $00, $41, $6E, $20, $75, $6E, $65, $78, $70, + $65, $63, $74, $65, $64, $20, $6D, $65, $6D, $6F, $72, $79, $20, $6C, $65, $61, + $6B, $20, $68, $61, $73, $20, $6F, $63, $63, $75, $72, $72, $65, $64, $2E, $20, + $00, $00, $00, $00, $54, $68, $65, $20, $75, $6E, $65, $78, $70, $65, $63, $74, + $65, $64, $20, $73, $6D, $61, $6C, $6C, $20, $62, $6C, $6F, $63, $6B, $20, $6C, + $65, $61, $6B, $73, $20, $61, $72, $65, $3A, $0D, $0A, $00, $20, $62, $79, $74, + $65, $73, $3A, $20, $00, $00, $00, $00, $55, $6E, $6B, $6E, $6F, $77, $6E, $00, + $53, $74, $72, $69, $6E, $67, $00, $00, $54, $68, $65, $20, $73, $69, $7A, $65, + $73, $20, $6F, $66, $20, $75, $6E, $65, $78, $70, $65, $63, $74, $65, $64, $20, + $6C, $65, $61, $6B, $65, $64, $20, $6D, $65, $64, $69, $75, $6D, $20, $61, $6E, + $64, $20, $6C, $61, $72, $67, $65, $20, $62, $6C, $6F, $63, $6B, $73, $20, $61, + $72, $65, $3A, $20, $00, $00, $00, $00, $0D, $0A, $00, $00, $55, $6E, $65, $78, + $70, $65, $63, $74, $65, $64, $20, $4D, $65, $6D, $6F, $72, $79, $20, $4C, $65, + $61, $6B, $00, $00, $56, $57, $33, $C0, $33, $F6, $BA, $2A, $70, $40, $00, $80, + $3D, $EE, $86, $40, $00, $00, $74, $05, $F6, $02, $0F, $75, $1D, $0F, $B7, $3A, + $C1, $EF, $03, $8B, $CE, $03, $C9, $03, $C9, $3B, $F8, $76, $0B, $88, $88, $A8, + $85, $40, $00, $40, $3B, $F8, $77, $F5, $8B, $C7, $46, $83, $C2, $20, $83, $FE, + $37, $75, $CC, $5F, $5E, $C3, $8B, $C0, $53, $56, $57, $BE, $37, $00, $00, $00, + $BB, $44, $70, $40, $00, $83, $3B, $00, $75, $06, $C7, $03, $5C, $12, $40, $00, + $8D, $43, $E4, $89, $43, $F8, $8D, $43, $E4, $89, $43, $E8, $33, $C0, $89, $43, + $F0, $C7, $43, $EC, $01, $00, $00, $00, $0F, $B7, $43, $E6, $03, $C0, $03, $C0, + $8D, $04, $40, $05, $EF, $00, $00, $00, $25, $00, $FF, $FF, $FF, $83, $C0, $30, + $3D, $30, $0B, $00, $00, $73, $05, $B8, $30, $0B, $00, $00, $05, $D0, $04, $00, + $00, $C1, $E8, $0D, $83, $F8, $07, $76, $05, $B8, $07, $00, $00, $00, $8B, $C8, + $B2, $FF, $D2, $E2, $88, $53, $E5, $C1, $E0, $0D, $66, $05, $30, $0B, $66, $89, + $43, $FC, $0F, $B7, $7B, $E6, $0F, $B7, $C7, $8B, $C8, $C1, $E1, $04, $8D, $0C, + $49, $81, $C1, $EF, $00, $00, $00, $81, $E1, $00, $FF, $FF, $FF, $83, $C1, $30, + $81, $F9, $30, $73, $00, $00, $73, $05, $B9, $30, $73, $00, $00, $81, $F9, $30, + $FF, $00, $00, $76, $05, $B9, $30, $FF, $00, $00, $8B, $C1, $83, $E8, $20, $0F, + $B7, $D7, $8B, $CA, $33, $D2, $F7, $F1, $66, $F7, $EF, $66, $05, $EF, $00, $66, + $25, $00, $FF, $66, $83, $C0, $30, $66, $89, $43, $FE, $83, $C3, $20, $4E, $0F, + $85, $30, $FF, $FF, $FF, $E8, $DA, $FE, $FF, $FF, $C7, $05, $F0, $86, $40, $00, + $F0, $86, $40, $00, $C7, $05, $F4, $86, $40, $00, $F0, $86, $40, $00, $BE, $00, + $04, $00, $00, $BA, $90, $87, $40, $00, $8B, $C2, $89, $00, $89, $40, $04, $83, + $C2, $08, $4E, $75, $F3, $C7, $05, $94, $A7, $40, $00, $94, $A7, $40, $00, $C7, + $05, $98, $A7, $40, $00, $94, $A7, $40, $00, $5F, $5E, $5B, $C3, $8D, $40, $00, + $53, $56, $57, $55, $BB, $F0, $86, $40, $00, $BE, $94, $A7, $40, $00, $8B, $7B, + $04, $EB, $12, $8B, $6F, $04, $68, $00, $80, $00, $00, $6A, $00, $57, $E8, $C1, + $E5, $FF, $FF, $8B, $FD, $3B, $FB, $75, $EA, $BA, $37, $00, $00, $00, $B8, $28, + $70, $40, $00, $8B, $C8, $89, $48, $14, $8B, $C8, $89, $48, $04, $C7, $40, $08, + $01, $00, $00, $00, $33, $C9, $89, $48, $0C, $83, $C0, $20, $4A, $75, $E4, $89, + $1B, $89, $5B, $04, $BA, $00, $04, $00, $00, $B9, $90, $87, $40, $00, $8B, $C1, + $89, $00, $89, $40, $04, $83, $C1, $08, $4A, $75, $F3, $8B, $5E, $04, $EB, $12, + $8B, $7B, $04, $68, $00, $80, $00, $00, $6A, $00, $53, $E8, $64, $E5, $FF, $FF, + $8B, $DF, $3B, $DE, $75, $EA, $89, $36, $89, $76, $04, $5D, $5F, $5E, $5B, $C3, + $83, $3D, $AC, $A7, $40, $00, $00, $74, $12, $A1, $AC, $A7, $40, $00, $50, $E8, + $50, $E5, $FF, $FF, $33, $C0, $A3, $AC, $A7, $40, $00, $80, $3D, $9C, $85, $40, + $00, $00, $74, $05, $E8, $63, $F9, $FF, $FF, $83, $3D, $A4, $A7, $40, $00, $00, + $74, $19, $68, $00, $80, $00, $00, $6A, $00, $A1, $A4, $A7, $40, $00, $50, $E8, + $10, $E5, $FF, $FF, $33, $C0, $A3, $A4, $A7, $40, $00, $E8, $20, $FF, $FF, $FF, + $C3, $8D, $40, $00, $85, $C0, $7E, $13, $FF, $15, $08, $77, $40, $00, $85, $C0, + $74, $02, $F3, $C3, $B0, $01, $E9, $C5, $00, $00, $00, $31, $C0, $F3, $C3, $90, + $85, $C0, $74, $0A, $FF, $15, $0C, $77, $40, $00, $85, $C0, $75, $02, $F3, $C3, + $B0, $02, $E9, $A9, $00, $00, $00, $C3, $8B, $08, $85, $C9, $74, $32, $85, $D2, + $74, $18, $50, $89, $C8, $FF, $15, $10, $77, $40, $00, $59, $09, $C0, $74, $19, + $89, $01, $C3, $B0, $02, $E9, $86, $00, $00, $00, $89, $10, $89, $C8, $FF, $15, + $0C, $77, $40, $00, $09, $C0, $75, $EB, $C3, $B0, $01, $E9, $70, $00, $00, $00, + $85, $D2, $74, $10, $50, $89, $D0, $FF, $15, $08, $77, $40, $00, $59, $09, $C0, + $74, $E7, $89, $01, $C3, $8D, $40, $00, $89, $15, $04, $70, $40, $00, $E8, $95, + $0C, $00, $00, $C3, $53, $56, $8B, $F2, $8B, $D8, $80, $E3, $7F, $83, $3D, $08, + $80, $40, $00, $00, $74, $0A, $8B, $D6, $8B, $C3, $FF, $15, $08, $80, $40, $00, + $84, $DB, $75, $0D, $E8, $33, $13, $00, $00, $8B, $98, $04, $00, $00, $00, $EB, + $0F, $80, $FB, $18, $77, $0A, $0F, $B6, $C3, $0F, $B6, $98, $20, $77, $40, $00, + $0F, $B6, $C3, $8B, $D6, $E8, $AE, $FF, $FF, $FF, $5E, $5B, $C3, $8D, $40, $00, + $83, $E0, $7F, $8B, $14, $24, $E9, $A9, $FF, $FF, $FF, $C3, $53, $8B, $D8, $E8, + $F8, $12, $00, $00, $89, $98, $04, $00, $00, $00, $5B, $C3, $39, $D0, $74, $31, + $83, $F9, $20, $77, $7C, $83, $E9, $08, $7F, $07, $FF, $24, $8D, $F4, $2C, $40, + $00, $DF, $2C, $01, $DF, $28, $83, $F9, $08, $7E, $11, $DF, $68, $08, $83, $F9, + $10, $7E, $06, $DF, $68, $10, $DF, $7A, $10, $DF, $7A, $08, $DF, $3A, $DF, $3C, + $11, $C3, $90, $90, $D1, $2C, $40, $00, $52, $2D, $40, $00, $58, $2D, $40, $00, + $5F, $2D, $40, $00, $6C, $2D, $40, $00, $71, $2D, $40, $00, $7C, $2D, $40, $00, + $89, $2D, $40, $00, $94, $2D, $40, $00, $52, $DF, $28, $8D, $44, $01, $F8, $8D, + $4C, $0A, $F8, $DF, $28, $51, $F7, $D9, $83, $E2, $F8, $8D, $4C, $0A, $08, $5A, + $DF, $2C, $01, $DF, $3C, $11, $83, $C1, $08, $7C, $F5, $DF, $3A, $5A, $DF, $3A, + $C3, $7E, $2E, $39, $D0, $77, $D1, $29, $CA, $39, $D0, $8D, $14, $11, $76, $C8, + $83, $E9, $08, $51, $DF, $2C, $01, $DF, $28, $01, $D1, $83, $E1, $F8, $29, $D1, + $DF, $2C, $01, $DF, $3C, $11, $83, $E9, $08, $7F, $F5, $59, $DF, $3A, $DF, $3C, + $11, $C3, $0F, $B6, $08, $88, $0A, $C3, $0F, $B7, $08, $66, $89, $0A, $C3, $66, + $8B, $08, $8A, $40, $02, $66, $89, $0A, $88, $42, $02, $C3, $8B, $08, $89, $0A, + $C3, $8B, $08, $8A, $40, $04, $89, $0A, $88, $42, $04, $C3, $8B, $08, $66, $8B, + $40, $04, $89, $0A, $66, $89, $42, $04, $C3, $8B, $08, $8B, $40, $03, $89, $0A, + $89, $42, $03, $C3, $DF, $28, $DF, $3A, $C3, $8D, $40, $00, $53, $56, $8B, $D8, + $33, $F6, $0F, $B7, $43, $04, $66, $3D, $B1, $D7, $72, $2F, $66, $3D, $B3, $D7, + $77, $29, $66, $25, $B2, $D7, $66, $3D, $B2, $D7, $75, $07, $8B, $C3, $FF, $53, + $1C, $8B, $F0, $85, $F6, $75, $07, $8B, $C3, $FF, $53, $24, $8B, $F0, $85, $F6, + $74, $1B, $8B, $C6, $E8, $B3, $FE, $FF, $FF, $EB, $12, $81, $FB, $38, $80, $40, + $00, $74, $0A, $B8, $67, $00, $00, $00, $E8, $9F, $FE, $FF, $FF, $8B, $C6, $5E, + $5B, $C3, $8B, $C0, $83, $FA, $20, $88, $CD, $7C, $3D, $66, $89, $08, $66, $89, + $48, $02, $66, $89, $48, $04, $66, $89, $48, $06, $83, $EA, $10, $DD, $00, $DD, + $14, $02, $DD, $54, $02, $08, $89, $C1, $83, $E1, $07, $83, $E9, $08, $29, $C8, + $01, $CA, $01, $D0, $F7, $DA, $DD, $14, $02, $DD, $54, $02, $08, $83, $C2, $10, + $7C, $F4, $DD, $C0, $C3, $90, $90, $90, $85, $D2, $7E, $50, $88, $4C, $02, $FF, + $83, $E2, $FE, $F7, $DA, $8D, $14, $55, $8C, $2E, $40, $00, $FF, $E2, $90, $90, + $66, $89, $48, $1C, $66, $89, $48, $1A, $66, $89, $48, $18, $66, $89, $48, $16, + $66, $89, $48, $14, $66, $89, $48, $12, $66, $89, $48, $10, $66, $89, $48, $0E, + $66, $89, $48, $0C, $66, $89, $48, $0A, $66, $89, $48, $08, $66, $89, $48, $06, + $66, $89, $48, $04, $66, $89, $48, $02, $66, $89, $08, $C3, $C3, $8D, $40, $00, + $FF, $25, $84, $B1, $40, $00, $8B, $C0, $53, $33, $DB, $6A, $00, $E8, $EE, $FF, + $FF, $FF, $83, $F8, $07, $75, $1C, $6A, $01, $E8, $E2, $FF, $FF, $FF, $25, $00, + $FF, $00, $00, $3D, $00, $0D, $00, $00, $74, $07, $3D, $00, $04, $00, $00, $75, + $02, $B3, $01, $8B, $C3, $5B, $C3, $90, $55, $8B, $EC, $83, $C4, $F4, $0F, $B7, + $05, $0C, $70, $40, $00, $89, $45, $F8, $8D, $45, $FC, $50, $6A, $01, $6A, $00, + $68, $60, $2F, $40, $00, $68, $02, $00, $00, $80, $E8, $69, $E1, $FF, $FF, $85, + $C0, $75, $4D, $33, $C0, $55, $68, $39, $2F, $40, $00, $64, $FF, $30, $64, $89, + $20, $C7, $45, $F4, $04, $00, $00, $00, $8D, $45, $F4, $50, $8D, $45, $F8, $50, + $6A, $00, $6A, $00, $68, $7C, $2F, $40, $00, $8B, $45, $FC, $50, $E8, $3E, $E1, + $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $40, $2F, $40, $00, $8B, + $45, $FC, $50, $E8, $18, $E1, $FF, $FF, $C3, $E9, $F6, $02, $00, $00, $EB, $EF, + $0F, $B7, $05, $0C, $70, $40, $00, $66, $25, $C0, $FF, $0F, $B7, $55, $F8, $66, + $83, $E2, $3F, $66, $0B, $C2, $66, $A3, $0C, $70, $40, $00, $8B, $E5, $5D, $C3, + $53, $4F, $46, $54, $57, $41, $52, $45, $5C, $42, $6F, $72, $6C, $61, $6E, $64, + $5C, $44, $65, $6C, $70, $68, $69, $5C, $52, $54, $4C, $00, $46, $50, $55, $4D, + $61, $73, $6B, $56, $61, $6C, $75, $65, $00, $00, $00, $00, $DB, $E3, $9B, $D9, + $2D, $0C, $70, $40, $00, $C3, $8B, $C0, $B0, $05, $E9, $E1, $FC, $FF, $FF, $C3, + $8B, $00, $89, $C2, $8B, $C2, $C3, $90, $56, $57, $89, $D7, $8B, $70, $D4, $31, + $C9, $8A, $0E, $41, $F3, $A4, $5F, $5E, $C3, $8D, $40, $00, $85, $C0, $74, $07, + $B2, $01, $8B, $08, $FF, $51, $FC, $C3, $53, $56, $57, $31, $C9, $31, $FF, $8A, + $1A, $EB, $02, $8B, $00, $8B, $70, $CC, $85, $F6, $74, $15, $66, $8B, $3E, $83, + $C6, $02, $8A, $4E, $06, $38, $D9, $74, $15, $66, $8B, $0E, $01, $CE, $4F, $75, + $F1, $8B, $40, $DC, $85, $C0, $75, $DB, $EB, $18, $8A, $1A, $EB, $EB, $B5, $00, + $8A, $5C, $31, $06, $32, $1C, $11, $80, $E3, $DF, $75, $EE, $49, $75, $F1, $8B, + $46, $02, $5F, $5E, $5B, $C3, $8B, $C0, $80, $3D, $10, $70, $40, $00, $01, $76, + $11, $6A, $00, $6A, $00, $6A, $00, $68, $DF, $FA, $ED, $0E, $FF, $15, $10, $80, + $40, $00, $C3, $90, $80, $3D, $10, $70, $40, $00, $00, $74, $17, $50, $50, $52, + $54, $6A, $02, $6A, $00, $68, $E4, $FA, $ED, $0E, $FF, $15, $10, $80, $40, $00, + $83, $C4, $08, $58, $C3, $8D, $40, $00, $54, $6A, $01, $6A, $00, $68, $E0, $FA, + $ED, $0E, $FF, $15, $10, $80, $40, $00, $83, $C4, $04, $58, $C3, $8D, $40, $00, + $80, $3D, $10, $70, $40, $00, $01, $76, $07, $50, $53, $E9, $D8, $FF, $FF, $FF, + $C3, $8D, $40, $00, $85, $C9, $74, $19, $8B, $41, $01, $80, $39, $E9, $74, $0C, + $80, $39, $EB, $75, $0C, $0F, $BE, $C0, $41, $41, $EB, $03, $83, $C1, $05, $01, + $C1, $C3, $8B, $C0, $80, $3D, $10, $70, $40, $00, $01, $76, $1D, $50, $52, $51, + $E8, $CF, $FF, $FF, $FF, $51, $54, $6A, $01, $6A, $00, $68, $E1, $FA, $ED, $0E, + $FF, $15, $10, $80, $40, $00, $59, $59, $5A, $58, $C3, $90, $80, $3D, $10, $70, + $40, $00, $01, $76, $12, $52, $54, $6A, $01, $6A, $00, $68, $E2, $FA, $ED, $0E, + $FF, $15, $10, $80, $40, $00, $5A, $C3, $50, $52, $80, $3D, $10, $70, $40, $00, + $01, $76, $10, $54, $6A, $02, $6A, $00, $68, $E3, $FA, $ED, $0E, $FF, $15, $10, + $80, $40, $00, $5A, $58, $C3, $8B, $C0, $8B, $44, $24, $04, $F7, $40, $04, $06, + $00, $00, $00, $0F, $85, $13, $01, $00, $00, $81, $38, $DE, $FA, $ED, $0E, $8B, + $50, $18, $8B, $48, $14, $74, $6E, $FC, $E8, $5F, $FE, $FF, $FF, $8B, $15, $0C, + $80, $40, $00, $85, $D2, $0F, $84, $F1, $00, $00, $00, $FF, $D2, $85, $C0, $0F, + $84, $E7, $00, $00, $00, $8B, $54, $24, $0C, $8B, $4C, $24, $04, $81, $39, $CE, + $FA, $EF, $0E, $74, $37, $E8, $DA, $FE, $FF, $FF, $80, $3D, $14, $70, $40, $00, + $00, $76, $29, $80, $3D, $10, $70, $40, $00, $00, $77, $20, $8D, $4C, $24, $04, + $50, $51, $E8, $A1, $DE, $FF, $FF, $83, $F8, $00, $58, $0F, $84, $AB, $00, $00, + $00, $89, $C2, $8B, $44, $24, $04, $8B, $48, $0C, $EB, $30, $89, $C2, $8B, $44, + $24, $04, $8B, $48, $0C, $80, $3D, $14, $70, $40, $00, $01, $76, $1E, $80, $3D, + $10, $70, $40, $00, $00, $77, $15, $50, $8D, $44, $24, $08, $52, $51, $50, $E8, + $64, $DE, $FF, $FF, $83, $F8, $00, $59, $5A, $58, $74, $70, $83, $48, $04, $02, + $53, $31, $DB, $56, $57, $55, $64, $8B, $1B, $53, $50, $52, $51, $8B, $54, $24, + $28, $6A, $00, $50, $68, $E0, $31, $40, $00, $52, $FF, $15, $14, $80, $40, $00, + $8B, $7C, $24, $28, $E8, $A3, $0D, $00, $00, $FF, $B0, $00, $00, $00, $00, $89, + $A0, $00, $00, $00, $00, $8B, $6F, $08, $8B, $5F, $04, $C7, $47, $04, $0C, $32, + $40, $00, $83, $C3, $05, $E8, $66, $FE, $FF, $FF, $FF, $E3, $E9, $CB, $00, $00, + $00, $E8, $76, $0D, $00, $00, $8B, $88, $00, $00, $00, $00, $8B, $11, $89, $90, + $00, $00, $00, $00, $8B, $41, $08, $E9, $90, $FD, $FF, $FF, $B8, $01, $00, $00, + $00, $C3, $8B, $C0, $8B, $44, $24, $04, $F7, $40, $04, $06, $00, $00, $00, $0F, + $84, $8F, $00, $00, $00, $53, $31, $DB, $56, $57, $55, $55, $68, $B4, $32, $40, + $00, $64, $FF, $33, $64, $89, $23, $64, $8B, $1B, $8B, $50, $18, $8B, $48, $14, + $53, $50, $52, $51, $8B, $7C, $24, $34, $E8, $1F, $0D, $00, $00, $FF, $B0, $00, + $00, $00, $00, $89, $A0, $00, $00, $00, $00, $8B, $4F, $04, $8B, $6F, $08, $C7, + $47, $04, $B4, $32, $40, $00, $83, $C1, $05, $E8, $16, $FE, $FF, $FF, $FF, $D1, + $E8, $F7, $0C, $00, $00, $8B, $88, $00, $00, $00, $00, $8B, $11, $89, $90, $00, + $00, $00, $00, $83, $C4, $14, $31, $C0, $5A, $59, $59, $64, $89, $10, $5D, $5F, + $5E, $5B, $EB, $20, $E9, $23, $00, $00, $00, $E8, $CE, $0C, $00, $00, $8B, $88, + $00, $00, $00, $00, $8B, $11, $89, $90, $00, $00, $00, $00, $8B, $41, $08, $E9, + $E8, $FC, $FF, $FF, $B8, $01, $00, $00, $00, $C3, $8B, $C0, $8B, $44, $24, $04, + $8B, $54, $24, $08, $F7, $40, $04, $06, $00, $00, $00, $74, $1F, $8B, $4A, $04, + $C7, $42, $04, $0C, $33, $40, $00, $53, $56, $57, $55, $8B, $6A, $08, $83, $C1, + $05, $E8, $9E, $FD, $FF, $FF, $FF, $D1, $5D, $5F, $5E, $5B, $B8, $01, $00, $00, + $00, $C3, $8B, $C0, $8B, $44, $24, $30, $C7, $40, $04, $5F, $33, $40, $00, $E8, + $68, $0C, $00, $00, $8B, $90, $00, $00, $00, $00, $8B, $0A, $89, $88, $00, $00, + $00, $00, $8B, $42, $0C, $83, $60, $04, $FD, $81, $38, $DE, $FA, $ED, $0E, $74, + $0D, $8B, $42, $08, $E8, $73, $FC, $FF, $FF, $E8, $CA, $FC, $FF, $FF, $31, $C0, + $83, $C4, $14, $64, $8B, $10, $59, $8B, $12, $89, $11, $5D, $5F, $5E, $5B, $B8, + $01, $00, $00, $00, $C3, $8D, $40, $00, $E8, $1F, $0C, $00, $00, $8B, $90, $00, + $00, $00, $00, $8B, $0A, $89, $88, $00, $00, $00, $00, $8B, $42, $08, $E8, $39, + $FC, $FF, $FF, $5A, $8B, $64, $24, $2C, $31, $C0, $59, $64, $89, $08, $58, $5D, + $E8, $37, $FD, $FF, $FF, $FF, $E2, $C3, $31, $D2, $8B, $4C, $24, $08, $8B, $44, + $24, $04, $83, $C1, $05, $64, $89, $02, $FF, $D1, $C2, $0C, $00, $C3, $8B, $C0, + $55, $8B, $EC, $8B, $55, $08, $8B, $02, $3D, $92, $00, $00, $C0, $7F, $2C, $74, + $5C, $3D, $8E, $00, $00, $C0, $7F, $15, $74, $57, $2D, $05, $00, $00, $C0, $74, + $5C, $2D, $87, $00, $00, $00, $74, $3D, $48, $74, $4E, $EB, $60, $05, $71, $FF, + $FF, $3F, $83, $E8, $02, $72, $36, $74, $30, $EB, $52, $3D, $96, $00, $00, $C0, + $7F, $11, $74, $3D, $2D, $93, $00, $00, $C0, $74, $2E, $48, $74, $13, $48, $74, + $24, $EB, $3A, $2D, $FD, $00, $00, $C0, $74, $2F, $83, $E8, $3D, $74, $26, $EB, + $2C, $B0, $C8, $EB, $2A, $B0, $C9, $EB, $26, $B0, $CD, $EB, $22, $B0, $CF, $EB, + $1E, $B0, $C8, $EB, $1A, $B0, $D7, $EB, $16, $B0, $CE, $EB, $12, $B0, $D8, $EB, + $0E, $B0, $DA, $EB, $0A, $B0, $D9, $EB, $06, $B0, $CA, $EB, $02, $B0, $FF, $0F, + $B6, $C0, $8B, $52, $0C, $E8, $DE, $F7, $FF, $FF, $5D, $C2, $04, $00, $8B, $C0, + $8B, $44, $24, $04, $F7, $40, $04, $06, $00, $00, $00, $0F, $85, $89, $00, $00, + $00, $80, $3D, $10, $70, $40, $00, $00, $77, $0F, $8D, $44, $24, $04, $50, $E8, + $A4, $DB, $FF, $FF, $83, $F8, $00, $74, $71, $8B, $44, $24, $04, $FC, $E8, $09, + $FB, $FF, $FF, $8B, $54, $24, $08, $6A, $00, $50, $68, $96, $34, $40, $00, $52, + $FF, $15, $14, $80, $40, $00, $8B, $5C, $24, $04, $81, $3B, $DE, $FA, $ED, $0E, + $8B, $53, $14, $8B, $43, $18, $74, $1D, $8B, $15, $0C, $80, $40, $00, $85, $D2, + $0F, $84, $FA, $FE, $FF, $FF, $89, $D8, $FF, $D2, $85, $C0, $0F, $84, $EE, $FE, + $FF, $FF, $8B, $53, $0C, $E8, $1E, $FC, $FF, $FF, $8B, $0D, $04, $80, $40, $00, + $85, $C9, $74, $02, $FF, $D1, $8B, $4C, $24, $04, $B8, $D9, $00, $00, $00, $8B, + $51, $14, $89, $14, $24, $E9, $EA, $03, $00, $00, $31, $C0, $C3, $8D, $40, $00, + $31, $D2, $8D, $45, $F4, $64, $8B, $0A, $64, $89, $02, $89, $08, $C7, $40, $04, + $50, $34, $40, $00, $89, $68, $08, $A3, $B4, $A7, $40, $00, $C3, $8D, $40, $00, + $31, $D2, $A1, $B4, $A7, $40, $00, $85, $C0, $74, $1C, $64, $8B, $0A, $39, $C8, + $75, $08, $8B, $00, $64, $89, $02, $C3, $8B, $09, $83, $F9, $FF, $74, $08, $39, + $01, $75, $F5, $8B, $00, $89, $01, $C3, $55, $8B, $EC, $53, $56, $57, $A1, $B8, + $A7, $40, $00, $85, $C0, $74, $4E, $8B, $1D, $BC, $A7, $40, $00, $8B, $78, $04, + $33, $C0, $55, $68, $81, $35, $40, $00, $64, $FF, $30, $64, $89, $20, $85, $DB, + $7E, $15, $4B, $89, $1D, $BC, $A7, $40, $00, $8B, $74, $DF, $04, $85, $F6, $74, + $02, $FF, $D6, $85, $DB, $7F, $EB, $33, $C0, $5A, $59, $59, $64, $89, $10, $EB, + $14, $E9, $82, $FB, $FF, $FF, $E8, $AD, $FF, $FF, $FF, $E8, $84, $FD, $FF, $FF, + $E8, $D3, $FD, $FF, $FF, $5F, $5E, $5B, $5D, $C3, $8B, $C0, $55, $8B, $EC, $51, + $53, $56, $57, $A1, $B8, $A7, $40, $00, $85, $C0, $74, $51, $8B, $38, $33, $DB, + $8B, $40, $04, $89, $45, $FC, $33, $C0, $55, $68, $E9, $35, $40, $00, $64, $FF, + $30, $64, $89, $20, $3B, $FB, $7E, $17, $8B, $45, $FC, $8B, $34, $D8, $43, $89, + $1D, $BC, $A7, $40, $00, $85, $F6, $74, $02, $FF, $D6, $3B, $FB, $7F, $E9, $33, + $C0, $5A, $59, $59, $64, $89, $10, $EB, $14, $E9, $1A, $FB, $FF, $FF, $E8, $45, + $FF, $FF, $FF, $E8, $1C, $FD, $FF, $FF, $E8, $6B, $FD, $FF, $FF, $5F, $5E, $5B, + $59, $5D, $C3, $90, $51, $56, $57, $BE, $B0, $A7, $40, $00, $8D, $7D, $C4, $B9, + $0B, $00, $00, $00, $F3, $A5, $8F, $05, $D0, $A7, $40, $00, $8F, $05, $CC, $A7, + $40, $00, $89, $2D, $C4, $A7, $40, $00, $89, $1D, $C8, $A7, $40, $00, $A3, $B8, + $A7, $40, $00, $89, $15, $C0, $A7, $40, $00, $8D, $4D, $C4, $89, $0D, $B0, $A7, + $40, $00, $31, $C9, $83, $7D, $0C, $00, $75, $02, $8B, $08, $89, $0D, $BC, $A7, + $40, $00, $B8, $08, $10, $40, $00, $A3, $10, $80, $40, $00, $B8, $10, $10, $40, + $00, $A3, $14, $80, $40, $00, $E8, $85, $FE, $FF, $FF, $8B, $45, $0C, $40, $A2, + $D8, $A7, $40, $00, $48, $59, $8B, $11, $89, $15, $D4, $A7, $40, $00, $74, $07, + $3C, $03, $7D, $03, $FF, $14, $81, $51, $8B, $4C, $24, $08, $85, $C9, $74, $08, + $8B, $45, $0C, $8B, $55, $10, $FF, $D1, $59, $8B, $45, $0C, $3C, $03, $7C, $03, + $FF, $14, $81, $83, $3D, $1C, $80, $40, $00, $00, $75, $0D, $C6, $05, $24, $80, + $40, $00, $01, $D9, $3D, $0C, $70, $40, $00, $8B, $45, $0C, $48, $0F, $85, $29, + $01, $00, $00, $E8, $D4, $FE, $FF, $FF, $C2, $04, $00, $C3, $53, $56, $57, $BF, + $44, $77, $40, $00, $B3, $10, $8B, $35, $00, $70, $40, $00, $8B, $C6, $B9, $0A, + $00, $00, $00, $99, $F7, $F9, $80, $C2, $30, $0F, $B6, $C3, $88, $14, $07, $B9, + $0A, $00, $00, $00, $8B, $C6, $99, $F7, $F9, $89, $C6, $4B, $85, $F6, $75, $DC, + $B3, $1C, $8B, $35, $04, $70, $40, $00, $8B, $C6, $83, $E0, $0F, $0F, $B6, $80, + $64, $77, $40, $00, $0F, $B6, $D3, $88, $04, $17, $B9, $10, $00, $00, $00, $8B, + $C6, $33, $D2, $F7, $F1, $89, $C6, $4B, $85, $F6, $75, $DC, $5F, $5E, $5B, $C3, + $31, $C0, $87, $05, $00, $70, $40, $00, $F7, $D8, $19, $C0, $40, $BF, $B0, $A7, + $40, $00, $8B, $5F, $18, $8B, $6F, $14, $FF, $77, $1C, $FF, $77, $20, $8B, $37, + $B9, $0B, $00, $00, $00, $F3, $A5, $5F, $5E, $C9, $C2, $0C, $00, $C3, $8B, $C0, + $51, $80, $3D, $34, $80, $40, $00, $00, $74, $57, $66, $81, $3D, $08, $82, $40, + $00, $B2, $D7, $75, $14, $83, $3D, $10, $82, $40, $00, $00, $76, $0B, $B8, $04, + $82, $40, $00, $FF, $15, $20, $82, $40, $00, $6A, $00, $8D, $44, $24, $04, $50, + $6A, $1E, $68, $44, $77, $40, $00, $6A, $F5, $E8, $62, $D8, $FF, $FF, $50, $E8, + $7C, $D8, $FF, $FF, $6A, $00, $8D, $44, $24, $04, $50, $6A, $02, $68, $E8, $37, + $40, $00, $6A, $F5, $E8, $47, $D8, $FF, $FF, $50, $E8, $61, $D8, $FF, $FF, $5A, + $C3, $80, $3D, $18, $70, $40, $00, $00, $75, $13, $6A, $00, $68, $3C, $77, $40, + $00, $68, $44, $77, $40, $00, $6A, $00, $E8, $53, $D8, $FF, $FF, $5A, $C3, $00, + $FF, $FF, $FF, $FF, $02, $00, $00, $00, $0D, $0A, $00, $00, $53, $56, $57, $55, + $BB, $B0, $A7, $40, $00, $BF, $30, $80, $40, $00, $80, $7B, $28, $00, $75, $14, + $83, $3F, $00, $74, $0F, $8B, $07, $89, $C6, $33, $C0, $89, $07, $FF, $D6, $83, + $3F, $00, $75, $F1, $83, $3D, $04, $70, $40, $00, $00, $74, $11, $E8, $AA, $FE, + $FF, $FF, $E8, $39, $FF, $FF, $FF, $33, $C0, $A3, $04, $70, $40, $00, $80, $7B, + $28, $02, $75, $0E, $83, $3D, $00, $70, $40, $00, $00, $75, $05, $33, $C0, $89, + $43, $0C, $E8, $F1, $FC, $FF, $FF, $80, $7B, $28, $01, $76, $09, $83, $3D, $00, + $70, $40, $00, $00, $74, $23, $8B, $7B, $10, $85, $FF, $74, $1C, $8B, $C7, $E8, + $40, $05, $00, $00, $8B, $6B, $10, $8B, $75, $10, $3B, $75, $04, $74, $0A, $85, + $F6, $74, $06, $56, $E8, $BF, $D7, $FF, $FF, $E8, $92, $FC, $FF, $FF, $80, $7B, + $28, $01, $75, $03, $FF, $53, $24, $80, $7B, $28, $00, $74, $05, $E8, $9E, $FE, + $FF, $FF, $83, $3B, $00, $75, $1A, $83, $3D, $18, $80, $40, $00, $00, $74, $06, + $FF, $15, $18, $80, $40, $00, $A1, $00, $70, $40, $00, $50, $E8, $77, $D7, $FF, + $FF, $8B, $03, $8B, $F0, $8B, $FB, $B9, $0B, $00, $00, $00, $F3, $A5, $E9, $6B, + $FF, $FF, $FF, $5D, $5F, $5E, $5B, $C3, $A3, $00, $70, $40, $00, $E8, $1A, $FF, + $FF, $FF, $C3, $90, $8F, $05, $04, $70, $40, $00, $E9, $E9, $FF, $FF, $FF, $C3, + $8B, $10, $85, $D2, $74, $1C, $C7, $00, $00, $00, $00, $00, $8B, $4A, $F8, $49, + $7C, $10, $F0, $FF, $4A, $F8, $75, $0A, $50, $8D, $42, $F8, $E8, $BF, $F2, $FF, + $FF, $58, $C3, $90, $53, $56, $89, $C3, $89, $D6, $8B, $13, $85, $D2, $74, $1A, + $C7, $03, $00, $00, $00, $00, $8B, $4A, $F8, $49, $7C, $0E, $F0, $FF, $4A, $F8, + $75, $08, $8D, $42, $F8, $E8, $96, $F2, $FF, $FF, $83, $C3, $04, $4E, $75, $DA, + $5E, $5B, $C3, $90, $85, $D2, $74, $24, $8B, $4A, $F8, $41, $7F, $1A, $50, $52, + $8B, $42, $FC, $E8, $30, $00, $00, $00, $89, $C2, $58, $52, $8B, $48, $FC, $E8, + $48, $F3, $FF, $FF, $5A, $58, $EB, $04, $F0, $FF, $42, $F8, $87, $10, $85, $D2, + $74, $14, $8B, $4A, $F8, $49, $7C, $0E, $F0, $FF, $4A, $F8, $75, $08, $8D, $42, + $F8, $E8, $4A, $F2, $FF, $FF, $C3, $90, $85, $C0, $7E, $24, $50, $83, $C0, $0A, + $83, $E0, $FE, $50, $E8, $1B, $F2, $FF, $FF, $5A, $66, $C7, $44, $02, $FE, $00, + $00, $83, $C0, $08, $5A, $89, $50, $FC, $C7, $40, $F8, $01, $00, $00, $00, $C3, + $31, $C0, $C3, $90, $53, $56, $57, $89, $C3, $89, $D6, $89, $CF, $89, $F8, $E8, + $C4, $FF, $FF, $FF, $89, $F9, $89, $C7, $85, $F6, $74, $09, $89, $C2, $89, $F0, + $E8, $D7, $F2, $FF, $FF, $89, $D8, $E8, $14, $FF, $FF, $FF, $89, $3B, $5F, $5E, + $5B, $C3, $8B, $C0, $52, $89, $E2, $B9, $01, $00, $00, $00, $E8, $C3, $FF, $FF, + $FF, $5A, $C3, $90, $57, $50, $51, $89, $D7, $31, $C0, $F2, $AE, $75, $02, $F7, + $D1, $58, $01, $C1, $58, $5F, $E9, $A9, $FF, $FF, $FF, $C3, $85, $D2, $74, $46, + $8B, $08, $85, $C9, $0F, $84, $2A, $FF, $FF, $FF, $53, $56, $57, $89, $C3, $89, + $D6, $8B, $79, $FC, $8B, $56, $FC, $01, $FA, $70, $26, $39, $CE, $74, $17, $E8, + $A8, $02, $00, $00, $89, $F0, $8B, $4E, $FC, $8B, $13, $01, $FA, $E8, $6A, $F2, + $FF, $FF, $5F, $5E, $5B, $C3, $E8, $91, $02, $00, $00, $8B, $03, $89, $F9, $EB, + $E8, $E9, $52, $F5, $FF, $FF, $C3, $90, $53, $56, $57, $52, $50, $89, $D3, $31, + $FF, $8B, $4C, $94, $14, $85, $C9, $74, $0C, $39, $08, $75, $08, $89, $CF, $8B, + $41, $FC, $4A, $EB, $02, $31, $C0, $8B, $4C, $94, $14, $85, $C9, $74, $0B, $03, + $41, $FC, $70, $5F, $39, $CF, $75, $02, $31, $FF, $4A, $75, $EA, $85, $FF, $74, + $17, $89, $C2, $8B, $04, $24, $8B, $77, $FC, $E8, $3E, $02, $00, $00, $8B, $3C, + $24, $FF, $37, $03, $37, $4B, $EB, $08, $E8, $DB, $FE, $FF, $FF, $50, $89, $C6, + $8B, $44, $9C, $18, $89, $F2, $85, $C0, $74, $0A, $8B, $48, $FC, $01, $CE, $E8, + $E8, $F1, $FF, $FF, $4B, $75, $E9, $5A, $58, $85, $FF, $75, $0C, $85, $D2, $74, + $03, $FF, $4A, $F8, $E8, $6B, $FE, $FF, $FF, $5A, $5F, $5E, $5B, $58, $8D, $24, + $94, $FF, $E0, $E9, $C0, $F4, $FF, $FF, $C3, $8D, $40, $00, $39, $D0, $74, $30, + $85, $D0, $74, $40, $0F, $B6, $08, $2A, $0A, $75, $25, $53, $8B, $58, $FC, $2B, + $5A, $FC, $53, $83, $D1, $FF, $21, $D9, $2B, $48, $FC, $29, $C8, $29, $CA, $8B, + $1C, $01, $33, $1C, $11, $75, $0A, $83, $C1, $04, $78, $F3, $58, $01, $C0, $5B, + $C3, $0F, $BC, $DB, $C1, $EB, $03, $01, $D9, $79, $F1, $8A, $04, $01, $3A, $04, + $11, $5B, $5B, $C3, $85, $C0, $74, $08, $85, $D2, $75, $B8, $39, $50, $FC, $C3, + $3B, $42, $FC, $C3, $85, $C0, $74, $0A, $C3, $FF, $FF, $FF, $FF, $00, $00, $00, + $00, $00, $B8, $41, $3B, $40, $00, $C3, $53, $85, $C0, $74, $2D, $8B, $58, $FC, + $85, $DB, $74, $26, $4A, $7C, $1B, $39, $DA, $7D, $1F, $29, $D3, $85, $C9, $7C, + $19, $39, $D9, $7F, $11, $01, $C2, $8B, $44, $24, $08, $E8, $34, $FE, $FF, $FF, + $EB, $11, $31, $D2, $EB, $E5, $89, $D9, $EB, $EB, $8B, $44, $24, $08, $E8, $5D, + $FD, $FF, $FF, $5B, $C2, $04, $00, $C3, $53, $56, $83, $C4, $F0, $85, $D2, $74, + $4E, $85, $C0, $74, $4A, $8B, $72, $FC, $8B, $58, $FC, $39, $DE, $7C, $40, $85, + $DB, $7E, $3C, $4B, $01, $D6, $01, $DA, $89, $74, $24, $08, $01, $D8, $89, $54, + $24, $04, $F7, $DB, $0F, $B6, $08, $89, $1C, $24, $0F, $85, $99, $00, $00, $00, + $83, $EE, $02, $89, $74, $24, $0C, $3A, $0A, $74, $41, $3A, $4A, $01, $74, $4C, + $83, $C2, $02, $3B, $54, $24, $0C, $72, $0A, $3B, $54, $24, $08, $72, $E8, $31, + $C0, $EB, $30, $3A, $0A, $74, $25, $3A, $4A, $01, $74, $30, $3A, $4A, $02, $74, + $18, $3A, $4A, $03, $74, $23, $83, $C2, $04, $3B, $54, $24, $0C, $72, $E4, $3B, + $54, $24, $08, $72, $C2, $31, $C0, $EB, $0A, $83, $C2, $02, $42, $89, $D0, $2B, + $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $83, $C2, $02, $83, $C2, $02, $31, + $C0, $3B, $54, $24, $08, $77, $06, $89, $D0, $2B, $44, $24, $04, $83, $C4, $10, + $5E, $5B, $C3, $3A, $0A, $74, $75, $3A, $4A, $01, $74, $43, $3A, $4A, $02, $74, + $68, $3A, $4A, $03, $74, $36, $83, $C2, $04, $3B, $54, $24, $0C, $72, $E4, $3B, + $54, $24, $08, $72, $0B, $31, $C0, $EB, $4A, $83, $EE, $02, $89, $74, $24, $0C, + $3A, $0A, $74, $48, $3A, $4A, $01, $74, $16, $83, $C2, $02, $3B, $54, $24, $0C, + $72, $C1, $3B, $54, $24, $08, $72, $E8, $31, $C0, $EB, $27, $83, $C2, $02, $8B, + $34, $24, $0F, $B7, $1C, $30, $66, $3B, $5C, $32, $01, $75, $DC, $83, $C6, $02, + $7C, $F0, $83, $C2, $02, $31, $C0, $3B, $54, $24, $08, $77, $06, $89, $D0, $2B, + $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $83, $C2, $02, $8B, $34, $24, $0F, + $B7, $1C, $30, $66, $3B, $1C, $32, $75, $AB, $83, $C6, $02, $7C, $F1, $42, $89, + $D0, $2B, $44, $24, $04, $83, $C4, $10, $5E, $5B, $C3, $90, $53, $56, $57, $89, + $C3, $89, $D6, $31, $FF, $85, $D2, $7E, $48, $8B, $03, $85, $C0, $74, $23, $83, + $78, $F8, $01, $75, $1D, $83, $E8, $08, $83, $C2, $09, $50, $89, $E0, $E8, $E5, + $EE, $FF, $FF, $58, $83, $C0, $08, $89, $03, $89, $70, $FC, $C6, $04, $06, $00, + $EB, $28, $89, $D0, $E8, $6F, $FC, $FF, $FF, $89, $C7, $8B, $03, $85, $C0, $74, + $10, $89, $FA, $8B, $48, $FC, $39, $F1, $7C, $02, $89, $F1, $E8, $7B, $EF, $FF, + $FF, $89, $D8, $E8, $B8, $FB, $FF, $FF, $89, $3B, $5F, $5E, $5B, $C3, $8B, $C0, + $B0, $11, $E9, $49, $EF, $FF, $FF, $C3, $55, $8B, $EC, $83, $C4, $F8, $53, $56, + $57, $89, $45, $FC, $A1, $20, $70, $40, $00, $89, $45, $F8, $83, $7D, $F8, $00, + $74, $39, $33, $C0, $55, $68, $73, $3D, $40, $00, $64, $FF, $30, $64, $89, $20, + $8B, $5D, $F8, $8B, $45, $FC, $FF, $53, $04, $33, $C0, $5A, $59, $59, $64, $89, + $10, $EB, $0A, $E9, $90, $F3, $FF, $FF, $E8, $EB, $F5, $FF, $FF, $8B, $45, $F8, + $8B, $00, $89, $45, $F8, $83, $7D, $F8, $00, $75, $C7, $5F, $5E, $5B, $59, $59, + $5D, $C3, $8B, $C0, $8B, $15, $1C, $70, $40, $00, $89, $10, $A3, $1C, $70, $40, + $00, $C3, $8B, $C0, $55, $8B, $EC, $51, $89, $45, $FC, $33, $D2, $55, $68, $08, + $3E, $40, $00, $64, $FF, $32, $64, $89, $22, $8B, $45, $FC, $8B, $40, $04, $E8, + $74, $FF, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $0F, $3E, $40, + $00, $8B, $45, $FC, $3B, $05, $1C, $70, $40, $00, $75, $0C, $8B, $45, $FC, $8B, + $00, $A3, $1C, $70, $40, $00, $EB, $1F, $A1, $1C, $70, $40, $00, $85, $C0, $74, + $16, $8B, $10, $3B, $55, $FC, $75, $09, $8B, $55, $FC, $8B, $12, $89, $10, $EB, + $06, $8B, $00, $85, $C0, $75, $EA, $C3, $E9, $27, $F4, $FF, $FF, $EB, $C2, $59, + $5D, $C3, $8B, $C0, $FF, $25, $94, $B1, $40, $00, $8B, $C0, $55, $8B, $EC, $33, + $C0, $55, $68, $70, $3E, $40, $00, $64, $FF, $30, $64, $89, $20, $FF, $05, $A0, + $85, $40, $00, $75, $2D, $B8, $38, $80, $40, $00, $E8, $5D, $EF, $FF, $FF, $B8, + $04, $82, $40, $00, $E8, $53, $EF, $FF, $FF, $B8, $D0, $83, $40, $00, $E8, $49, + $EF, $FF, $FF, $E8, $F8, $EC, $FF, $FF, $B8, $24, $70, $40, $00, $E8, $7E, $FA, + $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $77, $3E, $40, $00, $C3, + $E9, $BF, $F3, $FF, $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $FF, $25, $E8, $B1, + $40, $00, $8B, $C0, $FF, $25, $E4, $B1, $40, $00, $8B, $C0, $FF, $25, $E0, $B1, + $40, $00, $8B, $C0, $FF, $25, $DC, $B1, $40, $00, $8B, $C0, $FF, $25, $D8, $B1, + $40, $00, $8B, $C0, $FF, $25, $D4, $B1, $40, $00, $8B, $C0, $50, $6A, $40, $E8, + $C8, $FF, $FF, $FF, $C3, $8D, $40, $00, $B8, $08, $00, $00, $00, $C3, $8B, $C0, + $53, $E8, $F2, $FF, $FF, $FF, $8B, $D8, $85, $DB, $74, $36, $83, $3D, $74, $77, + $40, $00, $FF, $75, $0A, $B8, $E2, $00, $00, $00, $E8, $F5, $F9, $FF, $FF, $8B, + $C3, $E8, $C6, $FF, $FF, $FF, $85, $C0, $75, $0C, $B8, $E2, $00, $00, $00, $E8, + $E0, $F9, $FF, $FF, $EB, $0C, $50, $A1, $74, $77, $40, $00, $50, $E8, $A2, $FF, + $FF, $FF, $5B, $C3, $B8, $08, $00, $00, $00, $85, $C0, $74, $1F, $E8, $7A, $FF, + $FF, $FF, $A3, $74, $77, $40, $00, $E8, $A4, $FF, $FF, $FF, $A1, $74, $77, $40, + $00, $50, $E8, $75, $FF, $FF, $FF, $A3, $E8, $A7, $40, $00, $C3, $8D, $40, $00, + $B8, $08, $00, $00, $00, $85, $C0, $74, $2B, $83, $3D, $74, $77, $40, $00, $FF, + $74, $22, $A1, $74, $77, $40, $00, $50, $E8, $4F, $FF, $FF, $FF, $85, $C0, $74, + $13, $50, $E8, $2D, $FF, $FF, $FF, $6A, $00, $A1, $74, $77, $40, $00, $50, $E8, + $40, $FF, $FF, $FF, $C3, $8D, $40, $00, $B8, $08, $00, $00, $00, $85, $C0, $74, + $19, $E8, $BA, $FF, $FF, $FF, $83, $3D, $74, $77, $40, $00, $FF, $74, $0B, $A1, + $74, $77, $40, $00, $50, $E8, $0A, $FF, $FF, $FF, $C3, $90, $8A, $0D, $DC, $A7, + $40, $00, $A1, $74, $77, $40, $00, $84, $C9, $75, $26, $64, $8B, $15, $2C, $00, + $00, $00, $8B, $04, $82, $C3, $E8, $15, $FF, $FF, $FF, $A1, $74, $77, $40, $00, + $50, $E8, $E6, $FE, $FF, $FF, $85, $C0, $74, $01, $C3, $A1, $E8, $A7, $40, $00, + $C3, $50, $E8, $D5, $FE, $FF, $FF, $85, $C0, $74, $DB, $C3, $B8, $78, $77, $40, + $00, $E8, $BE, $FD, $FF, $FF, $C3, $90, $BA, $78, $77, $40, $00, $83, $7D, $0C, + $01, $75, $2A, $50, $52, $C6, $05, $DC, $A7, $40, $00, $01, $8B, $4D, $08, $89, + $0D, $E0, $A7, $40, $00, $89, $4A, $04, $C7, $42, $08, $00, $00, $00, $00, $C7, + $42, $0C, $00, $00, $00, $00, $E8, $C1, $FF, $FF, $FF, $5A, $58, $FF, $35, $E4, + $A7, $40, $00, $B9, $90, $77, $40, $00, $E8, $E7, $F5, $FF, $FF, $C3, $8B, $C0, + $FF, $25, $54, $B2, $40, $00, $8B, $C0, $FF, $25, $50, $B2, $40, $00, $8B, $C0, + $FF, $25, $4C, $B2, $40, $00, $8B, $C0, $FF, $25, $48, $B2, $40, $00, $8B, $C0, + $FF, $25, $44, $B2, $40, $00, $8B, $C0, $FF, $25, $40, $B2, $40, $00, $8B, $C0, + $FF, $25, $3C, $B2, $40, $00, $8B, $C0, $FF, $25, $38, $B2, $40, $00, $8B, $C0, + $FF, $25, $34, $B2, $40, $00, $8B, $C0, $FF, $25, $30, $B2, $40, $00, $8B, $C0, + $FF, $25, $2C, $B2, $40, $00, $8B, $C0, $FF, $25, $28, $B2, $40, $00, $8B, $C0, + $FF, $25, $24, $B2, $40, $00, $8B, $C0, $FF, $25, $20, $B2, $40, $00, $8B, $C0, + $FF, $25, $1C, $B2, $40, $00, $8B, $C0, $FF, $25, $18, $B2, $40, $00, $8B, $C0, + $FF, $25, $14, $B2, $40, $00, $8B, $C0, $FF, $25, $10, $B2, $40, $00, $8B, $C0, + $FF, $25, $08, $B2, $40, $00, $8B, $C0, $FF, $25, $04, $B2, $40, $00, $8B, $C0, + $FF, $25, $00, $B2, $40, $00, $8B, $C0, $FF, $25, $FC, $B1, $40, $00, $8B, $C0, + $FF, $25, $F8, $B1, $40, $00, $8B, $C0, $FF, $25, $F4, $B1, $40, $00, $8B, $C0, + $FF, $25, $F0, $B1, $40, $00, $8B, $C0, $92, $E8, $AE, $EB, $FF, $FF, $C3, $90, + $55, $8B, $EC, $33, $C0, $55, $68, $2B, $41, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $EC, $A7, $40, $00, $75, $14, $83, $3D, $F0, $A7, $40, $00, $00, + $74, $0B, $A1, $F0, $A7, $40, $00, $50, $E8, $0B, $FF, $FF, $FF, $33, $C0, $5A, + $59, $59, $64, $89, $10, $68, $32, $41, $40, $00, $C3, $E9, $04, $F1, $FF, $FF, + $EB, $F8, $5D, $C3, $55, $8B, $EC, $83, $C4, $EC, $53, $56, $57, $55, $68, $E6, + $43, $40, $00, $64, $FF, $35, $00, $00, $00, $00, $64, $89, $25, $00, $00, $00, + $00, $8B, $F8, $85, $C0, $0F, $84, $7D, $02, $00, $00, $C6, $45, $FF, $00, $33, + $D2, $C7, $45, $F8, $04, $00, $00, $00, $33, $C9, $89, $4D, $EC, $0F, $B6, $30, + $40, $66, $83, $FE, $66, $75, $09, $C7, $45, $F8, $02, $00, $00, $00, $EB, $26, + $66, $83, $FE, $67, $75, $06, $C6, $45, $FF, $01, $EB, $1A, $8B, $CE, $66, $81, + $E1, $E7, $00, $66, $83, $F9, $26, $74, $0D, $8B, $CE, $83, $C1, $9C, $66, $83, + $E9, $02, $72, $02, $B2, $01, $84, $D2, $74, $C3, $66, $83, $FE, $0F, $75, $16, + $0F, $B6, $30, $0F, $B7, $D6, $0F, $B7, $0C, $55, $A0, $79, $40, $00, $66, $81, + $C6, $00, $0F, $40, $EB, $0B, $0F, $B7, $D6, $0F, $B7, $0C, $55, $A0, $77, $40, + $00, $F6, $C1, $38, $0F, $84, $9A, $01, $00, $00, $0F, $B6, $10, $8B, $DA, $80, + $E3, $07, $0F, $B6, $DB, $89, $5D, $F4, $40, $8B, $DA, $80, $E3, $C0, $80, $EB, + $40, $74, $07, $80, $EB, $40, $74, $0B, $EB, $21, $C7, $45, $F0, $01, $00, $00, + $00, $EB, $1D, $80, $7D, $FF, $00, $74, $09, $C7, $45, $F0, $02, $00, $00, $00, + $EB, $0E, $C7, $45, $F0, $04, $00, $00, $00, $EB, $05, $33, $DB, $89, $5D, $F0, + $8B, $DA, $80, $E3, $C0, $80, $FB, $C0, $0F, $95, $C3, $22, $5D, $FF, $75, $31, + $83, $7D, $F4, $04, $75, $16, $8B, $DA, $80, $E3, $C0, $80, $FB, $C0, $74, $0C, + $0F, $B6, $18, $80, $E3, $07, $0F, $B6, $DB, $89, $5D, $F4, $F6, $C2, $C0, $75, + $0D, $83, $7D, $F4, $05, $75, $07, $C7, $45, $F0, $04, $00, $00, $00, $03, $45, + $F0, $8B, $D9, $83, $E3, $38, $83, $FB, $08, $0F, $85, $05, $01, $00, $00, $0F, + $B7, $CE, $81, $C1, $28, $FF, $FF, $FF, $83, $F9, $1F, $0F, $87, $B0, $00, $00, + $00, $0F, $B6, $89, $8F, $42, $40, $00, $FF, $24, $8D, $AF, $42, $40, $00, $03, + $04, $05, $06, $07, $08, $09, $0A, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $02, $31, + $43, $40, $00, $DB, $42, $40, $00, $E2, $42, $40, $00, $EB, $42, $40, $00, $F4, + $42, $40, $00, $FD, $42, $40, $00, $06, $43, $40, $00, $0F, $43, $40, $00, $18, + $43, $40, $00, $21, $43, $40, $00, $2A, $43, $40, $00, $33, $C9, $89, $4D, $EC, + $EB, $4F, $C7, $45, $EC, $01, $00, $00, $00, $EB, $46, $C7, $45, $EC, $02, $00, + $00, $00, $EB, $3D, $C7, $45, $EC, $03, $00, $00, $00, $EB, $34, $C7, $45, $EC, + $04, $00, $00, $00, $EB, $2B, $C7, $45, $EC, $05, $00, $00, $00, $EB, $22, $C7, + $45, $EC, $06, $00, $00, $00, $EB, $19, $C7, $45, $EC, $07, $00, $00, $00, $EB, + $10, $C7, $45, $EC, $08, $00, $00, $00, $EB, $07, $C7, $45, $EC, $09, $00, $00, + $00, $8B, $CA, $80, $E1, $C0, $80, $F9, $C0, $74, $1D, $0F, $B6, $D2, $C1, $EA, + $03, $83, $E2, $07, $8B, $4D, $EC, $03, $C9, $03, $C9, $8D, $0C, $CD, $A0, $7B, + $40, $00, $0F, $B7, $0C, $51, $EB, $1C, $0F, $B6, $D2, $C1, $EA, $03, $83, $E2, + $07, $8B, $4D, $EC, $03, $C9, $03, $C9, $8D, $0C, $CD, $A0, $7B, $40, $00, $0F, + $B7, $4C, $51, $10, $81, $E1, $00, $0C, $00, $00, $81, $E9, $00, $04, $00, $00, + $74, $12, $81, $E9, $00, $04, $00, $00, $74, $0D, $81, $E9, $00, $04, $00, $00, + $74, $0A, $EB, $0D, $40, $EB, $41, $83, $C0, $02, $EB, $3C, $03, $45, $F8, $EB, + $37, $66, $81, $EE, $9A, $00, $74, $15, $83, $C6, $FA, $66, $83, $EE, $04, $72, + $19, $66, $83, $EE, $24, $74, $0E, $66, $83, $EE, $22, $75, $1B, $03, $45, $F8, + $83, $C0, $02, $EB, $13, $83, $C0, $03, $EB, $0E, $80, $7D, $FF, $00, $74, $05, + $83, $C0, $02, $EB, $03, $83, $C0, $04, $8B, $D8, $2B, $DF, $33, $C0, $5A, $59, + $59, $64, $89, $10, $EB, $0C, $E9, $1D, $ED, $FF, $FF, $33, $DB, $E8, $76, $EF, + $FF, $FF, $8B, $C3, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $90, $53, $56, $57, $55, + $51, $8B, $EA, $89, $04, $24, $33, $DB, $8B, $34, $24, $8B, $C6, $E8, $22, $FD, + $FF, $FF, $8B, $F8, $03, $F7, $03, $DF, $83, $FB, $05, $72, $EE, $8B, $CB, $8B, + $14, $24, $8B, $C5, $E8, $BF, $FC, $FF, $FF, $8B, $C5, $8B, $D0, $03, $D3, $C6, + $02, $E9, $2B, $F0, $2B, $F3, $83, $EE, $05, $42, $89, $32, $8B, $C3, $5A, $5D, + $5F, $5E, $5B, $C3, $55, $8B, $EC, $83, $C4, $F0, $53, $56, $57, $89, $4D, $F8, + $89, $55, $FC, $C6, $45, $F7, $00, $8B, $D0, $66, $81, $3A, $FF, $25, $75, $07, + $8B, $42, $02, $8B, $18, $EB, $02, $8B, $D8, $8D, $45, $F0, $50, $6A, $40, $6A, + $05, $53, $E8, $31, $FC, $FF, $FF, $85, $C0, $74, $7C, $33, $D2, $55, $68, $E9, + $44, $40, $00, $64, $FF, $32, $64, $89, $22, $6A, $40, $68, $00, $10, $00, $00, + $68, $00, $10, $00, $00, $6A, $00, $E8, $FC, $FB, $FF, $FF, $8B, $F0, $8B, $FB, + $89, $3E, $8B, $D6, $83, $C2, $05, $8B, $C3, $E8, $4E, $FF, $FF, $FF, $8B, $D6, + $83, $C2, $04, $88, $02, $C6, $03, $E9, $8B, $45, $FC, $2B, $C7, $83, $E8, $05, + $47, $89, $07, $8D, $45, $F0, $50, $8B, $45, $F0, $50, $6A, $05, $53, $E8, $D5, + $FB, $FF, $FF, $83, $C6, $05, $8B, $45, $F8, $89, $30, $C6, $45, $F7, $01, $33, + $C0, $5A, $59, $59, $64, $89, $10, $EB, $0E, $E9, $1A, $EC, $FF, $FF, $C6, $45, + $F7, $00, $E8, $71, $EE, $FF, $FF, $0F, $B6, $45, $F7, $5F, $5E, $5B, $8B, $E5, + $5D, $C3, $8B, $C0, $55, $8B, $EC, $83, $C4, $F8, $53, $56, $57, $8B, $F8, $B3, + $01, $33, $D2, $55, $68, $75, $45, $40, $00, $64, $FF, $32, $64, $89, $22, $8B, + $C7, $8B, $D0, $83, $EA, $05, $8B, $32, $48, $0F, $B6, $00, $89, $45, $F8, $8D, + $45, $FC, $50, $6A, $40, $6A, $05, $56, $E8, $6B, $FB, $FF, $FF, $8B, $4D, $F8, + $8B, $D7, $8B, $C6, $E8, $9F, $FB, $FF, $FF, $8D, $45, $FC, $50, $8B, $45, $FC, + $50, $6A, $05, $56, $E8, $4F, $FB, $FF, $FF, $8B, $C7, $83, $E8, $05, $68, $00, + $80, $00, $00, $6A, $00, $50, $E8, $35, $FB, $FF, $FF, $33, $C0, $5A, $59, $59, + $64, $89, $10, $EB, $0C, $E9, $8E, $EB, $FF, $FF, $33, $DB, $E8, $E7, $ED, $FF, + $FF, $8B, $C3, $5F, $5E, $5B, $59, $59, $5D, $C3, $8B, $C0, $85, $C0, $74, $75, + $85, $D2, $74, $6D, $57, $53, $31, $FF, $8B, $58, $FC, $89, $D9, $2B, $5A, $FC, + $83, $D7, $FF, $53, $21, $FB, $89, $C7, $29, $CB, $7D, $13, $29, $DF, $29, $DA, + $8B, $04, $1F, $8B, $0C, $1A, $31, $C8, $75, $13, $83, $C3, $04, $7C, $F1, $58, + $5B, $5F, $C3, $8B, $04, $1F, $8B, $0C, $1A, $31, $C8, $74, $ED, $A9, $DF, $DF, + $DF, $DF, $75, $3E, $01, $C0, $01, $C0, $85, $C8, $75, $36, $81, $E1, $5F, $5F, + $5F, $5F, $81, $C1, $3F, $3F, $3F, $3F, $81, $E1, $7F, $7F, $7F, $7F, $81, $C1, + $66, $66, $66, $66, $85, $C1, $75, $1A, $83, $C3, $04, $7C, $C6, $58, $5B, $5F, + $C3, $8B, $40, $FC, $C3, $85, $D2, $74, $03, $2B, $42, $FC, $C3, $83, $C3, $01, + $7D, $EB, $0F, $B6, $04, $1F, $0F, $B6, $0C, $1A, $83, $E8, $61, $83, $E9, $61, + $3C, $19, $77, $03, $83, $E8, $20, $80, $F9, $19, $77, $03, $83, $E9, $20, $29, + $C8, $74, $DA, $59, $5B, $5F, $C3, $90, $39, $D0, $74, $19, $09, $C0, $74, $17, + $09, $D2, $74, $14, $8B, $48, $FC, $3B, $4A, $FC, $75, $0C, $E8, $3B, $FF, $FF, + $FF, $85, $C0, $75, $03, $B0, $01, $C3, $31, $C0, $C3, $90, $55, $8B, $EC, $83, + $C4, $F8, $53, $56, $57, $33, $C9, $89, $4D, $F8, $8B, $F2, $89, $45, $FC, $33, + $C0, $55, $68, $CB, $46, $40, $00, $64, $FF, $30, $64, $89, $20, $8B, $C6, $85, + $C0, $74, $05, $83, $E8, $04, $8B, $00, $8B, $F8, $85, $FF, $7E, $27, $0F, $B6, + $5C, $3E, $FF, $84, $DB, $74, $1E, $8D, $45, $F8, $8B, $D3, $E8, $33, $F3, $FF, + $FF, $8B, $45, $F8, $8B, $55, $FC, $E8, $DC, $F4, $FF, $FF, $85, $C0, $75, $05, + $4F, $85, $FF, $7F, $D9, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $D2, $46, + $40, $00, $8D, $45, $F8, $E8, $16, $F2, $FF, $FF, $C3, $E9, $64, $EB, $FF, $FF, + $EB, $F0, $8B, $C7, $5F, $5E, $5B, $59, $59, $5D, $C3, $90, $53, $56, $57, $8B, + $FA, $8B, $D8, $8B, $D3, $B8, $10, $47, $40, $00, $E8, $6D, $FF, $FF, $FF, $8B, + $F0, $57, $8D, $56, $01, $B9, $FF, $FF, $FF, $7F, $8B, $C3, $E8, $47, $F4, $FF, + $FF, $5F, $5E, $5B, $C3, $00, $00, $00, $FF, $FF, $FF, $FF, $01, $00, $00, $00, + $5C, $00, $00, $00, $53, $56, $57, $55, $81, $C4, $00, $FC, $FF, $FF, $8B, $F2, + $8B, $F8, $8B, $C6, $E8, $B7, $F1, $FF, $FF, $68, $00, $04, $00, $00, $8D, $44, + $24, $04, $50, $8B, $C7, $E8, $FA, $F3, $FF, $FF, $8B, $E8, $55, $E8, $FE, $F8, + $FF, $FF, $8B, $D8, $81, $FB, $00, $04, $00, $00, $7D, $0D, $8B, $D4, $8B, $C6, + $8B, $CB, $E8, $4D, $F2, $FF, $FF, $EB, $19, $8B, $D3, $4A, $8B, $C6, $E8, $69, + $F5, $FF, $FF, $53, $8B, $06, $E8, $C9, $F3, $FF, $FF, $50, $55, $E8, $CE, $F8, + $FF, $FF, $81, $C4, $00, $04, $00, $00, $5D, $5F, $5E, $5B, $C3, $8D, $40, $00, + $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, $68, $05, $01, $00, + $00, $8D, $44, $24, $04, $50, $53, $E8, $AC, $F8, $FF, $FF, $8B, $C8, $8B, $D4, + $8B, $C6, $E8, $FD, $F1, $FF, $FF, $81, $C4, $08, $01, $00, $00, $5E, $5B, $C3, + $FF, $FF, $FF, $FF, $02, $00, $00, $00, $00, $00, $00, $00, $55, $8B, $EC, $83, + $C4, $F8, $53, $56, $57, $8B, $F1, $8B, $FA, $8B, $D8, $C6, $45, $FF, $00, $8B, + $C3, $E8, $5E, $F3, $FF, $FF, $50, $6A, $00, $6A, $02, $E8, $A0, $F8, $FF, $FF, + $89, $45, $F8, $83, $7D, $F8, $00, $74, $64, $83, $7D, $F8, $FF, $74, $5E, $33, + $C0, $55, $68, $46, $48, $40, $00, $64, $FF, $30, $64, $89, $20, $56, $6A, $00, + $6A, $00, $6A, $02, $8B, $45, $F8, $50, $E8, $6B, $F8, $FF, $FF, $8B, $D8, $85, + $DB, $75, $07, $E8, $80, $EB, $FF, $FF, $EB, $33, $8B, $D3, $8B, $C7, $8B, $CE, + $E8, $77, $E4, $FF, $FF, $53, $E8, $65, $F8, $FF, $FF, $C6, $45, $FF, $01, $33, + $C0, $5A, $59, $59, $64, $89, $10, $68, $4D, $48, $40, $00, $8B, $45, $F8, $50, + $E8, $DB, $F7, $FF, $FF, $C3, $E9, $E9, $E9, $FF, $FF, $EB, $EF, $0F, $B6, $45, + $FF, $5F, $5E, $5B, $59, $59, $5D, $C3, $55, $8B, $EC, $83, $C4, $F8, $53, $56, + $8B, $F2, $8B, $D8, $C6, $45, $FF, $00, $8B, $C3, $E8, $C5, $F2, $FF, $FF, $50, + $6A, $00, $6A, $02, $E8, $07, $F8, $FF, $FF, $89, $45, $F8, $83, $7D, $F8, $00, + $74, $64, $83, $7D, $F8, $FF, $74, $5E, $33, $C0, $55, $68, $DF, $48, $40, $00, + $64, $FF, $30, $64, $89, $20, $56, $6A, $00, $6A, $00, $6A, $02, $8B, $45, $F8, + $50, $E8, $D2, $F7, $FF, $FF, $8B, $D8, $85, $DB, $75, $07, $E8, $E7, $EA, $FF, + $FF, $EB, $33, $8B, $C3, $33, $C9, $8B, $D6, $E8, $36, $E5, $FF, $FF, $53, $E8, + $CC, $F7, $FF, $FF, $C6, $45, $FF, $01, $33, $C0, $5A, $59, $59, $64, $89, $10, + $68, $E6, $48, $40, $00, $8B, $45, $F8, $50, $E8, $42, $F7, $FF, $FF, $C3, $E9, + $50, $E9, $FF, $FF, $EB, $EF, $0F, $B6, $45, $FF, $5E, $5B, $59, $59, $5D, $C3, + $55, $8B, $EC, $33, $C0, $55, $68, $21, $49, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $F4, $A7, $40, $00, $75, $0A, $B8, $E0, $7C, $40, $00, $E8, $CD, + $EF, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $28, $49, $40, $00, + $C3, $E9, $0E, $E9, $FF, $FF, $EB, $F8, $5D, $C3, $8B, $C0, $FF, $25, $00, $A8, + $40, $00, $C3, $90, $FF, $25, $04, $A8, $40, $00, $C3, $90, $55, $8B, $EC, $6A, + $00, $53, $33, $C0, $55, $68, $FC, $49, $40, $00, $64, $FF, $30, $64, $89, $20, + $8D, $45, $FC, $BA, $04, $01, $00, $00, $E8, $6F, $F3, $FF, $FF, $68, $04, $01, + $00, $00, $8B, $45, $FC, $E8, $CA, $F1, $FF, $FF, $50, $E8, $F0, $F6, $FF, $FF, + $8B, $D8, $8D, $45, $FC, $8B, $D3, $E8, $50, $F3, $FF, $FF, $8B, $45, $FC, $80, + $7C, $18, $FF, $5C, $74, $0D, $8D, $45, $FC, $BA, $10, $4A, $40, $00, $E8, $69, + $F0, $FF, $FF, $8D, $45, $FC, $BA, $1C, $4A, $40, $00, $E8, $5C, $F0, $FF, $FF, + $8B, $45, $FC, $E8, $8C, $F1, $FF, $FF, $50, $E8, $C2, $F6, $FF, $FF, $A3, $FC, + $A7, $40, $00, $83, $3D, $FC, $A7, $40, $00, $00, $76, $2A, $68, $2C, $4A, $40, + $00, $A1, $FC, $A7, $40, $00, $50, $E8, $8C, $F6, $FF, $FF, $A3, $00, $A8, $40, + $00, $68, $40, $4A, $40, $00, $A1, $FC, $A7, $40, $00, $50, $E8, $77, $F6, $FF, + $FF, $A3, $04, $A8, $40, $00, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $03, + $4A, $40, $00, $8D, $45, $FC, $E8, $E5, $EE, $FF, $FF, $C3, $E9, $33, $E8, $FF, + $FF, $EB, $F0, $5B, $59, $5D, $C3, $00, $FF, $FF, $FF, $FF, $01, $00, $00, $00, + $5C, $00, $00, $00, $FF, $FF, $FF, $FF, $0C, $00, $00, $00, $73, $68, $66, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $00, $00, $00, $53, $48, $47, $65, + $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $00, $00, $00, + $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, + $00, $00, $00, $00, $A1, $FC, $A7, $40, $00, $50, $E8, $C9, $F5, $FF, $FF, $C3, + $55, $8B, $EC, $33, $C0, $55, $68, $8C, $4A, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $F8, $A7, $40, $00, $75, $05, $E8, $D6, $FF, $FF, $FF, $33, $C0, + $5A, $59, $59, $64, $89, $10, $68, $93, $4A, $40, $00, $C3, $E9, $A3, $E7, $FF, + $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $83, $C4, $EC, $53, $56, + $89, $45, $FC, $E8, $90, $F5, $FF, $FF, $8B, $F0, $B8, $0E, $00, $00, $00, $BA, + $F4, $7C, $40, $00, $8D, $4D, $EE, $0F, $B6, $1A, $88, $19, $41, $42, $48, $75, + $F6, $33, $C0, $8B, $C8, $03, $C9, $03, $C9, $8B, $D6, $D3, $EA, $83, $E2, $0F, + $0F, $B6, $92, $E4, $7C, $40, $00, $B9, $0D, $00, $00, $00, $2B, $C8, $88, $54, + $0D, $EE, $40, $83, $F8, $08, $75, $DB, $8B, $45, $FC, $8D, $55, $EE, $B9, $0E, + $00, $00, $00, $E8, $EC, $EE, $FF, $FF, $5E, $5B, $8B, $E5, $5D, $C3, $8B, $C0, + $55, $8B, $EC, $83, $C4, $F8, $53, $56, $33, $D2, $89, $55, $FC, $8B, $D8, $33, + $C0, $55, $68, $75, $4B, $40, $00, $64, $FF, $30, $64, $89, $20, $33, $F6, $85, + $DB, $74, $3C, $8D, $45, $F8, $50, $53, $E8, $AB, $F5, $FF, $FF, $85, $C0, $74, + $2E, $E8, $02, $F5, $FF, $FF, $3B, $45, $F8, $75, $24, $8D, $45, $FC, $E8, $55, + $FF, $FF, $FF, $8B, $45, $FC, $E8, $E9, $EF, $FF, $FF, $50, $E8, $17, $F5, $FF, + $FF, $8B, $F0, $0F, $B7, $C6, $50, $53, $E8, $63, $F5, $FF, $FF, $8B, $F0, $33, + $C0, $5A, $59, $59, $64, $89, $10, $68, $7C, $4B, $40, $00, $8D, $45, $FC, $E8, + $6C, $ED, $FF, $FF, $C3, $E9, $BA, $E6, $FF, $FF, $EB, $F0, $8B, $C6, $5E, $5B, + $59, $59, $5D, $C3, $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, + $68, $05, $01, $00, $00, $8D, $44, $24, $04, $50, $53, $E8, $18, $F5, $FF, $FF, + $8B, $C8, $8B, $D4, $8B, $C6, $E8, $F9, $ED, $FF, $FF, $81, $C4, $08, $01, $00, + $00, $5E, $5B, $C3, $53, $56, $81, $C4, $F8, $FE, $FF, $FF, $8B, $F2, $8B, $D8, + $68, $05, $01, $00, $00, $8D, $44, $24, $04, $50, $53, $E8, $00, $F5, $FF, $FF, + $8B, $C8, $8B, $D4, $8B, $C6, $E8, $C9, $ED, $FF, $FF, $81, $C4, $08, $01, $00, + $00, $5E, $5B, $C3, $55, $8B, $EC, $6A, $00, $53, $56, $8B, $5D, $08, $33, $C0, + $55, $68, $69, $4C, $40, $00, $64, $FF, $30, $64, $89, $20, $83, $CE, $FF, $8D, + $55, $FC, $8B, $C3, $E8, $7B, $FF, $FF, $FF, $BA, $84, $4C, $40, $00, $8B, $45, + $FC, $E8, $22, $FA, $FF, $FF, $84, $C0, $74, $22, $83, $3D, $10, $A8, $40, $00, + $00, $75, $08, $89, $1D, $10, $A8, $40, $00, $EB, $28, $83, $3D, $14, $A8, $40, + $00, $00, $75, $1F, $89, $1D, $14, $A8, $40, $00, $EB, $17, $BA, $94, $4C, $40, + $00, $8B, $45, $FC, $E8, $EF, $F9, $FF, $FF, $84, $C0, $74, $06, $89, $1D, $18, + $A8, $40, $00, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $70, $4C, $40, $00, + $8D, $45, $FC, $E8, $78, $EC, $FF, $FF, $C3, $E9, $C6, $E5, $FF, $FF, $EB, $F0, + $8B, $C6, $5E, $5B, $59, $5D, $C2, $08, $00, $00, $00, $00, $FF, $FF, $FF, $FF, + $05, $00, $00, $00, $54, $45, $64, $69, $74, $00, $00, $00, $FF, $FF, $FF, $FF, + $05, $00, $00, $00, $54, $4D, $65, $6D, $6F, $00, $00, $00, $55, $8B, $EC, $83, + $C4, $E0, $6A, $00, $68, $E4, $4B, $40, $00, $8B, $45, $08, $8B, $40, $08, $50, + $E8, $FB, $F3, $FF, $FF, $83, $3D, $10, $A8, $40, $00, $00, $74, $09, $83, $3D, + $14, $A8, $40, $00, $00, $75, $04, $33, $C0, $EB, $02, $B0, $01, $84, $C0, $74, + $5D, $8D, $45, $F0, $50, $A1, $10, $A8, $40, $00, $50, $E8, $E8, $F3, $FF, $FF, + $8D, $45, $E0, $50, $A1, $14, $A8, $40, $00, $50, $E8, $D9, $F3, $FF, $FF, $8B, + $45, $E4, $3B, $45, $F4, $7D, $16, $A1, $14, $A8, $40, $00, $8B, $15, $10, $A8, + $40, $00, $89, $15, $14, $A8, $40, $00, $A3, $10, $A8, $40, $00, $83, $3D, $10, + $A8, $40, $00, $00, $74, $12, $83, $3D, $14, $A8, $40, $00, $00, $74, $09, $83, + $3D, $18, $A8, $40, $00, $00, $75, $04, $33, $C0, $EB, $02, $B0, $01, $8B, $E5, + $5D, $C3, $8B, $C0, $55, $8B, $EC, $6A, $00, $53, $56, $8B, $F0, $33, $C0, $55, + $68, $9F, $4D, $40, $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $FC, $B8, $B4, + $4D, $40, $00, $E8, $BC, $F9, $FF, $FF, $83, $7D, $FC, $00, $74, $2B, $BA, $00, + $04, $00, $00, $8B, $45, $FC, $E8, $ED, $FA, $FF, $FF, $8B, $DE, $85, $DB, $74, + $05, $83, $EB, $04, $8B, $1B, $8B, $C6, $E8, $B7, $ED, $FF, $FF, $8B, $D0, $8B, + $CB, $8B, $45, $FC, $E8, $33, $FA, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, + $10, $68, $A6, $4D, $40, $00, $8D, $45, $FC, $E8, $42, $EB, $FF, $FF, $C3, $E9, + $90, $E4, $FF, $FF, $EB, $F0, $5E, $5B, $59, $5D, $C3, $00, $FF, $FF, $FF, $FF, + $07, $00, $00, $00, $4D, $65, $6D, $46, $69, $6C, $65, $00, $55, $8B, $EC, $53, + $8B, $D8, $53, $8B, $45, $08, $8B, $40, $08, $50, $FF, $15, $0C, $A8, $40, $00, + $8B, $55, $08, $89, $42, $FC, $5B, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $33, + $C9, $51, $51, $51, $51, $51, $53, $56, $57, $33, $C0, $55, $68, $83, $4F, $40, + $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $F8, $8B, $45, $08, $E8, $82, $FD, + $FF, $FF, $BA, $A0, $4F, $40, $00, $8B, $45, $F8, $E8, $29, $F8, $FF, $FF, $84, + $C0, $75, $22, $BA, $BC, $4F, $40, $00, $8B, $45, $F8, $E8, $18, $F8, $FF, $FF, + $84, $C0, $75, $11, $BA, $D8, $4F, $40, $00, $8B, $45, $F8, $E8, $07, $F8, $FF, + $FF, $84, $C0, $74, $1E, $55, $33, $C0, $E8, $7F, $FF, $FF, $FF, $59, $68, $BB, + $07, $00, $00, $E8, $E8, $F1, $FF, $FF, $50, $E8, $3A, $F2, $FF, $FF, $E9, $15, + $01, $00, $00, $BA, $F4, $4F, $40, $00, $8B, $45, $F8, $E8, $D8, $F7, $FF, $FF, + $84, $C0, $74, $49, $8D, $55, $F8, $8B, $45, $08, $E8, $45, $FD, $FF, $FF, $8B, + $45, $F8, $BA, $04, $50, $40, $00, $E8, $60, $EC, $FF, $FF, $75, $20, $55, $33, + $C0, $E8, $36, $FF, $FF, $FF, $59, $6A, $00, $6A, $06, $68, $11, $01, $00, $00, + $8B, $45, $08, $50, $E8, $47, $F2, $FF, $FF, $E9, $CA, $00, $00, $00, $55, $8B, + $45, $0C, $E8, $15, $FF, $FF, $FF, $59, $E9, $BB, $00, $00, $00, $BA, $20, $50, + $40, $00, $8B, $45, $F8, $E8, $7E, $F7, $FF, $FF, $84, $C0, $0F, $84, $9C, $00, + $00, $00, $55, $33, $C0, $E8, $F2, $FE, $FF, $FF, $59, $8B, $45, $08, $E8, $2D, + $FC, $FF, $FF, $8B, $D8, $8B, $C3, $E8, $C4, $E0, $FF, $FF, $8B, $F0, $BA, $2C, + $50, $40, $00, $8B, $C6, $E8, $DE, $E0, $FF, $FF, $89, $C7, $33, $D2, $8B, $C3, + $FF, $D7, $55, $E8, $A4, $FD, $FF, $FF, $59, $84, $C0, $74, $6B, $8D, $55, $F4, + $A1, $10, $A8, $40, $00, $E8, $AA, $FC, $FF, $FF, $8D, $55, $F0, $A1, $14, $A8, + $40, $00, $E8, $9D, $FC, $FF, $FF, $8D, $55, $EC, $A1, $18, $A8, $40, $00, $E8, + $90, $FC, $FF, $FF, $FF, $75, $F4, $68, $44, $50, $40, $00, $FF, $75, $F0, $68, + $44, $50, $40, $00, $FF, $75, $EC, $8D, $45, $F8, $BA, $05, $00, $00, $00, $E8, + $04, $EB, $FF, $FF, $8B, $45, $F8, $E8, $E8, $FD, $FF, $FF, $68, $BB, $07, $00, + $00, $E8, $DA, $F0, $FF, $FF, $50, $E8, $2C, $F1, $FF, $FF, $EB, $0A, $55, $8B, + $45, $0C, $E8, $55, $FE, $FF, $FF, $59, $33, $C0, $5A, $59, $59, $64, $89, $10, + $68, $8A, $4F, $40, $00, $8D, $45, $EC, $BA, $04, $00, $00, $00, $E8, $82, $E9, + $FF, $FF, $C3, $E9, $AC, $E2, $FF, $FF, $EB, $EB, $8B, $45, $FC, $5F, $5E, $5B, + $8B, $E5, $5D, $C2, $08, $00, $00, $00, $FF, $FF, $FF, $FF, $10, $00, $00, $00, + $54, $54, $72, $69, $61, $6C, $57, $69, $7A, $61, $72, $64, $46, $6F, $72, $6D, + $00, $00, $00, $00, $FF, $FF, $FF, $FF, $12, $00, $00, $00, $54, $41, $64, $76, + $61, $6E, $63, $65, $64, $4C, $69, $63, $65, $6E, $73, $65, $55, $49, $00, $00, + $FF, $FF, $FF, $FF, $10, $00, $00, $00, $54, $53, $69, $6D, $70, $6C, $65, $4C, + $69, $63, $65, $6E, $73, $65, $55, $49, $00, $00, $00, $00, $FF, $FF, $FF, $FF, + $06, $00, $00, $00, $23, $33, $32, $37, $37, $30, $00, $00, $FF, $FF, $FF, $FF, + $11, $00, $00, $00, $52, $61, $64, $20, $53, $74, $75, $64, $69, $6F, $20, $4B, + $65, $79, $67, $65, $6E, $00, $00, $00, $FF, $FF, $FF, $FF, $08, $00, $00, $00, + $54, $46, $72, $6D, $4D, $61, $69, $6E, $00, $00, $00, $00, $0C, $42, $75, $74, + $74, $6F, $6E, $31, $43, $6C, $69, $63, $6B, $00, $00, $00, $FF, $FF, $FF, $FF, + $01, $00, $00, $00, $2C, $00, $00, $00, $55, $8B, $EC, $6A, $00, $6A, $00, $33, + $C0, $55, $68, $EF, $50, $40, $00, $64, $FF, $30, $64, $89, $20, $8D, $55, $F8, + $33, $C0, $E8, $19, $F7, $FF, $FF, $8B, $45, $F8, $8D, $55, $FC, $E8, $6A, $F6, + $FF, $FF, $BA, $04, $51, $40, $00, $8B, $45, $FC, $E8, $B9, $F5, $FF, $FF, $84, + $C0, $75, $11, $BA, $20, $51, $40, $00, $8B, $45, $FC, $E8, $A8, $F5, $FF, $FF, + $84, $C0, $74, $40, $8D, $55, $FC, $B8, $3C, $51, $40, $00, $E8, $73, $F6, $FF, + $FF, $8B, $45, $FC, $BA, $50, $51, $40, $00, $E8, $2E, $EA, $FF, $FF, $75, $24, + $68, $58, $51, $40, $00, $E8, $96, $EF, $FF, $FF, $68, $64, $51, $40, $00, $50, + $E8, $93, $EF, $FF, $FF, $B9, $0C, $A8, $40, $00, $BA, $DC, $4D, $40, $00, $E8, + $70, $F3, $FF, $FF, $33, $C0, $5A, $59, $59, $64, $89, $10, $68, $F6, $50, $40, + $00, $8D, $45, $F8, $BA, $02, $00, $00, $00, $E8, $16, $E8, $FF, $FF, $C3, $E9, + $40, $E1, $FF, $FF, $EB, $EB, $59, $59, $5D, $C3, $00, $00, $FF, $FF, $FF, $FF, + $12, $00, $00, $00, $4C, $69, $63, $65, $6E, $73, $65, $4D, $61, $6E, $61, $67, + $65, $72, $2E, $65, $78, $65, $00, $00, $FF, $FF, $FF, $FF, $13, $00, $00, $00, + $52, $61, $64, $53, $74, $75, $64, $69, $6F, $4B, $65, $79, $67, $65, $6E, $2E, + $65, $78, $65, $00, $FF, $FF, $FF, $FF, $0B, $00, $00, $00, $53, $45, $53, $53, + $49, $4F, $4E, $4E, $41, $4D, $45, $00, $FF, $FF, $FF, $FF, $07, $00, $00, $00, + $43, $6F, $6E, $73, $6F, $31, $65, $00, $75, $73, $65, $72, $33, $32, $2E, $64, + $6C, $6C, $00, $00, $53, $68, $6F, $77, $57, $69, $6E, $64, $6F, $77, $00, $00, + $A1, $0C, $A8, $40, $00, $85, $C0, $74, $05, $E8, $86, $F3, $FF, $FF, $C3, $90, + $55, $8B, $EC, $33, $C0, $55, $68, $AC, $51, $40, $00, $64, $FF, $30, $64, $89, + $20, $FF, $05, $08, $A8, $40, $00, $75, $05, $E8, $D2, $FF, $FF, $FF, $33, $C0, + $5A, $59, $59, $64, $89, $10, $68, $B3, $51, $40, $00, $C3, $E9, $83, $E0, $FF, + $FF, $EB, $F8, $5D, $C3, $8D, $40, $00, $55, $8B, $EC, $33, $C0, $55, $68, $D7, + $51, $40, $00, $64, $FF, $30, $64, $89, $20, $33, $C0, $5A, $59, $59, $64, $89, + $10, $68, $DE, $51, $40, $00, $C3, $E9, $58, $E0, $FF, $FF, $EB, $F8, $5D, $C3, + $0C, $00, $00, $00, $E8, $51, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $60, $40, $00, $1C, $3E, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $98, $60, $40, $00, $F0, $40, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $AC, $60, $40, $00, $F0, $48, $40, $00, + $B4, $60, $40, $00, $60, $4A, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $C4, $60, $40, $00, $80, $51, $40, $00, + $00, $00, $00, $00, $B8, $51, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $83, $2D, $A0, $85, $40, $00, $01, $0F, $83, $87, $00, $00, $00, $E8, $86, $C9, + $FF, $FF, $C6, $05, $08, $70, $40, $00, $02, $C7, $05, $10, $80, $40, $00, $08, + $10, $40, $00, $C7, $05, $14, $80, $40, $00, $10, $10, $40, $00, $C6, $05, $36, + $80, $40, $00, $02, $C7, $05, $00, $80, $40, $00, $30, $3D, $40, $00, $E8, $55, + $CE, $FF, $FF, $84, $C0, $74, $05, $E8, $7C, $CE, $FF, $FF, $E8, $3B, $CF, $FF, + $FF, $66, $C7, $05, $3C, $80, $40, $00, $B0, $D7, $66, $C7, $05, $08, $82, $40, + $00, $B0, $D7, $66, $C7, $05, $D4, $83, $40, $00, $B0, $D7, $E8, $CF, $AF, $FF, + $FF, $A3, $2C, $80, $40, $00, $E8, $FD, $AF, $FF, $FF, $A3, $28, $80, $40, $00, + $E8, $8F, $DD, $FF, $FF, $A3, $A4, $85, $40, $00, $E8, $E1, $AF, $FF, $FF, $A3, + $20, $80, $40, $00, $C3, $8D, $40, $00, $83, $2D, $EC, $A7, $40, $00, $01, $73, + $07, $33, $C0, $A3, $F0, $A7, $40, $00, $C3, $8D, $40, $00, $83, $2D, $F4, $A7, + $40, $00, $01, $C3, $83, $2D, $F8, $A7, $40, $00, $01, $73, $05, $E8, $7A, $E8, + $FF, $FF, $C3, $90, $83, $2D, $08, $A8, $40, $00, $01, $73, $05, $E8, $76, $EF, + $FF, $FF, $C3, $90, $55, $8B, $EC, $83, $C4, $C4, $B8, $E0, $51, $40, $00, $E8, + $F4, $DE, $FF, $FF, $E8, $03, $D7, $FF, $FF, $8D, $40, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $02, $8D, $40, $00, $32, $13, $8B, $C0, + $00, $8D, $40, $00, $00, $8D, $40, $00, $00, $8D, $40, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $C4, $10, $40, $00, $00, $00, $10, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $24, $11, $40, $00, $00, $00, $18, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $38, $11, $40, $00, $00, $00, $20, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $58, $11, $40, $00, $00, $00, $28, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $84, $11, $40, $00, $00, $00, $30, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $A4, $11, $40, $00, $00, $00, $38, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $C8, $11, $40, $00, $00, $00, $40, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $F4, $11, $40, $00, $00, $00, $48, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $24, $12, $40, $00, $00, $00, $50, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $58, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $68, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $78, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $88, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $90, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $98, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $B0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $D0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $01, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $A0, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $02, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $03, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $03, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $03, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $20, $04, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $04, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $F0, $04, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $05, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $05, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $70, $06, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $07, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $C0, $07, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, $08, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $50, $09, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $0A, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $0A, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $30, $0A, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $C8, $16, $40, $00, $4C, $1A, $40, $00, + $44, $1C, $40, $00, $5C, $1F, $40, $00, $F8, $22, $40, $00, $38, $23, $40, $00, + $00, $CB, $CC, $C8, $C9, $D7, $CF, $C8, $CD, $CE, $DB, $D8, $DA, $D9, $CA, $DC, + $DD, $DE, $DF, $E0, $E1, $E3, $00, $E4, $E5, $8D, $40, $00, $45, $72, $72, $6F, + $72, $00, $8B, $C0, $52, $75, $6E, $74, $69, $6D, $65, $20, $65, $72, $72, $6F, + $72, $20, $20, $20, $20, $20, $61, $74, $20, $30, $30, $30, $30, $30, $30, $30, + $30, $00, $8B, $C0, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $41, $42, + $43, $44, $45, $46, $FF, $FF, $FF, $FF, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $68, $3F, $40, $00, $04, $3F, $40, $00, $C0, $3E, $40, $00, $30, $3F, $40, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $00, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80, + $11, $42, $E4, $42, $11, $20, $E4, $20, $01, $84, $42, $8C, $00, $00, $00, $80, + $11, $02, $E4, $02, $11, $00, $E4, $00, $01, $04, $42, $0C, $00, $00, $00, $80, + $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, + $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, + $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, $45, $00, + $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, $45, $60, + $00, $00, $00, $80, $E4, $00, $1A, $42, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $0C, $E4, $2C, $00, $04, $E4, $24, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, + $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, $00, $14, + $10, $05, $A0, $0D, $10, $05, $A0, $05, $11, $02, $E4, $02, $11, $A2, $E4, $A2, + $11, $42, $E4, $42, $11, $20, $E4, $20, $E3, $42, $E4, $20, $E3, $00, $A0, $01, + $00, $00, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, $46, $E0, + $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $80, + $01, $81, $42, $81, $01, $03, $42, $03, $00, $00, $00, $00, $00, $00, $00, $00, + $01, $04, $42, $0C, $00, $00, $00, $00, $00, $80, $00, $80, $00, $00, $00, $00, + $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, $04, $64, + $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, $45, $6C, + $10, $45, $A0, $45, $00, $08, $00, $00, $E4, $20, $E4, $20, $10, $45, $A0, $4D, + $00, $00, $00, $00, $00, $08, $00, $00, $00, $00, $00, $04, $00, $00, $00, $00, + $10, $41, $A0, $41, $10, $41, $A0, $41, $00, $84, $00, $84, $00, $00, $00, $80, + $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, $08, $00, + $00, $14, $00, $14, $00, $14, $00, $14, $01, $84, $42, $84, $01, $06, $42, $06, + $00, $1C, $00, $1C, $00, $00, $00, $14, $07, $80, $47, $80, $07, $02, $47, $02, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $08, $00, $08, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $10, $41, $A0, $01, + $18, $01, $20, $01, $E4, $20, $E4, $20, $FF, $FF, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $FF, $FF, $FF, $FF, $FF, $FF, $10, $01, $00, $00, $2D, $05, + $3F, $00, $3F, $02, $3F, $00, $3F, $02, $3F, $00, $3F, $00, $3F, $00, $3F, $02, + $10, $01, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, + $23, $40, $23, $40, $23, $02, $23, $02, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, + $3F, $00, $3F, $02, $2F, $00, $3F, $02, $3D, $00, $3D, $00, $3F, $00, $3F, $00, + $00, $00, $00, $80, $00, $80, $00, $80, $00, $00, $00, $00, $FF, $FF, $FF, $FF, + $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, + $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, + $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, $E4, $20, + $27, $42, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, + $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, $3F, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $65, $00, $ED, $00, + $ED, $04, $A8, $04, $A8, $04, $A8, $04, $ED, $00, $ED, $00, $ED, $00, $00, $00, + $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $65, $02, $ED, $02, + $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, + $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, $00, $1C, + $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, + $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, $10, $41, + $00, $00, $00, $00, $00, $80, $E4, $02, $E4, $47, $E4, $43, $11, $C2, $E4, $C2, + $00, $00, $00, $00, $00, $00, $E4, $42, $E4, $47, $E4, $43, $20, $00, $E4, $20, + $11, $C2, $E4, $C2, $E4, $20, $E4, $42, $E4, $20, $E4, $22, $54, $21, $1C, $21, + $FF, $FF, $FF, $FF, $A0, $05, $E4, $42, $E4, $20, $E4, $20, $54, $21, $1C, $21, + $11, $A2, $E4, $A2, $3F, $04, $24, $02, $65, $04, $AC, $24, $3F, $04, $28, $81, + $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, $05, $60, + $FF, $FF, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $02, $AC, $20, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $3F, $00, $ED, $02, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $FF, $FF, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, + $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $ED, $00, $00, $00, + $10, $05, $FF, $FF, $10, $41, $10, $41, $10, $81, $10, $81, $10, $81, $10, $81, + $10, $05, $FF, $FF, $10, $41, $10, $41, $10, $81, $10, $81, $10, $81, $10, $81, + $A0, $0D, $FF, $FF, $A0, $41, $A0, $41, $A0, $81, $A0, $81, $A0, $81, $A0, $81, + $A0, $0D, $FF, $FF, $A0, $41, $A0, $41, $A0, $81, $A0, $81, $A0, $81, $A0, $81, + $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, + $36, $00, $36, $00, $30, $00, $30, $00, $36, $00, $36, $00, $36, $00, $36, $00, + $20, $01, $FF, $FF, $20, $01, $20, $01, $10, $01, $18, $01, $10, $01, $18, $01, + $30, $00, $30, $00, $00, $00, $30, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, $20, $01, + $36, $00, $36, $00, $36, $00, $36, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $FF, + $20, $01, $FF, $FF, $20, $01, $20, $01, $FF, $FF, $30, $01, $FF, $FF, $30, $01, + $36, $00, $36, $00, $36, $00, $36, $00, $00, $00, $36, $00, $36, $00, $00, $00, + $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, $28, $01, + $36, $02, $36, $02, $30, $00, $30, $00, $36, $02, $36, $02, $36, $02, $36, $02, + $28, $01, $FF, $FF, $28, $01, $28, $01, $10, $01, $FF, $FF, $10, $01, $18, $01, + $30, $00, $30, $00, $30, $00, $30, $00, $30, $00, $30, $00, $FF, $FF, $FF, $FF, + $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, $18, $01, + $36, $02, $36, $02, $30, $00, $36, $02, $36, $02, $36, $02, $36, $02, $36, $02, + $18, $01, $FF, $FF, $18, $01, $18, $01, $30, $01, $28, $01, $30, $01, $28, $01, + $30, $00, $30, $00, $30, $00, $30, $00, $00, $00, $36, $00, $36, $00, $FF, $FF, + $B8, $47, $40, $00, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $41, $42, + $43, $44, $45, $46, $44, $65, $6C, $70, $68, $69, $30, $30, $30, $30, $30, $30, + $30, $30, $8B, $C0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $8C, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $5C, $B2, $00, $00, + $74, $B1, $00, $00, $9C, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $9C, $B2, $00, $00, $84, $B1, $00, $00, $AC, $B0, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $D8, $B2, $00, $00, $94, $B1, $00, $00, $EC, $B0, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $D2, $B3, $00, $00, $D4, $B1, $00, $00, + $08, $B1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $2C, $B4, $00, $00, + $F0, $B1, $00, $00, $28, $B1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $B6, $B4, $00, $00, $10, $B2, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $6A, $B2, $00, $00, + $7E, $B2, $00, $00, $8E, $B2, $00, $00, $00, $00, $00, $00, $A8, $B2, $00, $00, + $BA, $B2, $00, $00, $CA, $B2, $00, $00, $00, $00, $00, $00, $E6, $B2, $00, $00, + $F0, $B2, $00, $00, $F8, $B2, $00, $00, $06, $B3, $00, $00, $16, $B3, $00, $00, + $2C, $B3, $00, $00, $3C, $B3, $00, $00, $4E, $B3, $00, $00, $60, $B3, $00, $00, + $6E, $B3, $00, $00, $7C, $B3, $00, $00, $88, $B3, $00, $00, $A4, $B3, $00, $00, + $B0, $B3, $00, $00, $C2, $B3, $00, $00, $00, $00, $00, $00, $E0, $B3, $00, $00, + $EE, $B3, $00, $00, $FC, $B3, $00, $00, $06, $B4, $00, $00, $12, $B4, $00, $00, + $1E, $B4, $00, $00, $00, $00, $00, $00, $38, $B4, $00, $00, $48, $B4, $00, $00, + $64, $B4, $00, $00, $76, $B4, $00, $00, $86, $B4, $00, $00, $92, $B4, $00, $00, + $A2, $B4, $00, $00, $00, $00, $00, $00, $C4, $B4, $00, $00, $D6, $B4, $00, $00, + $E4, $B4, $00, $00, $F4, $B4, $00, $00, $06, $B5, $00, $00, $1A, $B5, $00, $00, + $2E, $B5, $00, $00, $3E, $B5, $00, $00, $4E, $B5, $00, $00, $60, $B5, $00, $00, + $76, $B5, $00, $00, $88, $B5, $00, $00, $9C, $B5, $00, $00, $B2, $B5, $00, $00, + $CC, $B5, $00, $00, $E2, $B5, $00, $00, $F6, $B5, $00, $00, $04, $B6, $00, $00, + $00, $00, $00, $00, $6A, $B2, $00, $00, $7E, $B2, $00, $00, $8E, $B2, $00, $00, + $00, $00, $00, $00, $A8, $B2, $00, $00, $BA, $B2, $00, $00, $CA, $B2, $00, $00, + $00, $00, $00, $00, $E6, $B2, $00, $00, $F0, $B2, $00, $00, $F8, $B2, $00, $00, + $06, $B3, $00, $00, $16, $B3, $00, $00, $2C, $B3, $00, $00, $3C, $B3, $00, $00, + $4E, $B3, $00, $00, $60, $B3, $00, $00, $6E, $B3, $00, $00, $7C, $B3, $00, $00, + $88, $B3, $00, $00, $A4, $B3, $00, $00, $B0, $B3, $00, $00, $C2, $B3, $00, $00, + $00, $00, $00, $00, $E0, $B3, $00, $00, $EE, $B3, $00, $00, $FC, $B3, $00, $00, + $06, $B4, $00, $00, $12, $B4, $00, $00, $1E, $B4, $00, $00, $00, $00, $00, $00, + $38, $B4, $00, $00, $48, $B4, $00, $00, $64, $B4, $00, $00, $76, $B4, $00, $00, + $86, $B4, $00, $00, $92, $B4, $00, $00, $A2, $B4, $00, $00, $00, $00, $00, $00, + $C4, $B4, $00, $00, $D6, $B4, $00, $00, $E4, $B4, $00, $00, $F4, $B4, $00, $00, + $06, $B5, $00, $00, $1A, $B5, $00, $00, $2E, $B5, $00, $00, $3E, $B5, $00, $00, + $4E, $B5, $00, $00, $60, $B5, $00, $00, $76, $B5, $00, $00, $88, $B5, $00, $00, + $9C, $B5, $00, $00, $B2, $B5, $00, $00, $CC, $B5, $00, $00, $E2, $B5, $00, $00, + $F6, $B5, $00, $00, $04, $B6, $00, $00, $00, $00, $00, $00, $61, $64, $76, $61, + $70, $69, $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $52, $65, $67, $51, + $75, $65, $72, $79, $56, $61, $6C, $75, $65, $45, $78, $41, $00, $00, $00, $00, + $52, $65, $67, $4F, $70, $65, $6E, $4B, $65, $79, $45, $78, $41, $00, $00, $00, + $52, $65, $67, $43, $6C, $6F, $73, $65, $4B, $65, $79, $00, $75, $73, $65, $72, + $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $47, $65, $74, $4B, $65, $79, + $62, $6F, $61, $72, $64, $54, $79, $70, $65, $00, $00, $00, $44, $65, $73, $74, + $72, $6F, $79, $57, $69, $6E, $64, $6F, $77, $00, $00, $00, $4D, $65, $73, $73, + $61, $67, $65, $42, $6F, $78, $41, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, + $2E, $64, $6C, $6C, $00, $00, $00, $00, $47, $65, $74, $41, $43, $50, $00, $00, + $00, $00, $53, $6C, $65, $65, $70, $00, $00, $00, $56, $69, $72, $74, $75, $61, + $6C, $46, $72, $65, $65, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $41, + $6C, $6C, $6F, $63, $00, $00, $00, $00, $47, $65, $74, $43, $75, $72, $72, $65, + $6E, $74, $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $00, $00, $56, $69, + $72, $74, $75, $61, $6C, $51, $75, $65, $72, $79, $00, $00, $00, $00, $47, $65, + $74, $53, $74, $61, $72, $74, $75, $70, $49, $6E, $66, $6F, $41, $00, $00, $00, + $47, $65, $74, $43, $6F, $6D, $6D, $61, $6E, $64, $4C, $69, $6E, $65, $41, $00, + $00, $00, $46, $72, $65, $65, $4C, $69, $62, $72, $61, $72, $79, $00, $00, $00, + $45, $78, $69, $74, $50, $72, $6F, $63, $65, $73, $73, $00, $00, $00, $57, $72, + $69, $74, $65, $46, $69, $6C, $65, $00, $00, $00, $55, $6E, $68, $61, $6E, $64, + $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, + $65, $72, $00, $00, $00, $00, $52, $74, $6C, $55, $6E, $77, $69, $6E, $64, $00, + $00, $00, $52, $61, $69, $73, $65, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, + $00, $00, $00, $00, $47, $65, $74, $53, $74, $64, $48, $61, $6E, $64, $6C, $65, + $00, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, $2E, $64, $6C, $6C, $00, $00, + $00, $00, $54, $6C, $73, $53, $65, $74, $56, $61, $6C, $75, $65, $00, $00, $00, + $54, $6C, $73, $47, $65, $74, $56, $61, $6C, $75, $65, $00, $00, $00, $54, $6C, + $73, $46, $72, $65, $65, $00, $00, $00, $54, $6C, $73, $41, $6C, $6C, $6F, $63, + $00, $00, $00, $00, $4C, $6F, $63, $61, $6C, $46, $72, $65, $65, $00, $00, $00, + $4C, $6F, $63, $61, $6C, $41, $6C, $6C, $6F, $63, $00, $00, $75, $73, $65, $72, + $33, $32, $2E, $64, $6C, $6C, $00, $00, $00, $00, $53, $65, $6E, $64, $4D, $65, + $73, $73, $61, $67, $65, $41, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, + $64, $6F, $77, $54, $68, $72, $65, $61, $64, $50, $72, $6F, $63, $65, $73, $73, + $49, $64, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, $64, $6F, $77, $54, + $65, $78, $74, $41, $00, $00, $00, $00, $47, $65, $74, $57, $69, $6E, $64, $6F, + $77, $52, $65, $63, $74, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $70, $41, + $00, $00, $00, $00, $47, $65, $74, $43, $6C, $61, $73, $73, $4E, $61, $6D, $65, + $41, $00, $00, $00, $45, $6E, $75, $6D, $43, $68, $69, $6C, $64, $57, $69, $6E, + $64, $6F, $77, $73, $00, $00, $6B, $65, $72, $6E, $65, $6C, $33, $32, $2E, $64, + $6C, $6C, $00, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $50, $72, $6F, + $74, $65, $63, $74, $00, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $46, + $72, $65, $65, $00, $00, $00, $56, $69, $72, $74, $75, $61, $6C, $41, $6C, $6C, + $6F, $63, $00, $00, $00, $00, $55, $6E, $6D, $61, $70, $56, $69, $65, $77, $4F, + $66, $46, $69, $6C, $65, $00, $00, $00, $54, $65, $72, $6D, $69, $6E, $61, $74, + $65, $50, $72, $6F, $63, $65, $73, $73, $00, $00, $00, $00, $4F, $70, $65, $6E, + $46, $69, $6C, $65, $4D, $61, $70, $70, $69, $6E, $67, $41, $00, $00, $00, $00, + $4D, $61, $70, $56, $69, $65, $77, $4F, $66, $46, $69, $6C, $65, $00, $00, $00, + $4C, $6F, $61, $64, $4C, $69, $62, $72, $61, $72, $79, $41, $00, $00, $00, $00, + $47, $6C, $6F, $62, $61, $6C, $46, $69, $6E, $64, $41, $74, $6F, $6D, $41, $00, + $00, $00, $47, $65, $74, $53, $79, $73, $74, $65, $6D, $44, $69, $72, $65, $63, + $74, $6F, $72, $79, $41, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41, + $64, $64, $72, $65, $73, $73, $00, $00, $00, $00, $47, $65, $74, $4D, $6F, $64, + $75, $6C, $65, $48, $61, $6E, $64, $6C, $65, $41, $00, $00, $00, $00, $47, $65, + $74, $4D, $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $41, + $00, $00, $00, $00, $47, $65, $74, $45, $6E, $76, $69, $72, $6F, $6E, $6D, $65, + $6E, $74, $56, $61, $72, $69, $61, $62, $6C, $65, $41, $00, $00, $00, $47, $65, + $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49, + $64, $00, $00, $00, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, + $6F, $63, $65, $73, $73, $00, $00, $00, $46, $72, $65, $65, $4C, $69, $62, $72, + $61, $72, $79, $00, $00, $00, $43, $6C, $6F, $73, $65, $48, $61, $6E, $64, $6C, + $65, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $3C, $C0, $00, $00, + $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $28, $C0, $00, $00, + $30, $C0, $00, $00, $38, $C0, $00, $00, $34, $49, $00, $00, $2C, $49, $00, $00, + $49, $C0, $00, $00, $5A, $C0, $00, $00, $01, $00, $00, $00, $53, $48, $46, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F, + $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46, + $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $10, $00, $00, $E0, $00, $00, $00, $02, $30, $0A, $30, $12, $30, $1A, $30, + $22, $30, $2A, $30, $32, $30, $3A, $30, $42, $30, $4A, $30, $52, $30, $5A, $30, + $62, $30, $6A, $30, $72, $30, $9E, $30, $A6, $30, $AE, $30, $B6, $30, $BA, $32, + $D0, $32, $E1, $32, $04, $33, $1E, $33, $34, $33, $43, $33, $4A, $33, $55, $33, + $65, $33, $9A, $33, $A8, $33, $D5, $33, $DD, $33, $E2, $33, $07, $34, $10, $34, + $23, $34, $2E, $34, $39, $34, $48, $34, $61, $34, $B0, $34, $B6, $34, $BC, $34, + $C7, $34, $6C, $35, $D6, $36, $E5, $36, $EC, $36, $76, $37, $A0, $37, $B0, $37, + $BA, $37, $D1, $37, $E6, $37, $F9, $37, $06, $38, $23, $38, $2C, $38, $62, $38, + $6C, $38, $84, $38, $8A, $38, $A2, $38, $BA, $38, $F5, $38, $FF, $38, $16, $39, + $5E, $39, $7B, $39, $87, $39, $9A, $39, $A3, $39, $AA, $39, $B0, $39, $C5, $39, + $D1, $39, $EE, $39, $F7, $39, $35, $3A, $57, $3A, $BF, $3A, $D7, $3A, $11, $3B, + $1B, $3B, $32, $3B, $91, $3B, $CE, $3B, $E7, $3B, $18, $3C, $22, $3C, $28, $3C, + $3F, $3D, $4F, $3D, $59, $3D, $72, $3D, $D8, $3D, $27, $3E, $37, $3E, $41, $3E, + $5C, $3E, $EF, $3E, $FF, $3E, $B2, $3F, $BB, $3F, $CD, $3F, $D9, $3F, $E4, $3F, + $00, $20, $00, $00, $B0, $00, $00, $00, $86, $32, $91, $32, $A0, $32, $B9, $32, + $CC, $32, $E7, $32, $ED, $32, $05, $33, $12, $33, $1A, $33, $23, $33, $31, $33, + $3E, $33, $83, $33, $A3, $33, $30, $35, $BD, $35, $C9, $35, $08, $36, $3D, $36, + $5D, $36, $B4, $36, $0A, $37, $39, $37, $4E, $37, $F6, $37, $57, $38, $6D, $38, + $5B, $39, $61, $39, $7F, $39, $A1, $39, $AC, $39, $7C, $3A, $80, $3A, $86, $3A, + $8A, $3A, $94, $3A, $A7, $3A, $AB, $3A, $B1, $3A, $B5, $3A, $C5, $3A, $CA, $3A, + $EF, $3A, $1A, $3B, $52, $3B, $5A, $3B, $67, $3B, $6D, $3B, $7B, $3B, $8A, $3B, + $97, $3B, $AA, $3B, $C6, $3B, $E7, $3B, $00, $3C, $19, $3C, $2A, $3C, $3F, $3C, + $4C, $3C, $6C, $3C, $AD, $3C, $D4, $3C, $D8, $3C, $DC, $3C, $E0, $3C, $E4, $3C, + $E8, $3C, $EC, $3C, $F0, $3C, $F4, $3C, $DD, $3D, $48, $3E, $92, $3E, $D1, $3E, + $E1, $3E, $F7, $3E, $15, $3F, $2B, $3F, $43, $3F, $58, $3F, $91, $3F, $00, $00, + $00, $30, $00, $00, $04, $01, $00, $00, $1A, $30, $2E, $30, $36, $30, $4C, $30, + $64, $30, $72, $30, $A6, $30, $C2, $30, $CE, $30, $E2, $30, $EC, $30, $FF, $30, + $2F, $31, $5C, $31, $65, $31, $97, $31, $A0, $31, $D5, $31, $DC, $31, $FE, $31, + $4D, $32, $82, $32, $F3, $32, $1B, $33, $63, $34, $8B, $34, $92, $34, $AA, $34, + $CC, $34, $00, $35, $08, $35, $13, $35, $3F, $35, $49, $35, $54, $35, $65, $35, + $A4, $35, $BA, $35, $D1, $35, $08, $36, $18, $36, $1E, $36, $24, $36, $2A, $36, + $2F, $36, $35, $36, $3E, $36, $4E, $36, $53, $36, $58, $36, $5D, $36, $62, $36, + $70, $36, $7A, $36, $A5, $36, $AE, $36, $B5, $36, $D0, $36, $D8, $36, $04, $37, + $10, $37, $34, $37, $3E, $37, $63, $37, $6D, $37, $77, $37, $7F, $37, $85, $37, + $93, $37, $AE, $37, $C3, $37, $CD, $37, $D2, $37, $F1, $37, $F6, $37, $16, $38, + $2A, $38, $36, $38, $4F, $38, $99, $38, $A2, $38, $A7, $38, $C9, $38, $D6, $38, + $43, $3B, $45, $3D, $56, $3D, $96, $3D, $9D, $3D, $AF, $3D, $CD, $3D, $D6, $3D, + $E2, $3D, $E9, $3D, $16, $3E, $23, $3E, $2F, $3E, $36, $3E, $40, $3E, $4A, $3E, + $59, $3E, $6B, $3E, $7E, $3E, $86, $3E, $8E, $3E, $96, $3E, $9E, $3E, $A6, $3E, + $CE, $3E, $F8, $3E, $13, $3F, $1D, $3F, $28, $3F, $3B, $3F, $43, $3F, $5A, $3F, + $78, $3F, $80, $3F, $8E, $3F, $93, $3F, $AC, $3F, $BC, $3F, $CD, $3F, $D9, $3F, + $E7, $3F, $F1, $3F, $00, $40, $00, $00, $00, $01, $00, $00, $0F, $30, $14, $30, + $22, $30, $2A, $30, $32, $30, $3A, $30, $42, $30, $4A, $30, $52, $30, $5A, $30, + $62, $30, $6A, $30, $72, $30, $7A, $30, $82, $30, $8A, $30, $92, $30, $9A, $30, + $A2, $30, $AA, $30, $B2, $30, $BA, $30, $C2, $30, $CA, $30, $D2, $30, $DA, $30, + $E2, $30, $F7, $30, $03, $31, $0B, $31, $13, $31, $26, $31, $3F, $31, $BA, $31, + $CD, $31, $84, $32, $8B, $32, $AF, $32, $B3, $32, $B7, $32, $BB, $32, $BF, $32, + $C3, $32, $C7, $32, $CB, $32, $CF, $32, $D3, $32, $D7, $32, $4E, $33, $6B, $33, + $7F, $34, $15, $35, $73, $36, $BE, $36, $E6, $36, $F3, $37, $38, $38, $8C, $38, + $D1, $38, $F7, $38, $03, $39, $0A, $39, $1C, $39, $2E, $39, $36, $39, $46, $39, + $8A, $39, $97, $39, $AF, $39, $B5, $39, $BD, $39, $C2, $39, $CD, $39, $D2, $39, + $D7, $39, $E2, $39, $EF, $39, $55, $3A, $67, $3A, $73, $3A, $87, $3A, $B0, $3A, + $D3, $3A, $13, $3B, $68, $3B, $F2, $3B, $0A, $3C, $1C, $3C, $25, $3C, $2D, $3C, + $36, $3C, $3D, $3C, $4F, $3C, $5C, $3C, $A5, $3C, $B7, $3C, $C0, $3C, $D6, $3C, + $E5, $3C, $F8, $3C, $FE, $3C, $04, $3D, $09, $3D, $0F, $3D, $18, $3D, $21, $3D, + $41, $3D, $4F, $3D, $92, $3D, $CC, $3D, $ED, $3D, $03, $3E, $14, $3E, $25, $3E, + $54, $3E, $73, $3E, $AE, $3E, $DF, $3E, $01, $3F, $0E, $3F, $1B, $3F, $28, $3F, + $30, $3F, $71, $3F, $00, $50, $00, $00, $40, $00, $00, $00, $53, $30, $73, $30, + $84, $30, $98, $30, $A5, $30, $B1, $30, $BB, $30, $C6, $30, $CB, $30, $DD, $30, + $71, $31, $87, $31, $93, $31, $A7, $31, $BF, $31, $D2, $31, $E4, $31, $F0, $31, + $F4, $31, $00, $32, $04, $32, $18, $32, $1C, $32, $20, $32, $24, $32, $38, $32, + $3C, $32, $44, $32, $00, $60, $00, $00, $34, $00, $00, $00, $02, $30, $14, $30, + $1B, $30, $1F, $30, $25, $30, $29, $30, $2F, $30, $36, $30, $3A, $30, $54, $30, + $5D, $30, $66, $30, $72, $30, $7C, $30, $86, $30, $90, $30, $9A, $30, $A4, $30, + $AE, $30, $B6, $30, $C6, $30, $DB, $30, $00, $70, $00, $00, $30, $00, $00, $00, + $24, $30, $44, $30, $64, $30, $84, $30, $A4, $30, $C4, $30, $E4, $30, $04, $31, + $24, $31, $08, $37, $0C, $37, $10, $37, $14, $37, $18, $37, $1C, $37, $90, $37, + $94, $37, $98, $37, $9C, $37, $E0, $3C, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $73, $A3, $51, $4E, $00, $00, $00, $00, $00, $00, $04, $00, + $03, $00, $00, $00, $30, $00, $00, $80, $0A, $00, $00, $00, $48, $00, $00, $80, + $0E, $00, $00, $00, $68, $00, $00, $80, $10, $00, $00, $00, $80, $00, $00, $80, + $00, $00, $00, $00, $73, $A3, $51, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $01, $00, $00, $00, $98, $00, $00, $80, $00, $00, $00, $00, $73, $A3, $51, $4E, + $00, $00, $00, $00, $02, $00, $00, $00, $60, $01, $00, $80, $B0, $00, $00, $80, + $6E, $01, $00, $80, $C8, $00, $00, $80, $00, $00, $00, $00, $73, $A3, $51, $4E, + $00, $00, $00, $00, $01, $00, $00, $00, $86, $01, $00, $80, $E0, $00, $00, $80, + $00, $00, $00, $00, $73, $A3, $51, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $01, $00, $00, $00, $F8, $00, $00, $80, $00, $00, $00, $00, $73, $A3, $51, $4E, + $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $10, $01, $00, $00, + $00, $00, $00, $00, $73, $A3, $51, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $00, $00, $00, $00, $20, $01, $00, $00, $00, $00, $00, $00, $73, $A3, $51, $4E, + $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $30, $01, $00, $00, + $00, $00, $00, $00, $73, $A3, $51, $4E, $00, $00, $00, $00, $00, $00, $01, $00, + $00, $00, $00, $00, $40, $01, $00, $00, $00, $00, $00, $00, $73, $A3, $51, $4E, + $00, $00, $00, $00, $00, $00, $01, $00, $09, $04, $00, $00, $50, $01, $00, $00, + $98, $E1, $00, $00, $28, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $C0, $E2, $00, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $D0, $E2, $00, $00, $90, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $60, $E3, $00, $00, $14, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $74, $E3, $00, $00, $A4, $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $06, $00, $44, $00, $56, $00, $43, $00, $4C, $00, $41, $00, $4C, $00, $0B, $00, + $50, $00, $41, $00, $43, $00, $4B, $00, $41, $00, $47, $00, $45, $00, $49, $00, + $4E, $00, $46, $00, $4F, $00, $08, $00, $4D, $00, $41, $00, $49, $00, $4E, $00, + $49, $00, $43, $00, $4F, $00, $4E, $00, $28, $00, $00, $00, $10, $00, $00, $00, + $20, $00, $00, $00, $01, $00, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $80, $00, $00, $80, $00, $00, $00, $80, $80, $00, + $80, $00, $00, $00, $80, $00, $80, $00, $80, $80, $00, $00, $C0, $C0, $C0, $00, + $80, $80, $80, $00, $00, $00, $FF, $00, $00, $FF, $00, $00, $00, $FF, $FF, $00, + $FF, $00, $00, $00, $FF, $00, $FF, $00, $FF, $FF, $00, $00, $FF, $FF, $FF, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $FF, $F0, $00, + $00, $00, $FF, $FF, $FF, $FF, $F0, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, + $00, $00, $FF, $FF, $FF, $0F, $00, $00, $00, $00, $FF, $FF, $FF, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $FF, $FF, $00, $00, $FF, $FF, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, + $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, + $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, $E0, $03, $00, $00, + $E0, $07, $00, $00, $E0, $0F, $00, $00, $E0, $1F, $00, $00, $FF, $FF, $00, $00, + $26, $3D, $4F, $38, $C2, $82, $37, $B8, $F3, $24, $42, $03, $17, $9B, $3A, $83, + $00, $00, $10, $8C, $00, $00, $00, $00, $0C, $00, $00, $00, $01, $54, $53, $48, + $46, $6F, $6C, $64, $65, $72, $00, $1C, $4B, $57, $69, $6E, $64, $6F, $77, $73, + $00, $10, $55, $54, $79, $70, $65, $73, $00, $00, $81, $53, $79, $73, $49, $6E, + $69, $74, $00, $00, $C7, $53, $79, $73, $74, $65, $6D, $00, $00, $4E, $48, $65, + $6C, $70, $65, $72, $55, $74, $69, $6C, $73, $00, $00, $43, $57, $69, $6E, $64, + $6F, $77, $55, $74, $69, $6C, $73, $00, $00, $3F, $49, $70, $63, $55, $69, $6C, + $73, $00, $00, $15, $44, $65, $6C, $55, $74, $69, $6C, $73, $00, $00, $82, $41, + $70, $69, $55, $74, $69, $6C, $73, $00, $1C, $33, $4D, $65, $73, $73, $61, $67, + $65, $73, $00, $00, $CC, $53, $68, $65, $6C, $6C, $55, $74, $69, $6C, $73, $00, + $00, $00, $01, $00, $01, $00, $10, $10, $10, $00, $01, $00, $04, $00, $28, $01, + $00, $00, $01, $00, $A4, $02, $34, $00, $00, $00, $56, $00, $53, $00, $5F, $00, + $56, $00, $45, $00, $52, $00, $53, $00, $49, $00, $4F, $00, $4E, $00, $5F, $00, + $49, $00, $4E, $00, $46, $00, $4F, $00, $00, $00, $00, $00, $BD, $04, $EF, $FE, + $00, $00, $01, $00, $00, $00, $1A, $00, $23, $13, $C3, $81, $00, $00, $1A, $00, + $23, $13, $C3, $81, $3F, $00, $00, $00, $00, $00, $00, $00, $04, $00, $00, $00, + $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $04, $02, $00, $00, $00, $00, $53, $00, $74, $00, $72, $00, $69, $00, $6E, $00, + $67, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $49, $00, $6E, $00, $66, $00, + $6F, $00, $00, $00, $E0, $01, $00, $00, $00, $00, $30, $00, $34, $00, $30, $00, + $39, $00, $30, $00, $34, $00, $45, $00, $34, $00, $00, $00, $30, $00, $0E, $00, + $01, $00, $43, $00, $6F, $00, $6D, $00, $70, $00, $61, $00, $6E, $00, $79, $00, + $4E, $00, $61, $00, $6D, $00, $65, $00, $00, $00, $00, $00, $4C, $00, $73, $00, + $75, $00, $70, $00, $65, $00, $72, $00, $00, $00, $00, $00, $2C, $00, $02, $00, + $01, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $44, $00, $65, $00, $73, $00, + $63, $00, $72, $00, $69, $00, $70, $00, $74, $00, $69, $00, $6F, $00, $6E, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $20, $00, $01, $00, $46, $00, + $69, $00, $6C, $00, $65, $00, $56, $00, $65, $00, $72, $00, $73, $00, $69, $00, + $6F, $00, $6E, $00, $00, $00, $00, $00, $32, $00, $36, $00, $2E, $00, $30, $00, + $2E, $00, $33, $00, $33, $00, $32, $00, $31, $00, $39, $00, $2E, $00, $34, $00, + $38, $00, $39, $00, $39, $00, $00, $00, $24, $00, $02, $00, $01, $00, $49, $00, + $6E, $00, $74, $00, $65, $00, $72, $00, $6E, $00, $61, $00, $6C, $00, $4E, $00, + $61, $00, $6D, $00, $65, $00, $00, $00, $00, $00, $00, $00, $28, $00, $02, $00, + $01, $00, $4C, $00, $65, $00, $67, $00, $61, $00, $6C, $00, $43, $00, $6F, $00, + $70, $00, $79, $00, $72, $00, $69, $00, $67, $00, $68, $00, $74, $00, $00, $00, + $00, $00, $00, $00, $2C, $00, $02, $00, $01, $00, $4C, $00, $65, $00, $67, $00, + $61, $00, $6C, $00, $54, $00, $72, $00, $61, $00, $64, $00, $65, $00, $6D, $00, + $61, $00, $72, $00, $6B, $00, $73, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $44, $00, $1A, $00, $01, $00, $4F, $00, $72, $00, $69, $00, $67, $00, $69, $00, + $6E, $00, $61, $00, $6C, $00, $46, $00, $69, $00, $6C, $00, $65, $00, $6E, $00, + $61, $00, $6D, $00, $65, $00, $00, $00, $53, $00, $48, $00, $46, $00, $6F, $00, + $6C, $00, $64, $00, $65, $00, $72, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $24, $00, $02, $00, $01, $00, $50, $00, $72, $00, $6F, $00, + $64, $00, $75, $00, $63, $00, $74, $00, $4E, $00, $61, $00, $6D, $00, $65, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $30, $00, $0A, $00, $01, $00, $50, $00, + $72, $00, $6F, $00, $64, $00, $75, $00, $63, $00, $74, $00, $56, $00, $65, $00, + $72, $00, $73, $00, $69, $00, $6F, $00, $6E, $00, $00, $00, $32, $00, $36, $00, + $2E, $00, $30, $00, $00, $00, $00, $00, $1C, $00, $02, $00, $01, $00, $43, $00, + $6F, $00, $6D, $00, $6D, $00, $65, $00, $6E, $00, $74, $00, $73, $00, $00, $00, + $00, $00, $00, $00, $44, $00, $00, $00, $00, $00, $56, $00, $61, $00, $72, $00, + $46, $00, $69, $00, $6C, $00, $65, $00, $49, $00, $6E, $00, $66, $00, $6F, $00, + $00, $00, $00, $00, $24, $00, $04, $00, $00, $00, $54, $00, $72, $00, $61, $00, + $6E, $00, $73, $00, $6C, $00, $61, $00, $74, $00, $69, $00, $6F, $00, $6E, $00, + $00, $00, $00, $00, $09, $04, $E4, $04, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $18, $2B, $00, $00, $00, $02, $02, $00, $30, $82, $2B, $07, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $2A, $F8, $30, $82, $2A, $F4, $02, + $01, $01, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, $30, + $4C, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $04, $A0, $3E, $30, + $3C, $30, $17, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, $0F, $30, + $09, $03, $01, $00, $A0, $04, $A2, $02, $80, $00, $30, $21, $30, $09, $06, $05, + $2B, $0E, $03, $02, $1A, $05, $00, $04, $14, $8E, $99, $A7, $18, $2C, $BF, $50, + $F8, $73, $82, $71, $E9, $FE, $34, $39, $C1, $8B, $0F, $D5, $65, $A0, $82, $03, + $C6, $30, $82, $03, $C2, $30, $82, $02, $AE, $A0, $03, $02, $01, $02, $02, $10, + $79, $8B, $C8, $C7, $16, $0A, $2E, $8B, $4D, $CD, $3D, $3F, $BF, $8F, $57, $7D, + $30, $09, $06, $05, $2B, $0E, $03, $02, $1D, $05, $00, $30, $54, $31, $0B, $30, + $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, + $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, + $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, + $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, + $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, + $31, $30, $1E, $17, $0D, $31, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, + $30, $5A, $17, $0D, $33, $35, $30, $35, $30, $34, $31, $36, $30, $30, $30, $30, + $5A, $30, $60, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, + $31, $15, $30, $13, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $01, $16, + $06, $4C, $73, $75, $70, $65, $72, $31, $15, $30, $13, $06, $03, $55, $04, $0A, + $13, $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $23, + $30, $21, $06, $03, $55, $04, $03, $13, $1A, $53, $75, $70, $65, $72, $20, $43, + $6F, $64, $65, $20, $53, $69, $67, $6E, $69, $6E, $67, $20, $43, $41, $20, $2D, + $20, $47, $31, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, + $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, $01, $0A, $02, + $82, $01, $01, $00, $BF, $43, $F2, $EE, $5F, $CD, $DE, $AE, $E7, $5A, $59, $B8, + $44, $03, $0A, $D0, $27, $19, $FD, $43, $2C, $A8, $55, $76, $E4, $17, $2B, $E4, + $B9, $52, $DF, $E4, $23, $89, $56, $62, $CE, $1B, $F3, $31, $AE, $12, $EC, $EF, + $F3, $28, $EA, $CA, $CA, $66, $53, $20, $9D, $84, $BC, $65, $27, $89, $48, $9F, + $65, $9A, $2C, $83, $11, $6D, $F2, $50, $46, $B8, $65, $19, $9B, $18, $AA, $74, + $90, $1B, $FE, $ED, $B8, $17, $7C, $9F, $BE, $79, $80, $BE, $FF, $38, $78, $BF, + $B9, $B8, $91, $2A, $74, $05, $E1, $FE, $7B, $69, $2F, $3C, $A4, $FB, $34, $7B, + $A2, $1F, $B3, $81, $5B, $37, $97, $16, $8A, $2F, $F1, $24, $64, $B8, $94, $0E, + $B7, $B2, $39, $EE, $BE, $0D, $16, $7D, $35, $B1, $42, $A6, $A0, $87, $22, $55, + $75, $BF, $FC, $06, $31, $81, $1F, $C1, $27, $CE, $B8, $AD, $7E, $F5, $C2, $3A, + $0C, $67, $3E, $E3, $AB, $96, $8C, $F0, $04, $80, $ED, $2E, $78, $25, $0E, $08, + $E2, $6A, $1D, $83, $DE, $12, $C8, $D3, $91, $B9, $F7, $CE, $13, $0B, $9C, $4A, + $72, $86, $6A, $C3, $47, $8C, $5B, $75, $E7, $91, $02, $E1, $12, $46, $DB, $A5, + $78, $19, $09, $C6, $B6, $0E, $AB, $37, $46, $3A, $DD, $E4, $7A, $F2, $2F, $6A, + $A5, $0A, $2A, $59, $57, $5E, $78, $6A, $26, $1C, $FC, $6A, $02, $1D, $10, $43, + $AE, $18, $C2, $61, $DC, $AE, $56, $7E, $8C, $5F, $BA, $CD, $C4, $12, $AC, $2B, + $11, $9E, $E3, $85, $02, $03, $01, $00, $01, $A3, $81, $8B, $30, $81, $88, $30, + $81, $85, $06, $03, $55, $1D, $01, $04, $7E, $30, $7C, $80, $10, $61, $1A, $C5, + $8D, $DA, $A6, $48, $41, $C6, $90, $F2, $6E, $42, $9B, $11, $44, $A1, $56, $30, + $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, + $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, $53, + $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, $25, + $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, $69, + $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, + $20, $2D, $20, $47, $31, $82, $10, $61, $BD, $CF, $00, $4B, $64, $D3, $AC, $49, + $E3, $71, $A3, $37, $CE, $15, $65, $30, $09, $06, $05, $2B, $0E, $03, $02, $1D, + $05, $00, $03, $82, $01, $01, $00, $14, $1F, $B4, $72, $73, $27, $8A, $64, $32, + $30, $5A, $78, $A2, $F9, $B5, $0F, $33, $1F, $5C, $8E, $9F, $3C, $BE, $48, $35, + $04, $C5, $A0, $50, $D8, $91, $23, $B9, $42, $49, $FA, $64, $CF, $47, $F5, $FF, + $61, $9D, $78, $DF, $99, $FC, $8E, $B1, $DB, $AF, $B8, $0D, $F3, $64, $1A, $B6, + $82, $B7, $E6, $F5, $DB, $F5, $D7, $F0, $DD, $A2, $3B, $5F, $78, $EE, $2F, $EE, + $10, $55, $99, $1B, $5B, $DC, $ED, $A3, $EE, $72, $7F, $C5, $3C, $6C, $09, $30, + $87, $CE, $B6, $AB, $29, $1C, $80, $B9, $8F, $0E, $53, $3E, $E8, $A2, $C9, $34, + $DB, $6C, $C6, $3D, $D6, $A2, $1D, $6B, $6E, $FB, $DE, $7A, $D6, $F7, $5C, $DB, + $49, $6B, $DA, $B8, $FC, $5B, $9A, $52, $0A, $4F, $AB, $01, $65, $F4, $DE, $85, + $58, $7E, $8B, $61, $4C, $A7, $80, $1B, $4C, $E5, $AF, $B8, $C8, $6A, $6A, $D7, + $7B, $F6, $58, $C5, $4E, $2D, $0B, $D1, $BA, $DA, $D0, $33, $6B, $C0, $10, $F2, + $85, $51, $16, $05, $25, $61, $B2, $66, $64, $33, $6C, $B8, $85, $02, $7B, $E8, + $6B, $A6, $6A, $EA, $34, $8C, $3F, $0C, $95, $AF, $93, $6A, $AD, $1D, $8C, $A2, + $77, $0E, $DA, $12, $C7, $ED, $02, $39, $BE, $7C, $8D, $93, $A8, $6A, $82, $90, + $2E, $AC, $8B, $0E, $3B, $DB, $46, $76, $0E, $3C, $37, $19, $98, $7D, $A0, $D3, + $59, $67, $D9, $03, $5E, $FE, $85, $BE, $26, $7B, $78, $72, $69, $2B, $87, $13, + $04, $1B, $A6, $28, $66, $AF, $71, $31, $82, $26, $C8, $30, $82, $26, $C4, $02, + $01, $01, $30, $68, $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, + $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, + $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, + $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, + $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, + $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $31, $02, $10, $79, $8B, $C8, $C7, + $16, $0A, $2E, $8B, $4D, $CD, $3D, $3F, $BF, $8F, $57, $7D, $30, $09, $06, $05, + $2B, $0E, $03, $02, $1A, $05, $00, $A0, $81, $84, $30, $19, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $09, $03, $31, $0C, $06, $0A, $2B, $06, $01, $04, $01, + $82, $37, $02, $01, $04, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, + $09, $04, $31, $16, $04, $14, $6A, $56, $17, $1F, $BD, $94, $92, $62, $BF, $24, + $24, $E2, $02, $A9, $E5, $84, $79, $F9, $18, $9C, $30, $42, $06, $0A, $2B, $06, + $01, $04, $01, $82, $37, $02, $01, $0C, $31, $34, $30, $32, $A0, $18, $80, $16, + $00, $44, $00, $65, $00, $6C, $00, $70, $00, $68, $00, $69, $00, $20, $00, $4C, + $00, $69, $00, $74, $00, $65, $A1, $16, $80, $14, $77, $77, $77, $2E, $65, $6D, + $62, $61, $72, $63, $61, $64, $65, $72, $6F, $2E, $63, $6F, $6D, $20, $30, $0D, + $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $04, $82, $01, + $00, $59, $89, $41, $DC, $55, $31, $06, $5E, $F4, $DE, $FD, $EB, $6A, $0E, $9C, + $7C, $30, $C1, $61, $82, $E6, $0A, $09, $7D, $29, $42, $8E, $A8, $D6, $B8, $3C, + $86, $61, $93, $9A, $76, $A7, $B9, $3B, $2E, $76, $95, $B1, $5A, $55, $56, $03, + $6D, $3E, $6D, $D7, $7B, $A9, $DC, $1C, $CA, $97, $61, $4E, $B1, $7B, $86, $19, + $AD, $58, $6C, $CA, $01, $55, $66, $73, $97, $3A, $0D, $14, $FA, $82, $EF, $F0, + $17, $B6, $45, $AD, $85, $00, $A2, $73, $F4, $E9, $19, $20, $3E, $A2, $31, $51, + $4C, $F8, $9B, $26, $12, $EC, $5B, $36, $09, $B3, $BE, $2D, $9B, $7F, $DD, $D5, + $23, $70, $C6, $69, $53, $D3, $76, $6B, $89, $35, $78, $BE, $6A, $69, $E5, $8D, + $17, $2D, $EB, $2D, $05, $05, $ED, $05, $79, $A8, $7E, $5A, $C6, $76, $E8, $72, + $B7, $8B, $99, $37, $D0, $DF, $A5, $57, $0D, $23, $5E, $1F, $CD, $C2, $8A, $BF, + $95, $47, $64, $74, $01, $8C, $94, $A1, $46, $B6, $3D, $25, $40, $6F, $C9, $E1, + $FF, $53, $CA, $20, $25, $A2, $C9, $4D, $14, $F7, $B0, $7D, $2D, $18, $59, $FE, + $8D, $AB, $E9, $A6, $10, $04, $7F, $79, $DE, $E9, $EB, $38, $CE, $5A, $F6, $CF, + $45, $FC, $D0, $E9, $AE, $06, $12, $E4, $5F, $87, $A4, $4D, $0E, $20, $5A, $CA, + $69, $06, $5A, $7F, $FF, $CE, $54, $57, $90, $DF, $2A, $5E, $FB, $A2, $90, $E4, + $6D, $11, $AF, $26, $FE, $13, $48, $AF, $95, $F5, $51, $8E, $63, $40, $F9, $E8, + $DD, $A1, $82, $24, $AE, $30, $82, $0E, $7B, $06, $0A, $2B, $06, $01, $04, $01, + $82, $37, $03, $03, $01, $31, $82, $0E, $6B, $30, $82, $0E, $67, $06, $09, $2A, + $86, $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $0E, $58, $30, $82, $0E, $54, + $02, $01, $03, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, + $30, $81, $CA, $06, $0B, $2A, $86, $48, $86, $F7, $0D, $01, $09, $10, $01, $04, + $A0, $81, $BA, $04, $81, $B7, $30, $81, $B4, $02, $01, $01, $06, $08, $2B, $06, + $01, $04, $01, $EB, $42, $03, $30, $21, $30, $09, $06, $05, $2B, $0E, $03, $02, + $1A, $05, $00, $04, $14, $83, $EC, $70, $79, $BB, $EF, $8D, $77, $9F, $30, $91, + $E5, $D3, $96, $0D, $FF, $E8, $F0, $ED, $41, $02, $10, $16, $0A, $5B, $97, $20, + $5E, $1E, $F2, $8B, $28, $FC, $BE, $E8, $81, $B5, $79, $18, $0F, $32, $30, $31, + $39, $30, $32, $31, $37, $31, $32, $32, $38, $30, $39, $5A, $30, $0A, $02, $01, + $01, $80, $02, $01, $F4, $81, $01, $64, $A0, $53, $A4, $51, $30, $4F, $31, $0B, + $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, + $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, + $4C, $69, $6D, $69, $74, $65, $64, $31, $24, $30, $22, $06, $03, $55, $04, $03, + $13, $1B, $57, $6F, $53, $69, $67, $6E, $20, $54, $69, $6D, $65, $20, $53, $74, + $61, $6D, $70, $69, $6E, $67, $20, $53, $69, $67, $6E, $65, $72, $A0, $82, $0A, + $C3, $30, $82, $05, $45, $30, $82, $03, $2D, $A0, $03, $02, $01, $02, $02, $10, + $25, $1F, $5D, $98, $81, $82, $17, $2E, $3C, $41, $9E, $01, $4F, $B0, $40, $4C, + $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05, $05, $00, $30, + $55, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $1A, + $30, $18, $06, $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, $20, + $43, $41, $20, $4C, $69, $6D, $69, $74, $65, $64, $31, $2A, $30, $28, $06, $03, + $55, $04, $03, $13, $21, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, + $6F, $6E, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $6F, $66, $20, + $57, $6F, $53, $69, $67, $6E, $30, $1E, $17, $0D, $30, $39, $30, $38, $30, $38, + $30, $31, $30, $30, $30, $35, $5A, $17, $0D, $32, $34, $30, $38, $30, $38, $30, + $31, $30, $30, $30, $35, $5A, $30, $4F, $31, $0B, $30, $09, $06, $03, $55, $04, + $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, $55, $04, $0A, $13, $11, + $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, $74, $65, + $64, $31, $24, $30, $22, $06, $03, $55, $04, $03, $13, $1B, $57, $6F, $53, $69, + $67, $6E, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70, $69, $6E, $67, + $20, $53, $69, $67, $6E, $65, $72, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, + $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, + $82, $01, $0A, $02, $82, $01, $01, $00, $A5, $D0, $68, $BA, $82, $CB, $DB, $A7, + $6D, $55, $B9, $31, $A7, $DA, $F4, $9C, $6B, $03, $54, $4F, $A2, $1C, $EF, $1C, + $B5, $96, $44, $1F, $56, $41, $3F, $61, $B0, $03, $59, $4B, $82, $0E, $DB, $15, + $C8, $D0, $CC, $E0, $87, $C6, $09, $75, $8A, $84, $E3, $ED, $97, $C2, $C8, $92, + $34, $C0, $F1, $64, $53, $60, $51, $34, $48, $90, $B1, $4F, $89, $69, $F5, $2E, + $A0, $2A, $16, $54, $2F, $C0, $37, $58, $FF, $35, $52, $1B, $52, $08, $CF, $B9, + $EC, $5A, $27, $52, $5A, $83, $EB, $68, $B1, $B9, $F8, $B2, $A9, $08, $F3, $4F, + $AB, $17, $0F, $2E, $BD, $4F, $E5, $12, $8A, $BF, $7C, $B7, $E7, $65, $32, $3B, + $83, $41, $02, $22, $3A, $24, $3B, $6A, $A3, $3C, $AF, $EB, $79, $42, $17, $56, + $74, $C8, $61, $63, $DD, $8C, $2F, $3E, $EF, $3A, $A3, $47, $52, $04, $3B, $00, + $18, $AE, $26, $71, $E0, $7A, $04, $8D, $75, $82, $2D, $65, $4E, $C1, $B8, $F2, + $8C, $DE, $0F, $63, $03, $D4, $C3, $52, $60, $72, $8C, $88, $CC, $6F, $96, $D5, + $C7, $7D, $29, $DB, $26, $04, $9E, $A2, $B4, $BF, $5A, $B5, $6E, $F2, $46, $0F, + $29, $81, $C5, $C0, $4F, $A6, $87, $8C, $7C, $21, $07, $54, $1F, $50, $F0, $42, + $5C, $55, $7C, $CF, $44, $2E, $41, $3D, $18, $8D, $5F, $D9, $68, $E6, $47, $91, + $8F, $CF, $DC, $7D, $90, $60, $FF, $CB, $48, $E4, $61, $5E, $4F, $73, $45, $0D, + $C8, $34, $89, $03, $D5, $FE, $0B, $C3, $02, $03, $01, $00, $01, $A3, $82, $01, + $15, $30, $82, $01, $11, $30, $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, + $04, $03, $02, $06, $C0, $30, $16, $06, $03, $55, $1D, $25, $01, $01, $FF, $04, + $0C, $30, $0A, $06, $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $0C, $06, + $03, $55, $1D, $13, $01, $01, $FF, $04, $02, $30, $00, $30, $30, $06, $03, $55, + $1D, $1F, $04, $29, $30, $27, $30, $25, $A0, $23, $A0, $21, $86, $1F, $68, $74, + $74, $70, $3A, $2F, $2F, $63, $72, $6C, $73, $31, $2E, $77, $6F, $73, $69, $67, + $6E, $2E, $63, $6F, $6D, $2F, $63, $61, $31, $2E, $63, $72, $6C, $30, $67, $06, + $08, $2B, $06, $01, $05, $05, $07, $01, $01, $04, $5B, $30, $59, $30, $27, $06, + $08, $2B, $06, $01, $05, $05, $07, $30, $01, $86, $1B, $68, $74, $74, $70, $3A, + $2F, $2F, $6F, $63, $73, $70, $31, $2E, $77, $6F, $73, $69, $67, $6E, $2E, $63, + $6F, $6D, $2F, $63, $61, $31, $30, $2E, $06, $08, $2B, $06, $01, $05, $05, $07, + $30, $02, $86, $22, $68, $74, $74, $70, $3A, $2F, $2F, $61, $69, $61, $31, $2E, + $77, $6F, $73, $69, $67, $6E, $2E, $63, $6F, $6D, $2F, $63, $61, $31, $2D, $74, + $73, $61, $2E, $63, $65, $72, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, + $14, $DF, $6E, $12, $D5, $0C, $54, $2E, $5A, $14, $CA, $DE, $03, $DE, $AB, $4E, + $D4, $98, $0C, $46, $B5, $30, $1F, $06, $03, $55, $1D, $23, $04, $18, $30, $16, + $80, $14, $E1, $66, $CF, $0E, $D1, $F1, $B3, $4B, $B7, $06, $20, $14, $FE, $87, + $12, $D5, $F6, $FE, $FB, $3E, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, + $01, $01, $05, $05, $00, $03, $82, $02, $01, $00, $7C, $98, $2F, $BB, $C3, $D2, + $AE, $C2, $2A, $8F, $A6, $97, $76, $56, $86, $32, $C4, $CD, $36, $68, $8B, $EC, + $D7, $80, $1A, $31, $79, $B0, $5E, $56, $B9, $69, $EB, $B9, $0B, $32, $A9, $83, + $26, $DC, $77, $5D, $7A, $56, $B2, $46, $A0, $7D, $15, $D6, $6D, $F9, $AC, $F8, + $35, $73, $78, $36, $02, $60, $22, $20, $1C, $EF, $18, $8F, $7E, $66, $B2, $4F, + $E7, $71, $93, $5A, $2B, $E6, $E5, $8D, $3D, $5D, $2E, $27, $4B, $46, $CB, $1D, + $04, $F3, $0B, $8C, $3F, $13, $A8, $0D, $D4, $CD, $E8, $28, $E8, $2A, $9C, $55, + $C8, $E3, $FF, $9D, $A9, $22, $49, $6E, $E8, $E7, $88, $92, $37, $57, $80, $60, + $44, $18, $27, $43, $58, $18, $04, $6D, $86, $C0, $65, $47, $05, $57, $55, $50, + $91, $E6, $73, $50, $EE, $3F, $10, $A9, $8F, $05, $2F, $DA, $68, $11, $53, $6E, + $1F, $AD, $98, $F3, $76, $3E, $85, $D0, $57, $A3, $CF, $E4, $C1, $1A, $4C, $64, + $06, $A6, $44, $AB, $4E, $1E, $E2, $4B, $D5, $A4, $6D, $71, $F8, $6B, $CB, $66, + $13, $A6, $47, $1F, $21, $2A, $A1, $AE, $4C, $89, $A4, $7D, $28, $77, $17, $4F, + $88, $8D, $B1, $D1, $5D, $B1, $C4, $93, $5A, $BF, $22, $92, $6C, $AB, $67, $82, + $68, $ED, $D7, $21, $CB, $63, $BC, $93, $C4, $17, $8E, $87, $19, $25, $AD, $17, + $54, $B4, $79, $D2, $A5, $93, $73, $BC, $7C, $BB, $E4, $80, $0F, $8F, $CC, $AA, + $0A, $D0, $E4, $93, $75, $AA, $6C, $CF, $49, $7D, $75, $EC, $82, $28, $5C, $73, + $F0, $42, $BF, $9E, $A6, $13, $2E, $DE, $6C, $EE, $80, $03, $A6, $EE, $88, $36, + $A0, $1B, $B2, $82, $E8, $3D, $BB, $A6, $1A, $D5, $11, $AE, $0A, $0B, $62, $D6, + $51, $36, $97, $23, $17, $52, $26, $ED, $F1, $C5, $B6, $21, $75, $39, $15, $07, + $E0, $42, $F1, $2A, $89, $04, $77, $66, $AD, $14, $04, $D2, $C7, $D4, $7C, $4F, + $6C, $DD, $4E, $DC, $ED, $8E, $A9, $F6, $86, $17, $E7, $E1, $59, $66, $BB, $D0, + $7A, $D0, $94, $42, $EB, $AF, $C1, $54, $CA, $E2, $1A, $A4, $A9, $B6, $A5, $D4, + $81, $CA, $15, $26, $FA, $6F, $B4, $DF, $78, $10, $04, $8C, $48, $18, $BC, $28, + $59, $66, $9A, $B8, $18, $F1, $D9, $5E, $5B, $82, $FF, $FE, $11, $D7, $D4, $04, + $36, $30, $9F, $51, $1D, $3C, $C8, $64, $40, $75, $7C, $D8, $35, $83, $EF, $B1, + $E5, $28, $76, $0A, $05, $3D, $E9, $B8, $1E, $70, $50, $3A, $60, $E2, $A5, $01, + $88, $88, $9C, $04, $CC, $6A, $F2, $15, $85, $D1, $0C, $B7, $4A, $6D, $93, $4E, + $82, $CA, $29, $E9, $75, $0B, $42, $E4, $3A, $47, $24, $08, $6D, $80, $5C, $E6, + $6A, $67, $2C, $B6, $13, $08, $C9, $4F, $D8, $66, $53, $B9, $B6, $7F, $E2, $EA, + $39, $95, $6F, $71, $77, $96, $03, $AF, $B9, $E3, $CC, $E3, $A1, $B9, $F1, $01, + $C6, $6E, $BE, $FC, $97, $5C, $B2, $D1, $F1, $7B, $FB, $33, $C6, $65, $EA, $E6, + $18, $F9, $AB, $3A, $27, $1A, $2D, $20, $6B, $E6, $30, $82, $05, $76, $30, $82, + $03, $5E, $A0, $03, $02, $01, $02, $02, $10, $5E, $68, $D6, $11, $71, $94, $63, + $50, $56, $00, $68, $F3, $3E, $C9, $C5, $91, $30, $0D, $06, $09, $2A, $86, $48, + $86, $F7, $0D, $01, $01, $05, $05, $00, $30, $55, $31, $0B, $30, $09, $06, $03, + $55, $04, $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, $55, $04, $0A, + $13, $11, $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, + $74, $65, $64, $31, $2A, $30, $28, $06, $03, $55, $04, $03, $13, $21, $43, $65, + $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $20, $41, $75, $74, $68, + $6F, $72, $69, $74, $79, $20, $6F, $66, $20, $57, $6F, $53, $69, $67, $6E, $30, + $1E, $17, $0D, $30, $39, $30, $38, $30, $38, $30, $31, $30, $30, $30, $31, $5A, + $17, $0D, $33, $39, $30, $38, $30, $38, $30, $31, $30, $30, $30, $31, $5A, $30, + $55, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $1A, + $30, $18, $06, $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, $20, + $43, $41, $20, $4C, $69, $6D, $69, $74, $65, $64, $31, $2A, $30, $28, $06, $03, + $55, $04, $03, $13, $21, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, + $6F, $6E, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $6F, $66, $20, + $57, $6F, $53, $69, $67, $6E, $30, $82, $02, $22, $30, $0D, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, $02, $0F, $00, $30, $82, + $02, $0A, $02, $82, $02, $01, $00, $BD, $CA, $8D, $AC, $B8, $91, $15, $56, $97, + $7B, $6B, $5C, $7A, $C2, $DE, $6B, $D9, $A1, $B0, $C3, $10, $23, $FA, $A7, $A1, + $B2, $CC, $31, $FA, $3E, $D9, $A6, $29, $6F, $16, $3D, $E0, $6B, $F8, $B8, $40, + $5F, $DB, $39, $A8, $00, $7A, $8B, $A0, $4D, $54, $7D, $C2, $22, $78, $FC, $8E, + $09, $B8, $A8, $85, $D7, $CC, $95, $97, $4B, $74, $D8, $9E, $7E, $F0, $00, $E4, + $0E, $89, $AE, $49, $28, $44, $1A, $10, $99, $32, $0F, $25, $88, $53, $A4, $0D, + $B3, $0F, $12, $08, $16, $0B, $03, $71, $27, $1C, $7F, $E1, $DB, $D2, $FD, $67, + $68, $C4, $05, $5D, $0A, $0E, $5D, $70, $D7, $D8, $97, $A0, $BC, $53, $41, $9A, + $91, $8D, $F4, $9E, $36, $66, $7A, $7E, $56, $C1, $90, $5F, $E6, $B1, $68, $20, + $36, $A4, $8C, $24, $2C, $2C, $47, $0B, $59, $76, $66, $30, $B5, $BE, $DE, $ED, + $8F, $F8, $9D, $D3, $BB, $01, $30, $E6, $F2, $F3, $0E, $E0, $2C, $92, $80, $F3, + $85, $F9, $28, $8A, $B4, $54, $2E, $9A, $ED, $F7, $76, $FC, $15, $68, $16, $EB, + $4A, $6C, $EB, $2E, $12, $8F, $D4, $CF, $FE, $0C, $C7, $5C, $1D, $0B, $7E, $05, + $32, $BE, $5E, $B0, $09, $2A, $42, $D5, $C9, $4E, $90, $B3, $59, $0D, $BB, $7A, + $7E, $CD, $D5, $08, $5A, $B4, $7F, $D8, $1C, $69, $11, $F9, $27, $0F, $7B, $06, + $AF, $54, $83, $18, $7B, $E1, $DD, $54, $7A, $51, $68, $6E, $77, $FC, $C6, $BF, + $52, $4A, $66, $46, $A1, $B2, $67, $1A, $BB, $A3, $4F, $77, $A0, $BE, $5D, $FF, + $FC, $56, $0B, $43, $72, $77, $90, $CA, $9E, $F9, $F2, $39, $F5, $0D, $A9, $F4, + $EA, $D7, $E7, $B3, $10, $2F, $30, $42, $37, $21, $CC, $30, $70, $C9, $86, $98, + $0F, $CC, $58, $4D, $83, $BB, $7D, $E5, $1A, $A5, $37, $8D, $B6, $AC, $32, $97, + $00, $3A, $63, $71, $24, $1E, $9E, $37, $C4, $FF, $74, $D4, $37, $C0, $E2, $FE, + $88, $46, $60, $11, $DD, $08, $3F, $50, $36, $AB, $B8, $7A, $A4, $95, $62, $6A, + $6E, $B0, $CA, $6A, $21, $5A, $69, $F3, $F3, $FB, $1D, $70, $39, $95, $F3, $A7, + $6E, $A6, $81, $89, $A1, $88, $C5, $3B, $71, $CA, $A3, $52, $EE, $83, $BB, $FD, + $A0, $77, $F4, $E4, $6F, $E7, $42, $DB, $6D, $4A, $99, $8A, $34, $48, $BC, $17, + $DC, $E4, $80, $08, $22, $B6, $F2, $31, $C0, $3F, $04, $3E, $EB, $9F, $20, $79, + $D6, $B8, $06, $64, $64, $02, $31, $D7, $A9, $CD, $52, $FB, $84, $45, $69, $09, + $00, $2A, $DC, $55, $8B, $C4, $06, $46, $4B, $C0, $4A, $1D, $09, $5B, $39, $28, + $FD, $A9, $AB, $CE, $00, $F9, $2E, $48, $4B, $26, $E6, $30, $4C, $A5, $58, $CA, + $B4, $44, $82, $4F, $E7, $91, $1E, $33, $C3, $B0, $93, $FF, $11, $FC, $81, $D2, + $CA, $1F, $71, $29, $DD, $76, $4F, $92, $25, $AF, $1D, $81, $B7, $0F, $2F, $8C, + $C3, $06, $CC, $2F, $27, $A3, $4A, $E4, $0E, $99, $BA, $7C, $1E, $45, $1F, $7F, + $AA, $19, $45, $96, $FD, $FC, $3D, $02, $03, $01, $00, $01, $A3, $42, $30, $40, + $30, $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $01, $06, + $30, $0F, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $05, $30, $03, $01, $01, + $FF, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, $E1, $66, $CF, $0E, + $D1, $F1, $B3, $4B, $B7, $06, $20, $14, $FE, $87, $12, $D5, $F6, $FE, $FB, $3E, + $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05, $05, $00, $03, + $82, $02, $01, $00, $A8, $CB, $72, $40, $B2, $76, $C1, $7E, $7B, $FC, $AD, $64, + $E3, $32, $7B, $CC, $3C, $B6, $5D, $46, $D3, $F5, $2C, $E2, $70, $5D, $C8, $2E, + $D8, $06, $7D, $98, $D1, $0B, $21, $A0, $89, $59, $24, $01, $9D, $F9, $AF, $09, + $7D, $0A, $23, $82, $34, $D5, $FC, $7C, $72, $99, $B9, $A3, $D7, $54, $F4, $EA, + $52, $70, $0E, $C5, $F5, $D6, $3B, $E1, $3A, $09, $32, $E6, $21, $39, $93, $BD, + $B3, $15, $EA, $4F, $6A, $F4, $F5, $8B, $3F, $2F, $7C, $8D, $58, $2E, $C5, $E1, + $39, $A0, $3E, $C7, $3D, $4A, $73, $9E, $40, $7A, $C0, $2B, $61, $A9, $67, $C9, + $F3, $24, $B9, $B3, $6D, $55, $2C, $5A, $1D, $9E, $25, $72, $CE, $0B, $AD, $AA, + $C7, $55, $62, $0B, $BE, $FB, $63, $B3, $61, $44, $23, $A3, $CB, $E1, $1A, $0E, + $F7, $9A, $06, $4D, $DE, $D4, $23, $4E, $21, $96, $5B, $39, $5B, $57, $1D, $2F, + $5D, $08, $5E, $09, $79, $FF, $7C, $97, $B5, $4D, $83, $AE, $0D, $D6, $E6, $A3, + $79, $E0, $33, $D0, $99, $96, $02, $30, $A7, $3E, $FF, $D2, $A3, $43, $3F, $05, + $5A, $06, $EA, $44, $02, $DA, $7C, $F8, $48, $D0, $33, $A9, $F9, $07, $C7, $95, + $E1, $F5, $3E, $F5, $5D, $71, $BA, $F2, $95, $A9, $74, $88, $61, $59, $E3, $BF, + $CA, $5A, $13, $BA, $72, $B4, $8C, $5D, $36, $87, $E9, $A6, $C5, $3C, $13, $BF, + $DE, $D0, $44, $26, $EE, $B7, $EC, $2E, $70, $FA, $D7, $9D, $B7, $AC, $E5, $C5, + $40, $5A, $E6, $D7, $6C, $7B, $2C, $C3, $56, $9B, $47, $CD, $0B, $CE, $FA, $1B, + $B4, $21, $D7, $B7, $66, $B8, $F4, $25, $30, $8B, $5C, $0D, $B9, $EA, $67, $B2, + $F4, $6D, $AE, $D5, $A1, $9E, $4F, $D8, $9F, $E9, $27, $02, $B0, $1D, $06, $D6, + $8F, $E3, $FB, $48, $12, $9F, $7F, $11, $A1, $10, $3E, $4C, $51, $3A, $96, $B0, + $D1, $13, $F1, $C7, $D8, $26, $AE, $3A, $CA, $91, $C4, $69, $9D, $DF, $01, $29, + $64, $51, $6F, $68, $DA, $14, $EC, $08, $41, $97, $90, $8D, $D0, $B2, $80, $F2, + $CF, $C2, $3D, $BF, $91, $68, $C5, $80, $67, $1E, $C4, $60, $13, $55, $D5, $61, + $99, $57, $7C, $BA, $95, $0F, $61, $49, $3A, $CA, $75, $BC, $C9, $0A, $93, $3F, + $67, $0E, $12, $F2, $28, $E2, $31, $1B, $C0, $57, $16, $DF, $08, $7C, $19, $C1, + $7E, $0F, $1F, $85, $1E, $0A, $36, $7C, $5B, $7E, $27, $BC, $7A, $BF, $E0, $DB, + $F4, $DA, $52, $BD, $DE, $0C, $54, $70, $31, $91, $43, $95, $C8, $BC, $F0, $3E, + $DD, $09, $7E, $30, $64, $50, $ED, $7F, $01, $A4, $33, $67, $4D, $68, $4F, $BE, + $15, $EF, $B0, $F6, $02, $11, $A2, $1B, $13, $25, $3A, $DC, $C2, $59, $F1, $E3, + $5C, $46, $BB, $67, $2C, $02, $46, $EA, $1E, $48, $A6, $E6, $5B, $D9, $B5, $BC, + $51, $A2, $92, $96, $DB, $AA, $C6, $37, $22, $A6, $FE, $CC, $20, $74, $A3, $2D, + $A9, $2E, $6B, $CB, $C0, $82, $11, $21, $B5, $93, $79, $EE, $44, $86, $BE, $D7, + $1E, $E4, $1E, $FB, $31, $82, $02, $AC, $30, $82, $02, $A8, $02, $01, $01, $30, + $69, $30, $55, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, + $31, $1A, $30, $18, $06, $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, + $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, $74, $65, $64, $31, $2A, $30, $28, + $06, $03, $55, $04, $03, $13, $21, $43, $65, $72, $74, $69, $66, $69, $63, $61, + $74, $69, $6F, $6E, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $6F, + $66, $20, $57, $6F, $53, $69, $67, $6E, $02, $10, $25, $1F, $5D, $98, $81, $82, + $17, $2E, $3C, $41, $9E, $01, $4F, $B0, $40, $4C, $30, $09, $06, $05, $2B, $0E, + $03, $02, $1A, $05, $00, $A0, $82, $01, $18, $30, $1A, $06, $09, $2A, $86, $48, + $86, $F7, $0D, $01, $09, $03, $31, $0D, $06, $0B, $2A, $86, $48, $86, $F7, $0D, + $01, $09, $10, $01, $04, $30, $1C, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, + $09, $05, $31, $0F, $17, $0D, $31, $39, $30, $32, $31, $37, $31, $32, $32, $38, + $30, $39, $5A, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $04, + $31, $16, $04, $14, $28, $08, $AD, $E4, $C6, $3D, $CC, $75, $47, $B4, $0E, $B8, + $D3, $80, $68, $7E, $3A, $6E, $1A, $6B, $30, $81, $B6, $06, $0B, $2A, $86, $48, + $86, $F7, $0D, $01, $09, $10, $02, $0C, $31, $81, $A6, $30, $81, $A3, $30, $81, + $A0, $30, $16, $04, $14, $54, $09, $B5, $6C, $89, $BB, $1A, $88, $1D, $E1, $A3, + $2C, $95, $0D, $40, $FD, $6B, $94, $C7, $4E, $30, $81, $85, $04, $14, $B9, $42, + $94, $BF, $91, $EA, $8F, $B6, $4B, $E6, $10, $97, $C7, $FB, $00, $13, $59, $B6, + $76, $CB, $30, $6D, $30, $59, $A4, $57, $30, $55, $31, $0B, $30, $09, $06, $03, + $55, $04, $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, $55, $04, $0A, + $13, $11, $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, + $74, $65, $64, $31, $2A, $30, $28, $06, $03, $55, $04, $03, $13, $21, $43, $65, + $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $20, $41, $75, $74, $68, + $6F, $72, $69, $74, $79, $20, $6F, $66, $20, $57, $6F, $53, $69, $67, $6E, $02, + $10, $5E, $68, $D6, $11, $71, $94, $63, $50, $56, $00, $68, $F3, $3E, $C9, $C5, + $91, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, + $04, $82, $01, $00, $36, $AF, $10, $DE, $60, $17, $FE, $8C, $31, $9C, $1D, $6C, + $BD, $F1, $08, $90, $A5, $F0, $82, $A5, $6C, $6C, $81, $1B, $CA, $68, $45, $0F, + $AC, $DB, $76, $AD, $93, $D6, $FA, $98, $35, $CA, $EC, $80, $CF, $5A, $DA, $CC, + $04, $59, $38, $9D, $F6, $57, $6C, $36, $05, $AC, $37, $A5, $F0, $71, $97, $5B, + $0A, $41, $02, $D4, $A3, $66, $2E, $E7, $E5, $0D, $A1, $35, $DA, $C4, $19, $22, + $20, $74, $19, $FC, $67, $68, $AA, $CB, $77, $EA, $77, $9E, $44, $4E, $DE, $A2, + $9D, $24, $FB, $FF, $E5, $CC, $58, $B0, $AA, $E6, $ED, $FD, $08, $DC, $9B, $6E, + $A8, $A4, $1B, $0D, $BF, $09, $19, $AC, $8F, $F0, $A6, $6A, $D6, $74, $84, $C6, + $D9, $97, $8D, $2C, $65, $22, $3F, $D3, $8F, $4B, $13, $EC, $AA, $9E, $50, $C4, + $89, $32, $7A, $40, $CE, $17, $AF, $93, $2C, $64, $6A, $5B, $7D, $D8, $48, $F4, + $25, $26, $00, $D4, $46, $19, $E6, $4A, $25, $E7, $DC, $57, $E1, $5B, $98, $98, + $73, $4E, $95, $F1, $FB, $22, $3D, $0A, $C6, $DE, $28, $BE, $C9, $64, $6B, $61, + $94, $1B, $EC, $5D, $79, $17, $1B, $45, $55, $DD, $08, $75, $69, $AD, $44, $67, + $C4, $D9, $35, $AD, $3B, $18, $29, $36, $F6, $90, $55, $22, $39, $FB, $15, $00, + $77, $6A, $29, $34, $CE, $40, $AB, $54, $B2, $21, $3D, $83, $4F, $57, $4F, $22, + $20, $82, $76, $CE, $A2, $59, $E1, $36, $4F, $22, $63, $22, $CF, $4E, $7C, $91, + $D2, $F3, $C4, $96, $30, $82, $16, $2B, $06, $0A, $2B, $06, $01, $04, $01, $82, + $37, $02, $04, $01, $31, $82, $16, $1B, $30, $82, $16, $17, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $16, $08, $30, $82, $16, $04, $02, + $01, $01, $31, $0F, $30, $0D, $06, $09, $60, $86, $48, $01, $65, $03, $04, $02, + $01, $05, $00, $30, $5C, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, $02, $01, + $04, $A0, $4E, $30, $4C, $30, $17, $06, $0A, $2B, $06, $01, $04, $01, $82, $37, + $02, $01, $0F, $30, $09, $03, $01, $00, $A0, $04, $A2, $02, $80, $00, $30, $31, + $30, $0D, $06, $09, $60, $86, $48, $01, $65, $03, $04, $02, $01, $05, $00, $04, + $20, $BF, $86, $37, $E3, $72, $D4, $65, $3D, $F1, $05, $28, $BF, $B6, $60, $F5, + $D9, $63, $62, $35, $60, $87, $47, $01, $27, $7A, $E5, $72, $8B, $C0, $9B, $DD, + $76, $A0, $82, $04, $CE, $30, $82, $04, $CA, $30, $82, $02, $B2, $A0, $03, $02, + $01, $02, $02, $10, $2F, $A7, $24, $D1, $84, $61, $9A, $B9, $40, $B4, $C6, $A5, + $60, $C6, $04, $31, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, + $0B, $05, $00, $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, + $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, $70, + $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, + $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, $43, + $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, $6F, + $72, $69, $74, $79, $20, $2D, $20, $47, $32, $30, $1E, $17, $0D, $31, $35, $30, + $35, $30, $34, $31, $36, $30, $30, $30, $30, $5A, $17, $0D, $33, $35, $30, $35, + $30, $34, $31, $36, $30, $30, $30, $30, $5A, $30, $60, $31, $0B, $30, $09, $06, + $03, $55, $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $09, $01, $16, $06, $4C, $73, $75, $70, $65, $72, $31, + $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, + $53, $74, $75, $64, $69, $6F, $31, $23, $30, $21, $06, $03, $55, $04, $03, $13, + $1A, $53, $75, $70, $65, $72, $20, $43, $6F, $64, $65, $20, $53, $69, $67, $6E, + $69, $6E, $67, $20, $43, $41, $20, $2D, $20, $47, $32, $30, $82, $01, $22, $30, + $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, + $01, $0F, $00, $30, $82, $01, $0A, $02, $82, $01, $01, $00, $DD, $1D, $1E, $AE, + $62, $65, $5F, $B5, $3C, $04, $2E, $14, $2E, $79, $E4, $94, $51, $5A, $9A, $FD, + $82, $57, $AD, $DD, $12, $37, $3A, $95, $FF, $43, $0B, $71, $4A, $63, $3F, $B8, + $25, $FC, $91, $DC, $0F, $54, $FB, $39, $76, $E5, $E2, $04, $FF, $7A, $EB, $67, + $8B, $D4, $1E, $67, $BB, $E6, $71, $33, $09, $AC, $D5, $BF, $67, $28, $6C, $2F, + $4C, $DE, $01, $78, $11, $B5, $5E, $72, $B3, $CB, $3C, $16, $48, $71, $EC, $A5, + $97, $31, $13, $45, $32, $1E, $E8, $C5, $99, $CC, $33, $EF, $CB, $4E, $CF, $A9, + $E2, $0B, $0C, $E8, $A3, $B8, $BF, $47, $EF, $E0, $4E, $AA, $79, $ED, $35, $F0, + $7C, $48, $68, $51, $00, $CD, $B0, $40, $60, $43, $45, $28, $7A, $DF, $84, $13, + $A1, $16, $51, $0F, $93, $86, $3F, $53, $A4, $FD, $C5, $BD, $03, $C9, $70, $38, + $93, $17, $18, $9C, $20, $7D, $97, $16, $D9, $19, $40, $1B, $35, $22, $63, $4B, + $0A, $EF, $E1, $C1, $1E, $8A, $C1, $31, $BE, $CA, $33, $04, $E3, $C8, $F9, $DD, + $BB, $A4, $B1, $3E, $1F, $5D, $54, $CC, $E8, $81, $52, $09, $29, $0E, $DE, $BC, + $30, $16, $3E, $C3, $2E, $DF, $44, $93, $F5, $4F, $0D, $49, $AB, $8C, $B3, $B8, + $FE, $19, $88, $E9, $6B, $BC, $7E, $55, $6B, $B5, $13, $B2, $7E, $C9, $D6, $03, + $33, $2F, $A7, $E9, $B5, $45, $BB, $5C, $A5, $C9, $5E, $67, $38, $CC, $18, $2D, + $2E, $85, $00, $FE, $1D, $0F, $1F, $E0, $D7, $24, $BF, $AB, $02, $03, $01, $00, + $01, $A3, $81, $8B, $30, $81, $88, $30, $81, $85, $06, $03, $55, $1D, $01, $04, + $7E, $30, $7C, $80, $10, $7F, $28, $4D, $8C, $3E, $5E, $15, $FF, $B0, $11, $66, + $B1, $16, $C8, $E0, $C9, $A1, $56, $30, $54, $31, $0B, $30, $09, $06, $03, $55, + $04, $06, $13, $02, $43, $4E, $31, $15, $30, $13, $06, $03, $55, $04, $0A, $13, + $0C, $53, $75, $70, $65, $72, $20, $53, $74, $75, $64, $69, $6F, $31, $2E, $30, + $2C, $06, $03, $55, $04, $03, $13, $25, $53, $75, $70, $65, $72, $20, $52, $6F, + $6F, $74, $20, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $65, $20, $41, + $75, $74, $68, $6F, $72, $69, $74, $79, $20, $2D, $20, $47, $32, $82, $10, $FE, + $1E, $21, $8F, $FB, $D4, $48, $BA, $44, $FB, $30, $CF, $DB, $F6, $57, $72, $30, + $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $0B, $05, $00, $03, $82, + $02, $01, $00, $A8, $F1, $42, $48, $8C, $E3, $E3, $8F, $8B, $71, $4E, $50, $34, + $2D, $10, $63, $5C, $B1, $5E, $91, $75, $1E, $24, $E1, $9B, $1C, $60, $80, $A4, + $91, $60, $B9, $09, $01, $74, $E2, $F7, $A1, $D6, $57, $FF, $75, $F1, $B2, $A2, + $CF, $AB, $D1, $77, $67, $EE, $E3, $C4, $57, $CF, $E7, $15, $B5, $CB, $4B, $DF, + $2B, $CD, $D4, $DF, $0B, $F1, $9C, $F1, $F2, $5F, $18, $DB, $45, $6F, $60, $19, + $FC, $01, $4D, $13, $92, $BC, $B6, $FE, $D2, $BA, $A7, $B2, $D4, $28, $13, $E1, + $58, $BD, $E7, $FA, $42, $14, $A3, $B0, $80, $71, $E3, $D1, $FB, $4E, $4B, $FB, + $67, $09, $9E, $14, $9F, $52, $8B, $19, $AE, $C6, $B9, $8B, $AD, $D1, $C9, $C1, + $B8, $F5, $54, $E4, $78, $29, $B0, $D4, $6B, $5E, $45, $B6, $CC, $CE, $12, $2D, + $8A, $6D, $F4, $B3, $E9, $F3, $0C, $7C, $0B, $25, $0A, $C7, $5B, $FA, $48, $29, + $1E, $01, $09, $E5, $F9, $CC, $FE, $B9, $CD, $98, $A6, $68, $F5, $62, $9C, $35, + $DE, $D6, $0A, $30, $34, $6B, $FD, $34, $5F, $8C, $78, $15, $F5, $99, $FE, $D4, + $0D, $C5, $98, $44, $DA, $81, $C1, $36, $40, $BD, $E1, $A5, $3A, $CF, $98, $25, + $DA, $CB, $81, $DF, $1E, $73, $93, $15, $A2, $6A, $C8, $E5, $3F, $59, $69, $7C, + $9A, $DC, $C7, $BE, $D2, $3C, $B0, $BD, $DA, $B9, $1F, $CE, $95, $DB, $A5, $5B, + $24, $46, $7B, $9A, $C3, $FB, $A0, $B0, $1A, $79, $59, $6A, $A1, $91, $AC, $79, + $77, $FD, $CF, $9A, $EB, $C2, $27, $17, $BF, $73, $44, $94, $FE, $E6, $7A, $5C, + $A7, $83, $98, $4A, $F8, $15, $E2, $1E, $57, $CA, $80, $6E, $7D, $1F, $F0, $A6, + $C6, $D5, $9A, $DA, $24, $E6, $35, $7D, $A1, $1E, $BD, $EC, $59, $66, $74, $5B, + $3D, $94, $BF, $CE, $70, $12, $D3, $0F, $46, $5C, $E1, $BE, $28, $3C, $7E, $0D, + $9E, $A2, $E4, $C3, $D6, $2D, $48, $CB, $DA, $FF, $CD, $FD, $58, $00, $C6, $5D, + $6C, $4B, $CB, $49, $58, $2B, $9D, $F7, $92, $D9, $01, $9E, $A1, $A7, $A1, $83, + $A0, $FD, $33, $6C, $23, $DD, $31, $56, $95, $A9, $69, $77, $C9, $56, $35, $40, + $27, $BC, $D7, $30, $2A, $C0, $52, $91, $32, $2E, $AB, $47, $8D, $44, $FE, $15, + $E6, $06, $F1, $F1, $D9, $C3, $1F, $EB, $44, $DB, $71, $03, $D0, $BA, $AE, $5E, + $54, $57, $58, $40, $6D, $B1, $39, $E4, $6A, $73, $D2, $37, $87, $34, $7E, $D6, + $A2, $9E, $2C, $23, $15, $76, $07, $5C, $3A, $C3, $A5, $C6, $EA, $28, $50, $4F, + $4C, $28, $52, $0A, $C1, $F2, $4F, $DD, $82, $24, $5A, $BB, $58, $E4, $0E, $F6, + $F0, $21, $3E, $CA, $DA, $D2, $3F, $D4, $F6, $FF, $70, $C2, $0A, $D8, $77, $BD, + $62, $2C, $1F, $89, $DD, $54, $98, $03, $4A, $6A, $6D, $30, $06, $5D, $89, $F4, + $A2, $2E, $BF, $D8, $BF, $3C, $58, $42, $61, $D7, $7B, $9F, $EF, $B7, $1A, $56, + $10, $02, $D3, $BD, $FA, $0B, $C9, $3D, $68, $17, $88, $EC, $99, $10, $29, $32, + $7D, $E1, $39, $31, $82, $10, $BC, $30, $82, $10, $B8, $02, $01, $01, $30, $68, + $30, $54, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, + $15, $30, $13, $06, $03, $55, $04, $0A, $13, $0C, $53, $75, $70, $65, $72, $20, + $53, $74, $75, $64, $69, $6F, $31, $2E, $30, $2C, $06, $03, $55, $04, $03, $13, + $25, $53, $75, $70, $65, $72, $20, $52, $6F, $6F, $74, $20, $43, $65, $72, $74, + $69, $66, $69, $63, $61, $74, $65, $20, $41, $75, $74, $68, $6F, $72, $69, $74, + $79, $20, $2D, $20, $47, $32, $02, $10, $2F, $A7, $24, $D1, $84, $61, $9A, $B9, + $40, $B4, $C6, $A5, $60, $C6, $04, $31, $30, $0D, $06, $09, $60, $86, $48, $01, + $65, $03, $04, $02, $01, $05, $00, $A0, $81, $A3, $30, $11, $06, $0A, $2A, $86, + $48, $86, $F7, $0D, $01, $09, $19, $04, $31, $03, $02, $01, $01, $30, $19, $06, + $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $03, $31, $0C, $06, $0A, $2B, $06, + $01, $04, $01, $82, $37, $02, $01, $04, $30, $2F, $06, $09, $2A, $86, $48, $86, + $F7, $0D, $01, $09, $04, $31, $22, $04, $20, $75, $76, $B5, $B6, $98, $C8, $63, + $22, $54, $5C, $96, $56, $5D, $3A, $C8, $E2, $2C, $19, $BA, $3B, $09, $85, $09, + $2B, $F7, $12, $45, $30, $FD, $8C, $65, $2A, $30, $42, $06, $0A, $2B, $06, $01, + $04, $01, $82, $37, $02, $01, $0C, $31, $34, $30, $32, $A0, $18, $80, $16, $00, + $44, $00, $65, $00, $6C, $00, $70, $00, $68, $00, $69, $00, $20, $00, $4C, $00, + $69, $00, $74, $00, $65, $A1, $16, $80, $14, $77, $77, $77, $2E, $65, $6D, $62, + $61, $72, $63, $61, $64, $65, $72, $6F, $2E, $63, $6F, $6D, $20, $30, $0D, $06, + $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $04, $82, $01, $00, + $1F, $8E, $EE, $07, $82, $6C, $B6, $C4, $25, $47, $89, $3C, $01, $A2, $2E, $19, + $4F, $14, $19, $10, $5C, $0F, $2A, $F9, $FE, $16, $34, $0F, $E6, $17, $0D, $3A, + $34, $5F, $C5, $D8, $5B, $AF, $C7, $45, $96, $0B, $B6, $73, $27, $88, $CE, $1F, + $9D, $CD, $6D, $F6, $6B, $2D, $C9, $B8, $EB, $F5, $FC, $CA, $D0, $74, $3C, $71, + $F3, $41, $1E, $BB, $71, $F3, $1C, $6D, $76, $F7, $CB, $72, $47, $F7, $DB, $67, + $D4, $73, $4D, $8D, $02, $E3, $97, $8F, $67, $7D, $A9, $F7, $E4, $A1, $D0, $DB, + $28, $07, $35, $00, $26, $15, $15, $C8, $80, $84, $12, $3F, $5A, $88, $18, $DA, + $7A, $7D, $93, $25, $0D, $DC, $7D, $16, $93, $85, $54, $79, $6A, $DF, $8C, $DF, + $B8, $93, $E5, $39, $BD, $CB, $82, $43, $3C, $4F, $60, $29, $50, $F3, $E4, $6E, + $BC, $16, $5F, $B0, $26, $5F, $4F, $F1, $E9, $0E, $0A, $4E, $04, $77, $5D, $D6, + $FA, $ED, $9F, $94, $09, $79, $6E, $D0, $BB, $95, $32, $B7, $CB, $26, $16, $3A, + $6D, $46, $75, $D3, $31, $9F, $2F, $CD, $F9, $C6, $A0, $C0, $B3, $BA, $74, $0E, + $28, $24, $20, $A7, $EF, $AC, $26, $BD, $3D, $AF, $D9, $B7, $86, $6C, $17, $49, + $D4, $B6, $76, $5E, $ED, $37, $A0, $95, $23, $52, $26, $D1, $02, $34, $33, $BE, + $32, $9F, $96, $0A, $AD, $4C, $07, $3B, $A5, $46, $04, $2B, $59, $EF, $EE, $2C, + $6E, $48, $E7, $D6, $31, $43, $C2, $3D, $08, $F4, $7B, $81, $AE, $54, $8F, $3D, + $A1, $82, $0E, $7F, $30, $82, $0E, $7B, $06, $0A, $2B, $06, $01, $04, $01, $82, + $37, $03, $03, $01, $31, $82, $0E, $6B, $30, $82, $0E, $67, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $07, $02, $A0, $82, $0E, $58, $30, $82, $0E, $54, $02, + $01, $03, $31, $0B, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, $05, $00, $30, + $81, $CA, $06, $0B, $2A, $86, $48, $86, $F7, $0D, $01, $09, $10, $01, $04, $A0, + $81, $BA, $04, $81, $B7, $30, $81, $B4, $02, $01, $01, $06, $08, $2B, $06, $01, + $04, $01, $EB, $42, $03, $30, $21, $30, $09, $06, $05, $2B, $0E, $03, $02, $1A, + $05, $00, $04, $14, $20, $F0, $43, $7A, $8B, $27, $50, $E4, $25, $97, $A9, $36, + $D1, $F4, $20, $C3, $6F, $E5, $59, $8F, $02, $10, $42, $33, $A7, $2A, $5D, $21, + $DD, $4A, $CE, $E8, $30, $1F, $ED, $62, $25, $00, $18, $0F, $32, $30, $31, $39, + $30, $32, $31, $37, $31, $32, $32, $38, $30, $39, $5A, $30, $0A, $02, $01, $01, + $80, $02, $01, $F4, $81, $01, $64, $A0, $53, $A4, $51, $30, $4F, $31, $0B, $30, + $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, + $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, + $69, $6D, $69, $74, $65, $64, $31, $24, $30, $22, $06, $03, $55, $04, $03, $13, + $1B, $57, $6F, $53, $69, $67, $6E, $20, $54, $69, $6D, $65, $20, $53, $74, $61, + $6D, $70, $69, $6E, $67, $20, $53, $69, $67, $6E, $65, $72, $A0, $82, $0A, $C3, + $30, $82, $05, $45, $30, $82, $03, $2D, $A0, $03, $02, $01, $02, $02, $10, $25, + $1F, $5D, $98, $81, $82, $17, $2E, $3C, $41, $9E, $01, $4F, $B0, $40, $4C, $30, + $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05, $05, $00, $30, $55, + $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $1A, $30, + $18, $06, $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, $20, $43, + $41, $20, $4C, $69, $6D, $69, $74, $65, $64, $31, $2A, $30, $28, $06, $03, $55, + $04, $03, $13, $21, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, + $6E, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $6F, $66, $20, $57, + $6F, $53, $69, $67, $6E, $30, $1E, $17, $0D, $30, $39, $30, $38, $30, $38, $30, + $31, $30, $30, $30, $35, $5A, $17, $0D, $32, $34, $30, $38, $30, $38, $30, $31, + $30, $30, $30, $35, $5A, $30, $4F, $31, $0B, $30, $09, $06, $03, $55, $04, $06, + $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, $55, $04, $0A, $13, $11, $57, + $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, $74, $65, $64, + $31, $24, $30, $22, $06, $03, $55, $04, $03, $13, $1B, $57, $6F, $53, $69, $67, + $6E, $20, $54, $69, $6D, $65, $20, $53, $74, $61, $6D, $70, $69, $6E, $67, $20, + $53, $69, $67, $6E, $65, $72, $30, $82, $01, $22, $30, $0D, $06, $09, $2A, $86, + $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, $01, $0F, $00, $30, $82, + $01, $0A, $02, $82, $01, $01, $00, $A5, $D0, $68, $BA, $82, $CB, $DB, $A7, $6D, + $55, $B9, $31, $A7, $DA, $F4, $9C, $6B, $03, $54, $4F, $A2, $1C, $EF, $1C, $B5, + $96, $44, $1F, $56, $41, $3F, $61, $B0, $03, $59, $4B, $82, $0E, $DB, $15, $C8, + $D0, $CC, $E0, $87, $C6, $09, $75, $8A, $84, $E3, $ED, $97, $C2, $C8, $92, $34, + $C0, $F1, $64, $53, $60, $51, $34, $48, $90, $B1, $4F, $89, $69, $F5, $2E, $A0, + $2A, $16, $54, $2F, $C0, $37, $58, $FF, $35, $52, $1B, $52, $08, $CF, $B9, $EC, + $5A, $27, $52, $5A, $83, $EB, $68, $B1, $B9, $F8, $B2, $A9, $08, $F3, $4F, $AB, + $17, $0F, $2E, $BD, $4F, $E5, $12, $8A, $BF, $7C, $B7, $E7, $65, $32, $3B, $83, + $41, $02, $22, $3A, $24, $3B, $6A, $A3, $3C, $AF, $EB, $79, $42, $17, $56, $74, + $C8, $61, $63, $DD, $8C, $2F, $3E, $EF, $3A, $A3, $47, $52, $04, $3B, $00, $18, + $AE, $26, $71, $E0, $7A, $04, $8D, $75, $82, $2D, $65, $4E, $C1, $B8, $F2, $8C, + $DE, $0F, $63, $03, $D4, $C3, $52, $60, $72, $8C, $88, $CC, $6F, $96, $D5, $C7, + $7D, $29, $DB, $26, $04, $9E, $A2, $B4, $BF, $5A, $B5, $6E, $F2, $46, $0F, $29, + $81, $C5, $C0, $4F, $A6, $87, $8C, $7C, $21, $07, $54, $1F, $50, $F0, $42, $5C, + $55, $7C, $CF, $44, $2E, $41, $3D, $18, $8D, $5F, $D9, $68, $E6, $47, $91, $8F, + $CF, $DC, $7D, $90, $60, $FF, $CB, $48, $E4, $61, $5E, $4F, $73, $45, $0D, $C8, + $34, $89, $03, $D5, $FE, $0B, $C3, $02, $03, $01, $00, $01, $A3, $82, $01, $15, + $30, $82, $01, $11, $30, $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, + $03, $02, $06, $C0, $30, $16, $06, $03, $55, $1D, $25, $01, $01, $FF, $04, $0C, + $30, $0A, $06, $08, $2B, $06, $01, $05, $05, $07, $03, $08, $30, $0C, $06, $03, + $55, $1D, $13, $01, $01, $FF, $04, $02, $30, $00, $30, $30, $06, $03, $55, $1D, + $1F, $04, $29, $30, $27, $30, $25, $A0, $23, $A0, $21, $86, $1F, $68, $74, $74, + $70, $3A, $2F, $2F, $63, $72, $6C, $73, $31, $2E, $77, $6F, $73, $69, $67, $6E, + $2E, $63, $6F, $6D, $2F, $63, $61, $31, $2E, $63, $72, $6C, $30, $67, $06, $08, + $2B, $06, $01, $05, $05, $07, $01, $01, $04, $5B, $30, $59, $30, $27, $06, $08, + $2B, $06, $01, $05, $05, $07, $30, $01, $86, $1B, $68, $74, $74, $70, $3A, $2F, + $2F, $6F, $63, $73, $70, $31, $2E, $77, $6F, $73, $69, $67, $6E, $2E, $63, $6F, + $6D, $2F, $63, $61, $31, $30, $2E, $06, $08, $2B, $06, $01, $05, $05, $07, $30, + $02, $86, $22, $68, $74, $74, $70, $3A, $2F, $2F, $61, $69, $61, $31, $2E, $77, + $6F, $73, $69, $67, $6E, $2E, $63, $6F, $6D, $2F, $63, $61, $31, $2D, $74, $73, + $61, $2E, $63, $65, $72, $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, + $DF, $6E, $12, $D5, $0C, $54, $2E, $5A, $14, $CA, $DE, $03, $DE, $AB, $4E, $D4, + $98, $0C, $46, $B5, $30, $1F, $06, $03, $55, $1D, $23, $04, $18, $30, $16, $80, + $14, $E1, $66, $CF, $0E, $D1, $F1, $B3, $4B, $B7, $06, $20, $14, $FE, $87, $12, + $D5, $F6, $FE, $FB, $3E, $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, + $01, $05, $05, $00, $03, $82, $02, $01, $00, $7C, $98, $2F, $BB, $C3, $D2, $AE, + $C2, $2A, $8F, $A6, $97, $76, $56, $86, $32, $C4, $CD, $36, $68, $8B, $EC, $D7, + $80, $1A, $31, $79, $B0, $5E, $56, $B9, $69, $EB, $B9, $0B, $32, $A9, $83, $26, + $DC, $77, $5D, $7A, $56, $B2, $46, $A0, $7D, $15, $D6, $6D, $F9, $AC, $F8, $35, + $73, $78, $36, $02, $60, $22, $20, $1C, $EF, $18, $8F, $7E, $66, $B2, $4F, $E7, + $71, $93, $5A, $2B, $E6, $E5, $8D, $3D, $5D, $2E, $27, $4B, $46, $CB, $1D, $04, + $F3, $0B, $8C, $3F, $13, $A8, $0D, $D4, $CD, $E8, $28, $E8, $2A, $9C, $55, $C8, + $E3, $FF, $9D, $A9, $22, $49, $6E, $E8, $E7, $88, $92, $37, $57, $80, $60, $44, + $18, $27, $43, $58, $18, $04, $6D, $86, $C0, $65, $47, $05, $57, $55, $50, $91, + $E6, $73, $50, $EE, $3F, $10, $A9, $8F, $05, $2F, $DA, $68, $11, $53, $6E, $1F, + $AD, $98, $F3, $76, $3E, $85, $D0, $57, $A3, $CF, $E4, $C1, $1A, $4C, $64, $06, + $A6, $44, $AB, $4E, $1E, $E2, $4B, $D5, $A4, $6D, $71, $F8, $6B, $CB, $66, $13, + $A6, $47, $1F, $21, $2A, $A1, $AE, $4C, $89, $A4, $7D, $28, $77, $17, $4F, $88, + $8D, $B1, $D1, $5D, $B1, $C4, $93, $5A, $BF, $22, $92, $6C, $AB, $67, $82, $68, + $ED, $D7, $21, $CB, $63, $BC, $93, $C4, $17, $8E, $87, $19, $25, $AD, $17, $54, + $B4, $79, $D2, $A5, $93, $73, $BC, $7C, $BB, $E4, $80, $0F, $8F, $CC, $AA, $0A, + $D0, $E4, $93, $75, $AA, $6C, $CF, $49, $7D, $75, $EC, $82, $28, $5C, $73, $F0, + $42, $BF, $9E, $A6, $13, $2E, $DE, $6C, $EE, $80, $03, $A6, $EE, $88, $36, $A0, + $1B, $B2, $82, $E8, $3D, $BB, $A6, $1A, $D5, $11, $AE, $0A, $0B, $62, $D6, $51, + $36, $97, $23, $17, $52, $26, $ED, $F1, $C5, $B6, $21, $75, $39, $15, $07, $E0, + $42, $F1, $2A, $89, $04, $77, $66, $AD, $14, $04, $D2, $C7, $D4, $7C, $4F, $6C, + $DD, $4E, $DC, $ED, $8E, $A9, $F6, $86, $17, $E7, $E1, $59, $66, $BB, $D0, $7A, + $D0, $94, $42, $EB, $AF, $C1, $54, $CA, $E2, $1A, $A4, $A9, $B6, $A5, $D4, $81, + $CA, $15, $26, $FA, $6F, $B4, $DF, $78, $10, $04, $8C, $48, $18, $BC, $28, $59, + $66, $9A, $B8, $18, $F1, $D9, $5E, $5B, $82, $FF, $FE, $11, $D7, $D4, $04, $36, + $30, $9F, $51, $1D, $3C, $C8, $64, $40, $75, $7C, $D8, $35, $83, $EF, $B1, $E5, + $28, $76, $0A, $05, $3D, $E9, $B8, $1E, $70, $50, $3A, $60, $E2, $A5, $01, $88, + $88, $9C, $04, $CC, $6A, $F2, $15, $85, $D1, $0C, $B7, $4A, $6D, $93, $4E, $82, + $CA, $29, $E9, $75, $0B, $42, $E4, $3A, $47, $24, $08, $6D, $80, $5C, $E6, $6A, + $67, $2C, $B6, $13, $08, $C9, $4F, $D8, $66, $53, $B9, $B6, $7F, $E2, $EA, $39, + $95, $6F, $71, $77, $96, $03, $AF, $B9, $E3, $CC, $E3, $A1, $B9, $F1, $01, $C6, + $6E, $BE, $FC, $97, $5C, $B2, $D1, $F1, $7B, $FB, $33, $C6, $65, $EA, $E6, $18, + $F9, $AB, $3A, $27, $1A, $2D, $20, $6B, $E6, $30, $82, $05, $76, $30, $82, $03, + $5E, $A0, $03, $02, $01, $02, $02, $10, $5E, $68, $D6, $11, $71, $94, $63, $50, + $56, $00, $68, $F3, $3E, $C9, $C5, $91, $30, $0D, $06, $09, $2A, $86, $48, $86, + $F7, $0D, $01, $01, $05, $05, $00, $30, $55, $31, $0B, $30, $09, $06, $03, $55, + $04, $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, $55, $04, $0A, $13, + $11, $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, $74, + $65, $64, $31, $2A, $30, $28, $06, $03, $55, $04, $03, $13, $21, $43, $65, $72, + $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $20, $41, $75, $74, $68, $6F, + $72, $69, $74, $79, $20, $6F, $66, $20, $57, $6F, $53, $69, $67, $6E, $30, $1E, + $17, $0D, $30, $39, $30, $38, $30, $38, $30, $31, $30, $30, $30, $31, $5A, $17, + $0D, $33, $39, $30, $38, $30, $38, $30, $31, $30, $30, $30, $31, $5A, $30, $55, + $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, $1A, $30, + $18, $06, $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, $20, $43, + $41, $20, $4C, $69, $6D, $69, $74, $65, $64, $31, $2A, $30, $28, $06, $03, $55, + $04, $03, $13, $21, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, $69, $6F, + $6E, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $6F, $66, $20, $57, + $6F, $53, $69, $67, $6E, $30, $82, $02, $22, $30, $0D, $06, $09, $2A, $86, $48, + $86, $F7, $0D, $01, $01, $01, $05, $00, $03, $82, $02, $0F, $00, $30, $82, $02, + $0A, $02, $82, $02, $01, $00, $BD, $CA, $8D, $AC, $B8, $91, $15, $56, $97, $7B, + $6B, $5C, $7A, $C2, $DE, $6B, $D9, $A1, $B0, $C3, $10, $23, $FA, $A7, $A1, $B2, + $CC, $31, $FA, $3E, $D9, $A6, $29, $6F, $16, $3D, $E0, $6B, $F8, $B8, $40, $5F, + $DB, $39, $A8, $00, $7A, $8B, $A0, $4D, $54, $7D, $C2, $22, $78, $FC, $8E, $09, + $B8, $A8, $85, $D7, $CC, $95, $97, $4B, $74, $D8, $9E, $7E, $F0, $00, $E4, $0E, + $89, $AE, $49, $28, $44, $1A, $10, $99, $32, $0F, $25, $88, $53, $A4, $0D, $B3, + $0F, $12, $08, $16, $0B, $03, $71, $27, $1C, $7F, $E1, $DB, $D2, $FD, $67, $68, + $C4, $05, $5D, $0A, $0E, $5D, $70, $D7, $D8, $97, $A0, $BC, $53, $41, $9A, $91, + $8D, $F4, $9E, $36, $66, $7A, $7E, $56, $C1, $90, $5F, $E6, $B1, $68, $20, $36, + $A4, $8C, $24, $2C, $2C, $47, $0B, $59, $76, $66, $30, $B5, $BE, $DE, $ED, $8F, + $F8, $9D, $D3, $BB, $01, $30, $E6, $F2, $F3, $0E, $E0, $2C, $92, $80, $F3, $85, + $F9, $28, $8A, $B4, $54, $2E, $9A, $ED, $F7, $76, $FC, $15, $68, $16, $EB, $4A, + $6C, $EB, $2E, $12, $8F, $D4, $CF, $FE, $0C, $C7, $5C, $1D, $0B, $7E, $05, $32, + $BE, $5E, $B0, $09, $2A, $42, $D5, $C9, $4E, $90, $B3, $59, $0D, $BB, $7A, $7E, + $CD, $D5, $08, $5A, $B4, $7F, $D8, $1C, $69, $11, $F9, $27, $0F, $7B, $06, $AF, + $54, $83, $18, $7B, $E1, $DD, $54, $7A, $51, $68, $6E, $77, $FC, $C6, $BF, $52, + $4A, $66, $46, $A1, $B2, $67, $1A, $BB, $A3, $4F, $77, $A0, $BE, $5D, $FF, $FC, + $56, $0B, $43, $72, $77, $90, $CA, $9E, $F9, $F2, $39, $F5, $0D, $A9, $F4, $EA, + $D7, $E7, $B3, $10, $2F, $30, $42, $37, $21, $CC, $30, $70, $C9, $86, $98, $0F, + $CC, $58, $4D, $83, $BB, $7D, $E5, $1A, $A5, $37, $8D, $B6, $AC, $32, $97, $00, + $3A, $63, $71, $24, $1E, $9E, $37, $C4, $FF, $74, $D4, $37, $C0, $E2, $FE, $88, + $46, $60, $11, $DD, $08, $3F, $50, $36, $AB, $B8, $7A, $A4, $95, $62, $6A, $6E, + $B0, $CA, $6A, $21, $5A, $69, $F3, $F3, $FB, $1D, $70, $39, $95, $F3, $A7, $6E, + $A6, $81, $89, $A1, $88, $C5, $3B, $71, $CA, $A3, $52, $EE, $83, $BB, $FD, $A0, + $77, $F4, $E4, $6F, $E7, $42, $DB, $6D, $4A, $99, $8A, $34, $48, $BC, $17, $DC, + $E4, $80, $08, $22, $B6, $F2, $31, $C0, $3F, $04, $3E, $EB, $9F, $20, $79, $D6, + $B8, $06, $64, $64, $02, $31, $D7, $A9, $CD, $52, $FB, $84, $45, $69, $09, $00, + $2A, $DC, $55, $8B, $C4, $06, $46, $4B, $C0, $4A, $1D, $09, $5B, $39, $28, $FD, + $A9, $AB, $CE, $00, $F9, $2E, $48, $4B, $26, $E6, $30, $4C, $A5, $58, $CA, $B4, + $44, $82, $4F, $E7, $91, $1E, $33, $C3, $B0, $93, $FF, $11, $FC, $81, $D2, $CA, + $1F, $71, $29, $DD, $76, $4F, $92, $25, $AF, $1D, $81, $B7, $0F, $2F, $8C, $C3, + $06, $CC, $2F, $27, $A3, $4A, $E4, $0E, $99, $BA, $7C, $1E, $45, $1F, $7F, $AA, + $19, $45, $96, $FD, $FC, $3D, $02, $03, $01, $00, $01, $A3, $42, $30, $40, $30, + $0E, $06, $03, $55, $1D, $0F, $01, $01, $FF, $04, $04, $03, $02, $01, $06, $30, + $0F, $06, $03, $55, $1D, $13, $01, $01, $FF, $04, $05, $30, $03, $01, $01, $FF, + $30, $1D, $06, $03, $55, $1D, $0E, $04, $16, $04, $14, $E1, $66, $CF, $0E, $D1, + $F1, $B3, $4B, $B7, $06, $20, $14, $FE, $87, $12, $D5, $F6, $FE, $FB, $3E, $30, + $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $05, $05, $00, $03, $82, + $02, $01, $00, $A8, $CB, $72, $40, $B2, $76, $C1, $7E, $7B, $FC, $AD, $64, $E3, + $32, $7B, $CC, $3C, $B6, $5D, $46, $D3, $F5, $2C, $E2, $70, $5D, $C8, $2E, $D8, + $06, $7D, $98, $D1, $0B, $21, $A0, $89, $59, $24, $01, $9D, $F9, $AF, $09, $7D, + $0A, $23, $82, $34, $D5, $FC, $7C, $72, $99, $B9, $A3, $D7, $54, $F4, $EA, $52, + $70, $0E, $C5, $F5, $D6, $3B, $E1, $3A, $09, $32, $E6, $21, $39, $93, $BD, $B3, + $15, $EA, $4F, $6A, $F4, $F5, $8B, $3F, $2F, $7C, $8D, $58, $2E, $C5, $E1, $39, + $A0, $3E, $C7, $3D, $4A, $73, $9E, $40, $7A, $C0, $2B, $61, $A9, $67, $C9, $F3, + $24, $B9, $B3, $6D, $55, $2C, $5A, $1D, $9E, $25, $72, $CE, $0B, $AD, $AA, $C7, + $55, $62, $0B, $BE, $FB, $63, $B3, $61, $44, $23, $A3, $CB, $E1, $1A, $0E, $F7, + $9A, $06, $4D, $DE, $D4, $23, $4E, $21, $96, $5B, $39, $5B, $57, $1D, $2F, $5D, + $08, $5E, $09, $79, $FF, $7C, $97, $B5, $4D, $83, $AE, $0D, $D6, $E6, $A3, $79, + $E0, $33, $D0, $99, $96, $02, $30, $A7, $3E, $FF, $D2, $A3, $43, $3F, $05, $5A, + $06, $EA, $44, $02, $DA, $7C, $F8, $48, $D0, $33, $A9, $F9, $07, $C7, $95, $E1, + $F5, $3E, $F5, $5D, $71, $BA, $F2, $95, $A9, $74, $88, $61, $59, $E3, $BF, $CA, + $5A, $13, $BA, $72, $B4, $8C, $5D, $36, $87, $E9, $A6, $C5, $3C, $13, $BF, $DE, + $D0, $44, $26, $EE, $B7, $EC, $2E, $70, $FA, $D7, $9D, $B7, $AC, $E5, $C5, $40, + $5A, $E6, $D7, $6C, $7B, $2C, $C3, $56, $9B, $47, $CD, $0B, $CE, $FA, $1B, $B4, + $21, $D7, $B7, $66, $B8, $F4, $25, $30, $8B, $5C, $0D, $B9, $EA, $67, $B2, $F4, + $6D, $AE, $D5, $A1, $9E, $4F, $D8, $9F, $E9, $27, $02, $B0, $1D, $06, $D6, $8F, + $E3, $FB, $48, $12, $9F, $7F, $11, $A1, $10, $3E, $4C, $51, $3A, $96, $B0, $D1, + $13, $F1, $C7, $D8, $26, $AE, $3A, $CA, $91, $C4, $69, $9D, $DF, $01, $29, $64, + $51, $6F, $68, $DA, $14, $EC, $08, $41, $97, $90, $8D, $D0, $B2, $80, $F2, $CF, + $C2, $3D, $BF, $91, $68, $C5, $80, $67, $1E, $C4, $60, $13, $55, $D5, $61, $99, + $57, $7C, $BA, $95, $0F, $61, $49, $3A, $CA, $75, $BC, $C9, $0A, $93, $3F, $67, + $0E, $12, $F2, $28, $E2, $31, $1B, $C0, $57, $16, $DF, $08, $7C, $19, $C1, $7E, + $0F, $1F, $85, $1E, $0A, $36, $7C, $5B, $7E, $27, $BC, $7A, $BF, $E0, $DB, $F4, + $DA, $52, $BD, $DE, $0C, $54, $70, $31, $91, $43, $95, $C8, $BC, $F0, $3E, $DD, + $09, $7E, $30, $64, $50, $ED, $7F, $01, $A4, $33, $67, $4D, $68, $4F, $BE, $15, + $EF, $B0, $F6, $02, $11, $A2, $1B, $13, $25, $3A, $DC, $C2, $59, $F1, $E3, $5C, + $46, $BB, $67, $2C, $02, $46, $EA, $1E, $48, $A6, $E6, $5B, $D9, $B5, $BC, $51, + $A2, $92, $96, $DB, $AA, $C6, $37, $22, $A6, $FE, $CC, $20, $74, $A3, $2D, $A9, + $2E, $6B, $CB, $C0, $82, $11, $21, $B5, $93, $79, $EE, $44, $86, $BE, $D7, $1E, + $E4, $1E, $FB, $31, $82, $02, $AC, $30, $82, $02, $A8, $02, $01, $01, $30, $69, + $30, $55, $31, $0B, $30, $09, $06, $03, $55, $04, $06, $13, $02, $43, $4E, $31, + $1A, $30, $18, $06, $03, $55, $04, $0A, $13, $11, $57, $6F, $53, $69, $67, $6E, + $20, $43, $41, $20, $4C, $69, $6D, $69, $74, $65, $64, $31, $2A, $30, $28, $06, + $03, $55, $04, $03, $13, $21, $43, $65, $72, $74, $69, $66, $69, $63, $61, $74, + $69, $6F, $6E, $20, $41, $75, $74, $68, $6F, $72, $69, $74, $79, $20, $6F, $66, + $20, $57, $6F, $53, $69, $67, $6E, $02, $10, $25, $1F, $5D, $98, $81, $82, $17, + $2E, $3C, $41, $9E, $01, $4F, $B0, $40, $4C, $30, $09, $06, $05, $2B, $0E, $03, + $02, $1A, $05, $00, $A0, $82, $01, $18, $30, $1A, $06, $09, $2A, $86, $48, $86, + $F7, $0D, $01, $09, $03, $31, $0D, $06, $0B, $2A, $86, $48, $86, $F7, $0D, $01, + $09, $10, $01, $04, $30, $1C, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, + $05, $31, $0F, $17, $0D, $31, $39, $30, $32, $31, $37, $31, $32, $32, $38, $30, + $39, $5A, $30, $23, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $09, $04, $31, + $16, $04, $14, $0C, $5C, $9D, $36, $EA, $52, $32, $29, $3E, $36, $BD, $80, $B2, + $2D, $45, $75, $B1, $01, $6E, $C4, $30, $81, $B6, $06, $0B, $2A, $86, $48, $86, + $F7, $0D, $01, $09, $10, $02, $0C, $31, $81, $A6, $30, $81, $A3, $30, $81, $A0, + $30, $16, $04, $14, $54, $09, $B5, $6C, $89, $BB, $1A, $88, $1D, $E1, $A3, $2C, + $95, $0D, $40, $FD, $6B, $94, $C7, $4E, $30, $81, $85, $04, $14, $B9, $42, $94, + $BF, $91, $EA, $8F, $B6, $4B, $E6, $10, $97, $C7, $FB, $00, $13, $59, $B6, $76, + $CB, $30, $6D, $30, $59, $A4, $57, $30, $55, $31, $0B, $30, $09, $06, $03, $55, + $04, $06, $13, $02, $43, $4E, $31, $1A, $30, $18, $06, $03, $55, $04, $0A, $13, + $11, $57, $6F, $53, $69, $67, $6E, $20, $43, $41, $20, $4C, $69, $6D, $69, $74, + $65, $64, $31, $2A, $30, $28, $06, $03, $55, $04, $03, $13, $21, $43, $65, $72, + $74, $69, $66, $69, $63, $61, $74, $69, $6F, $6E, $20, $41, $75, $74, $68, $6F, + $72, $69, $74, $79, $20, $6F, $66, $20, $57, $6F, $53, $69, $67, $6E, $02, $10, + $5E, $68, $D6, $11, $71, $94, $63, $50, $56, $00, $68, $F3, $3E, $C9, $C5, $91, + $30, $0D, $06, $09, $2A, $86, $48, $86, $F7, $0D, $01, $01, $01, $05, $00, $04, + $82, $01, $00, $2B, $E6, $B0, $1D, $97, $80, $CD, $2E, $23, $1C, $A3, $8E, $0A, + $F7, $17, $57, $CE, $C5, $EA, $82, $2B, $48, $26, $10, $73, $CC, $78, $35, $E6, + $30, $20, $94, $C0, $DA, $95, $01, $75, $DE, $03, $BB, $69, $44, $AB, $92, $38, + $CF, $84, $AF, $F9, $5D, $78, $A3, $8E, $0B, $AB, $56, $37, $03, $70, $37, $FA, + $48, $2F, $0B, $DD, $C0, $69, $C2, $F1, $27, $2C, $ED, $82, $C7, $05, $A1, $36, + $32, $28, $C3, $0C, $0E, $A0, $A5, $6C, $26, $75, $A6, $08, $04, $B5, $09, $09, + $36, $37, $D8, $F3, $A1, $9B, $FE, $E2, $A7, $31, $04, $9C, $EA, $A4, $FD, $E3, + $B9, $13, $57, $9A, $53, $1A, $EF, $9D, $FA, $A9, $DD, $1B, $CE, $85, $7D, $C9, + $55, $F4, $59, $DC, $FB, $03, $CD, $D2, $D8, $B6, $1C, $AC, $EA, $C6, $1E, $A1, + $66, $52, $AD, $AE, $11, $78, $51, $19, $52, $8F, $6B, $07, $7F, $D4, $AC, $F3, + $54, $EB, $CB, $B5, $45, $F7, $A3, $BB, $15, $B1, $6E, $18, $81, $A0, $A4, $1D, + $60, $19, $2E, $BA, $22, $C0, $BA, $94, $8E, $54, $9B, $A8, $57, $7A, $FD, $A7, + $CD, $5E, $8B, $94, $2B, $67, $79, $E5, $FB, $47, $34, $E3, $61, $44, $63, $15, + $47, $0A, $BF, $AB, $E6, $A4, $7C, $DD, $F9, $C4, $C9, $B3, $9B, $DA, $26, $DE, + $1D, $4F, $22, $FB, $C6, $92, $14, $2A, $37, $5C, $BE, $9B, $9C, $3D, $60, $F3, + $AD, $CB, $9C, $58, $7D, $49, $3A, $60, $F3, $5C, $96, $09, $7F, $00, $EA, $FA, + $A2, $EF, $75, $00, $00, $00, $00, $00 + ); + diff --git a/10.3.1/Activator/PatchData.pas b/10.3.1/Activator/PatchData.pas new file mode 100644 index 0000000..4ac0440 --- /dev/null +++ b/10.3.1/Activator/PatchData.pas @@ -0,0 +1,26 @@ +{ *********************************************************************** } +{ } +{ ߵԪ } +{ } +{ ƣLsuper 2013.02.16 } +{ ע } +{ ˣ } +{ } +{ Copyright (c) 1998-2014 Super Studio } +{ } +{ *********************************************************************** } + +unit PatchData; + +interface + +uses + SysUtils, Classes; + +const + +{$I PatchData.inc} { ļ } + +implementation + +end. diff --git a/10.3.1/Activator/TMainForm.inc b/10.3.1/Activator/TMainForm.inc new file mode 100644 index 0000000..5de11a9 --- /dev/null +++ b/10.3.1/Activator/TMainForm.inc @@ -0,0 +1 @@ +TMainForm = class(TObj) diff --git a/10.3.1/Activator/TMainFormclass.inc b/10.3.1/Activator/TMainFormclass.inc new file mode 100644 index 0000000..547a4cd --- /dev/null +++ b/10.3.1/Activator/TMainFormclass.inc @@ -0,0 +1 @@ +TMainForm = class; PMainForm = TMainForm; diff --git a/10.3.1/Activator/WinUtils.pas b/10.3.1/Activator/WinUtils.pas new file mode 100644 index 0000000..7168e4e --- /dev/null +++ b/10.3.1/Activator/WinUtils.pas @@ -0,0 +1,383 @@ +{ *********************************************************************** } +{ } +{ Win Ԫ } +{ } +{ ƣLsuper 2013.04.26 } +{ ע } +{ ˣ } +{ } +{ Copyright (c) 1998-2014 Super Studio } +{ } +{ *********************************************************************** } + +unit WinUtils; + +{$WARNINGS OFF} + +interface + +uses + SysUtils, Windows; + +function GetCommandLineOutput(const ACommandLine, AWorkDir: string; + out ExitCode: LongWord): string; +function GetFileBuildVersion(const AFile: string): Integer; +function GetShellFolderPath(nFolder: Integer): string; +function GetWindowsPath: string; + +function TaskMessageBox(const AHandle: THandle; const AText, ACaption: string; + const Icon, Buttons: Integer): Integer; +function IsWindowsVista: Boolean; + +procedure Delay(ASeconds: Double); + +function CreateProcessEx(lpApplicationName: PChar; lpCommandLine: PChar; + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; + bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; + lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo; + var lpProcessInformation: TProcessInformation; const ALibraryName: AnsiString): Boolean; +function InjectLibraryModule(AProcessID: LongWord; const ALibraryName: AnsiString): Boolean; + +procedure LogMessage(const AMessage: string); + +procedure ShowMessage(const ACaption, AMessage: string); +procedure ShowError(const AMessage: string); + +procedure SetMainFormHandle(const AHandle: HWND); + +implementation + +uses + ShlObj; + +const + TD_BUTTON_OK = 01; + TD_BUTTON_YES = 02; + TD_BUTTON_NO = 04; + TD_BUTTON_CANCEL = 08; + TD_BUTTON_RETRY = 16; + TD_BUTTON_CLOSE = 32; + + TD_ICON_BLANK = 00; + TD_ICON_WARNING = 84; + TD_ICON_QUESTION = 99; + TD_ICON_ERROR = 98; + TD_ICON_INFORMATION = 81; + + TD_ICON_SHIELD_QUESTION = 104; + TD_ICON_SHIELD_ERROR = 105; + TD_ICON_SHIELD_OK = 106; + TD_ICON_SHIELD_WARNING = 107; + +var + MainFormHandle: HWND = 0; + +//////////////////////////////////////////////////////////////////////////////// +// ˵ӳn +// ASeconds -- ӳ +//////////////////////////////////////////////////////////////////////////////// +procedure Delay(ASeconds: Double); + //////////////////////////////////////////////////////////////////////////////// + //: Lsuper 2004.11.10 + //: Ϣѭֹ + // + //////////////////////////////////////////////////////////////////////////////// + procedure ProcessMessages; + const + WM_QUIT = $0012; + var + Msg: TMsg; + begin + while PeekMessage(Msg, 0, 0, 0, PM_REMOVE) do + begin + if Msg.Message = WM_QUIT then + Halt(Msg.wParam); + TranslateMessage(Msg); + DispatchMessage(Msg); + end; + end; +var + nTimeOut: TDateTime; + nHours, nMins, nSeconds, nMilliSecs: Integer; +begin + nSeconds := Trunc(ASeconds); + nMilliSecs := Round(Frac(ASeconds) * 1000); + nHours := nSeconds div 3600; + nMins := (nSeconds mod 3600) div 60; + nSeconds := nSeconds mod 60; + nTimeOut := Now + EncodeTime(nHours, nMins, nSeconds, nMilliSecs); + // wait until the TimeOut time + while Now < nTimeOut do + ProcessMessages; +end; + +//////////////////////////////////////////////////////////////////////////////// +//: Lsuper 2003.09.21 +//: ȡе +// +//////////////////////////////////////////////////////////////////////////////// +function GetCommandLineOutput(const ACommandLine, AWorkDir: string; + out ExitCode: LongWord): string; +var + strCommandLine, + strWorkDir: string; + strOutLine, + strBuffer: AnsiString; + bRunResult: Boolean; + nBytesRead: Cardinal; + nStdOutPipeRead, + nStdOutPipeWrite: THandle; + PI: TProcessInformation; + SA: TSecurityAttributes; + SI: TStartupInfo; +begin + with SA do + begin + nLength := SizeOf(SA); + bInheritHandle := True; + lpSecurityDescriptor := nil; + end; + if not CreatePipe(nStdOutPipeRead, nStdOutPipeWrite, @SA, 0) then + RaiseLastOSError; + try + with SI do + begin + FillChar(SI, SizeOf(SI), 0); + cb := SizeOf(SI); + dwFlags := STARTF_USESHOWWINDOW or STARTF_USESTDHANDLES; + wShowWindow := SW_HIDE; + hStdInput := GetStdHandle(STD_INPUT_HANDLE); + hStdOutput := nStdOutPipeWrite; + hStdError := nStdOutPipeWrite; + end; + if DirectoryExists(AWorkDir) then + strWorkDir := AWorkDir + else strWorkDir := GetCurrentDir; + strCommandLine := ACommandLine; + UniqueString(strCommandLine); + bRunResult := CreateProcess(nil, PChar(strCommandLine), nil, nil, True, 0, nil, + PChar(strWorkDir), SI, PI); + CloseHandle(nStdOutPipeWrite); + if bRunResult then + try + strOutLine := ''; + SetLength(strBuffer, MAXBYTE); + repeat + nBytesRead := 0; + bRunResult := ReadFile(nStdOutPipeRead, PAnsiChar(strBuffer)^, Length(strBuffer), nBytesRead, nil); + if nBytesRead > 0 then + strOutLine := strOutLine + Copy(strBuffer, 1, nBytesRead); + until not bRunResult or (nBytesRead = 0); + WaitForSingleObject(PI.hProcess, INFINITE); + GetExitCodeProcess(PI.hProcess, ExitCode); + finally + CloseHandle(PI.hThread); + CloseHandle(PI.hProcess); + end + else RaiseLastOSError; + finally + CloseHandle(nStdOutPipeRead); + Result := string(strOutLine); + end; +end; + +function GetFileBuildVersion(const AFile: string): Integer; +var + nInfoSize, dwHandle: DWORD; + cFileInfo: PVSFixedFileInfo; + nVerSize: DWORD; + strBuffer: AnsiString; +begin + Result := 0; + nInfoSize := GetFileVersionInfoSize(PChar(AFile), dwHandle); + if nInfoSize = 0 then + Exit; + SetLength(strBuffer, nInfoSize); + if not GetFileVersionInfo(PChar(AFile), dwHandle, nInfoSize, Pointer(strBuffer)) then + Exit; + if VerQueryValue(Pointer(strBuffer), '\', Pointer(cFileInfo), nVerSize) then + Result := LOWORD(cFileInfo.dwFileVersionLS); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2010.04.09 +//ܣȡ Shell ļλã GetSpecialFolderPath(CSIDL_COMMON_APPDATA) +// +//////////////////////////////////////////////////////////////////////////////// +function GetShellFolderPath(nFolder: Integer): string; +begin + SetLength(Result, MAX_PATH); + SHGetSpecialFolderPath(0, PChar(Result), nFolder, False); + SetLength(Result, StrLen(PChar(Result))); + if (Result <> '') and (Result[Length(Result)] <> '\') then + Result := Result + '\'; +end; + +function GetWindowsPath: string; +var + nRet: LongWord; +begin + SetLength(Result, MAX_PATH); + nRet := GetWindowsDirectory(PChar(Result), MAX_PATH); + if nRet = 0 then + Result := '' + else begin + SetLength(Result, nRet); + if (Result <> '') and (Result[Length(Result)] <> '\') then + Result := Result + '\'; + end; +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.05.01 +//ܣע +// +//ע⣺ 500ms ȴʱ䣬ȷ dll سɹִ +//////////////////////////////////////////////////////////////////////////////// +function CreateProcessEx(lpApplicationName: PChar; lpCommandLine: PChar; + lpProcessAttributes, lpThreadAttributes: PSecurityAttributes; + bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer; + lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo; + var lpProcessInformation: TProcessInformation; const ALibraryName: AnsiString): Boolean; +begin + Result := False; + if not CreateProcess(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags or CREATE_SUSPENDED, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) then + Exit; + Result := InjectLibraryModule(lpProcessInformation.hProcess, ALibraryName); +{ + Result := uallHook.InjectLibrary(lpProcessInformation.dwProcessId, PChar(ALibraryName)); +} + Sleep(500); + ResumeThread(lpProcessInformation.hThread); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2013.05.01 +//ܣע DLL +// +//////////////////////////////////////////////////////////////////////////////// +function InjectLibraryModule(AProcessID: LongWord; const ALibraryName: AnsiString): Boolean; +var + dwProcessID2: DWord; + dwMemSize: DWord; + dwWritten: DWord; + dwThreadID: DWord; + pLLA: Pointer; + pTargetMemory: Pointer; +begin + Assert(ALibraryName <> ''); + Result := False; + dwProcessID2 := OpenProcess(PROCESS_ALL_ACCESS, False, AProcessID); + if (dwProcessID2 <> 0) then + AProcessID := dwProcessID2; + dwMemSize := Length(ALibraryName) + 1; + pTargetMemory := VirtualAllocEx(AProcessID, nil, dwMemSize, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE); + pLLA := GetProcAddress(GetModuleHandleA('kernel32.dll'), 'LoadLibraryA'); + if (pLLA <> nil) and (pTargetMemory <> nil) then + begin + if WriteProcessMemory(AProcessID, pTargetMemory, PChar(ALibraryName), dwMemSize, dwWritten) and (dwWritten = dwMemSize) then + Result := CreateRemoteThread(AProcessID, nil, 0, pLLA, pTargetMemory, 0, dwThreadID) <> 0; + end; + if (dwProcessID2 <> 0) then + CloseHandle(dwProcessID2); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2009.10.25 +//ܣжǷ Vista/7 +// +//////////////////////////////////////////////////////////////////////////////// +function IsWindowsVista: Boolean; +var + hKernel32: HMODULE; +begin + hKernel32 := GetModuleHandle('kernel32'); + if hKernel32 > 0 then + Result := GetProcAddress(hKernel32, 'GetLocaleInfoEx') <> nil + else Result := false; +end; + +procedure LogMessage(const AMessage: string); +begin + OutputDebugString(PChar(AMessage)); +end; + +procedure SetMainFormHandle(const AHandle: HWND); +begin + MainFormHandle := AHandle; +end; + +procedure ShowError(const AMessage: string); +begin + TaskMessageBox(MainFormHandle, AMessage, 'Error', TD_ICON_ERROR, TD_BUTTON_OK); +end; + +procedure ShowMessage(const ACaption, AMessage: string); +begin + TaskMessageBox(MainFormHandle, AMessage, ACaption, TD_ICON_INFORMATION, TD_BUTTON_OK); +end; + +//////////////////////////////////////////////////////////////////////////////// +//ƣLsuper 2009.10.25 +//: ڲʹõʾԻĺӦ Vista/7 ϵͳ +// +//ע⣺ο Application MessageBox Dialogs 룬Զʾжϴ +// http://www.tmssoftware.com/site/atbdev5.asp +//////////////////////////////////////////////////////////////////////////////// +function TaskMessageBox(const AHandle: THandle; const AText, ACaption: string; + const Icon, Buttons: Integer): Integer; +const + conTaskDialogProcName = 'TaskDialog'; +var + DLLHandle: THandle; + wTitle, wContent: array[0..1024] of widechar; + TaskDialogProc: function(HWND: THandle; hInstance: THandle; cTitle, + cDescription, cContent: PWideChar; Buttons: Integer; Icon: Integer; + ResButton: PInteger): Integer; cdecl stdcall; + Flags: Integer; +begin + Result := 0; + if IsWindowsVista then + begin + DLLHandle := LoadLibrary(comctl32); + @TaskDialogProc := GetProcAddress(DLLHandle, conTaskDialogProcName); + end + else TaskDialogProc := nil; + if Assigned(TaskDialogProc) then + begin + StringToWideChar(ACaption, wTitle, SizeOf(wTitle)); + StringToWideChar(AText, wContent, SizeOf(wContent)); + TaskDialogProc(AHandle, 0, wTitle, nil, wContent, Buttons, Icon, @Result); + end + else begin + Flags := 0; + if Buttons = TD_BUTTON_OK then + Flags := MB_OK; + if Buttons = TD_BUTTON_OK or TD_BUTTON_CANCEL then + Flags := MB_OKCANCEL; + if Buttons = TD_BUTTON_CLOSE or TD_BUTTON_RETRY or TD_BUTTON_CANCEL then + Flags := MB_ABORTRETRYIGNORE; + if Buttons = TD_BUTTON_YES or TD_BUTTON_NO or TD_BUTTON_CANCEL then + Flags := MB_YESNOCANCEL; + if Buttons = TD_BUTTON_YES or TD_BUTTON_NO then + Flags := MB_YESNO; + if Buttons = TD_BUTTON_RETRY or TD_BUTTON_CANCEL then + Flags := MB_RETRYCANCEL; + case Icon of + TD_ICON_BLANK: + ; + TD_ICON_WARNING, TD_ICON_SHIELD_WARNING: + Flags := Flags or MB_ICONWARNING; + TD_ICON_QUESTION, TD_ICON_SHIELD_QUESTION: + Flags := Flags or MB_ICONQUESTION; + TD_ICON_ERROR, TD_ICON_SHIELD_ERROR: + Flags := Flags or MB_ICONERROR; + TD_ICON_INFORMATION, TD_ICON_SHIELD_OK: + Flags := Flags or MB_ICONINFORMATION; + end; + Result := Windows.MessageBox(AHandle, PChar(AText), PChar(ACaption), Flags); + end; +end; + +end. + diff --git a/10.3.1/Activator/uses.inc b/10.3.1/Activator/uses.inc new file mode 100644 index 0000000..62c25ab --- /dev/null +++ b/10.3.1/Activator/uses.inc @@ -0,0 +1,9 @@ +{ KOL MCK } // Do not remove this line! +{ uses.inc + This file is generated automatically - do not modify it manually. + It is included to be recognized by compiler, but replacing word + with compiler directive <$I uses.inc> fakes auto-completion + preventing it from automatic references adding to VCL units into + uses clause aimed for KOL environment only. } + +uses diff --git a/10.3.1/Dcu/dirinfo.txt b/10.3.1/Dcu/dirinfo.txt new file mode 100644 index 0000000..38bc9b2 --- /dev/null +++ b/10.3.1/Dcu/dirinfo.txt @@ -0,0 +1 @@ +This directory is intended as a common place for sample application's EXE files \ No newline at end of file diff --git a/10.3.1/Keygen/AnsiStrings.pas b/10.3.1/Keygen/AnsiStrings.pas new file mode 100644 index 0000000..a0e5ad5 --- /dev/null +++ b/10.3.1/Keygen/AnsiStrings.pas @@ -0,0 +1,7 @@ +unit AnsiStrings; + +interface + +implementation + +end. diff --git a/10.3.1/Keygen/FGInt.pas b/10.3.1/Keygen/FGInt.pas new file mode 100644 index 0000000..e0e032c --- /dev/null +++ b/10.3.1/Keygen/FGInt.pas @@ -0,0 +1,2282 @@ +{License, info, etc + ------------------ +This implementation is made by me, Walied Othman, to contact me +mail to rainwolf@submanifold.be or triade@submanifold.be , +always mention wether it 's about the FGInt or about the 6xs, +preferably in the subject line. +This source code is free, but only to other free software, +it's a two-way street, if you use this code in an application from which +you won't make any money of (e.g. software for the good of mankind) +then go right ahead, I won't stop you, I do demand acknowledgement for +my work. However, if you're using this code in a commercial application, +an application from which you'll make money, then yes, I charge a +license-fee, as described in the license agreement for commercial use, see +the textfile in this zip-file. +If you 're going to use these implementations, let me know, so I ca, put a link +on my page if desired, I 'm always curious as to see where the spawn of my +mind ends up in. If any algorithm is patented in your country, you should +acquire a license before using this software. Modified versions of this +software must contain an acknowledgement of the original author (=me). + +This implementation is available at +http://www.submanifold.be + +copyright 2000, Walied Othman +This header may not be removed.} + +Unit FGInt; + +{$H+} + +{$WARN COMBINING_SIGNED_UNSIGNED OFF} + +Interface + +Uses SysUtils, Math; + +Type + TCompare = (Lt, St, Eq, Er); + TSign = (negative, positive); + TFGInt = Record + Sign : TSign; + Number : Array Of LongWord; + End; + +Procedure zeronetochar8(Var g : AnsiChar; Const x : AnsiString); +Procedure zeronetochar6(Var g : integer; Const x : AnsiString); +Procedure initialize8(Var trans : Array Of AnsiString); +Procedure initialize6(Var trans : Array Of AnsiString); +Procedure initialize6PGP(Var trans : Array Of AnsiString); +Procedure ConvertBase256to64(Const str256 : AnsiString; Var str64 : AnsiString); +Procedure ConvertBase64to256(Const str64 : AnsiString; Var str256 : AnsiString); +Procedure ConvertBase256to2(Const str256 : AnsiString; Var str2 : AnsiString); +Procedure ConvertBase64to2(Const str64 : AnsiString; Var str2 : AnsiString); +Procedure ConvertBase2to256(str2 : AnsiString; Var str256 : AnsiString); +Procedure ConvertBase2to64(str2 : AnsiString; Var str64 : AnsiString); +Procedure ConvertBase256StringToHexString(Str256 : AnsiString; Var HexStr : AnsiString); +Procedure ConvertHexStringToBase256String(HexStr : AnsiString; Var Str256 : AnsiString); +Procedure PGPConvertBase256to64(Var str256, str64 : AnsiString); +Procedure PGPConvertBase64to256(str64 : AnsiString; Var str256 : AnsiString); +Procedure PGPConvertBase64to2(str64 : AnsiString; Var str2 : AnsiString); +Procedure FGIntToBase2String(Const FGInt : TFGInt; Var S : AnsiString); +Procedure Base2StringToFGInt(S : AnsiString; Var FGInt : TFGInt); +Procedure FGIntToBase256String(Const FGInt : TFGInt; Var str256 : AnsiString); +Procedure Base256StringToFGInt(str256 : AnsiString; Var FGInt : TFGInt); +Procedure PGPMPIToFGInt(PGPMPI : AnsiString; Var FGInt : TFGInt); +Procedure FGIntToPGPMPI(FGInt : TFGInt; Var PGPMPI : AnsiString); +Procedure Base10StringToFGInt(Base10 : AnsiString; Var FGInt : TFGInt); +Procedure FGIntToBase10String(Const FGInt : TFGInt; Var Base10 : AnsiString); +Procedure FGIntDestroy(Var FGInt : TFGInt); +Function FGIntCompareAbs(Const FGInt1, FGInt2 : TFGInt) : TCompare; +Procedure FGIntAdd(Const FGInt1, FGInt2 : TFGInt; Var Sum : TFGInt); +Procedure FGIntChangeSign(Var FGInt : TFGInt); +Procedure FGIntSub(Var FGInt1, FGInt2, dif : TFGInt); +Procedure FGIntMulByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord); +Procedure FGIntMulByIntbis(Var FGInt : TFGInt; by : LongWord); +Procedure FGIntDivByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord; Var modres : LongWord); +Procedure FGIntDivByIntBis(Var FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Procedure FGIntModByInt(Const FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Procedure FGIntAbs(Var FGInt : TFGInt); +Procedure FGIntCopy(Const FGInt1 : TFGInt; Var FGInt2 : TFGInt); +Procedure FGIntShiftLeft(Var FGInt : TFGInt); +Procedure FGIntShiftRight(Var FGInt : TFGInt); +Procedure FGIntShiftRightBy31(Var FGInt : TFGInt); +Procedure FGIntShiftLeftBy31Times(Var FGInt : TFGInt; times : LongWord); +Procedure FGIntAddBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Procedure FGIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Procedure FGIntMul(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt); +Procedure FGIntSquare(Const FGInt : TFGInt; Var Square : TFGInt); +Procedure FGIntExp(Const FGInt, exp : TFGInt; Var res : TFGInt); +Procedure FGIntFac(Const FGInt : TFGInt; Var res : TFGInt); +Procedure FGIntShiftLeftBy31(Var FGInt : TFGInt); +Procedure FGIntDivMod(Var FGInt1, FGInt2, QFGInt, MFGInt : TFGInt); +Procedure FGIntDiv(Var FGInt1, FGInt2, QFGInt : TFGInt); +Procedure FGIntMulByIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt; divInt : LongWord); +Procedure FGIntMod(Var FGInt1, FGInt2, MFGInt : TFGInt); +Procedure FGIntSquareMod(Var FGInt, Modb, FGIntSM : TFGInt); +Procedure FGIntAddMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Procedure FGIntMulMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Procedure FGIntModExp(Var FGInt, exp, modb, res : TFGInt); +Procedure FGIntModBis(Const FGInt : TFGInt; Var FGIntOut : TFGInt; b, head : LongWord); +Procedure FGIntMulModBis(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt; b, head : LongWord); +Procedure FGIntMontgomeryMod(Const GInt, base, baseInv : TFGInt; Var MGInt : TFGInt; b : Longword; head : LongWord); +Procedure FGIntMontgomeryModExp(Var FGInt, exp, modb, res : TFGInt); +Procedure FGIntGCD(Const FGInt1, FGInt2 : TFGInt; Var GCD : TFGInt); +Procedure FGIntLCM(Const FGInt1, FGInt2 : TFGInt; Var LCM : TFGInt); +Procedure FGIntTrialDiv9999(Const FGInt : TFGInt; Var ok : boolean); +Procedure FGIntRandom1(Var Seed, RandomFGInt : TFGInt); +Procedure FGIntRabinMiller(Var FGIntp : TFGInt; nrtest : Longword; Var ok : boolean); +Procedure FGIntBezoutBachet(Var FGInt1, FGInt2, a, b : TFGInt); +Procedure FGIntModInv(Const FGInt1, base : TFGInt; Var Inverse : TFGInt); +Procedure FGIntPrimetest(Var FGIntp : TFGInt; nrRMtests : integer; Var ok : boolean); +Procedure FGIntLegendreSymbol(Var a, p : TFGInt; Var L : integer); +Procedure FGIntSquareRootModP(Square, Prime : TFGInt; Var SquareRoot : TFGInt); + + + +Implementation + +Var + primes : Array[1..1228] Of integer = + (3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, + 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, + 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, + 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, + 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, + 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, + 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, + 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, + 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, + 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, + 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, + 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, + 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, + 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, + 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, + 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, + 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, + 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, + 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, + 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, + 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, + 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, + 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, + 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, + 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, + 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, + 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, + 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, + 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, + 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, + 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, + 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, + 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, + 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, + 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, + 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, + 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, + 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, + 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, + 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, + 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, + 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, + 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, + 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, + 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, + 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, + 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, + 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, + 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, + 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, + 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919, 7927, 7933, 7937, 7949, 7951, + 7963, 7993, 8009, 8011, 8017, 8039, 8053, 8059, 8069, 8081, 8087, 8089, 8093, 8101, 8111, 8117, 8123, 8147, 8161, + 8167, 8171, 8179, 8191, 8209, 8219, 8221, 8231, 8233, 8237, 8243, 8263, 8269, 8273, 8287, 8291, 8293, 8297, 8311, + 8317, 8329, 8353, 8363, 8369, 8377, 8387, 8389, 8419, 8423, 8429, 8431, 8443, 8447, 8461, 8467, 8501, 8513, 8521, + 8527, 8537, 8539, 8543, 8563, 8573, 8581, 8597, 8599, 8609, 8623, 8627, 8629, 8641, 8647, 8663, 8669, 8677, 8681, + 8689, 8693, 8699, 8707, 8713, 8719, 8731, 8737, 8741, 8747, 8753, 8761, 8779, 8783, 8803, 8807, 8819, 8821, 8831, + 8837, 8839, 8849, 8861, 8863, 8867, 8887, 8893, 8923, 8929, 8933, 8941, 8951, 8963, 8969, 8971, 8999, 9001, 9007, + 9011, 9013, 9029, 9041, 9043, 9049, 9059, 9067, 9091, 9103, 9109, 9127, 9133, 9137, 9151, 9157, 9161, 9173, 9181, + 9187, 9199, 9203, 9209, 9221, 9227, 9239, 9241, 9257, 9277, 9281, 9283, 9293, 9311, 9319, 9323, 9337, 9341, 9343, + 9349, 9371, 9377, 9391, 9397, 9403, 9413, 9419, 9421, 9431, 9433, 9437, 9439, 9461, 9463, 9467, 9473, 9479, 9491, + 9497, 9511, 9521, 9533, 9539, 9547, 9551, 9587, 9601, 9613, 9619, 9623, 9629, 9631, 9643, 9649, 9661, 9677, 9679, + 9689, 9697, 9719, 9721, 9733, 9739, 9743, 9749, 9767, 9769, 9781, 9787, 9791, 9803, 9811, 9817, 9829, 9833, 9839, + 9851, 9857, 9859, 9871, 9883, 9887, 9901, 9907, 9923, 9929, 9931, 9941, 9949, 9967, 9973); + chr64 : Array[1..64] Of AnsiChar = ('a', 'A', 'b', 'B', 'c', 'C', 'd', 'D', 'e', 'E', 'f', 'F', + 'g', 'G', 'h', 'H', 'i', 'I', 'j', 'J', 'k', 'K', 'l', 'L', 'm', 'M', 'n', 'N', 'o', 'O', 'p', + 'P', 'q', 'Q', 'r', 'R', 's', 'S', 't', 'T', 'u', 'U', 'v', 'V', 'w', 'W', 'x', 'X', 'y', 'Y', + 'z', 'Z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '='); + PGPchr64 : Array[1..64] Of AnsiChar = ('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', + 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', + 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', + 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'); + + + +Procedure zeronetochar8(Var g : AnsiChar; Const x : AnsiString); +Var + i : Integer; + b : byte; +Begin + b := 0; + For i := 1 To 8 Do + Begin + If copy(x, i, 1) = '1' Then + b := b Or (1 Shl (8 - I)); + End; + g := AnsiChar(b); +End; + + +Procedure zeronetochar6(Var g : integer; Const x : AnsiString); +Var + I : Integer; +Begin + G := 0; + For I := 1 To Length(X) Do + Begin + If I > 6 Then + Break; + If X[I] <> '0' Then + G := G Or (1 Shl (6 - I)); + End; + Inc(G); +End; + + +Procedure initialize8(Var trans : Array Of AnsiString); +Var + c1, c2, c3, c4, c5, c6, c7, c8 : integer; + x : AnsiString; + g : AnsiChar; +Begin + For c1 := 0 To 1 Do + For c2 := 0 To 1 Do + For c3 := 0 To 1 Do + For c4 := 0 To 1 Do + For c5 := 0 To 1 Do + For c6 := 0 To 1 Do + For c7 := 0 To 1 Do + For c8 := 0 To 1 Do + Begin + x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6) + AnsiChar(48+c7) + AnsiChar(48+c8); + zeronetochar8(g, x); + trans[ord(g)] := x; + End; +End; + + +Procedure initialize6(Var trans : Array Of AnsiString); +Var + c1, c2, c3, c4, c5, c6 : integer; + x : AnsiString; + g : integer; +Begin + For c1 := 0 To 1 Do + For c2 := 0 To 1 Do + For c3 := 0 To 1 Do + For c4 := 0 To 1 Do + For c5 := 0 To 1 Do + For c6 := 0 To 1 Do + Begin + x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6); + zeronetochar6(g, x); + trans[ord(chr64[g])] := x; + End; +End; + +Procedure initialize6PGP(Var trans : Array Of AnsiString); +Var + c1, c2, c3, c4, c5, c6 : integer; + x : AnsiString; + g : integer; +Begin + For c1 := 0 To 1 Do + For c2 := 0 To 1 Do + For c3 := 0 To 1 Do + For c4 := 0 To 1 Do + For c5 := 0 To 1 Do + For c6 := 0 To 1 Do + Begin + x := AnsiChar(48+c1) + AnsiChar(48+c2) + AnsiChar(48+c3) + AnsiChar(48+c4) + AnsiChar(48+c5) + AnsiChar(48+c6); + zeronetochar6(g, x); + trans[ord(PGPchr64[g])] := x; + End; +End; + + +// Convert base 8 strings to base 6 strings and visa versa + +Procedure ConvertBase256to64(Const str256 : AnsiString; Var str64 : AnsiString); +Var + temp : AnsiString; + trans : Array[0..255] Of AnsiString; + i, len6 : longint; + g : integer; +Begin + initialize8(trans); + temp := ''; + For i := 1 To length(str256) Do temp := temp + trans[ord(str256[i])]; + While (length(temp) Mod 6) <> 0 Do temp := temp + '0'; + len6 := length(temp) Div 6; + str64 := ''; + For i := 1 To len6 Do + Begin + zeronetochar6(g, copy(temp, 1, 6)); + str64 := str64 + chr64[g]; + delete(temp, 1, 6); + End; +End; + + +Procedure ConvertBase64to256(Const str64 : AnsiString; Var str256 : AnsiString); +Var + temp : AnsiString; + trans : Array[0..255] Of AnsiString; + i, len8 : longint; + g : AnsiChar; +Begin + initialize6(trans); + temp := ''; + For i := 1 To length(str64) Do temp := temp + trans[ord(str64[i])]; + str256 := ''; + len8 := length(temp) Div 8; + For i := 1 To len8 Do + Begin + zeronetochar8(g, copy(temp, 1, 8)); + str256 := str256 + g; + delete(temp, 1, 8); + End; +End; + + +// Convert base 8 & 6 bit strings to base 2 strings and visa versa + +Procedure ConvertBase256to2(Const str256 : AnsiString; Var str2 : AnsiString); +Var + trans : Array[0..255] Of AnsiString; + i : longint; +Begin + str2 := ''; + initialize8(trans); + For i := 1 To length(str256) Do str2 := str2 + trans[ord(str256[i])]; +End; + + +Procedure ConvertBase64to2(Const str64 : AnsiString; Var str2 : AnsiString); +Var + trans : Array[0..255] Of AnsiString; + i : longint; +Begin + str2 := ''; + initialize6(trans); + For i := 1 To length(str64) Do str2 := str2 + trans[ord(str64[i])]; +End; + + +Procedure ConvertBase2to256(str2 : AnsiString; Var str256 : AnsiString); +Var + i, len8 : longint; + g : AnsiChar; +Begin + str256 := ''; + While (length(str2) Mod 8) <> 0 Do str2 := '0' + str2; + len8 := length(str2) Div 8; + For i := 1 To len8 Do + Begin + zeronetochar8(g, copy(str2, 1, 8)); + str256 := str256 + g; + delete(str2, 1, 8); + End; +End; + + +Procedure ConvertBase2to64(str2 : AnsiString; Var str64 : AnsiString); +Var + i, len6 : longint; + g : integer; +Begin + str64 := ''; + While (length(str2) Mod 6) <> 0 Do str2 := '0' + str2; + len6 := length(str2) Div 6; + For i := 1 To len6 Do + Begin + zeronetochar6(g, copy(str2, 1, 6)); + str64 := str64 + chr64[g]; + delete(str2, 1, 6); + End; +End; + + +// Convert base 256 strings to base 16 (HexaDecimal) strings and visa versa + +Procedure ConvertBase256StringToHexString(Str256 : AnsiString; Var HexStr : AnsiString); +Var + i : longint; + b : byte; +Begin + HexStr := ''; + For i := 1 To length(str256) Do + Begin + b := ord(str256[i]); + If (b Shr 4) < 10 Then HexStr := HexStr + AnsiChar(48 + (b Shr 4)) + Else HexStr := HexStr + AnsiChar(55 + (b Shr 4)); + If (b And 15) < 10 Then HexStr := HexStr + AnsiChar(48 + (b And 15)) + Else HexStr := HexStr + AnsiChar(55 + (b And 15)); + End; +End; + + +Procedure ConvertHexStringToBase256String(HexStr : AnsiString; Var Str256 : AnsiString); +Var + i : longint; + b, h1, h2 : byte; + temp : AnsiString; +Begin + Str256 := ''; + If (length(Hexstr) mod 2) = 1 Then temp := '0' + HexStr Else temp := HexStr; + For i := 1 To (length(temp) Div 2) Do + Begin + h2 := ord(temp[2 * i]); + h1 := ord(temp[2 * i - 1]); + If h1 < 58 Then + b := ((h1 - 48) Shl 4) + Else + b := ((h1 - 55) Shl 4); + If h2 < 58 Then + b := (b Or (h2 - 48)) + Else + b := (b Or ((h2 - 55) and 15)); + Str256 := Str256 + AnsiChar(b); + End; +End; + + +// Convert base 256 strings to base 64 strings and visa versa, PGP style + +Procedure PGPConvertBase256to64(Var str256, str64 : AnsiString); +Var + temp, x, a : AnsiString; + i, len6 : longint; + g : integer; + trans : Array[0..255] Of AnsiString; +Begin + initialize8(trans); + temp := ''; + For i := 1 To length(str256) Do temp := temp + trans[ord(str256[i])]; + If (length(temp) Mod 6) = 0 Then a := '' Else + If (length(temp) Mod 6) = 4 Then + Begin + temp := temp + '00'; + a := '=' + End + Else + Begin + temp := temp + '0000'; + a := '==' + End; + str64 := ''; + len6 := length(temp) Div 6; + For i := 1 To len6 Do + Begin + x := copy(temp, 1, 6); + zeronetochar6(g, x); + str64 := str64 + PGPchr64[g]; + delete(temp, 1, 6); + End; + str64 := str64 + a; +End; + + +Procedure PGPConvertBase64to256(str64 : AnsiString; Var str256 : AnsiString); +Var + temp, x : AnsiString; + i, j, len8 : longint; + g : AnsiChar; + trans : Array[0..255] Of AnsiString; +Begin + initialize6PGP(trans); + temp := ''; + str256 := ''; + If str64[length(str64) - 1] = '=' Then j := 2 Else + If str64[length(str64)] = '=' Then j := 1 Else j := 0; + For i := 1 To (length(str64) - j) Do temp := temp + trans[ord(str64[i])]; + If j <> 0 Then delete(temp, length(temp) - 2 * j + 1, 2 * j); + len8 := length(temp) Div 8; + For i := 1 To len8 Do + Begin + x := copy(temp, 1, 8); + zeronetochar8(g, x); + str256 := str256 + g; + delete(temp, 1, 8); + End; +End; + +// Convert base 64 strings to base 2 strings, PGP style + + +Procedure PGPConvertBase64to2(str64 : AnsiString; Var str2 : AnsiString); +Var + i, j : longint; + trans : Array[0..255] Of AnsiString; +Begin + str2 := ''; + initialize6(trans); + If str64[length(str64) - 1] = '=' Then j := 2 Else + If str64[length(str64)] = '=' Then j := 1 Else j := 0; + For i := 1 To (length(str64) - j) Do str2 := str2 + trans[ord(str64[i])]; + delete(str2, length(str2) - 2 * j + 1, 2 * j); +End; + + +// Convert a FGInt to a binary AnsiString (base 2) & visa versa + +Procedure FGIntToBase2String(Const FGInt : TFGInt; Var S : AnsiString); +Var + i : LongWord; + j : integer; +Begin + S := ''; + For i := 1 To FGInt.Number[0] Do + Begin + For j := 0 To 30 Do + If (1 And (FGInt.Number[i] Shr j)) = 1 Then + S := '1' + S + Else + S := '0' + S; + End; + While (length(S) > 1) And (S[1] = '0') Do + delete(S, 1, 1); + If S = '' Then S := '0'; +End; + + +Procedure Base2StringToFGInt(S : AnsiString; Var FGInt : TFGInt); +Var + i, j, size : LongWord; +Begin + While (S[1] = '0') And (length(S) > 1) Do + delete(S, 1, 1); + size := length(S) Div 31; + If (length(S) Mod 31) <> 0 Then size := size + 1; + SetLength(FGInt.Number, (size + 1)); + FGInt.Number[0] := size; + j := 1; + FGInt.Number[j] := 0; + i := 0; + While length(S) > 0 Do + Begin + If S[length(S)] = '1' Then + FGInt.Number[j] := FGInt.Number[j] Or (1 Shl i); + i := i + 1; + If i = 31 Then + Begin + i := 0; + j := j + 1; + If j <= size Then FGInt.Number[j] := 0; + End; + delete(S, length(S), 1); + End; + FGInt.Sign := positive; +End; + + +// Convert a FGInt to an base 256 AnsiString & visa versa + +Procedure FGIntToBase256String(Const FGInt : TFGInt; Var str256 : AnsiString); +Var + temp1 : AnsiString; + i, len8 : LongWord; + g : AnsiChar; +Begin + FGIntToBase2String(FGInt, temp1); + While (length(temp1) Mod 8) <> 0 Do temp1 := '0' + temp1; + len8 := length(temp1) Div 8; + str256 := ''; + For i := 1 To len8 Do + Begin + zeronetochar8(g, copy(temp1, 1, 8)); + str256 := str256 + g; + delete(temp1, 1, 8); + End; +End; + + +Procedure Base256StringToFGInt(str256 : AnsiString; Var FGInt : TFGInt); +Var + temp1 : AnsiString; + i : longint; + trans : Array[0..255] Of AnsiString; +Begin + temp1 := ''; + initialize8(trans); + For i := 1 To length(str256) Do temp1 := temp1 + trans[ord(str256[i])]; + While (temp1[1] = '0') And (temp1 <> '0') Do delete(temp1, 1, 1); + Base2StringToFGInt(temp1, FGInt); +End; + +// Convert an MPI (Multiple Precision Integer, PGP style) to an FGInt & +// visa versa + +Procedure PGPMPIToFGInt(PGPMPI : AnsiString; Var FGInt : TFGInt); +Var + temp : AnsiString; +Begin + temp := PGPMPI; + delete(temp, 1, 2); + Base256StringToFGInt(temp, FGInt); +End; + + +Procedure FGIntToPGPMPI(FGInt : TFGInt; Var PGPMPI : AnsiString); +Var + len, i : word; + c : AnsiChar; + b : byte; +Begin + FGIntToBase256String(FGInt, PGPMPI); + len := length(PGPMPI) * 8; + c := PGPMPI[1]; + For i := 7 Downto 0 Do If (ord(c) Shr i) = 0 Then len := len - 1 Else break; + b := len Mod 256; + PGPMPI := AnsiChar(b) + PGPMPI; + b := len Div 256; + PGPMPI := AnsiChar(b) + PGPMPI; +End; + + +// Convert a base 10 AnsiString to a FGInt + +Procedure Base10StringToFGInt(Base10 : AnsiString; Var FGInt : TFGInt); +Var + i, size : LongWord; + j : word; + S, x : AnsiString; + sign : TSign; + + Procedure GIntDivByIntBis1(Var GInt : TFGInt; by : LongWord; Var modres : word); + Var + i, size, rest, temp : LongWord; + Begin + size := GInt.Number[0]; + temp := 0; + For i := size Downto 1 Do + Begin + temp := temp * 10000; + rest := temp + GInt.Number[i]; + GInt.Number[i] := rest Div by; + temp := rest Mod by; + End; + modres := temp; + While (GInt.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> GInt.Number[0] Then + Begin + SetLength(GInt.Number, size + 1); + GInt.Number[0] := size; + End; + End; + +Begin + While (Not (Base10[1] In ['-', '0'..'9'])) And (length(Base10) > 1) Do + delete(Base10, 1, 1); + If copy(Base10, 1, 1) = '-' Then + Begin + Sign := negative; + delete(Base10, 1, 1); + End + Else + Sign := positive; + While (length(Base10) > 1) And (copy(Base10, 1, 1) = '0') Do + delete(Base10, 1, 1); + size := length(Base10) Div 4; + If (length(Base10) Mod 4) <> 0 Then size := size + 1; + SetLength(FGInt.Number, size + 1); + FGInt.Number[0] := size; + For i := 1 To (size - 1) Do + Begin + x := copy(Base10, length(Base10) - 3, 4); + FGInt.Number[i] := StrToInt(string(x)); + delete(Base10, length(Base10) - 3, 4); + End; + FGInt.Number[size] := StrToInt(string(Base10)); + + S := ''; + While (FGInt.Number[0] <> 1) Or (FGInt.Number[1] <> 0) Do + Begin + GIntDivByIntBis1(FGInt, 2, j); + S := AnsiString(inttostr(j)) + S; + End; + If S = '' Then S := '0'; + FGIntDestroy(FGInt); + Base2StringToFGInt(S, FGInt); + FGInt.Sign := sign; +End; + + +// Convert a FGInt to a base 10 AnsiString + +Procedure FGIntToBase10String(Const FGInt : TFGInt; Var Base10 : AnsiString); +Var + S : AnsiString; + j : LongWord; + temp : TFGInt; +Begin + FGIntCopy(FGInt, temp); + Base10 := ''; + While (temp.Number[0] > 1) Or (temp.Number[1] > 0) Do + Begin + FGIntDivByIntBis(temp, 10000, j); + S := AnsiString(IntToStr(j)); + While Length(S) < 4 Do + S := '0' + S; + Base10 := S + Base10; + End; + Base10 := '0' + Base10; + While (length(Base10) > 1) And (Base10[1] = '0') Do + delete(Base10, 1, 1); + If FGInt.Sign = negative Then Base10 := '-' + Base10; +End; + + +// Destroy a FGInt to free memory + +Procedure FGIntDestroy(Var FGInt : TFGInt); +Begin + FGInt.Number := Nil; +End; + + +// Compare 2 FGInts in absolute value, returns +// Lt if FGInt1 > FGInt2, St if FGInt1 < FGInt2, Eq if FGInt1 = FGInt2, +// Er otherwise + +Function FGIntCompareAbs(Const FGInt1, FGInt2 : TFGInt) : TCompare; +Var + size1, size2, i : LongWord; +Begin + FGIntCompareAbs := Er; + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + If size1 > size2 Then FGIntCompareAbs := Lt Else + If size1 < size2 Then FGIntCompareAbs := St Else + Begin + i := size2; + While (FGInt1.Number[i] = FGInt2.Number[i]) And (i > 1) Do i := i - 1; + If FGInt1.Number[i] = FGInt2.Number[i] Then FGIntCompareAbs := Eq Else + If FGInt1.Number[i] < FGInt2.Number[i] Then FGIntCompareAbs := St Else + If FGInt1.Number[i] > FGInt2.Number[i] Then FGIntCompareAbs := Lt; + End; +End; + + +// Add 2 FGInts, FGInt1 + FGInt2 = Sum + +Procedure FGIntAdd(Const FGInt1, FGInt2 : TFGInt; Var Sum : TFGInt); +Var + i, size1, size2, size, rest, Trest : LongWord; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + If size1 < size2 Then + FGIntAdd(FGInt2, FGInt1, Sum) + Else + Begin + If FGInt1.Sign = FGInt2.Sign Then + Begin + Sum.Sign := FGInt1.Sign; + setlength(Sum.Number, (size1 + 2)); + rest := 0; + For i := 1 To size2 Do + Begin + Trest := FGInt1.Number[i]; + Trest := Trest + FGInt2.Number[i]; + Trest := Trest + rest; + Sum.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + For i := (size2 + 1) To size1 Do + Begin + Trest := FGInt1.Number[i] + rest; + Sum.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + size := size1 + 1; + Sum.Number[0] := size; + Sum.Number[size] := rest; + While (Sum.Number[size] = 0) And (size > 1) Do + size := size - 1; + If Sum.Number[0] <> size Then SetLength(Sum.Number, size + 1); + Sum.Number[0] := size; + End + Else + Begin + If FGIntCompareAbs(FGInt2, FGInt1) = Lt Then + FGIntAdd(FGInt2, FGInt1, Sum) + Else + Begin + SetLength(Sum.Number, (size1 + 1)); + rest := 0; + For i := 1 To size2 Do + Begin + Trest := 2147483648; + TRest := Trest + FGInt1.Number[i]; + TRest := Trest - FGInt2.Number[i]; + TRest := Trest - rest; + Sum.Number[i] := Trest And 2147483647; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + End; + For i := (size2 + 1) To size1 Do + Begin + Trest := 2147483648; + TRest := Trest + FGInt1.Number[i]; + TRest := Trest - rest; + Sum.Number[i] := Trest And 2147483647; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + End; + size := size1; + While (Sum.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> size1 Then SetLength(Sum.Number, size + 1); + Sum.Number[0] := size; + Sum.Sign := FGInt1.Sign; + End; + End; + End; +End; + + + +Procedure FGIntChangeSign(Var FGInt : TFGInt); +Begin + If FGInt.Sign = negative Then FGInt.Sign := positive Else FGInt.Sign := negative; +End; + + +// Substract 2 FGInts, FGInt1 - FGInt2 = dif + +Procedure FGIntSub(Var FGInt1, FGInt2, dif : TFGInt); +Begin + FGIntChangeSign(FGInt2); + FGIntAdd(FGInt1, FGInt2, dif); + FGIntChangeSign(FGInt2); +End; + + +// multiply a FGInt by an integer, FGInt * by = res, by < 2147483648 + +Procedure FGIntMulByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord); +Var + i, size, rest : LongWord; + Trest : int64; +Begin + size := FGInt.Number[0]; + setlength(res.Number, (size + 2)); + rest := 0; + For i := 1 To size Do + Begin + Trest := FGInt.Number[i]; + TRest := Trest * by; + TRest := Trest + rest; + res.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + If rest <> 0 Then + Begin + size := size + 1; + Res.Number[size] := rest; + End + Else + SetLength(Res.Number, size + 1); + Res.Number[0] := size; + Res.Sign := FGInt.Sign; +End; + + +// multiply a FGInt by an integer, FGInt * by = res, by < 1000000000 + +Procedure FGIntMulByIntbis(Var FGInt : TFGInt; by : LongWord); +Var + i, size, rest : LongWord; + Trest : int64; +Begin + size := FGInt.Number[0]; + Setlength(FGInt.Number, size + 2); + rest := 0; + For i := 1 To size Do + Begin + Trest := FGInt.Number[i]; + TRest := Trest * by; + TRest := Trest + rest; + FGInt.Number[i] := Trest And 2147483647; + rest := Trest Shr 31; + End; + If rest <> 0 Then + Begin + size := size + 1; + FGInt.Number[size] := rest; + End + Else + SetLength(FGInt.Number, size + 1); + FGInt.Number[0] := size; +End; + + +// divide a FGInt by an integer, FGInt = res * by + modres + +Procedure FGIntDivByInt(Const FGInt : TFGInt; Var res : TFGInt; by : LongWord; Var modres : LongWord); +Var + i, size : LongWord; + rest : int64; +Begin + size := FGInt.Number[0]; + setlength(res.Number, (size + 1)); + modres := 0; + For i := size Downto 1 Do + Begin + rest := modres; + rest := rest Shl 31; + rest := rest Or FGInt.Number[i]; + res.Number[i] := rest Div by; + modres := rest Mod by; + End; + While (res.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> FGInt.Number[0] Then SetLength(res.Number, size + 1); + res.Number[0] := size; + Res.Sign := FGInt.Sign; + If FGInt.sign = negative Then modres := by - modres; +End; + + +// divide a FGInt by an integer, FGInt = FGInt * by + modres + +Procedure FGIntDivByIntBis(Var FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Var + i, size : LongWord; + temp, rest : int64; +Begin + size := FGInt.Number[0]; + temp := 0; + For i := size Downto 1 Do + Begin + temp := temp Shl 31; + rest := temp Or FGInt.Number[i]; + FGInt.Number[i] := rest Div by; + temp := rest Mod by; + End; + modres := temp; + While (FGInt.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> FGInt.Number[0] Then + Begin + SetLength(FGInt.Number, size + 1); + FGInt.Number[0] := size; + End; +End; + + +// Reduce a FGInt modulo by (=an integer), FGInt mod by = modres + +Procedure FGIntModByInt(Const FGInt : TFGInt; by : LongWord; Var modres : LongWord); +Var + i, size : LongWord; + temp, rest : int64; +Begin + size := FGInt.Number[0]; + temp := 0; + For i := size Downto 1 Do + Begin + temp := temp Shl 31; + rest := temp Or FGInt.Number[i]; + temp := rest Mod by; + End; + modres := temp; + If FGInt.sign = negative Then modres := by - modres; +End; + + +// Returns the FGInt in absolute value + +Procedure FGIntAbs(Var FGInt : TFGInt); +Begin + FGInt.Sign := positive; +End; + + +// Copy a FGInt1 into FGInt2 + +Procedure FGIntCopy(Const FGInt1 : TFGInt; Var FGInt2 : TFGInt); +Begin + FGInt2.Sign := FGInt1.Sign; + FGInt2.Number := Nil; + FGInt2.Number := Copy(FGInt1.Number, 0, FGInt1.Number[0] + 1); +End; + + +// Shift the FGInt to the left in base 2 notation, ie FGInt = FGInt * 2 + +Procedure FGIntShiftLeft(Var FGInt : TFGInt); +Var + l, m, i, size : LongWord; +Begin + size := FGInt.Number[0]; + l := 0; + For i := 1 To Size Do + Begin + m := FGInt.Number[i] Shr 30; + FGInt.Number[i] := ((FGInt.Number[i] Shl 1) Or l) And 2147483647; + l := m; + End; + If l <> 0 Then + Begin + setlength(FGInt.Number, size + 2); + FGInt.Number[size + 1] := l; + FGInt.Number[0] := size + 1; + End; +End; + + +// Shift the FGInt to the right in base 2 notation, ie FGInt = FGInt div 2 + +Procedure FGIntShiftRight(Var FGInt : TFGInt); +Var + l, m, i, size : LongWord; +Begin + size := FGInt.Number[0]; + l := 0; + For i := size Downto 1 Do + Begin + m := FGInt.Number[i] And 1; + FGInt.Number[i] := (FGInt.Number[i] Shr 1) Or l; + l := m Shl 30; + End; + If (FGInt.Number[size] = 0) And (size > 1) Then + Begin + setlength(FGInt.Number, size); + FGInt.Number[0] := size - 1; + End; +End; + + +// FGInt = FGInt / 2147483648 + +Procedure FGIntShiftRightBy31(Var FGInt : TFGInt); +Var + size, i : LongWord; +Begin + size := FGInt.Number[0]; + If size > 1 Then + Begin + For i := 1 To size - 1 Do + Begin + FGInt.Number[i] := FGInt.Number[i + 1]; + End; + SetLength(FGInt.Number, Size); + FGInt.Number[0] := size - 1; + End + Else + FGInt.Number[1] := 0; +End; + + +// FGInt1 = FGInt1 + FGInt2, FGInt1 > FGInt2 + +Procedure FGIntAddBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Var + i, size1, size2, Trest, rest : LongWord; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + rest := 0; + For i := 1 To size2 Do + Begin + Trest := FGInt1.Number[i] + FGInt2.Number[i] + rest; + rest := Trest Shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + For i := size2 + 1 To size1 Do + Begin + Trest := FGInt1.Number[i] + rest; + rest := Trest Shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + If rest <> 0 Then + Begin + SetLength(FGInt1.Number, size1 + 2); + FGInt1.Number[0] := size1 + 1; + FGInt1.Number[size1 + 1] := rest; + End; +End; + + +// FGInt1 = FGInt1 - FGInt2, use only when 0 < FGInt2 < FGInt1 + +Procedure FGIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt); +Var + i, size1, size2, rest, Trest : LongWord; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + rest := 0; + For i := 1 To size2 Do + Begin + Trest := (2147483648 Or FGInt1.Number[i]) - FGInt2.Number[i] - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + FGInt1.Number[i] := Trest And 2147483647; + End; + For i := size2 + 1 To size1 Do + Begin + Trest := (2147483648 Or FGInt1.Number[i]) - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + FGInt1.Number[i] := Trest And 2147483647; + End; + i := size1; + While (FGInt1.Number[i] = 0) And (i > 1) Do + i := i - 1; + If i <> size1 Then + Begin + SetLength(FGInt1.Number, i + 1); + FGInt1.Number[0] := i; + End; +End; + + +// Multiply 2 FGInts, FGInt1 * FGInt2 = Prod + +Procedure FGIntMul(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt); +Var + i, j, size, size1, size2, rest : LongWord; + Trest : int64; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + size := size1 + size2; + SetLength(Prod.Number, (size + 1)); + For i := 1 To size Do + Prod.Number[i] := 0; + + For i := 1 To size2 Do + Begin + rest := 0; + For j := 1 To size1 Do + Begin + Trest := FGInt1.Number[j]; + Trest := Trest * FGInt2.Number[i]; + Trest := Trest + Prod.Number[j + i - 1]; + Trest := Trest + rest; + Prod.Number[j + i - 1] := Trest And 2147483647; + rest := Trest Shr 31; + End; + Prod.Number[i + size1] := rest; + End; + + Prod.Number[0] := size; + While (Prod.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> Prod.Number[0] Then + Begin + SetLength(Prod.Number, size + 1); + Prod.Number[0] := size; + End; + If FGInt1.Sign = FGInt2.Sign Then + Prod.Sign := Positive + Else + prod.Sign := negative; +End; + + +// Square a FGInt, FGInt?= Square + +Procedure FGIntSquare(Const FGInt : TFGInt; Var Square : TFGInt); +Var + size, size1, i, j, rest : LongWord; + Trest : int64; +Begin + size1 := FGInt.Number[0]; + size := 2 * size1; + SetLength(Square.Number, (size + 1)); + Square.Number[0] := size; + For i := 1 To size Do + Square.Number[i] := 0; + For i := 1 To size1 Do + Begin + Trest := FGInt.Number[i]; + Trest := Trest * FGInt.Number[i]; + Trest := Trest + Square.Number[2 * i - 1]; + Square.Number[2 * i - 1] := Trest And 2147483647; + rest := Trest Shr 31; + For j := i + 1 To size1 Do + Begin + Trest := FGInt.Number[i] Shl 1; + Trest := Trest * FGInt.Number[j]; + Trest := Trest + Square.Number[i + j - 1]; + Trest := Trest + rest; + Square.Number[i + j - 1] := Trest And 2147483647; + rest := Trest Shr 31; + End; + Square.Number[i + size1] := rest; + End; + Square.Sign := positive; + While (Square.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size <> (2 * size1) Then + Begin + SetLength(Square.Number, size + 1); + Square.Number[0] := size; + End; +End; + + +// Exponentiate a FGInt, FGInt^exp = res + +Procedure FGIntExp(Const FGInt, exp : TFGInt; Var res : TFGInt); +Var + temp2, temp3 : TFGInt; + S : AnsiString; + i : LongWord; +Begin + FGIntToBase2String(exp, S); + If S[length(S)] = '0' Then Base10StringToFGInt('1', res) Else FGIntCopy(FGInt, res); + FGIntCopy(FGInt, temp2); + If length(S) > 1 Then + For i := (length(S) - 1) Downto 1 Do + Begin + FGIntSquare(temp2, temp3); + FGIntCopy(temp3, temp2); + If S[i] = '1' Then + Begin + FGIntMul(res, temp2, temp3); + FGIntCopy(temp3, res); + End; + End; +End; + + +// Compute FGInt! = FGInt * (FGInt - 1) * (FGInt - 2) * ... * 3 * 2 * 1 + +Procedure FGIntFac(Const FGInt : TFGInt; Var res : TFGInt); +Var + one, temp, temp1 : TFGInt; +Begin + FGIntCopy(FGInt, temp); + Base10StringToFGInt('1', res); + Base10StringToFGInt('1', one); + + While Not (FGIntCompareAbs(temp, one) = Eq) Do + Begin + FGIntMul(temp, res, temp1); + FGIntCopy(temp1, res); + FGIntSubBis(temp, one); + End; + + FGIntDestroy(one); + FGIntDestroy(temp); +End; + + +// FGInt = FGInt * 2147483648 + +Procedure FGIntShiftLeftBy31(Var FGInt : TFGInt); +Var + f1, f2 : LongWord; + i, size : longint; +Begin + size := FGInt.Number[0]; + SetLength(FGInt.Number, size + 2); + f1 := 0; + For i := 1 To (size + 1) Do + Begin + f2 := FGInt.Number[i]; + FGInt.Number[i] := f1; + f1 := f2; + End; + FGInt.Number[0] := size + 1; +End; + +Procedure FGIntShiftLeftBy31Times(Var FGInt : TFGInt; times : LongWord); +Var + i, size : longint; +Begin + size := FGInt.Number[0]; + SetLength(FGInt.Number, size + 1 + times); + For i := size Downto 1 Do + Begin + FGInt.Number[i + times] := FGInt.Number[i]; + End; + For i := 1 To times Do + Begin + FGInt.Number[i] := 0; + End; + FGInt.Number[0] := size + times; +End; + + +// Divide 2 FGInts, FGInt1 = FGInt2 * QFGInt + MFGInt, MFGInt is always positive + +Procedure FGIntDivMod(Var FGInt1, FGInt2, QFGInt, MFGInt : TFGInt); +Var + one, zero, temp1 : TFGInt; + s1, s2 : TSign; + j, s, t : LongWord; + i, k : int64; +Begin + s1 := FGInt1.Sign; + s2 := FGInt2.Sign; + FGIntAbs(FGInt1); + FGIntAbs(FGInt2); + FGIntCopy(FGInt1, MFGInt); + FGIntCopy(FGInt2, temp1); + + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + s := FGInt1.Number[0] - FGInt2.Number[0]; + SetLength(QFGInt.Number, (s + 2)); + QFGInt.Number[0] := s + 1; + For t := 1 To s Do + Begin + FGIntShiftLeftBy31(temp1); + QFGInt.Number[t] := 0; + End; + j := s + 1; + QFGInt.Number[j] := 0; + While FGIntCompareAbs(MFGInt, FGInt2) <> St Do + Begin + While FGIntCompareAbs(MFGInt, temp1) <> St Do + Begin + If MFGInt.Number[0] > temp1.Number[0] Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + i := i Div (temp1.Number[temp1.Number[0]] + 1); + End + Else +// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + Begin + If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + k := temp1.Number[temp1.Number[0]]; + k := k shl 31; + k := k + temp1.Number[temp1.Number[0] - 1] + 1; + i := i Div k; + End + Else + i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + End; + If (i <> 0) Then + Begin + FGIntMulByIntSubBis(MFGInt, temp1, i); + QFGInt.Number[j] := QFGInt.Number[j] + i; + End + Else + Begin + QFGInt.Number[j] := QFGInt.Number[j] + 1; + FGIntSubBis(MFGInt, temp1); + End; + End; + If MFGInt.Number[0] <= temp1.Number[0] Then + If FGIntCompareAbs(temp1, FGInt2) <> Eq Then + Begin + FGIntShiftRightBy31(temp1); + j := j - 1; + End; + End; + End + Else + Base10StringToFGInt('0', QFGInt); + s := QFGInt.Number[0]; + While (s > 1) And (QFGInt.Number[s] = 0) Do + s := s - 1; + If s < QFGInt.Number[0] Then + Begin + setlength(QFGInt.Number, s + 1); + QFGInt.Number[0] := s; + End; + QFGInt.Sign := positive; + + FGIntDestroy(temp1); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + If s1 = negative Then + Begin + If FGIntCompareAbs(MFGInt, zero) <> Eq Then + Begin + FGIntadd(QFGInt, one, temp1); + FGIntDestroy(QFGInt); + FGIntCopy(temp1, QFGInt); + FGIntDestroy(temp1); + FGIntsub(FGInt2, MFGInt, temp1); + FGIntDestroy(MFGInt); + FGIntCopy(temp1, MFGInt); + FGIntDestroy(temp1); + End; + If s2 = positive Then QFGInt.Sign := negative; + End + Else + QFGInt.Sign := s2; + FGIntDestroy(one); + FGIntDestroy(zero); + + FGInt1.Sign := s1; + FGInt2.Sign := s2; +End; + + +// Same as above but doesn 't compute MFGInt + +Procedure FGIntDiv(Var FGInt1, FGInt2, QFGInt : TFGInt); +Var + one, zero, temp1, MFGInt : TFGInt; + s1, s2 : TSign; + j, s, t : LongWord; + i, k : int64; +Begin + s1 := FGInt1.Sign; + s2 := FGInt2.Sign; + FGIntAbs(FGInt1); + FGIntAbs(FGInt2); + FGIntCopy(FGInt1, MFGInt); + FGIntCopy(FGInt2, temp1); + + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + s := FGInt1.Number[0] - FGInt2.Number[0]; + SetLength(QFGInt.Number, (s + 2)); + QFGInt.Number[0] := s + 1; + For t := 1 To s Do + Begin + FGIntShiftLeftBy31(temp1); + QFGInt.Number[t] := 0; + End; + j := s + 1; + QFGInt.Number[j] := 0; + While FGIntCompareAbs(MFGInt, FGInt2) <> St Do + Begin + While FGIntCompareAbs(MFGInt, temp1) <> St Do + Begin + If MFGInt.Number[0] > temp1.Number[0] Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + i := i Div (temp1.Number[temp1.Number[0]] + 1); + End + Else +// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + Begin + If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + k := temp1.Number[temp1.Number[0]]; + k := k shl 31; + k := k + temp1.Number[temp1.Number[0] - 1] + 1; + i := i Div k; + End + Else + i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + End; + If (i <> 0) Then + Begin + FGIntMulByIntSubBis(MFGInt, temp1, i); + QFGInt.Number[j] := QFGInt.Number[j] + i; + End + Else + Begin + QFGInt.Number[j] := QFGInt.Number[j] + 1; + FGIntSubBis(MFGInt, temp1); + End; + End; + If MFGInt.Number[0] <= temp1.Number[0] Then + If FGIntCompareAbs(temp1, FGInt2) <> Eq Then + Begin + FGIntShiftRightBy31(temp1); + j := j - 1; + End; + End; + End + Else + Base10StringToFGInt('0', QFGInt); + s := QFGInt.Number[0]; + While (s > 1) And (QFGInt.Number[s] = 0) Do + s := s - 1; + If s < QFGInt.Number[0] Then + Begin + setlength(QFGInt.Number, s + 1); + QFGInt.Number[0] := s; + End; + QFGInt.Sign := positive; + + FGIntDestroy(temp1); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + If s1 = negative Then + Begin + If FGIntCompareAbs(MFGInt, zero) <> Eq Then + Begin + FGIntadd(QFGInt, one, temp1); + FGIntDestroy(QFGInt); + FGIntCopy(temp1, QFGInt); + FGIntDestroy(temp1); + FGIntsub(FGInt2, MFGInt, temp1); + FGIntDestroy(MFGInt); + FGIntCopy(temp1, MFGInt); + FGIntDestroy(temp1); + End; + If s2 = positive Then QFGInt.Sign := negative; + End + Else + QFGInt.Sign := s2; + FGIntDestroy(one); + FGIntDestroy(zero); + FGIntDestroy(MFGInt); + + FGInt1.Sign := s1; + FGInt2.Sign := s2; +End; + + + +// FGInt1 = FGInt1 - divInt * FGInt2, use only when 0 < FGInt2 < FGInt1 + +Procedure FGIntMulByIntSubBis(Var FGInt1 : TFGInt; Const FGInt2 : TFGInt; divInt : LongWord); +Var + i, size1, size2, rest, Trest, mRest : LongWord; + mTmpRest : int64; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + rest := 0; + mRest := 0; + For i := 1 To size2 Do + Begin + mTmpRest := FGInt2.Number[i]; + mTmpRest := mTmpRest * divInt; + mTmpRest := mTmpRest + mRest; + Trest := (2147483648 Or FGInt1.Number[i]) - (mTmpRest And 2147483647) - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + mRest := mTmpRest shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + For i := size2 + 1 To size1 Do + Begin + Trest := (2147483648 Or FGInt1.Number[i]) - mRest - rest; + If (Trest > 2147483647) Then + rest := 0 + Else + rest := 1; + mRest := mRest shr 31; + FGInt1.Number[i] := Trest And 2147483647; + End; + i := size1; + While (FGInt1.Number[i] = 0) And (i > 1) Do + i := i - 1; + If i <> size1 Then + Begin + SetLength(FGInt1.Number, i + 1); + FGInt1.Number[0] := i; + End; +End; + + + +Procedure FGIntMod(Var FGInt1, FGInt2, MFGInt : TFGInt); +Var + zero, temp1 : TFGInt; + s1, s2 : TSign; + s: LongWord; + i, j : int64; +Begin + s1 := FGInt1.Sign; + s2 := FGInt2.Sign; + FGIntAbs(FGInt1); + FGIntAbs(FGInt2); + FGIntCopy(FGInt1, MFGInt); + FGIntCopy(FGInt2, temp1); + + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + s := FGInt1.Number[0] - FGInt2.Number[0]; +// For t := 1 To s Do + FGIntShiftLeftBy31Times(temp1,s); + While FGIntCompareAbs(MFGInt, FGInt2) <> St Do + Begin + While FGIntCompareAbs(MFGInt, temp1) <> St Do + Begin + If MFGInt.Number[0] > temp1.Number[0] Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + i := i Div (temp1.Number[temp1.Number[0]] + 1); + End + Else +// i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + Begin + If (MFGInt.Number[0] > 1) And (FGInt2.Number[0] > 1) Then + Begin + i := MFGInt.Number[MFGInt.Number[0]]; + i := i Shl 31; + i := i + MFGInt.Number[MFGInt.Number[0] - 1]; + j := temp1.Number[temp1.Number[0]]; + j := j shl 31; + j := j + temp1.Number[temp1.Number[0] - 1] + 1; + i := i Div j; + End + Else + i := MFGInt.Number[MFGInt.Number[0]] Div (temp1.Number[temp1.Number[0]] + 1); + End; + If (i <> 0) Then + Begin + FGIntMulByIntSubBis(MFGInt, temp1, i); + End + Else + FGIntSubBis(MFGInt, temp1); + End; + If MFGInt.Number[0] <= temp1.Number[0] Then + If FGIntCompareAbs(temp1, FGInt2) <> Eq Then FGIntShiftRightBy31(temp1); + End; + End; + + FGIntDestroy(temp1); + Base10StringToFGInt('0', zero); + If s1 = negative Then + Begin + If FGIntCompareAbs(MFGInt, zero) <> Eq Then + Begin + FGIntSub(FGInt2, MFGInt, temp1); + FGIntDestroy(MFGInt); + FGIntCopy(temp1, MFGInt); + FGIntDestroy(temp1); + End; + End; + FGIntDestroy(zero); + + FGInt1.Sign := s1; + FGInt2.Sign := s2; +End; + + +// Square a FGInt modulo Modb, FGInt^2 mod Modb = FGIntSM + +Procedure FGIntSquareMod(Var FGInt, Modb, FGIntSM : TFGInt); +Var + temp : TFGInt; +Begin + FGIntSquare(FGInt, temp); + FGIntMod(temp, Modb, FGIntSM); + FGIntDestroy(temp); +End; + + +// Add 2 FGInts modulo base, (FGInt1 + FGInt2) mod base = FGIntres + +Procedure FGIntAddMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Var + temp : TFGInt; +Begin + FGIntadd(FGInt1, FGInt2, temp); + FGIntMod(temp, base, FGIntres); + FGIntDestroy(temp); +End; + + +// Multiply 2 FGInts modulo base, (FGInt1 * FGInt2) mod base = FGIntres + +Procedure FGIntMulMod(Var FGInt1, FGInt2, base, FGIntres : TFGInt); +Var + temp : TFGInt; +Begin + FGIntMul(FGInt1, FGInt2, temp); + FGIntMod(temp, base, FGIntres); + FGIntDestroy(temp); +End; + + +// Exponentiate 2 FGInts modulo base, (FGInt1 ^ FGInt2) mod modb = res + +Procedure FGIntModExp(Var FGInt, exp, modb, res : TFGInt); +Var + temp2, temp3 : TFGInt; + i : LongWord; + S : AnsiString; +Begin + If (Modb.Number[1] Mod 2) = 1 Then + Begin + FGIntMontgomeryModExp(FGInt, exp, modb, res); + exit; + End; + FGIntToBase2String(exp, S); + Base10StringToFGInt('1', res); + FGIntcopy(FGInt, temp2); + + For i := length(S) Downto 1 Do + Begin + If S[i] = '1' Then + Begin + FGIntmulMod(res, temp2, modb, temp3); + FGIntCopy(temp3, res); + End; + FGIntSquareMod(temp2, Modb, temp3); + FGIntCopy(temp3, temp2); + End; + FGIntDestroy(temp2); +End; + + +// Procedures for Montgomery Exponentiation + +Procedure FGIntModBis(Const FGInt : TFGInt; Var FGIntOut : TFGInt; b, head : LongWord); +Var + i : LongWord; +Begin + If b <= FGInt.Number[0] Then + Begin + SetLength(FGIntOut.Number, (b + 1)); + For i := 0 To b Do + FGIntOut.Number[i] := FGInt.Number[i]; + FGIntOut.Number[b] := FGIntOut.Number[b] And head; + i := b; + While (FGIntOut.Number[i] = 0) And (i > 1) Do + i := i - 1; + If i < b Then SetLength(FGIntOut.Number, i + 1); + FGIntOut.Number[0] := i; + FGIntOut.Sign := positive; + End + Else + FGIntCopy(FGInt, FGIntOut); +End; + + +Procedure FGIntMulModBis(Const FGInt1, FGInt2 : TFGInt; Var Prod : TFGInt; b, head : LongWord); +Var + i, j, size, size1, size2, t, rest : LongWord; + Trest : int64; +Begin + size1 := FGInt1.Number[0]; + size2 := FGInt2.Number[0]; + size := min(b, size1 + size2); + SetLength(Prod.Number, (size + 1)); + For i := 1 To size Do + Prod.Number[i] := 0; + + For i := 1 To size2 Do + Begin + rest := 0; + t := min(size1, b - i + 1); + For j := 1 To t Do + Begin + Trest := FGInt1.Number[j]; + Trest := Trest * FGInt2.Number[i]; + Trest := Trest + Prod.Number[j + i - 1]; + Trest := Trest + rest; + Prod.Number[j + i - 1] := Trest And 2147483647; + rest := Trest Shr 31; + End; + If (i + size1) <= b Then Prod.Number[i + size1] := rest; + End; + + Prod.Number[0] := size; + If size = b Then Prod.Number[b] := Prod.Number[b] And head; + While (Prod.Number[size] = 0) And (size > 1) Do + size := size - 1; + If size < Prod.Number[0] Then + Begin + SetLength(Prod.Number, size + 1); + Prod.Number[0] := size; + End; + If FGInt1.Sign = FGInt2.Sign Then + Prod.Sign := Positive + Else + prod.Sign := negative; +End; + + +Procedure FGIntMontgomeryMod(Const GInt, base, baseInv : TFGInt; Var MGInt : TFGInt; b : Longword; head : LongWord); +Var + m, temp, temp1 : TFGInt; + r : LongWord; +Begin + FGIntModBis(GInt, temp, b, head); + FGIntMulModBis(temp, baseInv, m, b, head); + FGIntMul(m, base, temp1); + FGIntDestroy(temp); + FGIntAdd(temp1, GInt, temp); + FGIntDestroy(temp1); + MGInt.Number := copy(temp.Number, b - 1, temp.Number[0] - b + 2); + MGInt.Sign := positive; + MGInt.Number[0] := temp.Number[0] - b + 1; + FGIntDestroy(temp); + If (head Shr 30) = 0 Then FGIntDivByIntBis(MGInt, head + 1, r) + Else FGIntShiftRightBy31(MGInt); + If FGIntCompareAbs(MGInt, base) <> St Then FGIntSubBis(MGInt, base); + FGIntDestroy(temp); + FGIntDestroy(m); +End; + + +Procedure FGIntMontgomeryModExp(Var FGInt, exp, modb, res : TFGInt); +Var + temp2, temp3, baseInv, r, zero : TFGInt; + i, j, t, b, head : LongWord; + S: AnsiString; +Begin + Base2StringToFGInt('0', zero); + FGIntMod(FGInt, modb, res); + If FGIntCompareAbs(res, zero)=Eq then + Begin + FGIntDestroy(zero); + Exit; + End else FGIntDestroy(res); + FGIntDestroy(zero); + + FGIntToBase2String(exp, S); + t := modb.Number[0]; + b := t; + + If (modb.Number[t] Shr 30) = 1 Then t := t + 1; + SetLength(r.Number, (t + 1)); + r.Number[0] := t; + r.Sign := positive; + For i := 1 To t Do + r.Number[i] := 0; + If t = modb.Number[0] Then + Begin + head := 2147483647; + For j := 29 Downto 0 Do + Begin + head := head Shr 1; + If (modb.Number[t] Shr j) = 1 Then + Begin + r.Number[t] := 1 Shl (j + 1); + break; + End; + End; + End + Else + Begin + r.Number[t] := 1; + head := 2147483647; + End; + + FGIntModInv(modb, r, temp2); + If temp2.Sign = negative Then + FGIntCopy(temp2, BaseInv) + Else + Begin + FGIntCopy(r, BaseInv); + FGIntSubBis(BaseInv, temp2); + End; +// FGIntBezoutBachet(r, modb, temp2, BaseInv); + FGIntAbs(BaseInv); + FGIntDestroy(temp2); + FGIntMod(r, modb, res); + FGIntMulMod(FGInt, res, modb, temp2); + FGIntDestroy(r); + + For i := length(S) Downto 1 Do + Begin + If S[i] = '1' Then + Begin + FGIntmul(res, temp2, temp3); + FGIntDestroy(res); + FGIntMontgomeryMod(temp3, modb, baseinv, res, b, head); + FGIntDestroy(temp3); + End; + FGIntSquare(temp2, temp3); + FGIntDestroy(temp2); + FGIntMontgomeryMod(temp3, modb, baseinv, temp2, b, head); + FGIntDestroy(temp3); + End; + FGIntDestroy(temp2); + FGIntMontgomeryMod(res, modb, baseinv, temp3, b, head); + FGIntCopy(temp3, res); + FGIntDestroy(temp3); + FGIntDestroy(baseinv); +End; + + +// Compute the Greatest Common Divisor of 2 FGInts + +Procedure FGIntGCD(Const FGInt1, FGInt2 : TFGInt; Var GCD : TFGInt); +Var + k : TCompare; + zero, temp1, temp2, temp3 : TFGInt; +Begin + k := FGIntCompareAbs(FGInt1, FGInt2); + If (k = Eq) Then FGIntCopy(FGInt1, GCD) Else + If (k = St) Then FGIntGCD(FGInt2, FGInt1, GCD) Else + Begin + Base10StringToFGInt('0', zero); + FGIntCopy(FGInt1, temp1); + FGIntCopy(FGInt2, temp2); + While (temp2.Number[0] <> 1) Or (temp2.Number[1] <> 0) Do + Begin + FGIntMod(temp1, temp2, temp3); + FGIntCopy(temp2, temp1); + FGIntCopy(temp3, temp2); + FGIntDestroy(temp3); + End; + FGIntCopy(temp1, GCD); + FGIntDestroy(temp2); + FGIntDestroy(zero); + End; +End; + + +// Compute the Least Common Multiple of 2 FGInts + +Procedure FGIntLCM(Const FGInt1, FGInt2 : TFGInt; Var LCM : TFGInt); +Var + temp1, temp2 : TFGInt; +Begin + FGIntGCD(FGInt1, FGInt2, temp1); + FGIntmul(FGInt1, FGInt2, temp2); + FGIntdiv(temp2, temp1, LCM); + FGIntDestroy(temp1); + FGIntDestroy(temp2); +End; + + +// Trialdivision of a FGInt upto 9999 and stopping when a divisor is found, returning ok=false + +Procedure FGIntTrialDiv9999(Const FGInt : TFGInt; Var ok : boolean); +Var + j : LongWord; + i : integer; +Begin + If ((FGInt.Number[1] Mod 2) = 0) Then ok := false + Else + Begin + i := 0; + ok := true; + While ok And (i < 1228) Do + Begin + i := i + 1; + FGIntmodbyint(FGInt, primes[i], j); + If j = 0 Then ok := false; + End; + End; +End; + + +// A prng + +Procedure FGIntRandom1(Var Seed, RandomFGInt : TFGInt); +Var + temp, base : TFGInt; +Begin + Base10StringToFGInt('281474976710656', base); + Base10StringToFGInt('44485709377909', temp); + FGIntMulMod(seed, temp, base, RandomFGInt); + FGIntDestroy(temp); + FGIntDestroy(base); +End; + + +// Perform a Rabin Miller Primality Test nrtest times on FGIntp, returns ok=true when FGIntp passes the test + +Procedure FGIntRabinMiller(Var FGIntp : TFGInt; nrtest : Longword; Var ok : boolean); +Var + j, b, i : LongWord; + m, z, temp1, temp2, temp3, zero, one, two, pmin1 : TFGInt; + ok1, ok2 : boolean; +Begin + randomize; + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + Base10StringToFGInt('2', two); + FGIntsub(FGIntp, one, temp1); + FGIntsub(FGIntp, one, pmin1); + + b := 0; + While (temp1.Number[1] Mod 2) = 0 Do + Begin + b := b + 1; + FGIntShiftRight(temp1); + End; + m := temp1; + + i := 0; + ok := true; + Randomize; + While (i < nrtest) And ok Do + Begin + j := 0; + i := i + 1; + Base10StringToFGInt(AnsiString(inttostr(Primes[Random(1227) + 1])), temp2); + FGIntMontGomeryModExp(temp2, m, FGIntp, z); + FGIntDestroy(temp2); + ok1 := (FGIntCompareAbs(z, one) = Eq); + ok2 := (FGIntCompareAbs(z, pmin1) = Eq); + If Not (ok1 Or ok2) Then + Begin + + While (ok And (j < b)) Do + Begin + If (j > 0) And ok1 Then ok := false + Else + Begin + j := j + 1; + If (j < b) And (Not ok2) Then + Begin + FGIntSquaremod(z, FGIntp, temp3); + FGIntCopy(temp3, z); + ok1 := (FGIntCompareAbs(z, one) = Eq); + ok2 := (FGIntCompareAbs(z, pmin1) = Eq); + If ok2 Then j := b; + End + Else If (Not ok2) And (j >= b) Then ok := false; + End; + End; + + End + End; + + FGIntDestroy(zero); + FGIntDestroy(one); + FGIntDestroy(two); + FGIntDestroy(m); + FGIntDestroy(z); + FGIntDestroy(pmin1); +End; + + +// Compute the coefficients from the Bezout Bachet theorem, FGInt1 * a + FGInt2 * b = GCD(FGInt1, FGInt2) + +Procedure FGIntBezoutBachet(Var FGInt1, FGInt2, a, b : TFGInt); +Var + zero, r1, r2, r3, ta, gcd, temp, temp1, temp2 : TFGInt; +Begin + If FGIntCompareAbs(FGInt1, FGInt2) <> St Then + Begin + FGIntcopy(FGInt1, r1); + FGIntcopy(FGInt2, r2); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', a); + Base10StringToFGInt('0', ta); + + Repeat + FGIntdivmod(r1, r2, temp, r3); + FGIntDestroy(r1); + r1 := r2; + r2 := r3; + + FGIntmul(ta, temp, temp1); + FGIntsub(a, temp1, temp2); + FGIntCopy(ta, a); + FGIntCopy(temp2, ta); + FGIntDestroy(temp1); + + FGIntDestroy(temp); + Until FGIntCompareAbs(r3, zero) = Eq; + + FGIntGCD(FGInt1, FGInt2, gcd); + FGIntmul(a, FGInt1, temp1); + FGIntsub(gcd, temp1, temp2); + FGIntDestroy(temp1); + FGIntdiv(temp2, FGInt2, b); + FGIntDestroy(temp2); + + FGIntDestroy(ta); + FGIntDestroy(r1); + FGIntDestroy(r2); + FGIntDestroy(gcd); + End + Else FGIntBezoutBachet(FGInt2, FGInt1, b, a); +End; + + +// Find the (multiplicative) Modular inverse of a FGInt in a finite ring +// of additive order base + +Procedure FGIntModInv(Const FGInt1, base : TFGInt; Var Inverse : TFGInt); +Var + zero, one, r1, r2, r3, tb, gcd, temp, temp1, temp2 : TFGInt; +Begin + Base10StringToFGInt('1', one); + FGIntGCD(FGInt1, base, gcd); + If FGIntCompareAbs(one, gcd) = Eq Then + Begin + FGIntcopy(base, r1); + FGIntcopy(FGInt1, r2); + Base10StringToFGInt('0', zero); + Base10StringToFGInt('0', inverse); + Base10StringToFGInt('1', tb); + + Repeat + FGIntDestroy(r3); + FGIntdivmod(r1, r2, temp, r3); + FGIntCopy(r2, r1); + FGIntCopy(r3, r2); + + FGIntmul(tb, temp, temp1); + FGIntsub(inverse, temp1, temp2); + FGIntDestroy(inverse); + FGIntDestroy(temp1); + FGIntCopy(tb, inverse); + FGIntCopy(temp2, tb); + + FGIntDestroy(temp); + Until FGIntCompareAbs(r3, zero) = Eq; + + If inverse.Sign = negative Then + Begin + FGIntadd(base, inverse, temp); + FGIntCopy(temp, inverse); + End; + + FGIntDestroy(tb); + FGIntDestroy(r1); + FGIntDestroy(r2); + End; + FGIntDestroy(gcd); + FGIntDestroy(one); +End; + + +// Perform a (combined) primality test on FGIntp consisting of a trialdivision upto 8192, +// if the FGInt passes perform nrRMtests Rabin Miller primality tests, returns ok when a +// FGInt is probably prime + +Procedure FGIntPrimetest(Var FGIntp : TFGInt; nrRMtests : integer; Var ok : boolean); +Begin + FGIntTrialdiv9999(FGIntp, ok); + If ok Then FGIntRabinMiller(FGIntp, nrRMtests, ok); +End; + + +// Computes the Legendre symbol for a any number and +// p a prime, returns 0 if p divides a, 1 if a is a +// quadratic residu mod p, -1 if a is a quadratic +// nonresidu mod p + +Procedure FGIntLegendreSymbol(Var a, p : TFGInt; Var L : integer); +Var + temp1, temp2, temp3, temp4, temp5, zero, one : TFGInt; + i : LongWord; + ok1, ok2 : boolean; +Begin + Base10StringToFGInt('0', zero); + Base10StringToFGInt('1', one); + FGIntMod(a, p, temp1); + If FGIntCompareAbs(zero, temp1) = Eq Then + Begin + FGIntDestroy(temp1); + L := 0; + End + Else + Begin + FGIntDestroy(temp1); + FGIntCopy(p, temp1); + FGIntCopy(a, temp2); + L := 1; + While FGIntCompareAbs(temp2, one) <> Eq Do + Begin + If (temp2.Number[1] Mod 2) = 0 Then + Begin + FGIntSquare(temp1, temp3); + FGIntSub(temp3, one, temp4); + FGIntDestroy(temp3); + FGIntDivByInt(temp4, temp3, 8, i); + If (temp3.Number[1] Mod 2) = 0 Then ok1 := false Else ok1 := true; + FGIntDestroy(temp3); + FGIntDestroy(temp4); + If ok1 = true Then L := L * (-1); + FGIntDivByIntBis(temp2, 2, i); + End + Else + Begin + FGIntSub(temp1, one, temp3); + FGIntSub(temp2, one, temp4); + FGIntMul(temp3, temp4, temp5); + FGIntDestroy(temp3); + FGIntDestroy(temp4); + FGIntDivByInt(temp5, temp3, 4, i); + If (temp3.Number[1] Mod 2) = 0 Then ok2 := false Else ok2 := true; + FGIntDestroy(temp5); + FGIntDestroy(temp3); + If ok2 = true Then L := L * (-1); + FGIntMod(temp1, temp2, temp3); + FGIntCopy(temp2, temp1); + FGIntCopy(temp3, temp2); + End; + End; + FGIntDestroy(temp1); + FGIntDestroy(temp2); + End; + FGIntDestroy(zero); + FGIntDestroy(one); +End; + + +// Compute a square root modulo a prime number +// SquareRoot^2 mod Prime = Square + +Procedure FGIntSquareRootModP(Square, Prime : TFGInt; Var SquareRoot : TFGInt); +Var + one, n, b, s, r, temp, temp1, temp2, temp3 : TFGInt; + a, i, j : longint; + L : Integer; +Begin + Base2StringToFGInt('1', one); + Base2StringToFGInt('10', n); + a := 0; + FGIntLegendreSymbol(n, Prime, L); + While L <> -1 Do + Begin + FGIntAddBis(n, one); + FGIntLegendreSymbol(n, Prime, L); + End; + FGIntCopy(Prime, s); + s.Number[1] := s.Number[1] - 1; + While (s.Number[1] Mod 2) = 0 Do + Begin + FGIntShiftRight(s); + a := a + 1; + End; + FGIntMontgomeryModExp(n, s, Prime, b); + FGIntAdd(s, one, temp); + FGIntShiftRight(temp); + FGIntMontgomeryModExp(Square, temp, Prime, r); + FGIntDestroy(temp); + FGIntModInv(Square, Prime, temp1); + + For i := 0 To (a - 2) Do + Begin + FGIntSquareMod(r, Prime, temp2); + FGIntMulMod(temp1, temp2, Prime, temp); + FGIntDestroy(temp2); + For j := 1 To (a - i - 2) Do + Begin + FGIntSquareMod(temp, Prime, temp2); + FGIntDestroy(temp); + FGIntCopy(temp2, temp); + FGIntDestroy(temp2); + End; + If FGIntCompareAbs(temp, one) <> Eq Then + Begin + FGIntMulMod(r, b, Prime, temp3); + FGIntDestroy(r); + FGIntCopy(temp3, r); + FGIntDestroy(temp3); + End; + FGIntDestroy(temp); + FGIntDestroy(temp2); + If i = (a - 2) Then break; + FGIntSquareMod(b, Prime, temp3); + FGIntDestroy(b); + FGIntCopy(temp3, b); + FGIntDestroy(temp3); + End; + + FGIntCopy(r, SquareRoot); + FGIntDestroy(r); + FGIntDestroy(s); + FGIntDestroy(b); + FGIntDestroy(temp1); + FGIntDestroy(one); + FGIntDestroy(n); +End; + + +End. diff --git a/10.3.1/Keygen/RadKeygen.pas b/10.3.1/Keygen/RadKeygen.pas new file mode 100644 index 0000000..4e2a76a --- /dev/null +++ b/10.3.1/Keygen/RadKeygen.pas @@ -0,0 +1,394 @@ +unit RadKeygen; + +interface +uses SysUtils,Classes,Windows,Registry,SHFolder,Sha1,FGInt,RadVersion,RadLicense,SHFolderDll; + + + function GenerateSerialNumber():string; + function GetRegistrationCode():string; + function GenerateLicenseFile(SerialNumber,RegistrationCode:string;RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean; + function PatchFile(RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean; + + + +implementation + +function GetAppDataPath():string; +var + Path:array [0..MAX_PATH-1] of Char; +begin + if Succeeded(SHGetFolderPath(0, CSIDL_COMMON_APPDATA, 0, 0, @Path[0])) then + Result:=string(Path) + else + Result:=''; +end; + + + +function GenerateSerialNumber():string; +const + StrMap:string='ABC2DE34FGHJKLM5NPQRST6U7VWX8YZ9'; + ByteMap:array[0..255] of Byte=($00, $07, $0E, $09, $1C, $1B, $12, $15, $38, $3F, + $36, $31, $24, $23, $2A, $2D, $70, $77, $7E, $79, + $6C, $6B, $62, $65, $48, $4F, $46, $41, $54, $53, + $5A, $5D, $E0, $E7, $EE, $E9, $FC, $FB, $F2, $F5, + $D8, $DF, $D6, $D1, $C4, $C3, $CA, $CD, $90, $97, + $9E, $99, $8C, $8B, $82, $85, $A8, $AF, $A6, $A1, + $B4, $B3, $BA, $BD, $C7, $C0, $C9, $CE, $DB, $DC, + $D5, $D2, $FF, $F8, $F1, $F6, $E3, $E4, $ED, $EA, + $B7, $B0, $B9, $BE, $AB, $AC, $A5, $A2, $8F, $88, + $81, $86, $93, $94, $9D, $9A, $27, $20, $29, $2E, + $3B, $3C, $35, $32, $1F, $18, $11, $16, $03, $04, + $0D, $0A, $57, $50, $59, $5E, $4B, $4C, $45, $42, + $6F, $68, $61, $66, $73, $74, $7D, $7A, $89, $8E, + $87, $80, $95, $92, $9B, $9C, $B1, $B6, $BF, $B8, + $AD, $AA, $A3, $A4, $F9, $FE, $F7, $F0, $E5, $E2, + $EB, $EC, $C1, $C6, $CF, $C8, $DD, $DA, $D3, $D4, + $69, $6E, $67, $60, $75, $72, $7B, $7C, $51, $56, + $5F, $58, $4D, $4A, $43, $44, $19, $1E, $17, $10, + $05, $02, $0B, $0C, $21, $26, $2F, $28, $3D, $3A, + $33, $34, $4E, $49, $40, $47, $52, $55, $5C, $5B, + $76, $71, $78, $7F, $6A, $6D, $64, $63, $3E, $39, + $30, $37, $22, $25, $2C, $2B, $06, $01, $08, $0F, + $1A, $1D, $14, $13, $AE, $A9, $A0, $A7, $B2, $B5, + $BC, $BB, $96, $91, $98, $9F, $8A, $8D, $84, $83, + $DE, $D9, $D0, $D7, $C2, $C5, $CC, $CB, $E6, $E1, + $E8, $EF, $FA, $FD, $F4, $F3); +var + i,v1,v2,v3,v4,v5,v6,v7,v8,v9:Integer; + SumValue:string; + ByteArray:array[0..19] of Byte; +begin + Randomize(); + v1:=0; + v2:=0; + v3:=0; + v4:=0; + v5:=1; + v6:=8217; + v7:=53; + v8:= Random(32) shl 8; + v8:=v8 xor Random(32); + v8:= v8 mod $10000; + SumValue:=Format('%d',[v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8]); + v9:=0; + + for i := 0 to Length(SumValue)-1 do + begin + v9:=v9 xor ByteMap[Ord(SumValue[i+1])]; + end; + ByteArray[0] := ((v8 shr 1) and 8) or ((v8 shr 5) and 4) or (2 * v5 and 2); + ByteArray[1] := ((v7 shr 1) and 16) or ((v7 shr 4) and 8) or ((v6 shr 5) and 2) or ((v6 shr 8) and 1); + ByteArray[2] := (2 * v7 and 16) or (8 * v8 and 8) or ((v5 shr 1) and 4) or ((v6 shr 4) and 2) or (v3 and 1); + ByteArray[3] := (4 * v5 and 16); + ByteArray[4] := (4 * v9 and 16) or ((v6 shr 4) and 8); + ByteArray[5] := (8 * v4 and 8) or ((v8 shr 1) and 4) or ((v8 shr 12) and 2); + ByteArray[6] := ((v9 shr 3) and 8) or ((v8 shr 4) and 4) or (2 * v1 and 2); + ByteArray[7] := ((v8 shr 11) and 16) or ((v8 shr 7) and 8) or (4 * v6 and 4) or ((v5 shr 3) and 2); + ByteArray[8] := ((v8 shr 7) and 16) or ((v6 shr 1) and 1); + ByteArray[9] := (4 * v6 and 16) or (v9 and 8) or (v8 and 4); + ByteArray[10] := ((v8 shr 9) and 8); + ByteArray[11] := (4 * v9 and 8) or (4 * v9 and 4) or (v8 and 2) or ((v8 shr 5) and 1); + ByteArray[12] := ((v8 shr 8) and 1); + ByteArray[13] := ((v6 shr 7) and 16) or ((v9 shr 7) and 1); + ByteArray[14] := (2 * v7 and 2) or ((v7 shr 1) and 1); + ByteArray[15] := (v6 and 8) or ((v6 shr 2) and 4) or ((v8 shr 9) and 1); + ByteArray[16] := (16 * v2 and 16) or (2 * v7 and 8) or ((v5 shr 1) and 1); + ByteArray[17] := ((v9 shr 3) and 2); + ByteArray[18] := (v7 and 16) or ((v6 shr 6) and 8) or ((v6 shr 8) and 4) or ((v8 shr 13) and 2) or ((v9 shr 5) and 1); + ByteArray[19] := ((v6 shr 9) and 16) or ((v7 shr 3) and 8) or ((v6 shr 11) and 2); + + Result:=''; + for i := 0 to Length(ByteArray)-1 do + begin + if (i=4) or (i=10) or (i=16) then Result:=Result+'-'; + Result:=Result+StrMap[ByteArray[i]+1]; + end; + +end; + +function GetRegistrationCode():string; + function GetKey():DWORD; + const + KeyMap:string='ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890X'; + var + ComputerName:array[0..MAX_PATH-1] of Char; + Key:string; + nSize:Cardinal; + i,j:Integer; + begin + Result:=$ED864640; + if (GetComputerName(@ComputerName[0],nSize)=False) then + Key:='localhost' + else + Key:=string(ComputerName); + + Key:=UpperCase(Key); + for i := 0 to Length(Key)-1 do + begin + for j := 0 to Length(KeyMap)-1 do + begin + if (Key[i+1]=KeyMap[j+1]) then Break; + end; + if j>=Length(KeyMap) then + Result:=Result+16*88 + else + Result:=Result+16*Ord(KeyMap[36-j]); + end; + end; + +var + FileName:string; + MemoryStream:TMemoryStream; + dwVerify,dwSize:DWORD; + pBuf,p:PByte; + i,j,eax,ebx,esi:Cardinal; + +begin + Result:=''; + MemoryStream:=TMemoryStream.Create; + try + if GetAppDataPath<>'' then + begin + FileName:=GetAppDataPath+'\Embarcadero\.licenses\.cg_license'; + if FileExists(FileName) then + begin + MemoryStream.LoadFromFile(FileName); + end + else + begin + FileName:=GetAppDataPath+'\Embarcadero\.cg_license'; + if FileExists(FileName) then + begin + MemoryStream.LoadFromFile(FileName); + end; + end; + end; + if MemoryStream.Size>8 then + begin + MemoryStream.Position:=0; + MemoryStream.Read(dwVerify,SizeOf(dwVerify)); + MemoryStream.Read(dwSize,SizeOf(dwSize)); + dwVerify:=(Swap(loWord(dwVerify)) shl 16) or Swap(HiWord(dwVerify)); + dwSize:=(Swap(loWord(dwSize)) shl 16) or Swap(HiWord(dwSize)); + pBuf:=AllocMem(dwSize); + MemoryStream.Read(pBuf^,dwSize); + p:=pBuf; + eax:=GetKey(); + for i := 0 to dwSize-1 do + begin + esi:=p^; + if (esi and $80)=$80 then esi:=esi or $ffffff00; + ebx:=(eax shr 24) and $FF; + p^:=p^ xor ebx; + inc(p); + eax:=eax xor esi; + ebx:=eax shl 8; + eax:=eax xor ebx; + ebx:=eax shl 16; + eax:= eax xor ebx; + ebx:=eax shl 24; + eax:=eax xor ebx; + end; + eax:=eax and $7FFFFFFF; + if eax=dwVerify then + begin + for i := 0 to dwSize-1 do + begin + if PByte(Cardinal(pBuf)+i)^=36 then Break; //$ + end; + Inc(i); + j:=0; + while (i13) and (j<10) do + begin + Result:=Result+Chr(PByte(Cardinal(pBuf)+i)^); + Inc(i); + inc(j); + end; + end; + FreeMem(pBuf,dwSize); + end; + finally + MemoryStream.Free; + end; + +end; + + +procedure PatchmOasisRuntime(RadStudioVersion:PRadStudioVersion); +var + Stream:TMemoryStream; + FileName:string; + P:PByte; +begin + FileName:=Format('%s\%s\OFFLINE\mOasisDesigntime.dll\mOasisRuntime.dll',[GetAppDataPath,RadStudioVersion^.SetupGUID]); + if FileExists(FileName) then + begin + if SHA1Print(SHA1File(FileName))=RadStudioVersion^.mOasisRuntimePatchInfo.Sha1 then + begin + Stream:=TMemoryStream.Create; + try + Stream.LoadFromFile(FileName); + P:= PByte(DWORD(Stream.Memory)+RadStudioVersion^.mOasisRuntimePatchInfo.PatchOffset); + P^:=$EB; + Stream.SaveToFile(FileName); + finally + Stream.Free; + end; + end; + end; +end; + +function GenerateLicenseFile(SerialNumber,RegistrationCode:string;RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean; +const + ModStr:string='8EBD9E688D7106E57BCF63D41BADCE133FEB4CDB718F48F7BF39F6A26EB60BAE'+ + '0E930DC984FDED2537750C9DCFBB87D7AC7F3AA4D65D9E35C2D277BCB0ECDCA0'+ + '2D7DAE739AC8BCAE86914F6E77C17A82C77438421FC315DC38F09C7E840AF41E'+ + '663C5562222E661ED22578A234B58481F862CEABF477C89AE70F15134F83BC7E'+ + 'C2EF57E7274EB74353DE22283113485D9803D4050EF46DB1467EE9D066B104EB'+ + '385D3C36BD29B58E237E22C0BE66D450BDFCED524481B6DCE3F83BBEC547F926'+ + 'AD23057504DEDB9723EBFD26218167AAC79485FF608F8881D9A6AF5C57BE9A2F'+ + 'B52047ABA92F806955580517F6D147BA1FD5DB3EEF1CEE4CA250D1C0FA824CD9'; + ExpStr:string='7E8325B1791B628766F2EB82057E4895DB234C1D7B4B09DB3B8BBE433D68F075'+ + '36C9B38096F51088D9DC4E7058BBD7AC9A60B1B383A3BA23E026F6A53112DE80'+ + 'C191115BB9268DC509D424D8BE1FA7DBDDB7EE5CFD15C57C48A349B1008B4CCE'+ + 'DCC240D31784945260E3814612FD871242FA203F5C1006A6F47FF3A807E3B4DE'+ + '39535FB5523ABED7B4337606E69245EC13BF9B553FD6F45B0FD290D7CBBEB8C8'+ + 'DF2252DE7EB6A83A679873CC9842B52A093ED00742F11CD23CB5278873253E79'+ + '0E30B16AC72B7ACF9824B568ED971D768B95CA9D4C9A40C884542B8696AADF58'+ + '184CE6376E51451EF8D266ECA691ECAB25E15AA8E527312755A55C2B7D390AD9'; +var + Slip,Tmp:AnsiString; + Len,v2,v5:Cardinal; + FGInt,exp,modb,res:TFGInt; + i:Integer; + Stream:TMemoryStream; + SearchRec:TSearchRec; +begin + Result:=False; + if (Trim(SerialNumber)='') or (Trim(RegistrationCode)='') or + (TryStrToInt(Trim(RegistrationCode),i)=False) then Exit; + + Slip:=AnsiString(CreateLicenseText(SerialNumber,RegistrationCode,RadStudioVersion)); + + Len:= Length(Slip); + Len:=(Swap(loWord(Len)) shl 16) or Swap(HiWord(Len)); + Tmp:=PChar(@Len)^+(PChar(@Len)+1)^+(PChar(@Len)+2)^+(PChar(@Len)+3)^+Slip; + Tmp:='01'+StringOfChar('F',66)+'00'+UpperCase(SHA1Print(SHA1String(Tmp))); + + ConvertHexStringToBase256String(Tmp,Tmp); + Base256StringToFGInt(Tmp,FGInt); + + ConvertHexStringToBase256String(ExpStr,Tmp); + Base256StringToFGInt(Tmp,exp); + + ConvertHexStringToBase256String(ModStr,Tmp); + Base256StringToFGInt(Tmp,modb); + + FGIntModExp(FGInt,exp,modb,res); + FGIntToBase256String(res,Tmp); + PGPConvertBase256to64(Tmp,Tmp); + + FGIntDestroy(FGInt); + FGIntDestroy(exp); + FGIntDestroy(modb); + FGIntDestroy(res); + + Slip:=StringReplace(Slip,'e.sign'#10'0'#10,'e.sign'#10'CgeEeu66fCgQJBaqKQwwyiqyHYb22nc2VZRmQVasSDnZAtB/QTLt0CYdgdN16XCz/Nt032fMwTsytchG0l2UeA=='#10,[rfReplaceAll]); + Slip:=StringReplace(Slip,'e.sign2'#10'0'#10,'e.sign2'#10'JWKzOwTKBL+zOP5wrouG5ta/mH+Fvsgb7hb8oJTzu4r3gK/6sh95zKAWKiydqsgvV9pxPXTAlkxv9wAecqJKTQ=='#10,[rfReplaceAll]); + Slip:=StringReplace(Slip,'e.sign3'#10'0'#10,'e.sign3'#10+Tmp+#10,[rfReplaceAll]); + + v2:=$E7F931C2; + for i := 0 to Length(Slip) - 1 do + begin + Slip[i+1]:= AnsiChar(Chr(Ord(Slip[i+1]) xor ((v2 shr 24) and $FF))); + v5:=Ord(Slip[i+1]); + if (v5 and $80)=$80 then v5:=v5 or $ffffff00; + v5:= v5 xor v2; + v5:=(v5 shl 8) xor v5; + v5:=(v5 shl 16) xor v5; + v5:=(v5 shl 24) xor v5; + v2:=v5; + end; + + v2:=(Swap(loWord(v2)) shl 16) or Swap(HiWord(v2)); + Len:=Length(Slip); + Len:=(Swap(loWord(Len)) shl 16) or Swap(HiWord(Len)); + + Stream:=TMemoryStream.Create; + try + Stream.Write(v2,4); + Stream.Write(Len,4); + Stream.Write(Slip[1],Length(Slip)); + if (FileName='') or (not DirectoryExists(ExtractFilePath(FileName))) then + begin + if DirectoryExists(GetAppDataPath+'\Embarcadero') then + begin + Tmp:=Format('%s\Embarcadero\.%d_%d.19*.slip',[GetAppDataPath,RadStudioVersion^.LicHostPID,RadStudioVersion^.LicHostSKU]); +{ + if (FindFirst(Tmp,faAnyFile,SearchRec)=0) and + (MessageBox(0,PAnsiChar(Format('Do you want to Delete the old slip file int %s folder',[GetAppDataPath])), 'Rad Studio Keygen',MB_YESNO + MB_ICONQUESTION) = IDYES) then +} + if (FindFirst(Tmp,faAnyFile,SearchRec)=0) then + begin + DeleteFile(PAnsiChar(Format('%s\Embarcadero\%s',[GetAppDataPath,SearchRec.Name]))); + while FindNext(SearchRec)=0 do + begin + DeleteFile(PAnsiChar(Format('%s\Embarcadero\%s',[GetAppDataPath,SearchRec.Name]))); + end; + end; + SysUtils.FindClose(SearchRec); + FileName:=Format('%s\Embarcadero\.%d_%d.19%d%d%d%d%d%d%d%d%d%d%d.slip',[GetAppDataPath,RadStudioVersion^.LicHostPID,RadStudioVersion^.LicHostSKU, + Random(10),Random(10),Random(10),Random(10),Random(10), + Random(10),Random(10),Random(10),Random(10),Random(10),Random(10)]); + end + else + FileName:=ExtractFileDir(ParamStr(0))+'\RAD Studio Activation.slip'; + end; + Stream.SaveToFile(FileName); +{ + PatchmOasisRuntime(RadStudioVersion); +} + Result:=True; + finally + Stream.Free; + end; +end; + +function PatchFile(RadStudioVersion:PRadStudioVersion;var FileName:string):Boolean; +var + Stream:TMemoryStream; + Reg:TRegistry; + RootDir:string; +begin + Result:=False; + RootDir:=''; + FileName:=''; + Reg:=TRegistry.Create; + try + Reg.RootKey:=HKEY_LOCAL_MACHINE; + Reg.OpenKey(Format('SOFTWARE\Embarcadero\BDS\%s',[RadStudioVersion^.BDSVersion]), False); + RootDir:=Reg.ReadString('RootDir'); + finally + Reg.Free; + end; + if DirectoryExists(RootDir+'\Bin') and FileExists(RootDir+'\Bin\bds.exe') and FileExists(RootDir+'\Bin\LicenseManager.exe') then + begin + if (SHA1Print(SHA1File(RootDir+'\Bin\bds.exe'))=RadStudioVersion^.BdsPatchInfo.Sha1) and + (SHA1Print(SHA1File(RootDir+'\Bin\LicenseManager.exe'))=RadStudioVersion^.LicenseManagerPatchInfo.Sha1) then + begin + CreateSHFolderData(RadStudioVersion); + FileName:= RootDir+'\Bin\SHFolder.dll'; + Stream:=TMemoryStream.Create; + try + Stream.Write(SHFolderData,Length(SHFolderData)); + Stream.SaveToFile(FileName); + Result:=True; + finally + Stream.Free; + end; + end; + end; +end; + +end. diff --git a/10.3.1/Keygen/RadLicense.pas b/10.3.1/Keygen/RadLicense.pas new file mode 100644 index 0000000..970d5b1 --- /dev/null +++ b/10.3.1/Keygen/RadLicense.pas @@ -0,0 +1,339 @@ +unit RadLicense; + +interface +uses RadVersion,SysUtils; + +function CreateLicenseText(SerialNumber,ActiveCode:string;RadStudioVersion:PRadStudioVersion):string; + +implementation + +function CreateLicenseText(SerialNumber,ActiveCode:string;RadStudioVersion:PRadStudioVersion):string; +var + pid,skuid:string; +begin + pid:=IntToStr(RadStudioVersion^.LicHostPID); + skuid:=IntToStr(RadStudioVersion^.LicHostSKU); + + Result:='11'#10; + Result:=Result+'e.pkg'#10'RAD Studio '+ RadStudioVersion^.LicVerStr +' Architect'#10; + Result:=Result+'e.pt'#10'10'#10; + Result:=Result+'e.sign'#10'0'#10; + Result:=Result+'e.sign2'#10'0'#10; + Result:=Result+'e.sign3'#10'0'#10; + Result:=Result+'export.allowed'#10'0'#10; + Result:=Result+'import.allowed'#10'1'#10; + Result:=Result+'import.silent'#10'1'#10; + Result:=Result+'licensed.serialno'#10+SerialNumber+#10; + Result:=Result+'nodelock.node'#10'0'#10; + Result:=Result+'nodelock.session'#10+ActiveCode+#10; + + Result:=Result+'6'#10; + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'1'#10; + Result:=Result+'platform_label'#10'Windows'#10; + Result:=Result+'product'#10'2000'#10; + Result:=Result+'productid'#10+ RadStudioVersion^.LicDelphiPID +#10; + Result:=Result+'productid_label'#10'Delphi '+ RadStudioVersion^.LicVerStr +#10; + Result:=Result+'productsku'#10+skuid+#10; + Result:=Result+'productsku_label'#10'Architect'#10; + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10+skuid+#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Permanent'#10; + Result:=Result+'title'#10'Delphi '+ RadStudioVersion^.LicVerStr +' Architect'#10; + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'25'#10; + Result:=Result+'26'#10; + Result:=Result+'Android'#10'T'#10; + Result:=Result+'DESIGNDIAGRAMS'#10'TRUE'#10; + Result:=Result+'DESIGNPROJECTS'#10'TRUE'#10; + Result:=Result+'Desktop'#10'T'#10; + Result:=Result+'FULLQA'#10'TRUE'#10; + Result:=Result+'FulliOS'#10'T'#10; + Result:=Result+'Linux64'#10'T'#10; + Result:=Result+'MODELLING'#10'TRUE'#10; + Result:=Result+'Mobile'#10'T'#10; + Result:=Result+'OSX32'#10'T'#10; + Result:=Result+'Win32'#10'T'#10; + Result:=Result+'Win64'#10'T'#10; + Result:=Result+'a100'#10'MakeThingsHappen'#10; + Result:=Result+'a1000'#10'PrintMoreMoney'#10; + Result:=Result+'a101'#10'ImGivinItAllShesGot'#10; + Result:=Result+'a200'#10'StampIt'#10; + Result:=Result+'a250'#10'ItsToolTimeBaby'#10; + Result:=Result+'a300'#10'TheMalteseFalcon'#10; + Result:=Result+'a301'#10'GlueSolvent'#10; + Result:=Result+'hostsuite'#10+pid+#10; + Result:=Result+'iOSDevice'#10'T'#10; + Result:=Result+'iOSDevice32'#10'T'#10; + Result:=Result+'iOSDevice64'#10'T'#10; + Result:=Result+'iOSSimulator'#10'T'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'updates'#10'1'#10; + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'1'#10; + Result:=Result+'platform_label'#10'Windows'#10; + Result:=Result+'product'#10'4000'#10; + Result:=Result+'productid'#10+ RadStudioVersion^.LicCBuilderPID +#10; + Result:=Result+'productid_label'#10'C++Builder '+ RadStudioVersion^.LicVerStr +#10; + Result:=Result+'productsku'#10+skuid+#10; + Result:=Result+'productsku_label'#10'Architect'#10; //Architect + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10+skuid+#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Permanent'#10; + Result:=Result+'title'#10'C++Builder '+ RadStudioVersion^.LicVerStr +' Architect'#10; + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'19'#10; + Result:=Result+'25'#10; + Result:=Result+'Android'#10'T'#10; + Result:=Result+'DESIGNDIAGRAMS'#10'TRUE'#10; + Result:=Result+'DESIGNPROJECTS'#10'TRUE'#10; + Result:=Result+'Desktop'#10'T'#10; + Result:=Result+'FULLQA'#10'TRUE'#10; + Result:=Result+'FulliOS'#10'T'#10; + Result:=Result+'MODELLING'#10'TRUE'#10; + Result:=Result+'Mobile'#10'T'#10; + Result:=Result+'OSX32'#10'T'#10; + Result:=Result+'Win32'#10'T'#10; + Result:=Result+'Win64'#10'T'#10; + Result:=Result+'a100'#10'MakeThingsHappen'#10; + Result:=Result+'a1000'#10'PrintMoreMoney'#10; + Result:=Result+'a101'#10'ImGivinItAllShesGot'#10; + Result:=Result+'a200'#10'StampIt'#10; + Result:=Result+'a250'#10'ItsToolTimeBaby'#10; + Result:=Result+'a300'#10'TheMalteseFalcon'#10; + Result:=Result+'a301'#10'GlueSolvent'#10; + Result:=Result+'hostsuite'#10+pid+#10; + Result:=Result+'iOSDevice'#10'T'#10; + Result:=Result+'iOSDevice32'#10'T'#10; + Result:=Result+'iOSDevice64'#10'T'#10; + Result:=Result+'iOSSimulator'#10'T'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'updates'#10'1'#10; + + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'0'#10; + Result:=Result+'platform_label'#10'All'#10; + Result:=Result+'product'#10'7000'#10; + Result:=Result+'productid'#10'7111'#10; + Result:=Result+'productid_label'#10'InterBase XE7'#10; //InterBase XE7 + Result:=Result+'productsku'#10'0'#10; + Result:=Result+'productsku_label'#10'Server'#10; //Server + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10'0'#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Unlimited'#10; + Result:=Result+'title'#10'InterBase XE7 Server'#10; //InterBase XE7 Server + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'6'#10; + Result:=Result+'21'#10; + Result:=Result+'changeView'#10'1'#10; + Result:=Result+'connectionMonitoring'#10'1'#10; + Result:=Result+'connectionsPerUser'#10'200'#10; + Result:=Result+'customVarId'#10' '#10; + Result:=Result+'databaseAccess'#10'1'#10; + Result:=Result+'dbEncryption'#10'1'#10; + Result:=Result+'ddlOperations'#10'1'#10; + Result:=Result+'devLicense'#10'1'#10; + Result:=Result+'externalFileAccess'#10'1'#10; + Result:=Result+'internetAccess'#10'1'#10; + Result:=Result+'languages'#10'ALL'#10; + Result:=Result+'licensedCpus'#10'32'#10; + Result:=Result+'licensedUsers'#10'5000'#10; + Result:=Result+'nodeID'#10' '#10; + Result:=Result+'otwEncryption'#10'1'#10; + Result:=Result+'remoteAccess'#10'1'#10; + Result:=Result+'serverAccess'#10'1'#10; + Result:=Result+'togoAccess'#10'0'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'useAddons'#10'0'#10; + Result:=Result+'version'#10'12'#10; + + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'0'#10; + Result:=Result+'platform_label'#10'All'#10; + Result:=Result+'product'#10'7000'#10; + Result:=Result+'productid'#10'7111'#10; + Result:=Result+'productid_label'#10'InterBase XE7'#10; //InterBase XE7 + Result:=Result+'productsku'#10'16'#10; + Result:=Result+'productsku_label'#10'ToGo Edition'#10; //ToGo Edition + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10'16'#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Unlimited'#10; + Result:=Result+'title'#10'InterBase XE7 ToGo Edition'#10; //InterBase XE7 ToGo Edition + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'6'#10; + Result:=Result+'21'#10; + Result:=Result+'changeView'#10'1'#10; + Result:=Result+'connectionMonitoring'#10'1'#10; + Result:=Result+'connectionsPerUser'#10'200'#10; + Result:=Result+'customVarId'#10' '#10; + Result:=Result+'databaseAccess'#10'1'#10; + Result:=Result+'dbEncryption'#10'1'#10; + Result:=Result+'ddlOperations'#10'1'#10; + Result:=Result+'devLicense'#10'1'#10; + Result:=Result+'externalFileAccess'#10'1'#10; + Result:=Result+'internetAccess'#10'1'#10; + Result:=Result+'languages'#10'ALL'#10; + Result:=Result+'licensedCpus'#10'32'#10; + Result:=Result+'licensedUsers'#10'5000'#10; + Result:=Result+'nodeID'#10' '#10; + Result:=Result+'otwEncryption'#10'1'#10; + Result:=Result+'remoteAccess'#10'1'#10; + Result:=Result+'serverAccess'#10'1'#10; + Result:=Result+'togoAccess'#10'1'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'useAddons'#10'0'#10; + Result:=Result+'version'#10'12'#10; + + + + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'1'#10; + Result:=Result+'platform_label'#10'Windows'#10; + Result:=Result+'product'#10'14100'#10; + Result:=Result+'productid'#10'14110'#10; + Result:=Result+'productid_label'#10'ER/Studio 2016'#10; + Result:=Result+'productsku'#10'15'#10; + Result:=Result+'productsku_label'#10'Developer MultiPlatform'#10; //Developer MultiPlatform + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10'15'#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Permanent'#10; + Result:=Result+'title'#10'ER/Studio Developer 2016'#10; + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'10'#10; + Result:=Result+'30'#10; + Result:=Result+'CaErwin3Erx'#10'T'#10; + Result:=Result+'CaErwin3ErxImport.MicrosoftOfficeVisio'#10'T'#10; + Result:=Result+'CaErwin4Xml'#10'T'#10; + Result:=Result+'CaErwin7ModelManager'#10'T'#10; + Result:=Result+'CaErwin7Xml'#10'T'#10; + Result:=Result+'CaErwin8ModelManager'#10'T'#10; + Result:=Result+'CaErwin8Xml'#10'T'#10; + Result:=Result+'CaErwin9Mart'#10'T'#10; + Result:=Result+'CaErwin9Xml'#10'T'#10; + Result:=Result+'CaMart9'#10'T'#10; + Result:=Result+'CaModelManager7'#10'T'#10; + Result:=Result+'CaModelManager8'#10'T'#10; + Result:=Result+'CrossPlatform'#10'T'#10; + Result:=Result+'IbmInfoSphereDiscoveryImport.CaErwinDataProfiler'#10'T'#10; + Result:=Result+'IbmRationalDataArchitect'#10'T'#10; + Result:=Result+'IbmRationalDataArchitectImport.IbmDb2DataWarehouse'#10'T'#10; + Result:=Result+'IbmRationalRose98Import.MicrosoftVisualStudioModeler'#10'T'#10; + Result:=Result+'OmgCwmXmiImport.CaErwinDataProfiler'#10'T'#10; + Result:=Result+'OmgUml2XmiImport.PowerDesignerOom'#10'T'#10; + Result:=Result+'OmgUml2XmiImport.SparxEA'#10'T'#10; + Result:=Result+'OmgUmlXmiImport.SparxEA'#10'T'#10; + Result:=Result+'OmgUmlXmiImport.SybasePowerDesignerOom'#10'T'#10; + Result:=Result+'OracleDesigner'#10'T'#10; + Result:=Result+'SybasePowerDesignerCdm06'#10'T'#10; + Result:=Result+'SybasePowerDesignerCdm07'#10'T'#10; + Result:=Result+'SybasePowerDesignerLdm15'#10'T'#10; + Result:=Result+'SybasePowerDesignerPdm07'#10'T'#10; + Result:=Result+'baseLicense'#10'Developer'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + Result:=Result+'updates'#10'1'#10; + + + Result:=Result+'26'#10; + Result:=Result+'active'#10'T'#10; + Result:=Result+'beta'#10'0'#10; + Result:=Result+'exportable'#10'0'#10; + Result:=Result+'hostpid'#10+pid+#10; + Result:=Result+'hostskuid'#10+skuid+#10; + Result:=Result+'internaluse'#10'0'#10; + Result:=Result+'naggy'#10'0'#10; + Result:=Result+'noncommercial'#10'0'#10; + Result:=Result+'noncommercial_label'#10'No'#10; + Result:=Result+'platform'#10'1'#10; + Result:=Result+'platform_label'#10'Windows'#10; + Result:=Result+'product'#10'2700'#10; + Result:=Result+'productid'#10'2705'#10; + Result:=Result+'productid_label'#10'HTML5 Builder'#10; //HTML5 Builder + Result:=Result+'productsku'#10'0'#10; + Result:=Result+'productsku_label'#10'RadPHP'#10; //RadPHP + Result:=Result+'rndkey'#10'15687805'#10; + Result:=Result+'serialno'#10+SerialNumber+#10; + Result:=Result+'sku'#10'0'#10; + Result:=Result+'templicense'#10'0'#10; + Result:=Result+'termtype'#10'0'#10; + Result:=Result+'termtype_label'#10'Permanent'#10; + Result:=Result+'title'#10'HTML5 Builder'#10; //HTML5 Builder + Result:=Result+'trial'#10'0'#10; + Result:=Result+'upgrade'#10'0'#10; + Result:=Result+'version'#10'5'#10; + Result:=Result+'1'#10; + Result:=Result+'updatelevel'#10'0.0'#10; + +end; + + +end. diff --git a/10.3.1/Keygen/RadVersion.pas b/10.3.1/Keygen/RadVersion.pas new file mode 100644 index 0000000..88c63f1 --- /dev/null +++ b/10.3.1/Keygen/RadVersion.pas @@ -0,0 +1,85 @@ +unit RadVersion; + +interface +uses Windows,Classes,SysUtils; +type + TPatchInfo=record + Crc:DWORD; + Sha1:string; + PatchOffset:DWORD; + FinalizeArrayOffset:DWORD; + end; + + TRadStudioVersion=record + Name:string; // Rad Studio 10.2 Tokyo Update2 + Ver:string; // 25.0.29039.2004 + BDSVersion:string; // 19.0 + LicVerStr:string; // 10.2 Tokyo + LicHostPID:Integer; // 8219 + LicHostSKU:Integer; // 52 + LicDelphiPID:string; // 2025 + LicCBuilderPID:string; // 4022 + BdsPatchInfo:TPatchInfo; + LicenseManagerPatchInfo:TPatchInfo; + mOasisRuntimePatchInfo:TPatchInfo; + SetupGUID:string; + ISOUrl:string; + ISOMd5:string; + end; + PRadStudioVersion=^TRadStudioVersion; +var + RadStudioVersionList:TStringList; +implementation + +procedure InitRadStudioVersion(VerList:TStringList); +var + RadStudioVersion:PRadStudioVersion; +begin + New(RadStudioVersion); + with RadStudioVersion^ do + begin + Name := 'Rad Studio 10.3 Rio 4364 Architect'; + Ver := '26.0.32429.4364'; + BDSVersion := '20.0'; + LicVerStr := '10.3 Rio'; + LicHostPID := 8220; + LicHostSKU := 53; + LicDelphiPID := '2026'; + LicCBuilderPID := '4023'; + BdsPatchInfo.Crc := $C426EC4A; + BdsPatchInfo.Sha1 := '43BB879FE9EFD7B8752F2B5D99DF31F7CD948D68'; + BdsPatchInfo.PatchOffset := $1F724; + BdsPatchInfo.FinalizeArrayOffset := $11EF7C; + LicenseManagerPatchInfo.Crc := $0D512F70; + LicenseManagerPatchInfo.Sha1 := '8D16D4521BCC12D537EB20B33864654E7A5B81C0'; + LicenseManagerPatchInfo.PatchOffset := $1F002C; + LicenseManagerPatchInfo.FinalizeArrayOffset := $6227A4; + mOasisRuntimePatchInfo.Sha1 := '101FC6D71A1DDEAF3B079477560DD0307ADE3C80'; + mOasisRuntimePatchInfo.PatchOffset := $0016CFE9; + SetupGUID := '{426A3606-6CB8-4CF8-87A8-44388377C47D}'; + ISOUrl := 'http://altd.embarcadero.com/download/radstudio/10.3/delphicbuilder10_3_0_94364.iso'; + ISOMd5 := '0882D58CB53A7D0A828CC45D06C6ECD0'; + end; + VerList.AddObject(RadStudioVersion^.Name, TObject(RadStudioVersion)); +end; + +procedure FinallyRadStudioVersion(VerList:TStringList); +var + RadStudioVersion:PRadStudioVersion; +begin + while VerList.Count>0 do + begin + RadStudioVersion:=PRadStudioVersion(VerList.Objects[0]); + if RadStudioVersion<>nil then Dispose(RadStudioVersion); + VerList.Delete(0); + end; +end; + +initialization + RadStudioVersionList:= TStringList.Create; + InitRadStudioVersion(RadStudioVersionList); +finalization + FinallyRadStudioVersion(RadStudioVersionList); + FreeAndNil(RadStudioVersionList); + +end. diff --git a/10.3.1/Keygen/SHFolderDll.pas b/10.3.1/Keygen/SHFolderDll.pas new file mode 100644 index 0000000..f91c8c4 --- /dev/null +++ b/10.3.1/Keygen/SHFolderDll.pas @@ -0,0 +1,894 @@ +unit SHFolderDll; + +interface +uses RadVersion,Windows; + + procedure CreateSHFolderData(RadStudioVersion:PRadStudioVersion); + +var + SHFolderData: array[0..13823] of byte = ( + $4D, $5A, $90, $00, $03, $00, $00, $00, $04, $00, $00, $00, $FF, $FF, $00, $00, + $B8, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $D8, $00, $00, $00, + $0E, $1F, $BA, $0E, $00, $B4, $09, $CD, $21, $B8, $01, $4C, $CD, $21, $54, $68, + $69, $73, $20, $70, $72, $6F, $67, $72, $61, $6D, $20, $63, $61, $6E, $6E, $6F, + $74, $20, $62, $65, $20, $72, $75, $6E, $20, $69, $6E, $20, $44, $4F, $53, $20, + $6D, $6F, $64, $65, $2E, $0D, $0D, $0A, $24, $00, $00, $00, $00, $00, $00, $00, + $C9, $E7, $94, $1A, $8D, $86, $FA, $49, $8D, $86, $FA, $49, $8D, $86, $FA, $49, + $68, $DF, $FE, $48, $88, $86, $FA, $49, $84, $FE, $69, $49, $88, $86, $FA, $49, + $8D, $86, $FB, $49, $A7, $86, $FA, $49, $7F, $DF, $F3, $48, $8A, $86, $FA, $49, + $7F, $DF, $FA, $48, $8C, $86, $FA, $49, $7F, $DF, $05, $49, $8C, $86, $FA, $49, + $7F, $DF, $F8, $48, $8C, $86, $FA, $49, $52, $69, $63, $68, $8D, $86, $FA, $49, + $00, $00, $00, $00, $00, $00, $00, $00, $50, $45, $00, $00, $4C, $01, $05, $00, + $E1, $70, $F1, $55, $00, $00, $00, $00, $00, $00, $00, $00, $E0, $00, $02, $21, + $0B, $01, $0E, $00, $00, $1C, $00, $00, $00, $18, $00, $00, $00, $00, $00, $00, + $80, $18, $00, $00, $00, $10, $00, $00, $00, $30, $00, $00, $00, $00, $00, $10, + $00, $10, $00, $00, $00, $02, $00, $00, $05, $00, $01, $00, $00, $00, $00, $00, + $05, $00, $01, $00, $00, $00, $00, $00, $00, $70, $00, $00, $00, $04, $00, $00, + $FD, $77, $00, $00, $02, $00, $40, $05, $00, $00, $10, $00, $00, $10, $00, $00, + $00, $00, $10, $00, $00, $10, $00, $00, $00, $00, $00, $00, $10, $00, $00, $00, + $B0, $36, $00, $00, $6B, $00, $00, $00, $28, $38, $00, $00, $3C, $00, $00, $00, + $00, $50, $00, $00, $E0, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $60, $00, $00, $E0, $01, $00, $00, + $30, $36, $00, $00, $1C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $50, $36, $00, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $30, $00, $00, $B0, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $2E, $74, $65, $78, $74, $00, $00, $00, $0D, $1A, $00, $00, $00, $10, $00, $00, + $00, $1C, $00, $00, $00, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $20, $00, $00, $60, $2E, $72, $64, $61, $74, $61, $00, $00, + $32, $0C, $00, $00, $00, $30, $00, $00, $00, $0E, $00, $00, $00, $20, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $2E, $64, $61, $74, $61, $00, $00, $00, $8C, $05, $00, $00, $00, $40, $00, $00, + $00, $04, $00, $00, $00, $2E, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $C0, $2E, $72, $73, $72, $63, $00, $00, $00, + $E0, $01, $00, $00, $00, $50, $00, $00, $00, $02, $00, $00, $00, $32, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $00, $00, $40, + $2E, $72, $65, $6C, $6F, $63, $00, $00, $E0, $01, $00, $00, $00, $60, $00, $00, + $00, $02, $00, $00, $00, $34, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $40, $00, $00, $42, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $51, $53, $56, $33, $F6, $56, $68, $80, $00, $00, $00, $6A, $03, $56, $6A, $01, + $68, $00, $00, $00, $80, $51, $FF, $15, $00, $30, $00, $10, $8B, $D8, $83, $FB, + $FF, $0F, $84, $81, $00, $00, $00, $57, $8D, $44, $24, $0C, $89, $74, $24, $0C, + $50, $53, $FF, $15, $04, $30, $00, $10, $8B, $F8, $83, $FF, $FF, $74, $61, $39, + $74, $24, $0C, $75, $5B, $55, $56, $56, $56, $6A, $02, $56, $53, $FF, $15, $08, + $30, $00, $10, $8B, $E8, $83, $FD, $FF, $74, $45, $56, $56, $56, $6A, $04, $55, + $FF, $15, $0C, $30, $00, $10, $8B, $D0, $85, $D2, $74, $2C, $83, $CE, $FF, $8B, + $CA, $85, $FF, $74, $1A, $0F, $B6, $01, $8D, $49, $01, $33, $C6, $C1, $EE, $08, + $0F, $B6, $C0, $33, $34, $85, $D0, $30, $00, $10, $83, $EF, $01, $75, $E6, $52, + $F7, $D6, $FF, $15, $10, $30, $00, $10, $55, $FF, $15, $14, $30, $00, $10, $5D, + $53, $FF, $15, $14, $30, $00, $10, $5F, $8B, $C6, $5E, $5B, $59, $C3, $CC, $CC, + $C7, $44, $24, $10, $00, $00, $00, $00, $C7, $44, $24, $0C, $00, $00, $00, $00, + $FF, $25, $A4, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $FF, $25, $A8, $30, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $33, $C0, $40, $C2, $04, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $81, $B9, $F0, $0F, $00, $00, $78, $56, $34, $12, $53, $8D, $99, $F0, $0F, + $00, $00, $74, $52, $56, $57, $8B, $3D, $18, $30, $00, $10, $8D, $44, $24, $0C, + $50, $6A, $40, $8D, $B1, $40, $F6, $02, $00, $6A, $02, $56, $FF, $D7, $B8, $B3, + $01, $00, $00, $66, $89, $06, $8D, $44, $24, $0C, $50, $FF, $74, $24, $10, $6A, + $02, $56, $FF, $D7, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $53, $FF, $D7, + $8D, $44, $24, $0C, $C7, $03, $78, $56, $34, $12, $50, $FF, $74, $24, $10, $6A, + $04, $53, $FF, $D7, $5F, $5E, $5B, $59, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $5C, $24, $14, $56, $57, $8B, $7C, $24, $18, $53, $57, $FF, $74, $24, + $1C, $FF, $74, $24, $1C, $FF, $15, $44, $45, $00, $10, $8B, $F0, $85, $F6, $75, + $5C, $85, $DB, $74, $58, $F7, $C7, $00, $00, $FF, $FF, $74, $50, $66, $39, $07, + $74, $4B, $8B, $57, $04, $F7, $C2, $00, $00, $FF, $FF, $74, $40, $8B, $CA, $66, + $39, $02, $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, + $D1, $66, $83, $39, $00, $75, $ED, $0F, $B7, $02, $83, $F8, $73, $74, $05, $83, + $F8, $53, $75, $17, $68, $D0, $34, $00, $10, $52, $FF, $15, $1C, $30, $00, $10, + $85, $C0, $75, $07, $8B, $0B, $E8, $15, $FF, $FF, $FF, $8B, $C6, $5F, $5E, $5B, + $C2, $10, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $50, $A1, $54, $45, $00, $10, $3B, $44, $24, $04, $75, $06, $8B, $45, $2C, $C6, + $00, $01, $58, $FF, $25, $58, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $5C, $24, $08, $56, $8B, $74, $24, $10, $57, $56, $53, $FF, $15, $3C, + $45, $00, $10, $8B, $F8, $85, $FF, $75, $77, $3B, $1D, $5C, $45, $00, $10, $75, + $6F, $F7, $C6, $00, $00, $FF, $FF, $74, $67, $B9, $F4, $34, $00, $10, $8B, $C6, + $8A, $10, $3A, $11, $75, $1A, $84, $D2, $74, $12, $8A, $50, $01, $3A, $51, $01, + $75, $0E, $83, $C0, $02, $83, $C1, $02, $84, $D2, $75, $E4, $33, $C0, $EB, $05, + $1B, $C0, $83, $C8, $01, $85, $C0, $74, $32, $B8, $10, $35, $00, $10, $66, $90, + $8A, $0E, $3A, $08, $75, $1A, $84, $C9, $74, $12, $8A, $4E, $01, $3A, $48, $01, + $75, $0E, $83, $C6, $02, $83, $C0, $02, $84, $C9, $75, $E4, $33, $C0, $EB, $05, + $1B, $C0, $83, $C8, $01, $85, $C0, $8B, $C7, $75, $05, $B8, $E0, $10, $00, $10, + $5F, $5E, $5B, $C2, $08, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $55, $8B, $6C, $24, $0C, $8B, $5C, $24, $10, $8B, $4C, $24, $14, $8B, $44, + $24, $18, $8B, $54, $24, $1C, $F0, $0F, $C7, $4D, $00, $5D, $5B, $C2, $14, $00, + $74, $67, $60, $8B, $4D, $0C, $03, $C8, $8D, $51, $02, $81, $3A, $49, $6E, $74, + $65, $75, $4F, $81, $7A, $04, $72, $6C, $6F, $63, $75, $46, $81, $7A, $08, $6B, + $65, $64, $43, $75, $3D, $81, $7A, $0C, $6F, $6D, $70, $61, $75, $34, $81, $7A, + $10, $72, $65, $45, $78, $75, $2B, $81, $7A, $14, $63, $68, $61, $6E, $75, $22, + $81, $7A, $18, $67, $65, $36, $34, $75, $19, $80, $7A, $1C, $00, $75, $13, $B8, + $B0, $12, $00, $10, $8B, $55, $14, $89, $02, $61, $33, $C0, $FF, $25, $4C, $45, + $00, $10, $61, $FF, $25, $50, $45, $00, $10, $B8, $7A, $00, $00, $C0, $FF, $25, + $4C, $45, $00, $10, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $56, $8B, $35, $24, $30, $00, $10, $68, $30, $35, $00, $10, $FF, $D6, $68, + $4C, $35, $00, $10, $A3, $60, $45, $00, $10, $FF, $D6, $8B, $35, $28, $30, $00, + $10, $68, $3C, $45, $00, $10, $68, $64, $35, $00, $10, $FF, $35, $60, $45, $00, + $10, $A3, $5C, $45, $00, $10, $FF, $D6, $BA, $10, $12, $00, $10, $8B, $C8, $E8, + $1A, $0B, $00, $00, $68, $74, $35, $00, $10, $FF, $35, $64, $45, $00, $10, $FF, + $D6, $85, $C0, $0F, $84, $6F, $01, $00, $00, $83, $3D, $60, $45, $00, $10, $00, + $0F, $84, $62, $01, $00, $00, $8B, $0D, $64, $45, $00, $10, $53, $55, $8D, $98, + $00, $FC, $FF, $FF, $8B, $51, $3C, $57, $8D, $78, $C0, $8B, $6C, $0A, $2C, $03, + $E9, $8B, $4C, $0A, $1C, $03, $CD, $3B, $DD, $89, $4C, $24, $10, $0F, $42, $DD, + $3B, $FB, $0F, $86, $2D, $01, $00, $00, $8D, $77, $03, $0F, $1F, $44, $00, $00, + $8B, $07, $25, $FF, $F8, $FF, $00, $3D, $C1, $E8, $1F, $00, $0F, $85, $E4, $00, + $00, $00, $8D, $56, $08, $8B, $CE, $3B, $F2, $0F, $83, $D7, $00, $00, $00, $90, + $8B, $01, $25, $FF, $F8, $FF, $00, $3D, $80, $E0, $01, $00, $74, $0A, $41, $3B, + $CA, $72, $ED, $E9, $BE, $00, $00, $00, $3B, $CA, $0F, $83, $B6, $00, $00, $00, + $83, $C1, $03, $8D, $51, $08, $3B, $CA, $0F, $83, $A8, $00, $00, $00, $66, $90, + $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $88, $45, $13, $00, $74, $0A, $41, $3B, + $CA, $72, $ED, $E9, $8E, $00, $00, $00, $3B, $CA, $0F, $83, $86, $00, $00, $00, + $83, $C1, $03, $8D, $41, $08, $3B, $C8, $0F, $83, $78, $00, $00, $00, $BA, $0F, + $85, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, $72, $F6, $EB, $67, $3B, + $C8, $73, $63, $83, $C1, $06, $8D, $51, $08, $3B, $CA, $73, $59, $0F, $1F, $00, + $8B, $01, $25, $FF, $C7, $FF, $00, $3D, $8B, $45, $0C, $00, $74, $07, $41, $3B, + $CA, $72, $ED, $EB, $41, $3B, $CA, $73, $3D, $83, $C1, $03, $8D, $41, $08, $3B, + $C8, $73, $33, $BA, $0F, $84, $00, $00, $66, $39, $11, $74, $07, $41, $3B, $C8, + $72, $F6, $EB, $22, $3B, $C8, $73, $1E, $8D, $51, $06, $03, $51, $02, $3B, $D5, + $72, $14, $3B, $54, $24, $10, $73, $0E, $80, $3A, $B8, $75, $09, $81, $7A, $01, + $7A, $00, $00, $C0, $74, $10, $4F, $4E, $3B, $FB, $0F, $87, $00, $FF, $FF, $FF, + $5F, $5D, $5B, $5E, $59, $C3, $8D, $41, $06, $A3, $50, $45, $00, $10, $8D, $42, + $05, $68, $40, $45, $00, $10, $BA, $D0, $12, $00, $10, $A3, $4C, $45, $00, $10, + $E8, $99, $09, $00, $00, $5F, $5D, $5B, $5E, $59, $C3, $CC, $CC, $CC, $CC, $CC, + $81, $EC, $14, $01, $00, $00, $53, $8B, $1D, $50, $30, $00, $10, $55, $56, $57, + $33, $FF, $33, $ED, $57, $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $8B, $35, + $6C, $30, $00, $10, $85, $C0, $74, $1D, $83, $FF, $20, $73, $04, $6A, $00, $EB, + $02, $6A, $01, $FF, $D6, $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $47, $FF, + $D3, $85, $C0, $75, $E3, $39, $2D, $6C, $45, $00, $10, $75, $1A, $6A, $00, $6A, + $00, $6A, $00, $FF, $15, $44, $30, $00, $10, $A3, $6C, $45, $00, $10, $85, $C0, + $75, $0A, $8D, $68, $09, $EB, $05, $BD, $01, $00, $00, $00, $6A, $00, $68, $68, + $45, $00, $10, $FF, $15, $40, $30, $00, $10, $85, $ED, $0F, $85, $BC, $00, $00, + $00, $68, $8C, $35, $00, $10, $FF, $15, $24, $30, $00, $10, $68, $44, $45, $00, + $10, $68, $A0, $35, $00, $10, $50, $A3, $64, $45, $00, $10, $FF, $15, $28, $30, + $00, $10, $BA, $60, $11, $00, $10, $8B, $C8, $E8, $E0, $08, $00, $00, $85, $C0, + $0F, $85, $87, $00, $00, $00, $32, $C0, $8D, $7C, $24, $10, $B9, $14, $01, $00, + $00, $F3, $AA, $8D, $44, $24, $10, $C7, $44, $24, $10, $14, $01, $00, $00, $50, + $FF, $15, $20, $30, $00, $10, $85, $C0, $74, $13, $83, $7C, $24, $20, $02, $75, + $07, $83, $7C, $24, $14, $05, $77, $05, $E8, $43, $FD, $FF, $FF, $33, $FF, $57, + $6A, $01, $68, $68, $45, $00, $10, $FF, $D3, $85, $C0, $74, $20, $0F, $1F, $00, + $83, $FF, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D6, $6A, $00, $6A, + $01, $68, $68, $45, $00, $10, $47, $FF, $D3, $85, $C0, $75, $E3, $83, $3D, $6C, + $45, $00, $10, $00, $74, $0A, $B9, $01, $00, $00, $00, $E8, $ED, $06, $00, $00, + $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $5F, $5E, $5D, + $5B, $81, $C4, $14, $01, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $53, $8B, $1D, $50, $30, $00, $10, $56, $33, $F6, $56, $6A, $01, $68, $68, $45, + $00, $10, $FF, $D3, $85, $C0, $74, $26, $57, $8B, $3D, $6C, $30, $00, $10, $90, + $83, $FE, $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $D7, $6A, $00, $6A, + $01, $68, $68, $45, $00, $10, $46, $FF, $D3, $85, $C0, $75, $E3, $5F, $83, $3D, + $6C, $45, $00, $10, $00, $5E, $5B, $74, $07, $33, $C9, $E8, $7D, $06, $00, $00, + $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, $00, $10, $E9, $51, $07, + $00, $00, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $51, $57, $68, $AC, $35, $00, $10, $FF, $15, $2C, $30, $00, $10, $8B, $F8, $85, + $FF, $0F, $84, $80, $00, $00, $00, $53, $56, $68, $C8, $35, $00, $10, $57, $FF, + $15, $28, $30, $00, $10, $8B, $1D, $18, $30, $00, $10, $8B, $F0, $85, $F6, $74, + $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, $56, $FF, $D3, $8D, $44, $24, + $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, $24, $10, $C6, $46, $04, $00, + $6A, $FF, $56, $FF, $D3, $68, $D8, $35, $00, $10, $57, $FF, $15, $28, $30, $00, + $10, $8B, $F0, $85, $F6, $74, $24, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $05, + $56, $FF, $D3, $8D, $44, $24, $0C, $C7, $06, $33, $C0, $C2, $0C, $50, $FF, $74, + $24, $10, $C6, $46, $04, $00, $6A, $FF, $56, $FF, $D3, $5E, $5B, $C6, $05, $48, + $45, $00, $10, $00, $5F, $59, $C3, $C6, $05, $48, $45, $00, $10, $01, $5F, $59, + $C3, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, $CC, + $81, $EC, $14, $04, $00, $00, $53, $56, $57, $6A, $00, $FF, $15, $24, $30, $00, + $10, $8B, $D8, $8D, $44, $24, $10, $68, $08, $02, $00, $00, $50, $53, $FF, $15, + $30, $30, $00, $10, $66, $83, $7C, $24, $10, $00, $8D, $4C, $24, $10, $8B, $F1, + $74, $13, $66, $8B, $01, $83, $C1, $02, $66, $83, $F8, $5C, $0F, $44, $F1, $66, + $83, $39, $00, $75, $ED, $8B, $3D, $1C, $30, $00, $10, $68, $EC, $35, $00, $10, + $56, $FF, $D7, $85, $C0, $75, $25, $8D, $4C, $24, $10, $E8, $10, $F8, $FF, $FF, + $3D, $DC, $A6, $26, $96, $74, $07, $3D, $E2, $F5, $99, $11, $75, $72, $8D, $83, + $49, $14, $05, $00, $8D, $BB, $84, $45, $26, $00, $EB, $28, $68, $FC, $35, $00, + $10, $56, $FF, $D7, $85, $C0, $75, $58, $8D, $4C, $24, $10, $E8, $DF, $F7, $FF, + $FF, $3D, $18, $4A, $31, $3B, $75, $48, $8D, $83, $B5, $8F, $1E, $00, $8D, $BB, + $E0, $29, $67, $00, $8B, $35, $18, $30, $00, $10, $A3, $54, $45, $00, $10, $8B, + $07, $A3, $58, $45, $00, $10, $8D, $44, $24, $0C, $50, $6A, $40, $6A, $04, $57, + $FF, $D6, $8D, $44, $24, $0C, $C7, $07, $F0, $11, $00, $10, $50, $FF, $74, $24, + $10, $6A, $04, $57, $FF, $D6, $E8, $75, $FE, $FF, $FF, $E8, $B0, $FC, $FF, $FF, + $5F, $5E, $5B, $81, $C4, $14, $04, $00, $00, $C3, $CC, $CC, $CC, $CC, $CC, $CC, + $8B, $44, $24, $08, $83, $F8, $03, $77, $2F, $FF, $24, $85, $C0, $18, $00, $10, + $E8, $FB, $FE, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, $80, $3D, $48, + $45, $00, $10, $00, $74, $12, $E8, $35, $FE, $FF, $FF, $B8, $01, $00, $00, $00, + $C2, $0C, $00, $E8, $B8, $FD, $FF, $FF, $B8, $01, $00, $00, $00, $C2, $0C, $00, + $B3, $18, $00, $10, $90, $18, $00, $10, $9D, $18, $00, $10, $9D, $18, $00, $10, + $56, $8B, $35, $88, $45, $00, $10, $33, $C0, $85, $F6, $74, $12, $8B, $15, $80, + $45, $00, $10, $3B, $0A, $74, $0B, $40, $83, $C2, $28, $3B, $C6, $72, $F4, $83, + $C8, $FF, $5E, $C3, $8B, $0D, $80, $45, $00, $10, $85, $C9, $75, $2B, $68, $00, + $05, $00, $00, $51, $FF, $35, $6C, $45, $00, $10, $C7, $05, $84, $45, $00, $10, + $20, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $8B, $C8, $89, $0D, $80, $45, + $00, $10, $85, $C9, $75, $3D, $33, $C0, $C3, $8B, $15, $88, $45, $00, $10, $A1, + $84, $45, $00, $10, $3B, $D0, $72, $31, $6B, $C0, $50, $50, $51, $6A, $00, $FF, + $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, $10, $8B, $C8, $85, $C9, $74, + $D5, $A1, $84, $45, $00, $10, $03, $C0, $89, $0D, $80, $45, $00, $10, $A3, $84, + $45, $00, $10, $8B, $15, $88, $45, $00, $10, $6B, $C2, $28, $03, $C1, $42, $89, + $15, $88, $45, $00, $10, $C3, $55, $8B, $EC, $81, $EC, $D8, $02, $00, $00, $A1, + $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $C1, $C7, $85, $30, $FD, $FF, + $FF, $01, $00, $01, $00, $56, $8D, $8D, $30, $FD, $FF, $FF, $89, $85, $28, $FD, + $FF, $FF, $51, $50, $8B, $F2, $FF, $15, $7C, $30, $00, $10, $85, $C0, $0F, $84, + $C3, $00, $00, $00, $53, $83, $FE, $FF, $75, $0A, $8B, $1D, $88, $45, $00, $10, + $33, $F6, $EB, $03, $8D, $5E, $01, $3B, $F3, $0F, $83, $A7, $00, $00, $00, $6B, + $D6, $28, $2B, $DE, $57, $8B, $BD, $28, $FD, $FF, $FF, $89, $95, $2C, $FD, $FF, + $FF, $8B, $35, $80, $45, $00, $10, $8B, $45, $08, $03, $F2, $83, $E8, $00, $74, + $1A, $83, $E8, $01, $74, $10, $83, $E8, $01, $75, $12, $8B, $7E, $14, $C1, $E7, + $1D, $C1, $FF, $1F, $EB, $07, $33, $FF, $47, $EB, $02, $33, $FF, $8B, $56, $14, + $8B, $C2, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C7, $74, $41, $85, $FF, $74, $70, + $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $14, $0F, $B6, $44, $0E, $18, $03, + $06, $39, $85, $E8, $FD, $FF, $FF, $74, $4D, $41, $3B, $CA, $72, $EC, $33, $C9, + $85, $C9, $74, $19, $8D, $85, $30, $FD, $FF, $FF, $89, $8D, $E8, $FD, $FF, $FF, + $50, $FF, $B5, $28, $FD, $FF, $FF, $FF, $15, $88, $30, $00, $10, $8B, $95, $2C, + $FD, $FF, $FF, $83, $C2, $28, $89, $95, $2C, $FD, $FF, $FF, $83, $EB, $01, $0F, + $85, $6C, $FF, $FF, $FF, $5F, $5B, $8B, $4D, $FC, $33, $CD, $5E, $E8, $50, $0E, + $00, $00, $8B, $E5, $5D, $C3, $0F, $B6, $4C, $31, $20, $03, $4E, $08, $EB, $B0, + $F6, $C2, $01, $74, $0D, $8B, $0E, $8D, $41, $FB, $39, $85, $E8, $FD, $FF, $FF, + $74, $9E, $C1, $EA, $03, $33, $C9, $83, $E2, $0F, $76, $92, $0F, $B6, $44, $0E, + $20, $03, $46, $08, $39, $85, $E8, $FD, $FF, $FF, $74, $0A, $41, $3B, $CA, $72, + $EB, $E9, $78, $FF, $FF, $FF, $0F, $B6, $4C, $31, $18, $03, $0E, $E9, $6E, $FF, + $FF, $FF, $55, $8B, $EC, $83, $EC, $20, $A1, $04, $40, $00, $10, $33, $C5, $89, + $45, $FC, $56, $57, $6A, $00, $6A, $04, $8B, $F1, $FF, $15, $68, $30, $00, $10, + $8B, $F8, $83, $FF, $FF, $0F, $84, $AE, $00, $00, $00, $8D, $45, $E0, $C7, $45, + $E0, $1C, $00, $00, $00, $50, $57, $FF, $15, $58, $30, $00, $10, $E9, $88, $00, + $00, $00, $83, $7D, $E0, $10, $72, $70, $FF, $15, $80, $30, $00, $10, $39, $45, + $EC, $75, $65, $FF, $15, $5C, $30, $00, $10, $39, $45, $E8, $74, $5A, $83, $3E, + $00, $75, $22, $68, $00, $02, $00, $00, $6A, $00, $FF, $35, $6C, $45, $00, $10, + $C7, $46, $04, $80, $00, $00, $00, $FF, $15, $74, $30, $00, $10, $89, $06, $85, + $C0, $74, $4F, $EB, $25, $8B, $46, $04, $39, $46, $08, $72, $1D, $C1, $E0, $03, + $50, $FF, $36, $6A, $00, $FF, $35, $6C, $45, $00, $10, $FF, $15, $70, $30, $00, + $10, $85, $C0, $74, $2D, $D1, $66, $04, $89, $06, $8B, $56, $08, $8B, $0E, $8B, + $45, $E8, $89, $04, $91, $FF, $46, $08, $8D, $45, $E0, $C7, $45, $E0, $1C, $00, + $00, $00, $50, $57, $FF, $15, $54, $30, $00, $10, $85, $C0, $0F, $85, $70, $FF, + $FF, $FF, $57, $FF, $15, $14, $30, $00, $10, $8B, $4D, $FC, $5F, $33, $CD, $5E, + $E8, $1D, $0D, $00, $00, $8B, $E5, $5D, $C3, $55, $8B, $EC, $51, $53, $56, $8B, + $F1, $89, $55, $FC, $33, $DB, $89, $1E, $89, $5E, $04, $89, $5E, $08, $E8, $FF, + $FE, $FF, $FF, $39, $1E, $74, $42, $57, $8B, $FB, $39, $5E, $08, $76, $39, $8B, + $06, $FF, $34, $B8, $53, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, $D8, $85, + $DB, $74, $1C, $53, $FF, $15, $60, $30, $00, $10, $FF, $75, $08, $8B, $55, $FC, + $8B, $CB, $E8, $6F, $FD, $FF, $FF, $59, $53, $FF, $15, $14, $30, $00, $10, $47, + $6A, $00, $5B, $3B, $7E, $08, $72, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, + $8B, $F1, $83, $3E, $00, $74, $44, $57, $33, $FF, $39, $7E, $08, $76, $2B, $53, + $8B, $06, $FF, $34, $B8, $6A, $00, $6A, $5A, $FF, $15, $8C, $30, $00, $10, $8B, + $D8, $85, $DB, $74, $0E, $53, $FF, $15, $64, $30, $00, $10, $53, $FF, $15, $14, + $30, $00, $10, $47, $3B, $7E, $08, $72, $D7, $5B, $FF, $36, $6A, $00, $FF, $35, + $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $5F, $5E, $C3, $55, $8B, $EC, + $83, $EC, $10, $53, $6B, $D9, $28, $56, $57, $6A, $05, $8B, $F2, $03, $1D, $80, + $45, $00, $10, $58, $89, $75, $F0, $89, $45, $FC, $F6, $43, $14, $01, $8B, $3B, + $89, $7D, $F8, $74, $0B, $2B, $F8, $6A, $07, $58, $89, $7D, $F8, $89, $45, $FC, + $8D, $4D, $F4, $51, $6A, $40, $50, $57, $FF, $15, $18, $30, $00, $10, $85, $C0, + $75, $05, $6A, $0A, $58, $EB, $7F, $85, $F6, $74, $1D, $C6, $07, $E9, $8B, $43, + $04, $2B, $C7, $83, $E8, $05, $89, $47, $01, $F6, $43, $14, $01, $74, $29, $8B, + $03, $66, $C7, $00, $EB, $F9, $EB, $20, $F6, $43, $14, $01, $74, $0F, $8D, $73, + $0C, $A5, $66, $A5, $A4, $8B, $7D, $F8, $8B, $75, $F0, $EB, $0B, $8B, $43, $0C, + $89, $07, $8A, $43, $10, $88, $47, $04, $8D, $45, $F4, $50, $FF, $75, $F4, $FF, + $75, $FC, $57, $FF, $15, $18, $30, $00, $10, $FF, $75, $FC, $57, $FF, $15, $4C, + $30, $00, $10, $50, $FF, $15, $84, $30, $00, $10, $83, $E6, $01, $8B, $CE, $83, + $E1, $FD, $8D, $04, $36, $0B, $C8, $8B, $43, $14, $03, $C9, $83, $E0, $F9, $0B, + $C8, $33, $C0, $89, $4B, $14, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $55, $8B, $EC, + $83, $EC, $10, $53, $8B, $1D, $88, $45, $00, $10, $8B, $D1, $56, $57, $33, $FF, + $89, $55, $FC, $8B, $F7, $85, $DB, $0F, $84, $83, $00, $00, $00, $8B, $0D, $80, + $45, $00, $10, $83, $C1, $14, $8B, $01, $C1, $E0, $1E, $C1, $F8, $1F, $3B, $C2, + $75, $0A, $46, $83, $C1, $28, $3B, $F3, $72, $EC, $EB, $64, $83, $FE, $FF, $74, + $5F, $33, $C0, $8D, $4D, $F0, $85, $D2, $0F, $95, $C0, $83, $CA, $FF, $50, $E8, + $25, $FE, $FF, $FF, $8B, $15, $88, $45, $00, $10, $59, $3B, $F2, $73, $39, $8B, + $4D, $FC, $6B, $DE, $28, $A1, $80, $45, $00, $10, $8B, $44, $03, $14, $C1, $E0, + $1E, $C1, $F8, $1F, $3B, $C1, $74, $18, $8B, $D1, $8B, $CE, $E8, $AC, $FE, $FF, + $FF, $8B, $F8, $85, $FF, $75, $11, $8B, $15, $88, $45, $00, $10, $8B, $4D, $FC, + $46, $83, $C3, $28, $3B, $F2, $72, $CD, $8D, $4D, $F0, $E8, $3F, $FE, $FF, $FF, + $8B, $C7, $5F, $5E, $5B, $8B, $E5, $5D, $C3, $56, $33, $F6, $EB, $12, $83, $FE, + $20, $73, $04, $6A, $00, $EB, $02, $6A, $01, $FF, $15, $6C, $30, $00, $10, $46, + $6A, $00, $6A, $01, $68, $68, $45, $00, $10, $FF, $15, $50, $30, $00, $10, $85, + $C0, $75, $DB, $5E, $C3, $6A, $00, $68, $68, $45, $00, $10, $FF, $15, $40, $30, + $00, $10, $C3, $57, $E8, $C0, $FF, $FF, $FF, $83, $3D, $6C, $45, $00, $10, $00, + $74, $70, $33, $C9, $E8, $04, $FF, $FF, $FF, $8B, $F8, $85, $FF, $75, $66, $A1, + $74, $45, $00, $10, $53, $33, $DB, $89, $1D, $74, $45, $00, $10, $85, $C0, $74, + $17, $56, $8B, $30, $68, $00, $80, $00, $00, $53, $50, $FF, $15, $90, $30, $00, + $10, $8B, $C6, $85, $F6, $75, $EB, $5E, $FF, $35, $80, $45, $00, $10, $53, $FF, + $35, $6C, $45, $00, $10, $FF, $15, $48, $30, $00, $10, $FF, $35, $6C, $45, $00, + $10, $FF, $15, $78, $30, $00, $10, $89, $1D, $6C, $45, $00, $10, $89, $1D, $80, + $45, $00, $10, $89, $1D, $84, $45, $00, $10, $89, $1D, $88, $45, $00, $10, $5B, + $EB, $03, $6A, $02, $5F, $E8, $6B, $FF, $FF, $FF, $8B, $C7, $5F, $C3, $55, $8B, + $EC, $83, $EC, $30, $A1, $04, $40, $00, $10, $33, $C5, $89, $45, $FC, $8B, $45, + $08, $53, $56, $57, $8B, $FA, $89, $45, $D0, $89, $7D, $D4, $8B, $F1, $33, $DB, + $E8, $14, $FF, $FF, $FF, $39, $1D, $6C, $45, $00, $10, $0F, $84, $EB, $00, $00, + $00, $8B, $CE, $E8, $8A, $04, $00, $00, $85, $C0, $0F, $84, $D8, $00, $00, $00, + $8B, $CF, $E8, $7B, $04, $00, $00, $85, $C0, $0F, $84, $C9, $00, $00, $00, $8B, + $CE, $E8, $CA, $F9, $FF, $FF, $83, $F8, $FF, $0F, $85, $B5, $00, $00, $00, $E8, + $9D, $03, $00, $00, $8B, $F8, $85, $FF, $0F, $84, $A2, $00, $00, $00, $8B, $45, + $D4, $8D, $4D, $D8, $89, $75, $D8, $89, $45, $DC, $89, $7D, $E0, $E8, $E2, $00, + $00, $00, $85, $C0, $74, $7E, $E8, $B9, $F9, $FF, $FF, $8B, $D0, $85, $D2, $74, + $6F, $8B, $45, $D8, $8B, $4D, $E8, $8B, $7D, $E0, $83, $E1, $0F, $89, $02, $8B, + $45, $DC, $89, $42, $04, $8B, $45, $E4, $83, $E0, $01, $C1, $E1, $03, $0B, $C8, + $89, $7A, $08, $8B, $42, $14, $83, $E0, $80, $0B, $C8, $8B, $45, $EC, $89, $42, + $18, $8B, $45, $F0, $89, $42, $1C, $8B, $45, $F4, $89, $42, $20, $8B, $45, $F8, + $89, $4A, $14, $89, $42, $24, $39, $5D, $E4, $74, $0F, $83, $C6, $FB, $8D, $7A, + $0C, $A5, $66, $A5, $A4, $8B, $7D, $E0, $EB, $0B, $8B, $06, $89, $42, $0C, $8A, + $46, $04, $88, $42, $10, $8B, $45, $D0, $85, $C0, $74, $23, $89, $38, $EB, $1F, + $6A, $09, $EB, $02, $6A, $08, $5B, $8B, $CF, $E8, $67, $03, $00, $00, $EB, $0F, + $6A, $09, $EB, $0A, $6A, $03, $EB, $06, $6A, $07, $EB, $02, $6A, $02, $5B, $E8, + $41, $FE, $FF, $FF, $8B, $4D, $FC, $8B, $C3, $5F, $5E, $33, $CD, $5B, $E8, $EF, + $08, $00, $00, $8B, $E5, $5D, $C2, $04, $00, $56, $8B, $F1, $8A, $06, $84, $C0, + $74, $0C, $3C, $90, $74, $08, $3C, $CC, $74, $04, $33, $C0, $5E, $C3, $33, $C9, + $41, $3B, $D1, $76, $0A, $38, $04, $31, $75, $F0, $41, $3B, $CA, $72, $F6, $33, + $C0, $40, $5E, $C3, $55, $8B, $EC, $83, $EC, $58, $A1, $04, $40, $00, $10, $33, + $C5, $89, $45, $FC, $53, $33, $DB, $C6, $45, $AC, $E8, $56, $8B, $F1, $89, $5D, + $AD, $8A, $C3, $89, $75, $C4, $57, $C6, $45, $BC, $E9, $89, $5D, $BD, $66, $C7, + $45, $B4, $0F, $80, $89, $5D, $B6, $88, $45, $DF, $89, $5D, $D8, $89, $5D, $D4, + $89, $5E, $0C, $89, $5E, $10, $0F, $B6, $C8, $8D, $55, $E0, $8B, $46, $08, $0F, + $B6, $FB, $03, $C1, $03, $3E, $89, $4D, $A8, $8B, $CF, $89, $45, $C8, $E8, $2C, + $03, $00, $00, $F7, $45, $F8, $00, $10, $00, $00, $8B, $C8, $89, $4D, $D0, $0F, + $85, $19, $02, $00, $00, $89, $7D, $CC, $80, $FB, $05, $0F, $82, $84, $00, $00, + $00, $8B, $C7, $33, $D2, $2B, $45, $C8, $83, $E8, $05, $42, $6A, $05, $89, $45, + $BD, $8D, $45, $BC, $59, $89, $45, $CC, $89, $4D, $D0, $89, $55, $D4, $8B, $45, + $D8, $3B, $F8, $73, $0C, $0F, $B6, $45, $E0, $3B, $C8, $0F, $85, $DD, $01, $00, + $00, $8B, $45, $A8, $03, $C1, $83, $F8, $20, $0F, $87, $CF, $01, $00, $00, $8B, + $46, $10, $83, $F8, $08, $0F, $83, $C3, $01, $00, $00, $8A, $55, $DF, $88, $5C, + $30, $14, $8B, $46, $10, $02, $5D, $E0, $88, $54, $30, $1C, $8A, $C2, $8B, $7E, + $08, $FF, $46, $10, $03, $7D, $A8, $02, $45, $D0, $8B, $75, $CC, $8B, $55, $D4, + $88, $45, $DF, $F3, $A4, $85, $D2, $0F, $85, $2E, $01, $00, $00, $8B, $75, $C4, + $E9, $41, $FF, $FF, $FF, $8A, $55, $E6, $80, $FA, $E8, $75, $23, $0F, $B6, $45, + $E0, $2B, $45, $C8, $83, $C0, $FB, $03, $45, $F0, $03, $C7, $89, $45, $AD, $8D, + $45, $AC, $6A, $05, $59, $89, $45, $CC, $89, $4D, $D0, $E9, $6E, $FF, $FF, $FF, + $8A, $C2, $24, $FD, $3C, $E9, $75, $50, $0F, $B6, $4D, $E0, $03, $CF, $80, $FA, + $EB, $75, $08, $0F, $BE, $45, $F0, $03, $C8, $EB, $03, $03, $4D, $F0, $8B, $06, + $3B, $C1, $77, $1D, $83, $C0, $05, $3B, $C8, $73, $16, $8B, $45, $D8, $3B, $C1, + $0F, $83, $BD, $00, $00, $00, $89, $4D, $D8, $8B, $4D, $D0, $E9, $2D, $FF, $FF, + $FF, $2B, $4D, $C8, $8D, $45, $BC, $83, $E9, $05, $89, $45, $CC, $6A, $05, $89, + $4D, $BD, $59, $89, $4D, $D0, $EB, $29, $8A, $75, $E7, $8A, $E2, $80, $E4, $F0, + $80, $FC, $70, $74, $2C, $8A, $C2, $24, $FC, $3C, $E0, $74, $24, $8A, $C6, $24, + $F0, $3C, $80, $74, $1C, $80, $E2, $FE, $80, $FA, $C2, $0F, $85, $ED, $FE, $FF, + $FF, $8B, $45, $D8, $3B, $F8, $1B, $D2, $42, $89, $55, $D4, $E9, $E0, $FE, $FF, + $FF, $8A, $45, $E0, $0F, $B6, $C8, $03, $CF, $80, $FC, $70, $74, $0D, $8A, $C2, + $24, $FC, $3C, $E0, $74, $05, $03, $4D, $F0, $EB, $06, $0F, $BE, $45, $F0, $03, + $C8, $8B, $06, $3B, $C1, $77, $0B, $83, $C0, $05, $3B, $C8, $0F, $82, $69, $FF, + $FF, $FF, $8A, $C2, $24, $FC, $3C, $E0, $0F, $84, $90, $00, $00, $00, $0F, $B6, + $C2, $80, $FA, $0F, $75, $03, $0F, $B6, $C6, $2B, $4D, $C8, $24, $0F, $0C, $80, + $83, $E9, $06, $88, $45, $B5, $8D, $45, $B4, $89, $4D, $B6, $6A, $06, $E9, $01, + $FF, $FF, $FF, $8B, $4D, $D0, $E9, $76, $FE, $FF, $FF, $80, $FB, $05, $73, $59, + $8B, $7D, $C4, $0F, $B6, $F3, $6A, $05, $5A, $8B, $07, $2B, $D6, $03, $C6, $8B, + $C8, $89, $45, $C4, $E8, $90, $FD, $FF, $FF, $85, $C0, $75, $3C, $80, $FB, $02, + $73, $11, $8B, $4D, $C4, $6A, $02, $5A, $2B, $D6, $E8, $7A, $FD, $FF, $FF, $85, + $C0, $74, $2B, $8B, $0F, $83, $C1, $FB, $E8, $F5, $00, $00, $00, $85, $C0, $74, + $1D, $8B, $0F, $6A, $05, $83, $E9, $05, $5A, $E8, $5B, $FD, $FF, $FF, $85, $C0, + $74, $0C, $C7, $47, $0C, $01, $00, $00, $00, $33, $C0, $40, $EB, $02, $33, $C0, + $8B, $4D, $FC, $5F, $5E, $33, $CD, $5B, $E8, $25, $06, $00, $00, $8B, $E5, $5D, + $C3, $8B, $15, $74, $45, $00, $10, $56, $33, $F6, $EB, $07, $39, $72, $04, $75, + $4F, $8B, $12, $85, $D2, $75, $F5, $6A, $40, $68, $00, $30, $00, $00, $68, $00, + $10, $00, $00, $56, $FF, $15, $94, $30, $00, $10, $8B, $D0, $85, $D2, $74, $41, + $8D, $4A, $20, $89, $72, $04, $89, $72, $08, $8B, $F1, $2B, $F2, $8B, $42, $04, + $83, $C6, $20, $89, $01, $89, $4A, $04, $83, $C1, $20, $81, $FE, $E0, $0F, $00, + $00, $76, $EA, $A1, $74, $45, $00, $10, $89, $02, $89, $15, $74, $45, $00, $10, + $85, $D2, $74, $0D, $8B, $42, $04, $5E, $8B, $08, $FF, $42, $08, $89, $4A, $04, + $C3, $33, $C0, $5E, $C3, $8B, $15, $74, $45, $00, $10, $8B, $C1, $56, $33, $F6, + $25, $00, $F0, $FF, $FF, $EB, $08, $3B, $D0, $74, $0A, $8B, $F2, $8B, $12, $85, + $D2, $75, $F4, $5E, $C3, $8B, $42, $04, $89, $01, $83, $6A, $08, $01, $89, $4A, + $04, $75, $1D, $8B, $02, $85, $F6, $74, $04, $89, $06, $EB, $05, $A3, $74, $45, + $00, $10, $68, $00, $80, $00, $00, $6A, $00, $52, $FF, $15, $90, $30, $00, $10, + $5E, $C3, $55, $8B, $EC, $83, $EC, $1C, $6A, $1C, $8D, $45, $E4, $50, $51, $FF, + $15, $98, $30, $00, $10, $81, $7D, $F4, $00, $10, $00, $00, $75, $0B, $F6, $45, + $F8, $F0, $74, $05, $33, $C0, $40, $EB, $02, $33, $C0, $8B, $E5, $5D, $C3, $55, + $8B, $EC, $83, $EC, $24, $8B, $C1, $89, $55, $E8, $53, $57, $89, $45, $DC, $8B, + $D8, $33, $C0, $C7, $45, $EC, $10, $40, $00, $10, $6A, $1C, $89, $45, $F0, $8B, + $FA, $88, $45, $FF, $32, $C0, $59, $F3, $AA, $B5, $10, $8A, $0B, $43, $0F, $B6, + $C1, $88, $4D, $FE, $83, $F8, $66, $7F, $30, $74, $25, $83, $F8, $26, $74, $17, + $83, $F8, $2E, $74, $12, $83, $F8, $36, $74, $0D, $83, $F8, $3E, $74, $08, $83, + $C0, $9C, $83, $F8, $01, $77, $50, $80, $4D, $FF, $40, $88, $4A, $03, $EB, $42, + $80, $4D, $FF, $08, $88, $4A, $04, $EB, $39, $83, $E8, $67, $74, $2D, $2D, $89, + $00, $00, $00, $74, $1D, $48, $83, $E8, $01, $74, $0E, $83, $E8, $01, $75, $27, + $80, $4D, $FF, $04, $88, $4A, $01, $EB, $19, $80, $4D, $FF, $02, $88, $4A, $01, + $EB, $10, $80, $4D, $FF, $20, $88, $4A, $02, $EB, $07, $80, $4D, $FF, $10, $88, + $4A, $05, $80, $ED, $01, $75, $84, $8A, $6D, $FF, $0F, $B6, $C5, $C1, $E0, $17, + $89, $42, $18, $84, $ED, $75, $05, $FE, $C5, $88, $6D, $FF, $88, $4A, $06, $80, + $F9, $0F, $75, $12, $8A, $0B, $43, $88, $4D, $FE, $88, $4A, $07, $C7, $45, $EC, + $5A, $40, $00, $10, $EB, $18, $8A, $C1, $04, $60, $3C, $03, $77, $10, $F6, $C5, + $10, $74, $05, $80, $CD, $08, $EB, $03, $80, $E5, $F7, $88, $6D, $FF, $0F, $B6, + $F9, $56, $8B, $F7, $8B, $C7, $C1, $EE, $02, $25, $03, $00, $00, $80, $79, $05, + $48, $83, $C8, $FC, $40, $8B, $55, $EC, $89, $45, $E4, $8B, $45, $EC, $0F, $B6, + $04, $06, $03, $45, $E4, $8A, $04, $10, $8B, $55, $E8, $89, $45, $F4, $3C, $FF, + $75, $1F, $81, $4A, $18, $00, $30, $00, $00, $8B, $C7, $83, $E0, $FD, $C6, $45, + $F4, $00, $83, $F8, $24, $75, $07, $B0, $01, $89, $45, $F4, $EB, $03, $8B, $45, + $F4, $C6, $45, $E0, $00, $84, $C0, $79, $19, $8B, $55, $EC, $0F, $B6, $C0, $83, + $E0, $7F, $0F, $B7, $04, $10, $8B, $55, $E8, $89, $45, $F4, $C1, $E8, $08, $89, + $45, $E0, $8A, $42, $07, $84, $C0, $74, $1A, $0F, $B6, $86, $40, $41, $00, $10, + $8B, $75, $E4, $84, $AC, $30, $40, $41, $00, $10, $74, $07, $81, $4A, $18, $00, + $30, $00, $00, $8B, $45, $F4, $A8, $01, $0F, $84, $C2, $02, $00, $00, $83, $4A, + $18, $01, $8A, $03, $8A, $E0, $88, $42, $08, $C0, $EC, $06, $88, $65, $FB, $88, + $62, $09, $8A, $E0, $C0, $E8, $03, $80, $E4, $07, $24, $07, $88, $65, $FC, $88, + $62, $0B, $88, $45, $FD, $88, $42, $0A, $8B, $45, $E0, $84, $C0, $74, $16, $8A, + $4D, $FD, $0F, $B6, $C0, $D3, $E0, $8A, $4D, $FE, $84, $C0, $79, $07, $81, $4A, + $18, $00, $30, $00, $00, $8A, $62, $07, $84, $E4, $75, $43, $8A, $C1, $04, $27, + $3C, $06, $77, $3B, $80, $C1, $27, $80, $7D, $FB, $03, $75, $13, $0F, $B6, $45, + $FD, $0F, $B6, $C9, $8A, $84, $C8, $08, $41, $00, $10, $8A, $4D, $FC, $EB, $0C, + $0F, $B6, $C1, $8A, $4D, $FD, $8A, $80, $01, $41, $00, $10, $8A, $6D, $FF, $8A, + $62, $07, $D2, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $30, $00, $00, $BE, + $DB, $41, $00, $10, $F6, $C5, $20, $74, $5E, $80, $7D, $FB, $03, $75, $09, $81, + $4A, $18, $00, $90, $00, $00, $EB, $4F, $8A, $45, $FE, $8A, $C8, $84, $E4, $74, + $0E, $BE, $C9, $41, $00, $10, $C7, $45, $E0, $DB, $41, $00, $10, $EB, $11, $8A, + $C8, $C7, $45, $E0, $C9, $41, $00, $10, $BE, $B1, $41, $00, $10, $80, $E1, $FE, + $38, $0E, $74, $0A, $83, $C6, $02, $3B, $75, $E0, $75, $F4, $EB, $0D, $0F, $B6, + $46, $01, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $07, $81, $4A, $18, $00, $90, + $00, $00, $BE, $DB, $41, $00, $10, $8A, $4A, $07, $8B, $C7, $84, $C9, $74, $43, + $83, $E8, $20, $74, $22, $83, $E8, $01, $74, $0A, $83, $E8, $01, $74, $18, $83, + $E8, $01, $75, $3C, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, $0F, $84, $A6, + $00, $00, $00, $3C, $05, $EB, $11, $8A, $45, $FD, $C6, $45, $FB, $03, $3C, $04, + $0F, $87, $93, $00, $00, $00, $3C, $01, $0F, $85, $92, $00, $00, $00, $E9, $86, + $00, $00, $00, $2D, $8C, $00, $00, $00, $74, $79, $48, $83, $E8, $01, $74, $68, + $80, $7D, $FB, $03, $75, $39, $84, $C9, $74, $0C, $BE, $EA, $41, $00, $10, $BF, + $14, $42, $00, $10, $EB, $05, $BF, $EA, $41, $00, $10, $8A, $4D, $FE, $38, $0E, + $74, $09, $83, $C6, $03, $3B, $F7, $75, $F5, $EB, $58, $84, $6E, $01, $74, $53, + $0F, $B6, $46, $02, $8A, $4D, $FD, $D3, $E0, $84, $C0, $79, $3C, $EB, $41, $84, + $C9, $74, $3D, $83, $EF, $50, $74, $14, $83, $EF, $75, $74, $2C, $83, $EF, $11, + $74, $0F, $83, $EF, $01, $74, $05, $83, $EF, $20, $75, $24, $F6, $C5, $09, $EB, + $03, $F6, $C5, $06, $75, $13, $EB, $18, $8A, $45, $FD, $3C, $01, $74, $0A, $3C, + $05, $EB, $04, $80, $7D, $FD, $05, $76, $07, $81, $4A, $18, $00, $10, $01, $00, + $8A, $4D, $FE, $8A, $43, $01, $83, $C3, $02, $80, $7D, $FD, $01, $88, $45, $FA, + $77, $14, $80, $F9, $F6, $75, $06, $80, $4D, $F4, $02, $EB, $09, $80, $F9, $F7, + $75, $04, $80, $4D, $F4, $10, $8A, $4D, $FB, $0F, $B6, $C1, $83, $E8, $00, $74, + $65, $83, $E8, $01, $74, $57, $83, $E8, $01, $8A, $45, $FC, $75, $0D, $C6, $45, + $F0, $02, $F6, $C5, $10, $75, $04, $C6, $45, $F0, $04, $80, $F9, $03, $74, $5C, + $3C, $04, $75, $58, $F6, $C5, $10, $75, $53, $8A, $4D, $FA, $83, $4A, $18, $02, + $8A, $C1, $C0, $E8, $06, $43, $88, $42, $0D, $8A, $C1, $C0, $E8, $03, $24, $07, + $88, $4A, $0C, $88, $42, $0E, $0F, $B6, $C1, $83, $E0, $07, $88, $42, $0F, $3C, + $05, $75, $29, $F6, $45, $FB, $01, $75, $23, $FE, $C8, $EB, $22, $8A, $45, $FC, + $C6, $45, $F0, $01, $EB, $B5, $8A, $45, $FC, $F6, $C5, $10, $74, $0A, $3C, $06, + $75, $A9, $C6, $45, $F0, $02, $EB, $A3, $3C, $05, $EB, $99, $8B, $45, $F0, $0F, + $B6, $F0, $4B, $8B, $C6, $83, $E8, $01, $74, $26, $83, $E8, $01, $74, $14, $48, + $83, $E8, $01, $75, $24, $81, $4A, $18, $80, $00, $00, $00, $8B, $03, $89, $42, + $14, $EB, $16, $83, $4A, $18, $40, $66, $8B, $03, $66, $89, $42, $14, $EB, $09, + $83, $4A, $18, $20, $8A, $03, $88, $42, $14, $8B, $45, $F4, $03, $DE, $EB, $0C, + $F6, $C5, $20, $74, $07, $81, $4A, $18, $00, $90, $00, $00, $5E, $A8, $10, $74, + $44, $A8, $40, $74, $1F, $F6, $C5, $08, $0F, $84, $84, $00, $00, $00, $81, $4A, + $18, $08, $01, $00, $00, $66, $8B, $03, $83, $C3, $02, $66, $89, $42, $10, $E9, + $91, $00, $00, $00, $F6, $C5, $08, $74, $10, $83, $4A, $18, $08, $66, $8B, $03, + $83, $C3, $02, $66, $89, $42, $10, $EB, $0C, $83, $4A, $18, $10, $8B, $03, $83, + $C3, $04, $89, $42, $10, $8B, $4D, $F4, $F6, $C1, $04, $74, $31, $8B, $42, $18, + $A8, $10, $74, $05, $83, $C8, $08, $EB, $09, $A8, $08, $74, $11, $0D, $00, $08, + $00, $00, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $14, $EB, $0D, $83, $C8, + $08, $89, $42, $18, $66, $8B, $03, $66, $89, $42, $10, $83, $C3, $02, $F6, $C1, + $02, $74, $0A, $83, $4A, $18, $04, $8A, $03, $43, $88, $42, $10, $F6, $C1, $40, + $74, $11, $81, $4A, $18, $10, $01, $00, $00, $8B, $03, $83, $C3, $04, $89, $42, + $10, $EB, $12, $F6, $C1, $20, $74, $0D, $81, $4A, $18, $04, $01, $00, $00, $8A, + $03, $43, $88, $42, $10, $2B, $5D, $DC, $5F, $88, $1A, $80, $FB, $0F, $5B, $76, + $0A, $81, $4A, $18, $00, $50, $00, $00, $C6, $02, $0F, $0F, $B6, $02, $8B, $E5, + $5D, $C3, $3B, $0D, $04, $40, $00, $10, $F2, $75, $02, $F2, $C3, $F2, $E9, $28, + $00, $00, $00, $55, $8B, $EC, $6A, $00, $FF, $15, $38, $30, $00, $10, $FF, $75, + $08, $FF, $15, $3C, $30, $00, $10, $68, $09, $04, $00, $C0, $FF, $15, $4C, $30, + $00, $10, $50, $FF, $15, $34, $30, $00, $10, $5D, $C3, $55, $8B, $EC, $81, $EC, + $24, $03, $00, $00, $6A, $17, $E8, $EB, $00, $00, $00, $85, $C0, $74, $05, $6A, + $02, $59, $CD, $29, $A3, $20, $43, $00, $10, $89, $0D, $1C, $43, $00, $10, $89, + $15, $18, $43, $00, $10, $89, $1D, $14, $43, $00, $10, $89, $35, $10, $43, $00, + $10, $89, $3D, $0C, $43, $00, $10, $66, $8C, $15, $38, $43, $00, $10, $66, $8C, + $0D, $2C, $43, $00, $10, $66, $8C, $1D, $08, $43, $00, $10, $66, $8C, $05, $04, + $43, $00, $10, $66, $8C, $25, $00, $43, $00, $10, $66, $8C, $2D, $FC, $42, $00, + $10, $9C, $8F, $05, $30, $43, $00, $10, $8B, $45, $00, $A3, $24, $43, $00, $10, + $8B, $45, $04, $A3, $28, $43, $00, $10, $8D, $45, $08, $A3, $34, $43, $00, $10, + $8B, $85, $DC, $FC, $FF, $FF, $C7, $05, $70, $42, $00, $10, $01, $00, $01, $00, + $A1, $28, $43, $00, $10, $A3, $2C, $42, $00, $10, $C7, $05, $20, $42, $00, $10, + $09, $04, $00, $C0, $C7, $05, $24, $42, $00, $10, $01, $00, $00, $00, $C7, $05, + $30, $42, $00, $10, $01, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $C7, $80, + $34, $42, $00, $10, $02, $00, $00, $00, $6A, $04, $58, $6B, $C0, $00, $8B, $0D, + $04, $40, $00, $10, $89, $4C, $05, $F8, $6A, $04, $58, $C1, $E0, $00, $8B, $0D, + $00, $40, $00, $10, $89, $4C, $05, $F8, $68, $C0, $30, $00, $10, $E8, $E1, $FE, + $FF, $FF, $8B, $E5, $5D, $C3, $FF, $25, $9C, $30, $00, $10, $C3, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, $46, $39, $00, $00, + $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, $88, $39, $00, $00, + $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, $CA, $39, $00, $00, + $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, $C8, $3B, $00, $00, + $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, $62, $3A, $00, $00, + $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, $B4, $3A, $00, $00, + $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, $06, $3B, $00, $00, + $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, $36, $3B, $00, $00, + $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, $8C, $3B, $00, $00, + $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, $16, $3C, $00, $00, + $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, $00, $00, $00, $00, + $0C, $2A, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $20, $42, $00, $10, $70, $42, $00, $10, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $96, $30, $07, $77, $2C, $61, $0E, $EE, $BA, $51, $09, $99, + $19, $C4, $6D, $07, $8F, $F4, $6A, $70, $35, $A5, $63, $E9, $A3, $95, $64, $9E, + $32, $88, $DB, $0E, $A4, $B8, $DC, $79, $1E, $E9, $D5, $E0, $88, $D9, $D2, $97, + $2B, $4C, $B6, $09, $BD, $7C, $B1, $7E, $07, $2D, $B8, $E7, $91, $1D, $BF, $90, + $64, $10, $B7, $1D, $F2, $20, $B0, $6A, $48, $71, $B9, $F3, $DE, $41, $BE, $84, + $7D, $D4, $DA, $1A, $EB, $E4, $DD, $6D, $51, $B5, $D4, $F4, $C7, $85, $D3, $83, + $56, $98, $6C, $13, $C0, $A8, $6B, $64, $7A, $F9, $62, $FD, $EC, $C9, $65, $8A, + $4F, $5C, $01, $14, $D9, $6C, $06, $63, $63, $3D, $0F, $FA, $F5, $0D, $08, $8D, + $C8, $20, $6E, $3B, $5E, $10, $69, $4C, $E4, $41, $60, $D5, $72, $71, $67, $A2, + $D1, $E4, $03, $3C, $47, $D4, $04, $4B, $FD, $85, $0D, $D2, $6B, $B5, $0A, $A5, + $FA, $A8, $B5, $35, $6C, $98, $B2, $42, $D6, $C9, $BB, $DB, $40, $F9, $BC, $AC, + $E3, $6C, $D8, $32, $75, $5C, $DF, $45, $CF, $0D, $D6, $DC, $59, $3D, $D1, $AB, + $AC, $30, $D9, $26, $3A, $00, $DE, $51, $80, $51, $D7, $C8, $16, $61, $D0, $BF, + $B5, $F4, $B4, $21, $23, $C4, $B3, $56, $99, $95, $BA, $CF, $0F, $A5, $BD, $B8, + $9E, $B8, $02, $28, $08, $88, $05, $5F, $B2, $D9, $0C, $C6, $24, $E9, $0B, $B1, + $87, $7C, $6F, $2F, $11, $4C, $68, $58, $AB, $1D, $61, $C1, $3D, $2D, $66, $B6, + $90, $41, $DC, $76, $06, $71, $DB, $01, $BC, $20, $D2, $98, $2A, $10, $D5, $EF, + $89, $85, $B1, $71, $1F, $B5, $B6, $06, $A5, $E4, $BF, $9F, $33, $D4, $B8, $E8, + $A2, $C9, $07, $78, $34, $F9, $00, $0F, $8E, $A8, $09, $96, $18, $98, $0E, $E1, + $BB, $0D, $6A, $7F, $2D, $3D, $6D, $08, $97, $6C, $64, $91, $01, $5C, $63, $E6, + $F4, $51, $6B, $6B, $62, $61, $6C, $1C, $D8, $30, $65, $85, $4E, $00, $62, $F2, + $ED, $95, $06, $6C, $7B, $A5, $01, $1B, $C1, $F4, $08, $82, $57, $C4, $0F, $F5, + $C6, $D9, $B0, $65, $50, $E9, $B7, $12, $EA, $B8, $BE, $8B, $7C, $88, $B9, $FC, + $DF, $1D, $DD, $62, $49, $2D, $DA, $15, $F3, $7C, $D3, $8C, $65, $4C, $D4, $FB, + $58, $61, $B2, $4D, $CE, $51, $B5, $3A, $74, $00, $BC, $A3, $E2, $30, $BB, $D4, + $41, $A5, $DF, $4A, $D7, $95, $D8, $3D, $6D, $C4, $D1, $A4, $FB, $F4, $D6, $D3, + $6A, $E9, $69, $43, $FC, $D9, $6E, $34, $46, $88, $67, $AD, $D0, $B8, $60, $DA, + $73, $2D, $04, $44, $E5, $1D, $03, $33, $5F, $4C, $0A, $AA, $C9, $7C, $0D, $DD, + $3C, $71, $05, $50, $AA, $41, $02, $27, $10, $10, $0B, $BE, $86, $20, $0C, $C9, + $25, $B5, $68, $57, $B3, $85, $6F, $20, $09, $D4, $66, $B9, $9F, $E4, $61, $CE, + $0E, $F9, $DE, $5E, $98, $C9, $D9, $29, $22, $98, $D0, $B0, $B4, $A8, $D7, $C7, + $17, $3D, $B3, $59, $81, $0D, $B4, $2E, $3B, $5C, $BD, $B7, $AD, $6C, $BA, $C0, + $20, $83, $B8, $ED, $B6, $B3, $BF, $9A, $0C, $E2, $B6, $03, $9A, $D2, $B1, $74, + $39, $47, $D5, $EA, $AF, $77, $D2, $9D, $15, $26, $DB, $04, $83, $16, $DC, $73, + $12, $0B, $63, $E3, $84, $3B, $64, $94, $3E, $6A, $6D, $0D, $A8, $5A, $6A, $7A, + $0B, $CF, $0E, $E4, $9D, $FF, $09, $93, $27, $AE, $00, $0A, $B1, $9E, $07, $7D, + $44, $93, $0F, $F0, $D2, $A3, $08, $87, $68, $F2, $01, $1E, $FE, $C2, $06, $69, + $5D, $57, $62, $F7, $CB, $67, $65, $80, $71, $36, $6C, $19, $E7, $06, $6B, $6E, + $76, $1B, $D4, $FE, $E0, $2B, $D3, $89, $5A, $7A, $DA, $10, $CC, $4A, $DD, $67, + $6F, $DF, $B9, $F9, $F9, $EF, $BE, $8E, $43, $BE, $B7, $17, $D5, $8E, $B0, $60, + $E8, $A3, $D6, $D6, $7E, $93, $D1, $A1, $C4, $C2, $D8, $38, $52, $F2, $DF, $4F, + $F1, $67, $BB, $D1, $67, $57, $BC, $A6, $DD, $06, $B5, $3F, $4B, $36, $B2, $48, + $DA, $2B, $0D, $D8, $4C, $1B, $0A, $AF, $F6, $4A, $03, $36, $60, $7A, $04, $41, + $C3, $EF, $60, $DF, $55, $DF, $67, $A8, $EF, $8E, $6E, $31, $79, $BE, $69, $46, + $8C, $B3, $61, $CB, $1A, $83, $66, $BC, $A0, $D2, $6F, $25, $36, $E2, $68, $52, + $95, $77, $0C, $CC, $03, $47, $0B, $BB, $B9, $16, $02, $22, $2F, $26, $05, $55, + $BE, $3B, $BA, $C5, $28, $0B, $BD, $B2, $92, $5A, $B4, $2B, $04, $6A, $B3, $5C, + $A7, $FF, $D7, $C2, $31, $CF, $D0, $B5, $8B, $9E, $D9, $2C, $1D, $AE, $DE, $5B, + $B0, $C2, $64, $9B, $26, $F2, $63, $EC, $9C, $A3, $6A, $75, $0A, $93, $6D, $02, + $A9, $06, $09, $9C, $3F, $36, $0E, $EB, $85, $67, $07, $72, $13, $57, $00, $05, + $82, $4A, $BF, $95, $14, $7A, $B8, $E2, $AE, $2B, $B1, $7B, $38, $1B, $B6, $0C, + $9B, $8E, $D2, $92, $0D, $BE, $D5, $E5, $B7, $EF, $DC, $7C, $21, $DF, $DB, $0B, + $D4, $D2, $D3, $86, $42, $E2, $D4, $F1, $F8, $B3, $DD, $68, $6E, $83, $DA, $1F, + $CD, $16, $BE, $81, $5B, $26, $B9, $F6, $E1, $77, $B0, $6F, $77, $47, $B7, $18, + $E6, $5A, $08, $88, $70, $6A, $0F, $FF, $CA, $3B, $06, $66, $5C, $0B, $01, $11, + $FF, $9E, $65, $8F, $69, $AE, $62, $F8, $D3, $FF, $6B, $61, $45, $CF, $6C, $16, + $78, $E2, $0A, $A0, $EE, $D2, $0D, $D7, $54, $83, $04, $4E, $C2, $B3, $03, $39, + $61, $26, $67, $A7, $F7, $16, $60, $D0, $4D, $47, $69, $49, $DB, $77, $6E, $3E, + $4A, $6A, $D1, $AE, $DC, $5A, $D6, $D9, $66, $0B, $DF, $40, $F0, $3B, $D8, $37, + $53, $AE, $BC, $A9, $C5, $9E, $BB, $DE, $7F, $CF, $B2, $47, $E9, $FF, $B5, $30, + $1C, $F2, $BD, $BD, $8A, $C2, $BA, $CA, $30, $93, $B3, $53, $A6, $A3, $B4, $24, + $05, $36, $D0, $BA, $93, $06, $D7, $CD, $29, $57, $DE, $54, $BF, $67, $D9, $23, + $2E, $7A, $66, $B3, $B8, $4A, $61, $C4, $02, $1B, $68, $5D, $94, $2B, $6F, $2A, + $37, $BE, $0B, $B4, $A1, $8E, $0C, $C3, $1B, $DF, $05, $5A, $8D, $EF, $02, $2D, + $73, $00, $61, $00, $6E, $00, $63, $00, $74, $00, $75, $00, $61, $00, $72, $00, + $79, $00, $6C, $00, $69, $00, $62, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $41, $64, $64, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, + $46, $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, + $52, $65, $6D, $6F, $76, $65, $43, $6C, $69, $70, $62, $6F, $61, $72, $64, $46, + $6F, $72, $6D, $61, $74, $4C, $69, $73, $74, $65, $6E, $65, $72, $00, $00, $00, + $6B, $00, $65, $00, $72, $00, $6E, $00, $65, $00, $6C, $00, $33, $00, $32, $00, + $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, $00, $00, $75, $00, $73, $00, + $65, $00, $72, $00, $33, $00, $32, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, + $00, $00, $00, $00, $47, $65, $74, $50, $72, $6F, $63, $41, $64, $64, $72, $65, + $73, $73, $00, $00, $4C, $64, $72, $47, $65, $74, $50, $72, $6F, $63, $65, $64, + $75, $72, $65, $41, $64, $64, $72, $65, $73, $73, $00, $00, $6E, $00, $74, $00, + $64, $00, $6C, $00, $6C, $00, $2E, $00, $64, $00, $6C, $00, $6C, $00, $00, $00, + $4C, $64, $72, $4C, $6F, $61, $64, $44, $6C, $6C, $00, $00, $77, $00, $69, $00, + $6E, $00, $74, $00, $72, $00, $75, $00, $73, $00, $74, $00, $2E, $00, $64, $00, + $6C, $00, $6C, $00, $00, $00, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66, + $79, $54, $72, $75, $73, $74, $00, $00, $57, $69, $6E, $56, $65, $72, $69, $66, + $79, $54, $72, $75, $73, $74, $45, $78, $00, $00, $00, $00, $62, $00, $64, $00, + $73, $00, $2E, $00, $65, $00, $78, $00, $65, $00, $00, $00, $4C, $00, $69, $00, + $63, $00, $65, $00, $6E, $00, $73, $00, $65, $00, $4D, $00, $61, $00, $6E, $00, + $61, $00, $67, $00, $65, $00, $72, $00, $2E, $00, $65, $00, $78, $00, $65, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $0D, $00, $00, $00, + $0C, $01, $00, $00, $1C, $37, $00, $00, $1C, $27, $00, $00, $00, $00, $00, $00, + $5C, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $40, $00, $10, + $00, $00, $00, $00, $00, $00, $00, $00, $B0, $30, $00, $10, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $E1, $70, $F1, $55, $00, $00, $00, $00, $EC, $36, $00, $00, + $01, $00, $00, $00, $02, $00, $00, $00, $02, $00, $00, $00, $D8, $36, $00, $00, + $E0, $36, $00, $00, $E8, $36, $00, $00, $B0, $10, $00, $00, $D0, $10, $00, $00, + $F9, $36, $00, $00, $0A, $37, $00, $00, $00, $00, $01, $00, $73, $68, $66, $6F, + $6C, $64, $65, $72, $2E, $64, $6C, $6C, $00, $53, $48, $47, $65, $74, $46, $6F, + $6C, $64, $65, $72, $50, $61, $74, $68, $41, $00, $53, $48, $47, $65, $74, $46, + $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $57, $00, $00, $47, $43, $54, $4C, + $00, $10, $00, $00, $0D, $1A, $00, $00, $2E, $74, $65, $78, $74, $24, $6D, $6E, + $00, $00, $00, $00, $00, $30, $00, $00, $B0, $00, $00, $00, $2E, $69, $64, $61, + $74, $61, $24, $35, $00, $00, $00, $00, $B0, $30, $00, $00, $04, $00, $00, $00, + $2E, $30, $30, $63, $66, $67, $00, $00, $C0, $30, $00, $00, $EC, $05, $00, $00, + $2E, $72, $64, $61, $74, $61, $00, $00, $B0, $36, $00, $00, $6B, $00, $00, $00, + $2E, $65, $64, $61, $74, $61, $00, $00, $1C, $37, $00, $00, $0C, $01, $00, $00, + $2E, $72, $64, $61, $74, $61, $24, $7A, $7A, $7A, $64, $62, $67, $00, $00, $00, + $28, $38, $00, $00, $28, $00, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $32, + $00, $00, $00, $00, $50, $38, $00, $00, $14, $00, $00, $00, $2E, $69, $64, $61, + $74, $61, $24, $33, $00, $00, $00, $00, $64, $38, $00, $00, $B0, $00, $00, $00, + $2E, $69, $64, $61, $74, $61, $24, $34, $00, $00, $00, $00, $14, $39, $00, $00, + $1E, $03, $00, $00, $2E, $69, $64, $61, $74, $61, $24, $36, $00, $00, $00, $00, + $00, $40, $00, $00, $14, $02, $00, $00, $2E, $64, $61, $74, $61, $00, $00, $00, + $20, $42, $00, $00, $6C, $03, $00, $00, $2E, $62, $73, $73, $00, $00, $00, $00, + $00, $50, $00, $00, $58, $00, $00, $00, $2E, $72, $73, $72, $63, $24, $30, $31, + $00, $00, $00, $00, $60, $50, $00, $00, $80, $01, $00, $00, $2E, $72, $73, $72, + $63, $24, $30, $32, $00, $00, $00, $00, $64, $38, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $F0, $39, $00, $00, $00, $30, $00, $00, $08, $39, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $26, $3A, $00, $00, $A4, $30, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $14, $39, $00, $00, $22, $39, $00, $00, $30, $39, $00, $00, + $46, $39, $00, $00, $56, $39, $00, $00, $68, $39, $00, $00, $76, $39, $00, $00, + $88, $39, $00, $00, $94, $39, $00, $00, $A4, $39, $00, $00, $B8, $39, $00, $00, + $CA, $39, $00, $00, $DA, $39, $00, $00, $02, $3C, $00, $00, $E4, $3B, $00, $00, + $C8, $3B, $00, $00, $32, $3A, $00, $00, $48, $3A, $00, $00, $56, $3A, $00, $00, + $62, $3A, $00, $00, $76, $3A, $00, $00, $94, $3A, $00, $00, $A4, $3A, $00, $00, + $B4, $3A, $00, $00, $CA, $3A, $00, $00, $DA, $3A, $00, $00, $EA, $3A, $00, $00, + $06, $3B, $00, $00, $0E, $3B, $00, $00, $1C, $3B, $00, $00, $28, $3B, $00, $00, + $36, $3B, $00, $00, $4A, $3B, $00, $00, $60, $3B, $00, $00, $78, $3B, $00, $00, + $8C, $3B, $00, $00, $9A, $3B, $00, $00, $A8, $3B, $00, $00, $B8, $3B, $00, $00, + $16, $3C, $00, $00, $00, $00, $00, $00, $FE, $39, $00, $00, $12, $3A, $00, $00, + $00, $00, $00, $00, $8F, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, + $57, $00, $F0, $01, $47, $65, $74, $46, $69, $6C, $65, $53, $69, $7A, $65, $00, + $8C, $00, $43, $72, $65, $61, $74, $65, $46, $69, $6C, $65, $4D, $61, $70, $70, + $69, $6E, $67, $57, $00, $00, $57, $03, $4D, $61, $70, $56, $69, $65, $77, $4F, + $66, $46, $69, $6C, $65, $00, $D6, $04, $55, $6E, $6D, $61, $70, $56, $69, $65, + $77, $4F, $66, $46, $69, $6C, $65, $00, $52, $00, $43, $6C, $6F, $73, $65, $48, + $61, $6E, $64, $6C, $65, $00, $EF, $04, $56, $69, $72, $74, $75, $61, $6C, $50, + $72, $6F, $74, $65, $63, $74, $00, $00, $45, $05, $6C, $73, $74, $72, $63, $6D, + $70, $69, $57, $00, $A4, $02, $47, $65, $74, $56, $65, $72, $73, $69, $6F, $6E, + $45, $78, $57, $00, $18, $02, $47, $65, $74, $4D, $6F, $64, $75, $6C, $65, $48, + $61, $6E, $64, $6C, $65, $57, $00, $00, $45, $02, $47, $65, $74, $50, $72, $6F, + $63, $41, $64, $64, $72, $65, $73, $73, $00, $00, $3F, $03, $4C, $6F, $61, $64, + $4C, $69, $62, $72, $61, $72, $79, $57, $00, $00, $14, $02, $47, $65, $74, $4D, + $6F, $64, $75, $6C, $65, $46, $69, $6C, $65, $4E, $61, $6D, $65, $57, $00, $00, + $4B, $45, $52, $4E, $45, $4C, $33, $32, $2E, $64, $6C, $6C, $00, $00, $BF, $00, + $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, $61, $74, $68, $41, + $00, $00, $C3, $00, $53, $48, $47, $65, $74, $46, $6F, $6C, $64, $65, $72, $50, + $61, $74, $68, $57, $00, $00, $53, $48, $45, $4C, $4C, $33, $32, $2E, $64, $6C, + $6C, $00, $EC, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, $6B, $65, $64, $45, + $78, $63, $68, $61, $6E, $67, $65, $00, $CD, $02, $48, $65, $61, $70, $43, $72, + $65, $61, $74, $65, $00, $00, $CF, $02, $48, $65, $61, $70, $46, $72, $65, $65, + $00, $00, $C0, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, $50, $72, + $6F, $63, $65, $73, $73, $00, $E9, $02, $49, $6E, $74, $65, $72, $6C, $6F, $63, + $6B, $65, $64, $43, $6F, $6D, $70, $61, $72, $65, $45, $78, $63, $68, $61, $6E, + $67, $65, $00, $00, $C4, $04, $54, $68, $72, $65, $61, $64, $33, $32, $4E, $65, + $78, $74, $00, $00, $C3, $04, $54, $68, $72, $65, $61, $64, $33, $32, $46, $69, + $72, $73, $74, $00, $C5, $01, $47, $65, $74, $43, $75, $72, $72, $65, $6E, $74, + $54, $68, $72, $65, $61, $64, $49, $64, $00, $00, $BA, $04, $53, $75, $73, $70, + $65, $6E, $64, $54, $68, $72, $65, $61, $64, $00, $13, $04, $52, $65, $73, $75, + $6D, $65, $54, $68, $72, $65, $61, $64, $00, $00, $BE, $00, $43, $72, $65, $61, + $74, $65, $54, $6F, $6F, $6C, $68, $65, $6C, $70, $33, $32, $53, $6E, $61, $70, + $73, $68, $6F, $74, $00, $00, $B2, $04, $53, $6C, $65, $65, $70, $00, $D2, $02, + $48, $65, $61, $70, $52, $65, $41, $6C, $6C, $6F, $63, $00, $CB, $02, $48, $65, + $61, $70, $41, $6C, $6C, $6F, $63, $00, $CE, $02, $48, $65, $61, $70, $44, $65, + $73, $74, $72, $6F, $79, $00, $86, $02, $47, $65, $74, $54, $68, $72, $65, $61, + $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $C1, $01, $47, $65, $74, $43, + $75, $72, $72, $65, $6E, $74, $50, $72, $6F, $63, $65, $73, $73, $49, $64, $00, + $58, $01, $46, $6C, $75, $73, $68, $49, $6E, $73, $74, $72, $75, $63, $74, $69, + $6F, $6E, $43, $61, $63, $68, $65, $00, $91, $04, $53, $65, $74, $54, $68, $72, + $65, $61, $64, $43, $6F, $6E, $74, $65, $78, $74, $00, $00, $85, $03, $4F, $70, + $65, $6E, $54, $68, $72, $65, $61, $64, $00, $00, $EC, $04, $56, $69, $72, $74, + $75, $61, $6C, $46, $72, $65, $65, $00, $E9, $04, $56, $69, $72, $74, $75, $61, + $6C, $41, $6C, $6C, $6F, $63, $00, $00, $F1, $04, $56, $69, $72, $74, $75, $61, + $6C, $51, $75, $65, $72, $79, $00, $00, $D3, $04, $55, $6E, $68, $61, $6E, $64, + $6C, $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, + $65, $72, $00, $00, $A5, $04, $53, $65, $74, $55, $6E, $68, $61, $6E, $64, $6C, + $65, $64, $45, $78, $63, $65, $70, $74, $69, $6F, $6E, $46, $69, $6C, $74, $65, + $72, $00, $C0, $04, $54, $65, $72, $6D, $69, $6E, $61, $74, $65, $50, $72, $6F, + $63, $65, $73, $73, $00, $00, $04, $03, $49, $73, $50, $72, $6F, $63, $65, $73, + $73, $6F, $72, $46, $65, $61, $74, $75, $72, $65, $50, $72, $65, $73, $65, $6E, + $74, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $B1, $19, $BF, $44, $4E, $E6, $40, $BB, $00, $00, $00, $00, $00, $00, $00, $00, + $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, $A3, $A8, + $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AA, $AC, $AA, $B2, $AA, $9F, $9F, $9F, $9F, + $B5, $A3, $A3, $A4, $AA, $AA, $BA, $AA, $96, $AA, $A8, $AA, $C3, $C3, $96, $96, + $B7, $AE, $D6, $BD, $A3, $C5, $A3, $A3, $9F, $C3, $9C, $AA, $AA, $AC, $AA, $BF, + $03, $7F, $11, $7F, $01, $7F, $01, $3F, $01, $01, $90, $82, $7D, $97, $59, $59, + $59, $59, $59, $7F, $59, $59, $60, $7D, $7F, $7F, $59, $59, $59, $59, $59, $59, + $59, $59, $59, $59, $59, $59, $9A, $88, $7D, $59, $50, $50, $50, $50, $59, $59, + $59, $59, $61, $94, $61, $9E, $59, $59, $85, $59, $92, $A3, $60, $60, $59, $59, + $59, $59, $59, $59, $59, $59, $59, $59, $59, $9F, $01, $03, $01, $04, $03, $D5, + $03, $CC, $01, $BC, $03, $F0, $10, $10, $10, $10, $50, $50, $50, $50, $14, $20, + $20, $20, $20, $01, $01, $01, $01, $C4, $02, $10, $00, $00, $00, $00, $01, $01, + $C0, $C2, $10, $11, $02, $03, $11, $03, $03, $04, $00, $00, $14, $00, $02, $00, + $00, $C6, $C8, $02, $02, $02, $02, $00, $00, $FF, $FF, $FF, $FF, $00, $00, $00, + $FF, $CA, $01, $01, $01, $00, $06, $00, $04, $00, $C0, $C2, $01, $01, $03, $01, + $FF, $FF, $01, $00, $03, $C4, $C4, $C6, $03, $01, $01, $01, $FF, $03, $03, $03, + $C8, $40, $00, $0A, $00, $04, $00, $00, $00, $00, $7F, $00, $33, $01, $00, $00, + $00, $00, $00, $00, $FF, $BF, $FF, $FF, $00, $00, $00, $00, $07, $00, $00, $FF, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $FF, $FF, + $00, $00, $00, $BF, $00, $00, $00, $00, $00, $00, $00, $00, $7F, $00, $00, $FF, + $4A, $4A, $4A, $4A, $4B, $52, $4A, $4A, $4A, $4A, $4F, $4C, $4A, $4A, $4A, $4A, + $4A, $4A, $4A, $4A, $55, $45, $40, $4A, $4A, $4A, $45, $59, $4D, $46, $4A, $5D, + $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $4A, $61, $63, + $67, $4E, $4A, $4A, $6B, $6D, $4A, $4A, $45, $6D, $4A, $4A, $44, $45, $4A, $4A, + $00, $00, $00, $02, $0D, $06, $06, $06, $06, $0E, $00, $00, $00, $00, $06, $06, + $06, $00, $06, $06, $02, $06, $00, $0A, $0A, $07, $07, $06, $02, $05, $05, $02, + $02, $00, $00, $04, $04, $04, $04, $00, $00, $00, $0E, $05, $06, $06, $06, $01, + $06, $00, $00, $08, $00, $10, $00, $18, $00, $20, $00, $28, $00, $30, $00, $80, + $01, $82, $01, $86, $00, $F6, $CF, $FE, $3F, $AB, $00, $B0, $00, $B1, $00, $B3, + $00, $BA, $F8, $BB, $00, $C0, $00, $C1, $00, $C7, $BF, $62, $FF, $00, $8D, $FF, + $00, $C4, $FF, $00, $C5, $FF, $00, $FF, $FF, $EB, $01, $FF, $0E, $12, $08, $00, + $13, $09, $00, $16, $08, $00, $17, $09, $00, $2B, $09, $00, $AE, $FF, $07, $B2, + $FF, $00, $B4, $FF, $00, $B5, $FF, $00, $C3, $01, $00, $C7, $FF, $BF, $E7, $08, + $00, $F0, $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, + $18, $00, $00, $00, $18, $00, $00, $80, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $01, $00, $02, $00, $00, $00, $30, $00, $00, $80, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, + $09, $04, $00, $00, $48, $00, $00, $00, $60, $50, $00, $00, $7D, $01, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $3C, $3F, $78, $6D, $6C, $20, $76, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, + $2E, $30, $27, $20, $65, $6E, $63, $6F, $64, $69, $6E, $67, $3D, $27, $55, $54, + $46, $2D, $38, $27, $20, $73, $74, $61, $6E, $64, $61, $6C, $6F, $6E, $65, $3D, + $27, $79, $65, $73, $27, $3F, $3E, $0D, $0A, $3C, $61, $73, $73, $65, $6D, $62, + $6C, $79, $20, $78, $6D, $6C, $6E, $73, $3D, $27, $75, $72, $6E, $3A, $73, $63, + $68, $65, $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, + $63, $6F, $6D, $3A, $61, $73, $6D, $2E, $76, $31, $27, $20, $6D, $61, $6E, $69, + $66, $65, $73, $74, $56, $65, $72, $73, $69, $6F, $6E, $3D, $27, $31, $2E, $30, + $27, $3E, $0D, $0A, $20, $20, $3C, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, + $20, $78, $6D, $6C, $6E, $73, $3D, $22, $75, $72, $6E, $3A, $73, $63, $68, $65, + $6D, $61, $73, $2D, $6D, $69, $63, $72, $6F, $73, $6F, $66, $74, $2D, $63, $6F, + $6D, $3A, $61, $73, $6D, $2E, $76, $33, $22, $3E, $0D, $0A, $20, $20, $20, $20, + $3C, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, $20, $20, $20, $20, + $20, $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $50, $72, $69, $76, + $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, $20, $20, $20, $20, $20, $20, + $20, $3C, $72, $65, $71, $75, $65, $73, $74, $65, $64, $45, $78, $65, $63, $75, + $74, $69, $6F, $6E, $4C, $65, $76, $65, $6C, $20, $6C, $65, $76, $65, $6C, $3D, + $27, $61, $73, $49, $6E, $76, $6F, $6B, $65, $72, $27, $20, $75, $69, $41, $63, + $63, $65, $73, $73, $3D, $27, $66, $61, $6C, $73, $65, $27, $20, $2F, $3E, $0D, + $0A, $20, $20, $20, $20, $20, $20, $3C, $2F, $72, $65, $71, $75, $65, $73, $74, + $65, $64, $50, $72, $69, $76, $69, $6C, $65, $67, $65, $73, $3E, $0D, $0A, $20, + $20, $20, $20, $3C, $2F, $73, $65, $63, $75, $72, $69, $74, $79, $3E, $0D, $0A, + $20, $20, $3C, $2F, $74, $72, $75, $73, $74, $49, $6E, $66, $6F, $3E, $0D, $0A, + $3C, $2F, $61, $73, $73, $65, $6D, $62, $6C, $79, $3E, $0D, $0A, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $10, $00, $00, $54, $01, $00, $00, $18, $30, $34, $30, $4F, $30, $62, $30, + $86, $30, $94, $30, $9B, $30, $A3, $30, $C2, $30, $D2, $30, $08, $31, $77, $31, + $C5, $31, $CC, $31, $F2, $31, $05, $32, $1F, $32, $2B, $32, $3A, $32, $6A, $32, + $9C, $32, $20, $33, $2E, $33, $35, $33, $40, $33, $54, $33, $59, $33, $60, $33, + $65, $33, $6D, $33, $72, $33, $77, $33, $7D, $33, $82, $33, $89, $33, $95, $33, + $9B, $33, $AB, $33, $B8, $33, $FA, $34, $02, $35, $07, $35, $0C, $35, $29, $35, + $38, $35, $40, $35, $5A, $35, $67, $35, $75, $35, $7A, $35, $8F, $35, $95, $35, + $A2, $35, $A8, $35, $AD, $35, $B2, $35, $B8, $35, $BE, $35, $C3, $35, $F2, $35, + $13, $36, $32, $36, $3F, $36, $53, $36, $59, $36, $73, $36, $7E, $36, $8B, $36, + $A2, $36, $B0, $36, $C3, $36, $C9, $36, $E3, $36, $E9, $36, $FA, $36, $01, $37, + $07, $37, $36, $37, $3D, $37, $6F, $37, $79, $37, $9D, $37, $B0, $37, $D7, $37, + $DC, $37, $0D, $38, $36, $38, $3B, $38, $42, $38, $58, $38, $8C, $38, $9F, $38, + $C0, $38, $C4, $38, $C8, $38, $CC, $38, $D3, $38, $DF, $38, $F6, $38, $06, $39, + $0C, $39, $16, $39, $1E, $39, $2B, $39, $30, $39, $41, $39, $47, $39, $52, $39, + $5A, $39, $5F, $39, $65, $39, $71, $39, $80, $39, $A8, $39, $BC, $39, $E3, $39, + $59, $3A, $D9, $3A, $EC, $3A, $09, $3B, $1A, $3B, $25, $3B, $3C, $3B, $49, $3B, + $67, $3B, $6D, $3B, $96, $3B, $A5, $3B, $E9, $3B, $F6, $3B, $0B, $3C, $3B, $3C, + $48, $3C, $4F, $3C, $60, $3C, $66, $3C, $7F, $3C, $AA, $3C, $05, $3D, $0F, $3D, + $16, $3D, $46, $3D, $5F, $3D, $96, $3D, $A6, $3D, $C9, $3D, $FB, $3D, $05, $3E, + $0B, $3E, $18, $3E, $1E, $3E, $2B, $3E, $40, $3E, $49, $3E, $5D, $3E, $6A, $3E, + $71, $3E, $77, $3E, $7D, $3E, $83, $3E, $89, $3E, $8F, $3E, $95, $3E, $9B, $3E, + $B5, $3E, $D7, $3E, $00, $20, $00, $00, $78, $00, $00, $00, $1B, $30, $B3, $32, + $D6, $32, $04, $33, $0C, $33, $27, $33, $5E, $33, $6C, $33, $81, $33, $B6, $33, + $70, $34, $0C, $35, $16, $35, $97, $35, $A8, $35, $C0, $35, $E2, $35, $E9, $35, + $F4, $35, $F9, $35, $23, $36, $8B, $36, $90, $36, $97, $36, $D4, $38, $EA, $38, + $F3, $38, $FE, $38, $05, $39, $25, $39, $2B, $39, $31, $39, $37, $39, $3D, $39, + $43, $39, $4A, $39, $51, $39, $58, $39, $5F, $39, $66, $39, $6D, $39, $74, $39, + $7C, $39, $84, $39, $8C, $39, $98, $39, $A1, $39, $A6, $39, $AC, $39, $B6, $39, + $C0, $39, $D0, $39, $E0, $39, $F0, $39, $F9, $39, $08, $3A, $00, $30, $00, $00, + $14, $00, $00, $00, $B0, $30, $C0, $30, $C4, $30, $8C, $36, $98, $36, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, + $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +); +implementation +const + BDS_CRC_OFFSET:DWORD=$00000BF1; + BDS_PATCH_OFFSET:DWORD=$00000C00; + BDS_FUNC_OFFSET:DWORD=$00000C06; + LM_CRC_OFFSET:DWORD=$00000C22; + LM_PATCH_OFFSET:DWORD=$00000C2A; + LM_FUNC_OFFSET:DWORD=$00000C30; + +procedure CreateSHFolderData(RadStudioVersion:PRadStudioVersion); +begin + PDWORD(@SHFolderData[BDS_CRC_OFFSET])^:=RadStudioVersion^.BdsPatchInfo.Crc; + PDWORD(@SHFolderData[BDS_PATCH_OFFSET])^:=RadStudioVersion^.BdsPatchInfo.PatchOffset; + PDWORD(@SHFolderData[BDS_FUNC_OFFSET])^:=RadStudioVersion^.BdsPatchInfo.FinalizeArrayOffset; + PDWORD(@SHFolderData[LM_CRC_OFFSET])^:=RadStudioVersion^.LicenseManagerPatchInfo.Crc; + PDWORD(@SHFolderData[LM_PATCH_OFFSET])^:=RadStudioVersion^.LicenseManagerPatchInfo.PatchOffset; + PDWORD(@SHFolderData[LM_FUNC_OFFSET])^:=RadStudioVersion^.LicenseManagerPatchInfo.FinalizeArrayOffset; +end; + +end. diff --git a/10.3.1/Keygen/Sha1.pas b/10.3.1/Keygen/Sha1.pas new file mode 100644 index 0000000..2029e4f --- /dev/null +++ b/10.3.1/Keygen/Sha1.pas @@ -0,0 +1,251 @@ +{ + +*************************************************** +* A binary compatible SHA1 implementation * +* written by Dave Barton (davebarton@bigfoot.com) * +*************************************************** +* 160bit hash size * +*************************************************** + +} +unit SHA1; + +interface +uses + Windows,SysUtils; + +type + TSHA1Digest = array[0..19] of byte; + TSHA1Context = record + Hash: array[0..4] of DWord; + Hi, Lo: integer; + Buffer: array[0..63] of byte; + Index: integer; + end; + +procedure SHA1Init(var Context: TSHA1Context); +procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); +procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); + + +function SHA1String(M: AnsiString): TSHA1Digest; +function SHA1File(N: string): TSHA1Digest; +function SHA1Print(Digest: TSHA1Digest): AnsiString; + +//****************************************************************************** +implementation +{ +$R- +} + +function LRot16(X: Word; c: longint): Word; +begin + LRot16 := (X shl c) or (X shr (16 - c)); +end; + + +function RRot16(X: Word; c: longint): Word; +begin + RRot16 := (X shr c) or (X shl (16 - c)); +end; + + +function LRot32(X: DWord; c: longint): DWord; +begin + LRot32 := (X shl c) or (X shr (32 - c)); +end; + + +function RRot32(X: DWord; c: longint): DWord; +begin + RRot32 := (X shr c) or (X shl (32 - c)); +end; + + + +//****************************************************************************** + +function F1(x, y, z: DWord): DWord; +begin + Result := z xor (x and (y xor z)); +end; + +function F2(x, y, z: DWord): DWord; +begin + Result := x xor y xor z; +end; + +function F3(x, y, z: DWord): DWord; +begin + Result := (x and y) or (z and (x or y)); +end; + +//****************************************************************************** + +function RB(A: DWord): DWord; +begin + Result := (A shr 24) or ((A shr 8) and $FF00) or ((A shl 8) and $FF0000) or (A shl 24); +end; + +procedure SHA1Compress(var Data: TSHA1Context); +var + A, B, C, D, E, T: DWord; + W: array[0..79] of DWord; + i: integer; +begin + Move(Data.Buffer, W, Sizeof(Data.Buffer)); + for i := 0 to 15 do + W[i] := RB(W[i]); + for i := 16 to 79 do + W[i] := LRot32(W[i - 3] xor W[i - 8] xor W[i - 14] xor W[i - 16], 1); + A := Data.Hash[0]; B := Data.Hash[1]; C := Data.Hash[2]; D := Data.Hash[3]; E := Data.Hash[4]; + for i := 0 to 19 do + begin + T := LRot32(A, 5) + F1(B, C, D) + E + W[i] + $5A827999; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + for i := 20 to 39 do + begin + T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $6ED9EBA1; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + for i := 40 to 59 do + begin + T := LRot32(A, 5) + F3(B, C, D) + E + W[i] + $8F1BBCDC; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + for i := 60 to 79 do + begin + T := LRot32(A, 5) + F2(B, C, D) + E + W[i] + $CA62C1D6; + E := D; D := C; C := LRot32(B, 30); B := A; A := T; + end; + Data.Hash[0] := Data.Hash[0] + A; + Data.Hash[1] := Data.Hash[1] + B; + Data.Hash[2] := Data.Hash[2] + C; + Data.Hash[3] := Data.Hash[3] + D; + Data.Hash[4] := Data.Hash[4] + E; + FillChar(W, Sizeof(W), 0); + FillChar(Data.Buffer, Sizeof(Data.Buffer), 0); +end; + +//****************************************************************************** + +procedure SHA1Init(var Context: TSHA1Context); +begin + Context.Hi := 0; Context.Lo := 0; + Context.Index := 0; + FillChar(Context.Buffer, Sizeof(Context.Buffer), 0); + Context.Hash[0] := $67452301; + Context.Hash[1] := $EFCDAB89; + Context.Hash[2] := $98BADCFE; + Context.Hash[3] := $10325476; + Context.Hash[4] := $C3D2E1F0; +end; + +//****************************************************************************** + +procedure SHA1UpdateLen(var Context: TSHA1Context; Len: integer); +var + i, k: integer; +begin + for k := 0 to 7 do + begin + i := Context.Lo; + Inc(Context.Lo, Len); + if Context.Lo < i then + Inc(Context.Hi); + end; +end; + +//****************************************************************************** + +procedure SHA1Update(var Context: TSHA1Context; Buffer: pointer; Len: integer); +type + PByte = ^Byte; +begin + SHA1UpdateLen(Context, Len); + while Len > 0 do + begin + Context.Buffer[Context.Index] := PByte(Buffer)^; + Inc(PByte(Buffer)); + Inc(Context.Index); + Dec(Len); + if Context.Index = 64 then + begin + Context.Index := 0; + SHA1Compress(Context); + end; + end; +end; + +//****************************************************************************** + +procedure SHA1Final(var Context: TSHA1Context; var Digest: TSHA1Digest); +type + PDWord = ^DWord; +begin + Context.Buffer[Context.Index] := $80; + if Context.Index >= 56 then + SHA1Compress(Context); + PDWord(@Context.Buffer[56])^ := RB(Context.Hi); + PDWord(@Context.Buffer[60])^ := RB(Context.Lo); + SHA1Compress(Context); + Context.Hash[0] := RB(Context.Hash[0]); + Context.Hash[1] := RB(Context.Hash[1]); + Context.Hash[2] := RB(Context.Hash[2]); + Context.Hash[3] := RB(Context.Hash[3]); + Context.Hash[4] := RB(Context.Hash[4]); + Move(Context.Hash, Digest, Sizeof(Digest)); + FillChar(Context, Sizeof(Context), 0); +end; + + +function SHA1String(M: AnsiString): TSHA1Digest; +var + Context: TSHA1Context; +begin + SHA1Init(Context); + SHA1Update(Context, PAnsiChar(M), length(M)); + SHA1Final(Context, Result); +end; + +function SHA1File(N: string): TSHA1Digest; +var + FileHandle: THandle; + MapHandle: THandle; + ViewPointer: pointer; + Context: TSHA1Context; +begin + SHA1Init(Context); + FileHandle := CreateFile(pChar(N), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, + nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0); + if FileHandle <> INVALID_HANDLE_VALUE then try + MapHandle := CreateFileMapping(FileHandle, nil, PAGE_READONLY, 0, 0, nil); + if MapHandle <> 0 then try + ViewPointer := MapViewOfFile(MapHandle, FILE_MAP_READ, 0, 0, 0); + if ViewPointer <> nil then try + SHA1Update(Context, ViewPointer, GetFileSize(FileHandle, nil)); + finally + UnmapViewOfFile(ViewPointer); + end; + finally + CloseHandle(MapHandle); + end; + finally + CloseHandle(FileHandle); + end; + SHA1Final(Context, Result); +end; + +function SHA1Print(Digest: TSHA1Digest): AnsiString; +var + I: byte; +const + Digits: array[0..15] of AnsiChar = + ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'); +begin + Result := ''; + for I := 0 to 19 do Result := Result + Digits[(Digest[I] shr 4) and $0F] + Digits[Digest[I] and $0F]; +end; + +end. \ No newline at end of file diff --git a/10.3.1/Release/Activator.exe b/10.3.1/Release/Activator.exe new file mode 100644 index 0000000000000000000000000000000000000000..c087ec59a2f4bf0c923ee33690055403efaba015 GIT binary patch literal 232728 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 z zDHjQaJ_AAnJV$0yXhuDSUV*=JUGzn?ITP9xs%&axXnK^ULvWlIigYuXjde*%l%$P9 z`K_l!O$2Jox3uOfj2jnGq8avo5;mVOGipOh6jXJT7$_8qhmxclxThqjiA2=mkumC} z8i_7_OWmt!TCB8JLbB=WNAYG|_qjYmzR@D&K>^*j+$3)jvYBg}$_pDJqK388D$NZ06{dv+^bBXRx0q~55HAdPpWV|Ad1a8`?mt%xOa^^6B=^yWkB za8|oe0!bU+kaXEOx(WG?$VjK2^4y_w>%BSmY$KiNGS!Pri~I*7GyZ-KA*_CJat)_n z0%RsKut`*|;L!a^q!AvzOIq2Kvo&{4mmOdtVdtYf7tSXa?TuA1?CwCak;>_s+?G95*-F=APYo~I)@Xkt_Uf$*GbW6C+z zK=}4vPb2iw+!*R3``ay5In}PWw`&OyOOliPY%#FdShdTgfG1Sc6)Ehc1>iPW$vp?_3NMS_mM{WN~uyWVG z&U;FnRmoWbu&ldPLg%`cxhQT`r_Vy-s5c16lTtORit0dSZ9T0uPYcGWAla20*k$U= zhST{35&)qpfiSuM-=55(f!5l{|AP)xCR_5-odU5`AnMl#+-*g29=g}LZfWKEa9ysA zJ%ZeTOfkc)PD94>kX)HsNw=v>r^?Dis?Nk+Iuqs+#Jsa{G)vw?;SNP@WH+6rU~E+K z-~>uV3-S?f8wzLdRtt}s6*sYUq(1c>Xk!N)AfkQ-eWI;C6gsZnWDB`23sZpyfhs;H zrCi%i>H#sJ^AVnlc3UsfyCMyP%rWxWT6TseT7FF=C356kSMK{E$@$bBaB@5>^e$K% zUB%8BUr)YlzUh1m`QG9CgfGOm?dsmPFZmMr*6~H$;@6R{AKy5>IeahiQGw6j3TvCe znPEY%ZBVt%(=>O3&7NCqx2Y8;Xlm|?@5Eni61X#r03QNyumM1|%GChUzL^5B9Dwl5 zgz!v6UXH8nGIwYSe4q<~Pc;Zs>ZlHsC2b!GoI;?qC)sL1!(kSf2JKj;t`Q)Y0A*J? z*OB)FI({WVQ4-Wa2OV&JK#)s!S#ANT)tw1)>YxheT7o+0AbH^TMF|q!mncQm2%S1e zc#nJu+D8zXk+<0ph*k%6XgQ$|Na%ag+*Uz%suCTzlfXU_C^{;M3VT|n{zXry3g~3E zF@}7nbG?m#)&l7fNO;j>HoGS_H~f*Od8i!?nH8tbbs{)h$CK5@lQK-R?kH205|Bm! zY=Lt@6D)}6-xS`&++G769))2*>ut|Ay=_-Qr}90E{cXOje8>2jwq=KxZy;X;W(@Ym z7JS6-G5lWOTg_L__bs2ivyc(z+=L7@=R5|kGBreU^cLv`vNuYxZK_m z0`_s;-J+~w)%hD* z{|8BFIf3IPBP`B|`I-c-wW$gn_!@!zB=B_|xYR=Xo(^0}V0#HHB#;mTxmKa77u8d` zqFyAtG2x*}1X|@=tRB{3iwXNyW)vi4O^OoTsG;8mvKK-Yuj*_s1ZKOyKs#zG7AP;M zRx`H3%_Ie~pTXtTkk0_{Dgbq(;M=r$!1at)&Z4pj3Ak36yF*Kv%mS`88=8=3m8wH3 z&1vpQ9b(OS*Ao(~dh|w8UuTZskvR`tj7VvrD^4y6F>Ky{ZDiQgQ%A)Y=D6Lv&imIU zyg1JE802^y_PES;=g9&)W9#c@yZ^em4jy0JzNJmCGMy59pqKX*sFF?N)!n;sHwN9ySj|#fkI}%cTY-X zth)Z9n);&-tW=LNZw9NL*MW6YikT($WRLmPK*?CV;6Yg^m0_1)T5o3&=h{5JF&;GZe}Nhw)T z*>>}@z}zU*AOyLJg)dL zBlIG|uNa{L5eACK=@Ov_5wi#r43~)hkVHHP#?&Sfk+O647fZw} zW~3z|C25{W#8#xcoaw$)BF?%t)A4nXCVx)?{$KoF!>=E|Yp%<5+=|~~{H!=-fUh>= zTYd)op26=G{NBbdh#$3qS|T2*A-X7|Wp1G*ViVc6L%kqjO$b}Z+J0Ul?owAj#^e;5 zcQVT7C1Qi>`)@{}(453510~{%>P`$|qksa_NtrrOB5qfe5=?=4n!+etBL0r?wM2ZD zt${>bC$T9%cQCe=h$1c_5#QO!k|-{pV@fR%MO;E6HcKGINh?{JQ zNZH9XssSn5tX@R~nLt))2!Wh#97G{F2|}*k^Q;z+>m{T?OT+{TY1L_# zN=Tbd6Dc9)hRaL|F$Jf(mQ3~51XOaX7C%N49_(~iUZo9q%RE3dTfVnddJm>|`dt=? zJh{*1Sy@rdvkY{Dn>l8C^<4|Pd6Hn>%EHppk}{mu&~b*~JF~31czJQ9q~Tq&c_n4b zON(_l-Pz^dC6=3cWO*wqi_4a>7`q%fFk!lxW=?6boZ7I;wYJc#G(?^33z}(I4<528 zE-aHg={9%uZFfQ0eP!jVL*d!QOH0rk2?rx|BqiqvEbUxTURjNX!CU-@i)r`cP)C@1 zL3w47sm{a8n2F)0;a$TeI70*``%2SU1@pf!d0?;9-9W}IEN=^s=e2jf=5 zz;(<^CylsA+qwM8fSBz1IWk(d=`3_UxP0FDERw0w^nXzML)&u+{CCkmmSXigSgU~~ zJJ2|&bkgg^oOfRRqx~$L#zEApmx1`U(5*!P zllPzv-G-5}mx0^v>J|{?CoPG1|Fk1fm^W+X&*JwdZzg=I~L(2z6*cUL${&&M+;W? zkhUl|p~!bF44z#9nQ64&QG3?0E*>ukx*ks-bR30%zSdQJ4c6w&rwtL2Pb{8Q=j;S}D{3+%kBJBZ=Jm5_tjk!l zE`a48IgEMMd!UhpwQ#0_l@AYCox476?xsCs$4tXDr0mEO%)zwzh+4oVw{FBi>KTpE z!GdU%4ui<9B;5*ssQf>n2kbjbx*h7d5xAgLa2DqVHOhwHs?qQKhK+s?URTX<$rW=x zOfZstWeg|&xwQjvZeuhVh_$!F{m>mUYd5Z{pQMbk7S{HOc8^pNWYZx0q z25gcviJlTom6Cjs+atv8#r2fF+NZ%9l z3p3&M62aKqK(zV><3b;vGZ?Ii9eZk4AvVI-B4=IJEw`Z6UB4cw5$>VhTi=O8ds&B1 z?K%Vp^+UPmogumjo!E_vHgv#Ot->ZugQ%lAt_DQTxKm6*=(GRFu7{`e|40``nM%jp z&aTWk6yfhmVij<@u4i(Vv5NhvxTT^ZO(7`-u5{)cpRp`F+g%K5l-0 zY<_=Yet&9ypTHMgE^;=fu(XQ8gl@8*{7SDaTYz-2Uufdy%vh^`f`by!LEdW`GBDc0 zZy3Bj3JsqDPqp`|uqJV;qak|M{Gj7a8&KLj3aGq_UZOH1WpfCJ3<5!2@I{X|r zXE+k@TZmt@2jaQ7aHVxN=ZP=Lo8ip67ghSQykk8%B_jUA^6&qW{29*t^YHz${D*sT z!VXCpO$*0;F&XTC+q|I2U@ z<(XSts86MBz2{5vW%z%Z?=a7T$`bP!TEmy*%W&rVpU_>DXI4p7wV+{ZZ1NZ5f#LsY zzOkfd%rflUp>L}AlKg8B&MUcJc3w96=1j*!>6wm-shN&@0Jq~eD4!+a{O6aH!SJO2 zpo~`JJuE+e1;%6%a~?Z>AZ`|hxzhmW;77jmWpyvQ1vGRkb`0>_3OEuR>s&DTHk|l{ z&#?Tw;>s!%S6qg+u#6$$UaW*ZygMYTw6LnGSfAakfp<*IOpWlW%%Z}I>f*}BamY6! z^``5?PTlo z5r@|TEo9=1IDBEhK_{76UA&T6Mc~KFaQp{4PD=^ljb5GSx!d4Qga3=j{fqE6WA;G2 zIlh_cNX0J=zp3~UZ!gZpn3$L8IE^3i=Ew)7;P*7rzK9?3mNy5qgkL{?#M|S{!^GQh zz^C!M7~bNMCKbOll(Q}mU*tUlKMMt3xywrhsA#TF|l_LB< z86%X3X$6^%&G^;fXVb-ev=_f2tO{gV)0dRjfpB)83*Rs52dlieg_(}g__ZzoPr+|A z%2N0a&!16PR%A&~od2E}YG-~JY_)Y6{KzM(zocCEUBEZmcd>FcO-CRn5+7SKEI%a4 zji#mxlx@|4-wuS6pZ=%qxA2{fdJ*UA@Fl)SnD+~Ei&vIc-mh^#by5fi;bmIzB7}4F zRih4Hg!|aLH4fa1bYHXV7Xe#krve_HA6~N2)bJ%`Gn{3A882Ql8M|rubBmWxuPpag z7)`Nof6+gN|0lAeFAeH(JKrkqm2*8|8F<(<2+a3ibp=@B!p4JN{VP(eHY9<|s`mgJ zJ-(`FED294KD}r7WsMP|o!t8!=#P{m!C zZ(|J=r9I0~VOgG^LIrRpVBCO2E_Jg`ge@~WkxNYpCHj^dHA%(77A8gGX4LjM*4^Oq zGix``mc^sISz$@VbA~Pt*x(yn7LLE-5}fn_!7b|Xh!BDw0_>aas-N!8Q$18O45xI% zvC2{qjhagxO^+d_z~^J&HRr@em?o^RLylqS7jxi(zXb(qfi6weH=V#ua9*#J7yx`W9kIzjW*B_-)(G8PIT=Ww}Tok^%shLiS!ESTo89a zim}fBY)j^XwGKGuA~N!3YoTNu(;?U=4J`nNB3OGbg}1-!${}2hLhk~a^q>Jklg;c( zw@G#BEz{R;{ZwL zCXmiM+n_l7WH3}5a^?|Zo|e{`lBisW>8gD*0b{-xI%evN4sDZRj}3zmUcZgF_0XQo zj3!q77^-|FSjPIrn)(BzXH#9H*`>7}%tB;tBYaeGjXqPtW0f z3Pa@@=f?bd<0W&%9^@6sA$Pj>W2hW0yFj|m)^Hz3!nSPY{N~^1g7rBVHnC8=pnC+v zkH8Zr=bCd8u?s0CapodT*nl?Qy+gmD!xaxJYCReCSWAH<_Tm^!*mW;b+neE1Wym#5 z-!%tLTR$=Zk(u~rlA)(x2Ja8h?f$MF435C*kYcO}D*!6SK;t-Yn5Wi|II>*ApC#EG zZ0*RHSMMRJ9#`t-MC5C-{1Z?vn`5jBG0-V67B=`{FwIN-xVH?hYrmt>4P5Fi|9(qf zei!EMx>>NE`4v-BJy;DzrrJSjyav>$&HYs%y2_419cfdX`899p!QWwKN~bz}7AZwJ z?%RT)g>ag|!GjfyEVi?1Kpg0rw4Y?)J(OQSUA+r9u~Aou5?JQ+p+pzu)_`}i*_^VH zQpdvzh=Sgkw19rww3jM&Fh*|L^Qj~`&oB}bWOL+c6}(d=vwGUmqNWc+L;TBLMjdL< zePG)urt>>+LgByc<#Rz*449_m@R}&h4~|8iLD-VgdrX%CGj`Pz5X7oK1f9RXYp_%u zyoAQdK~ma|;5gKuI#BS*ubk8UDaM}G;0S@$qp@g;*`wP~Hn|abzVJ;g9>L=eixL=I z@*d44wLF5E+a63GATZOwWDi4pHXF&o`APbPNR2BT@i7tA8+w6r9@cI)d8-_9S`huD zFyB5A%tjBT+Ko9Wr|R*%;xQ_{(}D}4af~ldyF^ywNyq-X7%(+!w)cdMpj(g~Lewvj zy}#>SASLY3$6W~IfwtKYCH}5f2{f^%>n-Q|puL807|G?8T7$mi%WdBSPMPgi!EM0` z7uTXXm$_+KLaeEbc0 zp>Y{@Yeu3N7W*oS^>+lZ6y$V0mCkL})!KXp9kPvd! z->68$*t-!=g2IV25Yo0MK4aUe`4&5ihDm@vRl|0+*L+N4+~OlWg7*S`0dvIM^sxH3 zk7qM+{|vp8w;~@aZvnco>@HBXAjCV3*2Xqndy%u;r|@h2=@68m7kgEX;EdSXHK_X# zP$+9|=Pz%#VxaYirAb(16kGe7rdep$Z_Nto<9I|=lTLcOH{JM{R5QQ=ylzm?u>r5K)}b66GSXYQ*$|QbuAg8i1p?SZF`t`-9Q+UE_g>2H z>wW_HJ&Bw+Tz)SIJ;@Odt%S))dmIDNk7MP~2Lq}`F3k)- zh+5Ktt7x5O-uHy^hAE%0ym@BY%vFpw!ZNz~<>6`8CKvYUOyG~<}CmH&BtZn>VpMs&G`#gOi8j-q~=k9UI z7FTWiA&_*1&YoW(Jkz*tc?O<&Zh>h|=`NrYXZ|VPxS?l&a~W+s)BH~~8z&DjKGkPW z0fZIs>QOj@k4;j`AZ@?e#f3Aj>*lgi$b#*N33_^ixjo*eQN)0jL_+C^3^Z1cg3*)i ze}%8VE0N852UKI8PsHffYqJ)iJM3iR(pg+q$|o3REu{ANbX7eh=ML`&wTEydK&G_7 z19b$PxNs>iBfXiJzK0j^D8e~zg^kD?I}+b$zc{n-@^%{dcZLDiB7 zz?J=7jS>hximIAppZoHBJ1LxrUJ6mCtBZ>?Ma+9WNRn0VwW|zkKAIPb+_4!cR?`+d zV?j8JEVAo+)~xTl$kX3-!@&B+qiEK5D_Fk2D@p>{W5lh{L>Fh=AOh)-cob)XDDAHT z15HJG-EYf^UiL=VB(2YGAKUgEc5B&}KmJs=@mN@>p7sPT$DIsDJ;bO4WeSrMXLf_7c{8{c<8W28k=BkBlxFrSuCx4I*Xc-@-)cRV(Y}JlAVXw10cuQ> zEayN`e;!$`v9q0zK$d+K))M}%gP&MrDSa(#X&{gN_?(@~0PzuGmY_2pIQ(Bwqn-PU zNW{MBg#__;l}YZFOeU`N`4%xs30*-P2X1UVz9-bU%WUrHdj(`(t6X*8U@C%Xrt%$~&+$%LX{ZF=2YNE$qCutg8-YG^0$PexL!Cx_X3ys8I z{S#e|lQTaRUpYC0(Z!kWmQyjCKO}pkxam_zFw+JvY&?yK>Y)NLvhE2?F+RpSEHOKr zAOQE+D7+Hs^!6AB#vIa>--X(R25eeQ`f$9?P?H`de;wXEU7Toddm6eHzTk%2yWP)a zpqqOF?uItJZUKmf5K#I&DIJypaLwnm-A9%@ahvI{{iqwbN z(S)@t{jB$sP`#1{)(e4{uJ=0I5!L$#ySJZ0Q&YJ25ZnTwsIVSICibNz_x9U z?%c9${;t_famtiZU}K@T14HA|?5D7yxrF;!=9;5Vy>NvL%`g#g4MYG}Oqh9@ zQ(iqXv*R5ONCP0KPi;mjyBQ_Okka!usnkxqKPfXwE+#d-ev;*Kd!rklL_DzH1at`m z1+JwmK?2Yy+~IZCX?W80gzCZI^$wQwm(<+hlADev)HifG84r+QU080u361Qa+JFo8 zoBs(RI;i%2moaHRtma-0^3IzF_3Cf}_eSU!J=WpC8O$9B6T@^51-P*8xdpZ3=`tK; z9!@pd7+BM%G2Wba+XN|@EPg&2~VH51I)Zn~i3FDeE!9isNDCptM z%rz_CxFf-AZ5n2pyrRn1iZ~gqBi10I))jGcw}qU9Cox5%0SSCWUW@(%a>`%LOakS_cd}`Q1L6 zm!~ywQP5(xH9cX54{vv+S0_bpoM|jdigvznBw$RBH{#k2ylvmY<8!Hq5nH=1Db}%m zP<>TI;A+D!iNwo0oLNQGY#bF)9cg^bj5fSvK=bRv(_ILu-5Y1=BSA|S$H544jJC29{YFNDIhHSkyj4tyZqM#6 z2|O_8w42EcVb*<5Fmg@{`9_sg}N|u00m|x ziY;lZ34sCX3C& z&%F8e+|O9tXLvc0b9#D@K%DaZQ@l9H8Eb#Az>Sp=d}h;!;zfKm_N0HjE)mR$anuV? zNTo0C@ecBNA*Iv3JzggsImnuw{_*;k(!G5fE|p%wDORYA`qet19giU60kw5oWLYC; zX!ZP+TL9byh*y`t&P{+s)EAogp%$aE8v+_9j%EKa-iQ`v9fylLB&bw91{&k@A-mkc zA3lPHOMI3gNUa3~ ztaqrIaWoZD3vY{DRNUQQCH$%+G{s%LPN?VX*f`)dWN7&?_~J3fznvmmln^ns`GGD8_PJIOs@;Tk=#fbEuN8RW>{``uPT~9i|fZ@tTKDtI=I_!&P|Ng z+V#;v@32kld1Rob@`^y@x)Jblh!^^GDDM&Qe=Q6gicH}JN{{>ZR zunnq)u}MT#%#H(^qT_xHH1Lo(rr`zsvhD-=^jr$Ib1(`pmAW1~jEql>1-9DJ33(b> zyKuNreU&*s5A6;I2l(%T3#E(I>7LMAC~;I?{(TG5-5-|D+87&&hX<%(#3PQ}3ID;{ z!0T$4xuuki{|^v9lpiNxA?S$n}30_j1T1;hOs`HE6a{MtqDAA zeL(NL0sNr`<=h*|vA6ZU zd|IAmRuf~OFe*5$R<5P@X^=Y}k%c*`ZrKfcQj@^;8_|^uHUka6SD5NA<#m;2wLjM` z=sL5Y^)t9|YF4M_GPh2vkTz7QzMw<7r4Z;Y2Nd!ItbbszN0ZJzszo6)Q3ws3oKPv4 zA=`_NcYp+_5%tBCE*RtWcir|6R3~7cM2QFD!tl+LC>Y!pt*e>DD|$|7g%6%Y4kh#(1%fm!Y-cebA3G&)#Oc#^3?1SX0a*z3R%O@MINI$eb5>%Y! za<&+U)Yo5yezYn&5Q!l1Pf(jLa{ z%TSSF5=mWKJ0!X+arn?ov@zcWmeQgg#r-+hNl24U(3=gC7m?J#L0LpA{-0*5O6DuV(6k}fOOe#=BA32UQeviS;z5q9mf6cm zW5{so@S+Y-ggNXan8uEVkhlvzbPqK~7<*L>TzneK3+`GGCW@MBK=t#;5i!9v*9{=6 zGr(t7G$v4Kn7^hPea>@Rf*Z!BuXS&@G<|I>jxFFQih|l9=v(W?kp(9-nXiBhpE`;% z(adHLVv|e&fOmaYNN=gu-jc?042|Y|8u<^4DcH zzDXU(It{p`etl(>S|Wsr=zb%bX~<8zIA>Tzb=J(|Hdj}bhC209;bY*93C1yPn^%$fHu927IQ$y3a^8n{_8<>2=wD$=?lu2D6)@C&fT$mFL`1;iZMBwsFc$d%{)rEZ=btJ5>-DCHf zUty^k9D5mbdy!tKfw9e@M3DffSyf`X5Rk_PutT8oQ2f}z)r0XH5x5qLRjWRJWI-Kr zznmFD%ope}NG-qzOb8n+nUEgF<+2+jHrDOFAC0PDN~k&!!Qb^6IKOB*E&Vr-?16MX$$acrg16U}d$y{a}M9iH({(rW;FAGFABuqd*jlfyg$Bi|dcf^nY| z(ywlj%wK}&F!?d(N4U#Y>+i>1L#NtC;&F;?GpMWH2l!KDhT{OHEMNgVE}(l+y$^AK zX2$#hD?|FKJ26nKJs>OJbma0UM0A}S>#SlSQ>Bnb5~>=F1XA)zI1#o65zUgnhLYj4 zO#3tfjIrwidd0&M1=ewaeM{{w2L=zK!|=*UZQsb4?|mED!a&a5OJLXrks9#bi{AxK7Y%>@7|ve;emCMb*>rpGosHjO{7Ug#i=Pj_$MO3WeqCqLkOHCSJG(vrEG?rr zzXOGL{f$0or3m;b^f^EuDp(lj2KwxzPn791l0LtNLpGTE)z^T4uE*dmXg~>wlH|#)4 zoxs&*0slm4cLs*rfh7pEDY*^E;5cmu_w{$pg(d~2LorH0J2tIeT4eQ9{0>JUe!%u*Rw}6Mwi5@eDJiJfy@Hx?%hkyOR0%N+{IXyOFPOPux zJRbh-a2^i%Ko%Yg7OsBukyfTcZh$`zMQP;E5&UBH0GidR9I(5S>LrZC>M1_FS8YHM z7~0TqCA|;_gd7B7(JrA9zq*~RK1pSxU)>5gFfZ&Cb4*w^O-;gHnPcOXFW?lcoLveD z0`j}S6)$jKd-Z@!sm=mhl1w2VaA1YADJ|2(`RTsm@Gfgs+k)hRJow>Pqma4XZ*7Rk zerv~c6#ajS{cr7!eUr~QYT=~Tp|HCkcUDa0T;>IAv9Cy2mPszoC+8l<7XL4k5K?;! z|2pu9rST9X9O{mLI?WFdXB$KFFvbvO>HoHkWsdzP&@h=D)gxPT(v8^>cF#weyXUG8 zmweTy$Ib<@Ve-D+f=3Wv=W!5u_`7}py;R_R?Xw?|fgtQpsw<9JWl~b+Ew>5@4jPT} zz3aE}_Nw~uC@Pr<53X6`)Llf?(Ud0jl}~UfRHkv){ScLS9q6pDp^8O~fV)ACP7fu- zwCYXlt2aE2da0FAnl#MfWzxV_q{FUzupyOEI^fiiUqEELF$+*Hf7gN6&;m>QC`WM`shWD}OBlX*HoJqIl;#3h^kww+2A78v(M?+HO2=Jc}e zgD}GALR5Nw4^v%#*A&($B$@`V&{Xpjgp$82K>|bb%iySk%Yi|>t<`FNkIPrua(Z6< z;?sevux7rDn=WpZgFNP`8K9_nsuF~8Z-hBHP~C9B!0_=fdw=?!^uKxB>g+yHbUPr^ zVww6qJlco5O3>nC0I5~-?~KK+0^TOXlr;qJ*-2qW-#&q$rTFw;zGF}@;0)sd4B2LN z0*mXvE$;rQnm9ig?C^B|ZE@dEF$YKoIjC#t1^1hsKd&^cD`5HSaC|pg+9zk@Am;k1 zi^dKu>Z7Sy<}8>r9CT>&j} zt#}r>FM6wGh#oAMM9u7@pBC>~u&Hvcn5)U1mPF2ZWm z-1*lH2=LM2H4z3lJp%U*_)ZXOm(c zr6@U7J$RllrO~#H zUg`#9fR1Iq(k6@C9>(|HZ{k_xRvm=`(3DA=_PW4*^7OE^yL~aW9NgPRCYU&0v!Z$> z+OQHuLkGNKGaR7nJT;acTw;HM&F7i*kG_wCE;}PJ*2tIELj2V~+6|UvdiARn^x^=+ z^L+Dg;2dE z-yWlSVfmS4_41etOi=?{Hq!3#K2hFpC6(gkXYO6Jx{A& zo3V}!jP>;MZna2aJx!tWPjqIz=N+mBXa^f7vH|ziyB?rVD`Zht?b*nfEzd&0fF=Mv z2?#HO19}8d&~v(W{b@M1h(pz`$Lkqes>IPObLpr!@LX_7b&Sz+I%7i7*6HxBb(O6|t)ScHL5r*@qnb%)OE zjsktv+&^eWZR@#=8Q#l4#F$z)wjqt$!l@8+``iUm2`C$*!j_Xq`mk}|=D=gjMIba8 zMnh*xT=FH@p zw_~DS$GiZOhC%HpMot&2MuMK+967~m<6<{z#)GlFP@bb|`WWjlG|Jyqco_9H4+q<0 z4&sk|VAEb20MSn5nDLL^ckL2fQKyM>bLX)G@oaE9+NpiV3mbH9o)#Jj#`aX zF+1fxRK$=R_<)0Aa`|gxilS`8D3j6j8;`Ou<1%1rLeO~RQI@9;1G!iSbQ(ATdLYCY zb_);C&rwHFMH4)Z7Ghp^fhe_~xx5LePh%Tut2Q7*BxvlQqYyRZYvTQliq0iwSRWl8 z*1kpk3K^r{FOaX){#(Fwo>azGEzIEH*wW3mK;3jbzA%7K*Q4}{+3|3I0(KIq?NRY> zQC)DL7NLAp7BacR`xJHqVEKGMflrg!xmB=s9}hL{{Ji5 zx!;@{lIK#2C4&G6la1bjA7RRdWcCb%0y)RxDHDZR?IT!i8Mx~T3SV_6=7_?F zQ%+${4Nq6YF;&|cQQH>*y)liNJy{K07N7wEZRG4(x;=1%MO@?EKRpcl&kWAAk#0DB!qL60vMN7300mJd$^M{i9D29~2>%o+#j(|M@Z zy7=ID??~gY=$nqguxy_(*M;jHLtWnof4#;Vi#quzeX=0OA@(i1~7GfsOiy>^|!R%_X96OnYZ> z-X~KId$hgIVOr2z?>Vb(zyuKMC*IanCo$0gW|6cWC9$=f0_i^f2a??3ebH{=XVStR z%`jhw3}JJBkFURL^nNtgWSr;G)~3B=P+Gk7`Gi}U;^i>fX!6WHj(a^U*F#}J+8eaS zqCKzQO~25;EwN-iu=L_&>$kk(?=?f!M8C1 zWvWgf!h6z?n!;0cfKA&th(-)uk8oDnE0D5A;B&VL>0BH0DXC>8{$T z+o5HuJr}Y1L%7nDVU#Z?0s1fo$}TohaZb(W`u+e~ZbNip zgHlEnB05-PF!!|g*Tf!eo=dWBB;(K+OQH4k`rI?nH&71Aeg~%7(BPa=fzgP~X*VWi zed?beO;o!!Ey8=4-!(3Wx0!pY-r*!)L6{fWLBH`WvRUkjfc~-Dj+tv$ozor#LxEXL z>$T`?!)ApoNBwZX{y{UU^oB|N7C*QVIa)B~4%XQ~tclYAmP~pd`kT$JB&RXMWn9U# ztwYlfR1JoYBaoARVAT*n5rL^Qadg2*FpNr9dcqGt_Wz1l-EG_j^9BY3QjPR;UZ#l* zT$X-r6`=^6@;g`MVm`9@1nQSFMLco#A&;g(JVWt8DdT`D!)-w8U^$}UaHm6GQ8fbR z2cbMcm}){py86)9NCm>@xwD%w=YE|?i%Y5-%rv!4k$Lqw11M(@)`FlMOaf*lMQ_=+ zYP=p3x@6Z@gR1n6E~o1;rymcdy@NtF8XH``gvX5b-GOVS&Ga5eNzv1g+C64}<#m~6 zon2cm7XJ-o>7EXKkS~pY5*h*#a{$y%Z6Lb{l3if)I<5LDKInB`Wfyj6GH2qhXtvdC z`~nap?DU7B<9YaWb+PeiH^$4rR>$a!>{e$=s~Zr##+aI<8*DaxjO(#6=QaHnVgYt0 zPXz|a3Kv+|8;*sP%z-)m2k8$HE1$yzHB%Qv#2hSxINk+|(%*H1amtWHRFmfLx-bjy zH)|aaxH>jSM4PBOQE`3eT>TL89b@Vce3;78#VH?lE=S*Of zY4SKpDIa;q{$B``Nf3KP38~{SnKjde=p;9?+5eGW6RGV z57cHhlKYaeQbhJgah@tP)_Z+aeWDv>kOP0A0gux-7*iOLHw%q1j_dK^=mnEP$GCnm zW{*XQM+1X|g1K`fr8TtuiYDMwGX=8PUByof%BLd`Ij)WWB}35X7)ND4%30tgB51J z2!l9_N4$8AjOj#V+~ZlnSxNC;sG4FP+z-sa{)-Mzd5;-Gb^G8G^oB-PujNgywjGHr z;xubQ!VM!*u1T#Z_0cIL?d-b#l%q~08v&ZO!bsbn^F!qPq*%O-h`#XU*Y%?=vG9qD zdA9AE-Dj>bR1T`05VK_^M{*NN<}&#+STSo8?&IC+)} zi9gpl2e9}s3y4d?oP+xf7w;p~5&N+*52k@@1AAsaqM%gRq7Um2z+wHc8WStT)_mju zj)!@5m~BIpAO39H42nD1D%sE_{Y z#VdhA{_p95RWm7~OjCqQD1yV^7j01mX0Ac$G_1N=fw&~0hQT;W7qL3Pb~&5UT}jo~ z85iiPL@X-8y2|Qwo?*trlVolVpLDWJ5C%>yPh%(`E%;(w(zGo{H(a4vUln@pLCyJ$ zL*RYyvs_F9eUY-^t>pqZ&7KbL@0 z%==tMX}tr3W#*QB-c#JK-*Bm(2+wn+yyqMH{mdEOUgxL6aP_%=(U>j;>zNG z^NacEX|)xQ+_3CaTj4w+InMb!u12a`K@#NY1;<6_5cC`m=I-*oJKeXwUA)`HyQ>xPy9`d2 zuy$|&iRqD5%cReVP}c(>eNU^e0LuSXqu`(=)U_8WgR!z7AoKIIjwm>2MP^>mX}TWB zkg+0(RRFVj9ii(@)Dop&VjuJ1?+Hsw#rX>zq_h72uK*j+Yd1i9nbkBK z&@`f8Z*5aV?NNtL67=p3dYg31)i}HIct6!@IThpG#$^WHV2b>+et}&RU+xUjR73vZHV)Mj9ajW$70ejg~S|s)lfJ% zqpsGI>8fikFqs|(mO`e$Ib`$T2$s^1qc(VHQ0G~NJaJg6A&~_vgQI5sn+|U=Un2CY zzau8Cz#hmIFP~bGt4trabR?+atr~aeuS~G3|DHI8S4S~ z)U1Ca!aJ;aup=-Si@P^4Ps38Lgvnvdq>xEC{0iQz!}=D(ui%ZkSbO;wfl4AjJ#u%7 z{`8Mfclf)$)_`^2yO@#i5Ik3}z@z9*x!$v2a}SI1&u89Kv?pb5FgAPPmGU0;oG8xM zVR{kN(+fQ#(UCZfKzKanJPG8@qCWCrd_u!RTt>Fz@u?IidhJMsz&pfkUt^izhOjItfLjjvx;JSv>J~>_v=H^2ZA>#4ji~ zoFiYbbXL6GSI}X=K2AZ0U2*MY*3o2$?IQ|0EQZMNpcnr`ohvo}ie2;b7-BCOV(&nP z$O>a?P#9t-PQ(kJFmgN9FQKdqL}|7$1YANx|MR})eYGLp*9+cvIhjX~`W{0gt0Aa+ z)LM>w9*e7#B;LQ!b1q;qr&3Uf+7}@62specJlyG5Gj-}wG`xhn80uf-j(+u3cxkNJ;Fc}v^JfO0IKwT_&&zZWxHfOmTB_OWJSwx$4=PTqaEq@Gg7JrDB*!vgM zr|P4LAyRi@Uzo)Gs!iOw#v4hrxMj`C9Fsk`K2?r`Uv@1zq!!k!X zm$T7IO?npyI@z!eiPY;|?0cR%AI**(u=PNFbtb&@ZVUDYyJ1v_ky{j&`pAOYtRLds zNj(HQ(A}%@;Ef3Me+~ZBJb=P_RS$^DM*j+wYc~N`WuVf`msY|44FnAA-$36K_*hrc`Rm$5kMUz7dco=-hMtpRAJe1b zS(DgSE=hS78w^vc2(ZNfIl%>>#nh$QrhY*4#kVjHbm#!xfG3<8cXPfR=7A+!L1&mw zK+6=Z5r8zrfq-`J1H_g;-4nffC_5cTAGrL>?TFbDOIgk=da2yU4q-G*2Gbp_=^)?? zf*(r+b6L2)m&-!OWDWcU6a`oa9a5*jeC978U*fr)9#sYH zBqxoW2=}Sy!3pWRSkbo!LX}g;!*t<09bYuhaExg-m#?%VrnPwRS2tlo(d>lnMv0Pv z<%}`@Q9Jd<=zm_q!FRE0X*~d{|)Dv2gP;TB73vwG~L@u>tH(F$9E$$5LgMs#U4mFkXbE zVODX_7u)RVKyMtxNWWAM^MX#URDS~I)++_1dk%VUZSm~oe74~$7@bE}?!{eY+@xH5 z5UlXnncB}Hyd&#pM2ODw*xQ(8AO!3&kN~sfL2p|iPG&F%TU@kA?J%=~bsroH!+hXp zXkyL!UT!gwlzLSsBnq!l!O@|PY4O4rT^E8J_}xV>#Ot6G5;5JO#$qW0KmD*5P`ZxG zIwWskoX^Q5uPu`%K=NpT^g40}roV>-3$O&uGdz1?WAik{Qn#uXaonv+5DHUKEd4H_ zyJKEcakep>PrN5Ci%+~M zu1=GnkHAHOe(W)epk?Z^40QzA#(-adG!xN+u6opMDjx+zVVw1CL`4E?IZ1pLY1PwM z9_gv)M;yDDr8FxAC@{7@w-Zi|>V_7KGP4eWklmdLG2ka@RkRr*ba z^>c}%R3qY$FT8-Sjl-X#d}LtaP_|Gn|1)v7`8VVXdQ z7cP|p=2D;ADpQKVGNWoGLjM9K_*Cpdeu}=)DEA6K=>!4ZCs1EQ8`BRab2_Hs&)#JJ zwCRlBqXQ>73y~AP7$8l!Ue6x7j>Ccd)~OP8ri?d|U~U86Sm(LU)$Eqs?e%!?)sM6L zD8sL=kenJ+48B|rw5hjbjJ5HoRI`=YT5%jo`Bn?iWkvt6sd8$llRn=0|j24r@8jf5oD$M8$@=N1;ttM(R^l+WkeMdf8Y=FiPM>%|-^ zy7h<&zgBp>87~3fk^?U2Hk{aDlz_0IFrX8L1X#~=aUH8GI_#{`{^v&V*S*eXv8RLY+NE_?8 z20>GwzF`S+&u*+>(4Qq}M%UrX;g{F=H2r=Jzxu5F#^ZGSL>vnnlYa(BJsjAKzZ}Q@ zaD{#<=1u0B@LJRuosg(|A#r^2xRk`XCFO~!DU(tYGb@*_z{6ontM&RZ25~1$8iyzo zQYTCq$0)LnV1G_X9!I>3o4c}BMwXwBGhtG=J2iPiisc>+AT?#$w6w`nay(N!IoXo| zPMnZ4VcNv(DO0j@QpV>@&dQ#WnwC8&Ej&$H_V`KJsS_uRpO%$1enR%dl*yiH6OyN; zq@+zsois7kGdXkOw6yVAcHLOc_~h|9S(CCSkIx*Ro$blYNtu>Bc}nW!$rC3fXJ;p; zBu~!F_M~K`*=epvnzgADCS|5fN}hD%q^xOaH>PIgq}`Y{ITKK7N?KaVIxZ;&d3M-cu78O^PkHfk9n~L!8Z7J?$+*DauR3+4Z6VY{3 zQE_R-ijt*Eyd|ZGJ3jf_Dc?^1_7tLdTuD{A&N~r#C#R*MrD<8yCZ=Rg&Q8uun~;{3 zl{zsyc~aISPgb_n8~e%afl*>JfhK^&i0yDq?~p8ISQT1fGoTpeWi_18YXezmT^RZ3 z0T7P9dK4VA5O>bJaoh5F^=unBO@lxSaKFuF7)KG^-<9`Ea0gsH6WQ8>b5by|+6!Az z+}`Np2`Rjx3E@2G_n=1zqJLvpu&n!kZl$|d0q`LWClKDF;WWZKG@MWP zw}4Sx1z_6le+XZzxCOen#~H0wM|)AC^$m!YtfRFt+9I8E2jM&oE5g|t?kAk4;ppvv z#{x#_Nq~di-T~RZri0QXsAoXX%Q}Zy%;5}XKd5jK;WsqAhVW4hKSH=!!!HtU)Nm`| z-)mSAehM&Z;&`5Dj~`In99@$*35p&Nl&XVL8RQ*U$t!gwXCO#?p=p3G94xfTT(B!>@0~&58{HCUyekMPUavsvj<6c0t2AyOy;b%2GmGF}q zmcDyL!+G?t({K^tbsFAGxI)8E6E4zl1L1`lZX-NP!>0*nXtj_`Lh{0QM<4L?ixP7Svb&egD>G*iPe942a5hQrr2EW_a|fG;u} z_UoVv4TnGI9Ar40!qmkY4u>@?!@;j%84fRLScb#zG%Um67aHzh&3^>g9u5fuXg)*N zq!-ahX5k!Tln%PkaEQ{Cl;JQ*7bL^s8@iwi4TqCD=t9F`m(D?kgZfoyICN-OhC>@* zG$H;^pC1nEb#fUFztKr#IQ&e*sYs%JsNorew`f>~!~GhT;jmJ}G8_suEW@Ed!!jIZ zYFLKDEgF^~FkZtl1V(9ChQO5?mLV`)!!iUSG%Q2lpZ^mY0$m!GA@Da1%MduCVHpCi zXjq28P7TWtcnEb)4bLL{Z%jQfx`l2()UeR)yBe-woYyqGnebmVyp`~74L?KpPa19|{2L7`!avin z<0Zg9)NlgfEgDWGe7}bC2(Q%e3c`gNt|MHa;in1D)bK9Cw`jPX@OTaP5+0>tcLU%n zHJn6vxQ3?^j?i#E;eS3Qco1Ui(r_vL|EA&1gpX)g2=5gQ3*qh5un^vJ8WzIa2KXX` zHycHBm|&i8zLZbVwGzVnw$4qaBJ(sXgg0HoLU`#K7Q(wp!$Nr1X;=vF3JnY44b!j? zUT~YV`f;}IV-0U7{0|Ka;hh3}5yGp}S+z6Ci#mxA-ZL5&!h1r)LU>y>tQdc@hK2Cf zm~kk_OEoNncaMgJ@bWb*gf~OOLU>a(EQFV=VIjOE4GZDLYgh;`TEjwk4h;+8_2N<_ z27(Zt(y$O-hlYjl+B7VLw^zeLcnumB!h2T3LU>PVSP1VC4GZDbX*g~t+PhA}LUJy3W7)c&YdD+m!y3Ma@PitzBm7+rKS{Vu!$NpV0AGagVsurH zGfBEmB7}F7hK2C1)36BcD>QtX@rP+x2ru|^X{K0BMmFU-_x+;&w$rzIG%91hLZ^|)o?c91scAG@Esan zNBA}kKTbGB!^a8Vpy58kS8F(J7vLBTuOaNz@H2!z{h8pQop3PscwQ1PoOSzZ<; zo=nTY;&JqwAf5yLQfxmde@#VsW%ani($ezP#YLe!7*?`!Kp1MR%Zv?$Rh5+DIru0E zlKNbRu+oyH#bs5+MdPZ9D`E1XtQ-kh2kK|T^C&BaMyh=2ed7q|q9q>7w!`p{JQcTA zI_zCJCYkvWmlNP%-o!)U(&~~`#ZmcIT-?%hEGe!oWY&zs>jTBo-ohoNW`Xo4URRV? zRacZ0F{#8QK)xAK zLRi=p=ZAf}v~WprY1C{WiutkcD@qHimz7tpBx>o$G?t$keL+bXG<{W}wpCP?7kQUf zM@_&zXbT7Yn*Me>BrhGeq{z%HTXchoq4IS&ny>S}I+PFm%tW^SR>xtRE6a-RE51K! z{KQFVlhcwX+W2Jugpq@kL$#U|fG^uf{Nh#n3X^^WWArCJfc2Ht_g4tg>33zApIMtc zL@6vIIhy&gzpG2C(bZP#bUEzrYEoucpD>NLVmUOXp?+n#tMtA>)C4qz*)rPgeeU;f$DFTyZAx9xJIEgTPe%PqXGIDbV++48Cxg%uUW9Iz}8 zk26Vla#UU=#!hZ|WpQqK87Kt)3}-(g{rISvE2o#NDk+;;ompBsZ$)v{^zs4ySO}ty znpa)8vSOy~FL_Uxm>e~;x+=fCyfnXLW%0DaC3fCYw-ltyUs0S3O?h!uaZX|BQeh@6 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

mwVQu(Zsnz(&-bdv?Hmt&B)3g^R}2L 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 Ji}bH}|33h>BCh}d literal 0 HcmV?d00001 diff --git a/10.3.1/Release/Readme.txt b/10.3.1/Release/Readme.txt new file mode 100644 index 0000000..1a31b33 --- /dev/null +++ b/10.3.1/Release/Readme.txt @@ -0,0 +1,32 @@ +为了便于在 Lite 15.x 中使用大侠们的特别补丁,初步写成这个:Activator.exe + +他的主要作用: + +1、整合各位大虾的 Keygen +2、相对原始部署方式,这个 Activator 实现“一键激活”! + +使用方法: + +1、执行 Activator.exe + +发布历史: + +2019.02.16 - v15.1 + +1、根据 26.0.33219.4899 原版制作,基于 RADStudioKeyPatch_Lite.exe 的成果 + +2018.11.26 - v15.0 + +1、根据 26.0.32429.4364 原版制作,基于 RadStudioKeygenSourceCodeV10.3.4364.rar 的成果 + +已知问题: + +1、在一些操作系统上如果出现安全提示,直接确定即可。 + +特别感谢: + +1、elseif, tonzi, freecat, unis, x-force, cjack, c5soft 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动! +2、iny、nevergrief、snakejiao、star5、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试! +3、andreas hausladen 等大虾们的无私贡献! + +O(∩_∩)O~