Jump to content
Belini

Código para pegar o serial de Hd's e pendrives.

Recommended Posts

Olá!

 

Baixei e analisei com um editor Hex, o arquivo possui as seguintes funções:

GetSerialNumber
GetModelNumber
GetRevisionNumber
GetBufferSize
GetDiskCylinders
GetDiskHeads
GetSectorsOfTrack
GetDiskSerial
GetCPUSerialNumber

Como chamá-las será o próximo passo!

 

Edit: Aqui está um link com mais informações: http://www.codeforge.com/read/12377/DiskSerial.pas__html

Vou traduzir as chamadas para AutoIt...

 

Abraços,

 

João Carlos.

Edited by JScript

Share this post


Link to post
Share on other sites

@belini

achei essa dll diskserial,para ler o serial do hd mas como vc havia me dito,que para usar ela tinha que saber os parametros achei esse script que não sei se é em autoit com alguns parametros passados que pode ajudar a usar essa dll no script

 

 

******************

FUNCTION SERIAL_HD

******************

Local TDLL:=LoadLibrary("DiskSerial.dll"), RETPORTA1, lpBuffer:=SPACE(512)

IF TDLL=0

RETURN("Erro na DLL")

FreeLibrary( TDLL )

ENDIF

RETPORTA1:=DLLCALL(TDLL,32,"GetSerialNumber",0,@lpBuffer )

FreeLibrary( TDLL )

RETURN(lpBuffer)

 

Share this post


Link to post
Share on other sites

@joelson007 acho que falei cedo demais naquele outro tópico que me indicou o diskSmartView pois quando fui ler o serial de outros Hd's percebi que os que mostram o serial usando este programa não mostram usando o script que postou e vice-versa ou seja tem hd's que mostram o serial com o script que você postou e não mostram com o DiskSmartView também, dá prá contornar isto colocando os 2 tipos de leitura porém o script que você postou só pega o serial de 1 HD e preciso que pegue de todos como o DiskSmartView faz porquê vou gerar os seriais colocando os Hd's como slave e do jeito que está no script que postou não pega o serial deles, vou postar o script que fiz prá pegar e gravar o serial encriptado e o outro que precisa ser modificado prá mostrar todos Hd's conectados.

 

Script usando os 2 métodos:

 

#RequireAdmin ()

#include <ButtonConstants.au3>

#include <EditConstants.au3>

#include <GUIConstantsEx.au3>

#include <GUIListBox.au3>

#include <StaticConstants.au3>

#include <WindowsConstants.au3>

#include <StaticConstants.au3>

#include <String.au3>

#include <array.au3>

Opt("ExpandEnvStrings", 1)

Opt("ExpandVarStrings", 0)

 

Global $nRead, $lista_drive, $le_unidade, $le_serial, $List_unid, $input_hd, $nao_lista

Global $Button_sel, $Button_grav, $List_serial, $input_serial, $check_nao_lista

Dim $aSerial

 

cria_gui()

pega_serial()

pega_unidade()

 

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

Exit

 

Case $Button_sel

$le_serial = StringStripWS(GUICtrlRead($List_serial), 8)

$le_unidade = GUICtrlRead($List_unid)

 

If GUICtrlRead($check_nao_lista) = 1 Then

If StringInStr("S1RLJ50S680415", $le_serial, 2) <> 0 Or StringInStr("S240J50B707977", $le_serial, 2) <> 0 _

Or StringInStr("S240J50B101261", $le_serial, 2) <> 0 Then

MsgBox(4096, "ERRO", "Este serial não pode ser listado pois é um hd do sistema ou de dados!", 4)

$nao_lista = 1

EndIf

EndIf

 

If $nao_lista = 0 Then

GUICtrlSetData($input_serial, $le_serial)

GUICtrlSetData($input_hd, $le_unidade)

 

If $le_serial = "" Or $le_unidade = "" Then

MsgBox(4096, "ERRO", "Selecione um serial e uma unidade para continuar!", 3)

GUICtrlSetData($input_serial, "")

GUICtrlSetData($input_hd, "")

EndIf

EndIf

$nao_lista = 0

 

Case $Button_grav

encript_grava()

 

EndSwitch

WEnd

 

Func encript_grava()

local $encript

Local $serial_sel = GUICtrlRead($input_serial)

Local $unidade_sel = GUICtrlRead($input_hd)

 

If $serial_sel = "" Or $unidade_sel = "" Then

MsgBox(4096, "ERRO", "Escolha um serial e uma unidade para continuar!", 3)

Else

$encript = _StringEncrypt(1, $serial_sel, "0-,*\sd3,;/iu9", 1)

IniWrite($unidade_sel & "\Serial.ini", "SERIAL", "numero", $encript)

MsgBox(4096, "Serial", "O serial gerado é: " & $encript, 3)

Exit

EndIf

 

EndFunc ;==>encript_grava

 

Func pega_serial()

 

ShellExecuteWait(_Dnew(True), '/stext info.txt', @ScriptDir)

$read = FileRead(@ScriptDir & '\info.txt')

$nRead = StringRegExp($read, '(?s)Serial\s+Number.*?\:\s(.*?)\s', 3)

 

For $i = 0 To UBound($nRead) - 1

GUICtrlSetData($List_serial, $nRead[$i])

Next

FileDelete(@ScriptDir & '\info.txt')

 

If UBound($nRead) = 0 Then

$aSerial = _getPhysicalMediaSerial()

GUICtrlSetData($List_serial, $aSerial[1])

if UBound($aSerial) <= 1 then MsgBox(4096, "ERRO", "Não foi possível pegar o serial do HD.", 2)

EndIf

 

EndFunc ;==>pega_serial

 

Func _getPhysicalMediaSerial()

Local $aArray[1]

$aArray[0] = "Serial"

$objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")

$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", 0x10 + 0x20)

If IsObj($colItems) Then

For $objItem In $colItems

If $objItem.SerialNumber <> "" Then

_ArrayAdd($aArray, $objItem.SerialNumber)

EndIf

Next

EndIf

Return $aArray

EndFunc ;==>_getPhysicalMediaSerial

 

Func cria_gui()

$serial_hd = GUICreate("Gerador de seriais dos Hd's", 339, 340, 329, 183)

 

GUICtrlCreateGroup("Seriais dos Hd's conectados", 8, 10, 193, 206)

GUICtrlCreateGroup("Unidades de Destino", 209, 10, 121, 206)

 

$check_nao_lista = GUICtrlCreateCheckbox("Não listar os Hd's do sistema e de dados.", 8, 315, 217, 17)

 

$List_serial = GUICtrlCreateList("", 16, 29, 177, 175)

$List_unid = GUICtrlCreateList("", 216, 29, 105, 175)

 

$input_serial = GUICtrlCreateInput("", 8, 247, 217, 21)

$input_hd = GUICtrlCreateInput("", 239, 247, 89, 21)

 

GUICtrlCreateLabel("Serial do Hd selecionado:", 8, 229, 125, 17)

GUICtrlCreateLabel("Unidade destino:", 242, 229, 84, 17)

 

$Button_sel = GUICtrlCreateButton("Selecionar serial e unidade", 8, 280, 155, 25)

$Button_grav = GUICtrlCreateButton("Gravar serial encriptado", 189, 280, 139, 25)

 

GUICtrlSetData($List_serial, "")

GUICtrlSetData($List_unid, "")

GUICtrlSetState($input_serial, $GUI_DISABLE)

GUICtrlSetState($input_hd, $GUI_DISABLE)

GUICtrlSetState($check_nao_lista, $GUI_CHECKED)

 

GUISetState(@SW_SHOW)

EndFunc ;==>cria_gui

 

Func pega_unidade()

Local $drive, $proc_drive = DriveGetDrive("ALL")

If Not @error Then

For $i = 1 To $proc_drive[0]; começa em 1 prá procurar em todos os discos

$drive &= $proc_drive[$i] & "|"

Next

EndIf

 

$lista_drive = StringTrimRight($drive, 1)

$lista_drive = _StringExplode($lista_drive, "|", 0)

 

For $i = 0 To UBound($lista_drive) - 1

GUICtrlSetData($List_unid, StringUpper($lista_drive[$i]))

Next

 

EndFunc ;==>pega_unidade

 

; #FUNCTION# ====================================================================================================================

; Name ..........: _Dnew()

; Description ...: Compressed file embedded in your .au3 file

; Syntax ........: _Dnew( [ lToSave [, sPath [, lExecute ]]] )

; Parameters ....: lToSave - [optional] If True, save the file, else, return binary data. Default is False.

; sPath - [optional] The path of the file to be save. Default is @TempDir

; lExecute - [optional] Flag to execute file saved. Default is False

; Return values .: Success - Returns decompressed Dnew.exe binary data or saved.

; Failure - Returns 0 and set @error to 1.

; Author(s) .....: João Carlos (Jscript FROM Brazil)

; Modified ......:

; Remarks .......: This function uses _LZNTDecompress() and _Base64Decode() by trancexx.

; Related .......:

; Link ..........:

; Example .......; _Dnew()

; ===============================================================================================================================

Func _Dnew($lToSave = False, $sPath = @TempDir, $lExecute = False)

Local $hFileHwnd, $bData, $sFileName = $sPath & "\Dnew.exe"

 

; Original: D:\JukeBel\Dnew.exe

$bData = "Dr8ATVqQAAMAAACCBAAw//8AALgAOC0BEEAEOBkw+ABwDh8Aug4AtAnNIbgAAUzNIVRoaXMAIHByb2dyYW0AIGNhbm5vdCAAYmUgcnVuIGkAbiBET1MgbW+AZGUuDQ0KJASwAAS3RZdA1ivEQQUDg9l0xEIAD4MQ2XbEUgAHuvVrBMRDAAea9TfESwEAB0DWKsRJ1ysQxLr1MgIXZxBZBMRXABdnEFfEQYUCB1MCB1JpY2gBUwMEZg4GUEUAAEwBQAMA2s5OSwUO4AAAAwELAQgAAApwgAgggAHgAACgoFsBAADwgAVggAPqAICKEIAFAoOXgASCm/mBAwCAgA+BDQAGAA+AAucABoIHhQMAAAIHgAwBAWAgfAEACAEUgCsghhwECmADVVBYMAIzD4BtBkgBf8gegAAA4N3ACTGCBMFCwT9uQAPMCYFAQ+AucnNyYwEKd8FLwUjBAXIBBMcAwAnAf0sEfwN/EH8QfxB/EFgQMxAuMDMAw"

$bData &= "HEhDQkAAgk1NmriaXEANe+ePAEAk2sBQQ0BACYBAPBfAP7//1WL7FFWADP2ZokzigfrACk0QmYPtsC5APIAK85mM///ANv/wQ+3wIlFAPxqAY0EUFPoAAEAjJSDxAxGAIoEPoTAdbZ/AHv3017Jwz2DAOxcVyBqCmhoALNAACekffvOAOwlJUoKUP8VADywFIs9QLHvAP7tvwVqAFBqADBo7ANZ/3YIAImGCAQI12aDAD3SvdvbgO4bAAB0FB7/thMjAO7f/rFtHV9gAFFRi0UILRBWAABTVle2m637AIvxD4TFCkgGAH+D6CcIGN7MAM1tLciyGosAABuFLAK2ldtWADUQeTyyxNh3AG5v7h/B6BCJAF340lz/dfwHAAxTut/u7hSLAB08n//TOw51ABmNhgo7UGG3AH/nFsgpe1lZADPAQOkJAwSqALZbZrZvz6RHAIv4BH5v2974AAxCx3uwHirrALosFCbIgh0KADewM51r2GpnAE"

$bData &= "AwFwYshnORAFyyAR1IKdy+ANls67R+eyY5AJF1Jt2abSuuACgMY0BoF8AAAMLO9o0NOHEPAGk08ObmBvLeAABCXcsAW/fNAP23i00Mi8HQACr5AXQKBQIZALEdPmw3ZoXAAAiokbfBSpJbAIS3VUTe4MsgALAh29nnAHUsAKZqZe0L2LGFABE4+dNqeg7cAD3Zu+sTaDMTABVgsQ2Es0CwAP89nlSxbxONAEYMUGjqOQpLAAjC1gjd/w1PABblOigA5F9eAFvJwgwAULnCAO/cywjixwC0AFAaMSrD/3QkAJ6bkQ3vQAgGAI48stjCCPFjAN+1ADYyagxoAOjFLY98gX0MABt3S/+odR6LAHUIVckTNqNZAAUUtt2924lwAA5QvloSMJT/AB24DNv+2w8xAGWL8IkOhfZ0AGWDZeQAA/y/AI0btm0GHxQCABCWi87/LdvKAO3yReSDTesrAEcI/wXsNtC6AIW/eRRZw4tlAOhAREYCP2H"

$bData &= "uAJXN0vuwKXuHAK/dffYMagPjADYDWYfk6wKyAKj9bnj3tcIQAADRBKN47T1CABNADRBQhimyANsaM+reCLJ8AIu25lxL9X4NAICWJA67ZdkCACAcGKhosHsgAN0sxK0XbF3CACCpzCEP+7deAARWXBhTEGyLALA1qh/LHaBXAJ5wMHxXMWoFAFeJfsP4LbbBAIzMXJfCBKtOAJwr/e5BBFErAAP2SPfYG5UWAKD2Hb/llQROAHQnLcJudBlIAHQE4ZvjsuHrACQ9i0URUJxyAFKO8b7wEOsSAIsgUBTrCxj9AFAYbtvG26cMAECEfelWrXUnAPDC2+gJDMYJAAZRIesHL6O5AK6H71B3ScTrAAi3LbvdZoEwAgNgK84cbl5JRgAw07lBLwEXWwBDjI0DXsOMBACjYZULFP6M5ACLRCQMjgMEAgD4DXmjxUAQaADYgnUau0Cp5QAxyVwmiAgiQAAOZKNRORQU4QCGkubgXig1YQCPHYA2"

$bData &= "4PkLVgC5YQsu2ccqMgASU0YEiJtswAAwQgwDsavY/gCE2R9ZUVOL2ACL+IU9/d8/QgB0IIuLH4XJdAApjYNEi1H7WQAwLGUss1Z8EwBqLBeuOU44agAk3hDOFNYe2gCfi1FoNL0kVwAMo+fvweDudQAFIga7W4AQgwC7W+/eMF2pgQB6jbNgDo198AClb/92cwDC+ACLCSvHg/gUfgBjDPwrRfBv3wC+9ApYR/gFfgBSBfT2fEyLNQBkCg3/Y6H/1gCDxxQ7+H07FwDWf/1ge9sowQANyH0tT0xPPgCFffYOtuchvAD/s3HBxwYKpQBJ3IzHlIk+XwAW/LfQSoU5vwApBMmAKkZ2TQD4dQFBUUVF4ACx5KSba/wG6wAPICUfQFBFtgCHkWUI8BBDVgCakM0duE04aAASPiCl3/9NtAB9HJp0BYPIBADrBSX7/wAOUAAdMYZ8IxGVaQAEhztKC4Vc2gCeg6YMJO7NxgBLeHwkFHsoSACJn"

$bData &= "jAGpWXJxACJvi47QTdKsAD75e0DdCsEDAB0LT10GC3DMAB1SG47/K2HQwDPwekQV1GBcQA3EPy8lbdXCAAI6y4GEOsnDADrIFeL9E7D6wDQE3FtuNw7LgAUx4ZAE41lvgDL7W6MgXSMhgAQCOsNRRkMnAAemiXNOelN3QBz8vHrTrCEBAC1+Ozkxk+OjQBPBArIswQRlgBukOUQ5AgjAQAI9oWAXAS01AAMV2gcETVaFAAeX8Nw7peOcACB1gMGApe4qADDvLXN/9sx1wApobXGw4tAEACFwHYLPf9zXQDHcF1RQDNr5AD4cIEaN+7i7AAECI2LXQxrMwD/WvtssRVbSwA7fPp0dQLNLgCWZVA2HIeCAQB27WD38SSBxgBYQN5fMoT6CgDikNvErmMLCQASJ4ReI2TA7gCiPgUc6ywWRwA6ZEA+GOsVMAAUpSSfeSXqTwDgcPAIfPgQdAA6Pb5mDj0TBwA95xuWuPHFHQAhRigATAZo/w"

$bData &= "C2yPK5A74/mgAQTyy33bvfAgAo6xQ9LF9yFQA9jwZ3DkwomQDd3R+hUvgqdwDrlD2QFA+CrgBNPf+sNb/zCgCHo40j0V4QgQDDiBPLvuQO/QDk+WY5O3S44QC+cft0baHE6QB5OXhaY2j+BwA2Q9oovJkWVwBQN4wc7g7bwABtgBAVUDyiUACW79FFEyDaJgCgGJh7kstTGQAPaEg0JMMwbABjeFMKo4YiOAC4o8Nbi+Vd0gDsDHTvJNPGBQAkQqHcb5+WDwDMCEZIAhjHRgAkQCRJmM3cBgAcCBm46wavEACJEfxC4LuDXQD7jbVY/wA/CADwaomFaA17cQAEhxvkS5VNLgC6hW8OAjPbOAAfVr3ROr5wvwC8PVQ+hVn9UwBQiJ1YB4IM8gBFAhP+/vkKrwC5EhUhK//w+wAC320kiIC9EQAgqUCAvAUKmABzYx909Y2ECQBQLTss+zYM2AD8C/Zf6wou/gA5x95n/wVIOwDDf/HCiJw"

$bData &= "FdgDJaj8OttRStgCAp/85U1MHhwCdpcHU4GaZlAAwJVtm63gQGgBlHSRsOZmAPwAbONtpXUKswwCxJA0LO3bOaADpBlaJqBTNCwDcbjWWKgjFWQB7BKIoaB/2XQB6jdk2VhlZFgAIaJGMfCEjLgAUaJIUloktkgDOQ9mZl/wepQAR8RYMRQbIMiCALC0ILlAAAwoALwyALAPIMCwCMVAAMmYyaDMDIdABbDRuydABNXAANr6yFxrJcmgANxR4aDgBbBkAwEB8ORYhUkkAln46bF9nOGoAHCozQE4AQ1oAMrn4DA+2BAcABMYAjL/tur8AHYsDZg0wGgMAxxxIA4lMJAkAU+G7JAcEg8AABWp57wqy8RgAXRI08ItbEPMADJbaW6MuIREAO1RD60A7+BYAJZYF+DJy7t0ALOtQtu7uDGsAwGFEGAFSLGYAx4mtQesY9lAACSQch8z3doMAfAUycwgWAnoAgSOGiY0PeE4Acmwd2BqB/5wA"

$bData &= "10mau9ytwScABJ6B3BTYGEcAHcdqHZi4BtcAj+yZaK+bjdcAwMFqvfEiAr8Azb2dS0veV7wAAvDanQDwkEMAviC9FPj4bEEADhno6OMst7sAqQswHYCNvwAABL0aaAsw5JIA62hY1f8A+OQA3GY7ryZ8dBMAF2dZaxhtOrQAVugSHpjR2VAAMVCIOwgsxMgA7DuHSoRjW8kA2IUIo7wQtV4A6Gg52CwMMSIAAhyS9VnrEgUADRBUqV/X5wIAsYV1JBp5AMQA2mvUZjCCWp0AnkuFgdwXqLUAN5tZ7Lf17r4AvMJwfdzzpWYA3GVmpR6FX7wAFlhXroF4nAUALrgdSHIPDJ4AYDCItDjQ4EAANOCfgsTei78AcFW/GFdWOAMAve1n7z9MkYEAfjMKg2cELwcALiw4u6tQU1MAag7qW0h2LvAAQ71ctkDbRfgABtlqHNr8KLwAr+eIW7dl6vAATVl4IlYRfBoA/DswZQmNTfgAUUf/0NLtL"

$bData &= "doA6ROMd1bD6wkADdjQXJgIHCQAF3UXuXW7LboAkDlooARQHJwAsQ1GrtEMIKcALIS2sUyQ/OAA/tStVDt0cisAEBXkJc3c2YIASxcs7BjuXIwAgj0EOTBqBFkAo60z7dcS7xoAoQ1U9K009mIAW1cBanMwIG4Av23bdE3gGBQABegeTeR57HQABq00tKxyjQsATGSLbPVl9AAAOviR4JibLWQAYUixt1S218QA6ClFRQL0kMMATDUKFNo5YMsAZtgGKFrgQ4AA2Ay58oIzhnQA3P//kxnbvZAAjU3HRRhZHAYA2BIc2FD+TVgANpuLzUzZNl4ARfSNMxdl22cAUaXc5zTBDhEAc7mucEBVahUAGlT8YL9zD0IAt2IQXUtqiUgAEBF8fhSEVoYAdIloH+4csBAAiIewExZZmr0AKsQdgQoa5DoAgvwmaEDt/30AmEtbuU6g33oAwPKYv1netjAAQU0gmGofXsQApYZHm+Gs/ckAi0yQ7c"

$bData &= "4EAiwA/FdTFtTMAq8AXBPwOLp2B7gAh/+yB/NNvP8AA992c93kLtgAQ819sI6/81cALDGr7Yl1rAIA1Da+1g28bnsAaRpXCVO4mkcA767R7jvHWWUAfmskL2aDpaMAT+/Fewf/P6KYD5yLhnSzv8cyFtNWvRIMyVwT9iQRasAmAW7tsggUDG2+fJoUpUoHk3w0Rpx/qSd0d1M2M/bYRjv+fiFq28aM3wJWMxGJ0udGSVZqemt9sUUcIPd832LDZZdWZsBCtOscPaptT3IBTnnhOlk7Dfbwbqv2VlY50Rw8+DfZLNN8KUtBEQ8tn3lYFBQWN4TXWVuOtiCMywo3y9jjaQzT86sahNQd2H8fI8iS4PSfGGgMEgzj7BmMTfB1X8XasPcmEpMfkqdgWHu3Yn4YlBOTxsH03vACdAuDg00vptcK1xCHKyQo1zpeWBHbi/EHBAtCxtj1AokwF+vKzzK2g0ZbVAEK5BV0IW0s5IzvBOHwgvAp6w+"

$bData &= "RwegMSAjbr2kDvUXU5CkPlWjBW7MV1uAM4DJO3L6QwyYldItIFFtgg9/8WiPKdAWjGH87CKeCAGcJh7eHj3h4A5kaClCt5KxBeAOsFLcovl7faxRbbuxP43PSLDBACOzwYF1xG9HgIvZfK1broGFNFyEFTrwIFDrDBn4I/GZ1NVywHYFEAoKUomxVNm0XvewBltRmafH+V70A2flq4bkeDWO37wB1G00MdFcWAwJo8Gxw1hPAJFBsmMk3GrCwsv9lwb4Ei8EN18oSMwQKExu8VkN0IZTJTr+IlLjAL8uISAyK0REMUebX/v8XEwyA4gFqIIDK+lDA4gTHERSXzXJ7xkAE0QMFAQYHTwjCpXjX7YhQCQYKsGNoiMAH8DsDuAMPWD1uhcl7qbf/dhZASdHpQVOKcYoYiOmIEEAQ1JM6cXXxYsGkDN6vKNBqZCgF8Lt94usDPDm3F0jECi9RWG7gM8DGVBrNVaurhdzfdi4UAAarZquqvw8v"

$bData &= "I9BsH/GEJJUEDMYJnABJHvKLNBeRAJgAyM/tCmgZvQg5GMQIga0VYC8zZxgDbqHCbhgGYFBZWEDV25ZfkHaNdwKKHFePc/u3rQ0ITASK0NLq9sIBp7MBEQX3W/8KEHV8aiE/mNAF6Y6bahEMfDolurPtG5ZXisiICShsEAZ4hd66WSAsgOGLgMn6eu024LHAd8DhBPQ4bDzYy92n2QQ9AT4/T4BAwohB2+/NdghCsKCYk9LogVcn6P4LRPbYGsAktQTsahYYOYt0Y4JT/LCRTNd17n+KwSQBDPrA4ASaLA8DIUvMfJFuDlekJjSspkK+dxhQ7qCZAHgsm+cAAETHODnJz1BLPXJ/lASzbckvjpAAMyeF5EjzfIENKECcBB6GNawfXGgn0K+AMEAjxtY9vKkH6DwKdxgv/mWADrCrXOoNBNQt/uAbej4Oze5DboAAVjmM0RrVVRA3OkT4yZGu2wygcWYNSJAAI7uR3UomogRMCpIAUN2vk"

$bData &= "XMjaNYiRFlK3t6iuzNWGCyLEGr7wDZZ20GWyw4UFAaNjEC5jdUUSxAk/64Qg0bD6mUQjNT8g7BUsGgjrOnmY7GEOh8hz3TtbjQGLo2cPeYVdyFs4iNTpiX8CxXmrYO2giAMTPymzkqHwTyIeBCaWneq1XZBTotHJw8K2w1UDK/0fkhL+KDfyCfPShGhLotH+BeNiRaB2zSIUV4ChBtm7ha/QUhmIQbrC0c+AAoZBNr/xwZkAEM7XfR8uM0YQBYv7JcRfQh6ix0IGTJsYpsJEJ2sLgLbQvUmDTZ6DKnehnUZHAtqdfBo7N9Y7ZoUD7iwz1mk0mhXF3qdvYsY5zvObfvw9l8pD47WrHX0Aux4BMzt//TB5wIPv0Q7AjtFGYWdnQhysxzG/Va1xP3rqoYunUAPCMmNFtngAttQ0EzEURr0gbkdcsQEUAzU/7GzdZMfSpb0UcSib2+PxGoFmFUD+3oPM9KZD5/CDwZuR7xSUBuuJDl13dhF7O"

$bData &= "R1EXJJ7GYvCAztBp+6jAf/DeiDtxQ5CZatuRsbPP8AuAvwKtz3LmEiWFBg+2OmGuJs4QpdsFAECBWhTlEgkI4M9Yo9KVApylaY/aETJKIt+n/B6xA5RhR1GGaB+9sRn8DW2OMMaB31RxuVZo/tM9uF2w3nGfAhM1XRCrWNWC3JF7vV/9svj2ONBIhIAot+EMF8FwxBg8IUO8vV70NvETh84YocYTrrAyDVHyPquwJ1C1OL8hzY7xRmHewDEqnuje9sqaUBFFAV5WqLQvJ8F+8Avyi0zIZORA8evj/UAQrUdQ6L/sbtRHko1kkUDx+zMCTXYcXSUj1AE01qM6shhkOhfvZSfZ1/CP2xETlfBAi7K7ttdwI3dBavG5t10Bb0D33jy4AUqAK7CHQG9kcYhrn/L7AJi08YM8iFy3RNaAIVNmrhW4TQKXQ3I8NAPasuuH6FD5TBREPGUdi3tZbdggMdgRR+IB0Wa66r0O8XHxlb3JzjxhTHhFk"

$bData &= "DZQmFTxnaSs0tuYQMgbR0WLIq65jUSLK5cFuNR105YOx8Y3sbriiLThUJlwSBU1BufRBcqgdHiX4UFVCx1AZKbV4Uyj4fFVsstD3OVmJq3F3yR2rq9l+4jQ47w1noiRiAAqC1Vlu+idzYEfOoo60e0QhiHn5QsdFZlWB2yaBavsX+d7X34g+QwffZC8hRQX8EweECQ23S1lknBnZEvZZoRyo6PxfPeD6s7Vqc1YM/FFrAPuVGu4c781mLfhODi0/gBgxNNXjOZ0517wdNVZbbAS9Imcx98Ko4KBljYGnYCvc+fFvicPlMFdrJkkAMOeL8cMFsociuEMqagQS8WMB/dpA4ex3wo0DiEzUGEcNhQ8NPJ42PzPeS9sL5g1Q31cCGExGeF9FoPLfaGl1+K/CwO8Y/GBmUHrz1yVj8Ub7tpcCRJQpzWqB2Jc69meB9HSlZcw0MzDebmxDoDCbM6w9oAQeSvVRRGW5ZnWy0/1BAUIDsPMvZoz0Y"

$bData &= "AgFA8KC9gLbcPvWokcAEkQNPDcSeIybEsFYX6n4Sdf+lFVR8Rv5cdA1ocHtWc8lTFGo2KhCYwditcPmFPgClQbBdjJQaIUsL6s0It950P8f+RkyIQwAYSs+M4BBvRU4QhrlcELDRq0E7oQNx8Cnwh9hrjd8/fySNPDaLTRcjuB3cnsEswhP/40ZGmfi7uTrxfuSDyGtuEuv2V0AoOSI4gRabKB7edAMmrVmV7FQFAwS9Q4hvBsDnDIXP1EO4EOyx1iHQ4H4/ojvBdHFDLaysjUY826tBviAQ6NgEdLQKjFM/nIO3geGwcjZQzRd74TGivMsZ0e67JHcAJEJz46bsU2oNRtSxCabmzPdiVS6UwxYjnNkCCMTSpfRPFeEEFR5ZfAW4/qAOaF/RNAMqVw1AC3e3ZgjDx0O88Y1eOYswO9YxU4sfc9ou8UIBVAg70YwPrwwM17qXR8cUhfYHfhugEBVCvVKwaFZT7Z8g21wbCl1GB1vcTDMD7"

$bData &= "dvC7cleOCAcQQY8SCB06E+d2coESLXYBuAXB2w3F3UaRuhUf/QLZABbhCgqvR607dbgl0eLwcPr7I9mO4vgltqLBLb1F0BcyQGuL+npw2gEQWj2MenD6cAm8SUXCLq30qwQYwZ8efbD70aFAlvQIJ9cJJkLXM1qB84yQ1ugo5bdliRNBAKW5f9lCAyIXhbGRhcBiF4YGRr9m6FfG8dGELwfCRSIRhWDxhxaCwyMP+QL9aTtf7fto4P6aAYFL3UDjUECQUEPtxPvYALxhdJ154LMDmhgvY1YIBCB872B2/A9zOlApL7IBsVWxwVf4fn4CBQBO6TGVTfjw2GDDRl4EFOUGs6qgWamAYuoJglDQ1qhvPBlRm5EMqBe9EEA/iRgGVDxy0OaHrDgz/6DchKY+ACQNQStSxDNWRtgh3Pktk5msEjxSPGL2Iw3D9u4o1TzQGqYFme53qEO+Brd7rm/3aO5CBwkUj7d2H0z4Fa8FfjffVX4yaWGoM"

$bData &= "ULMhyD/1bFRCl3B98n+9s2RtpqK92DCFHa2TxcINtrF2BntwcY3SzcTA9Q+/sSPSbHZk/+O8ErfgaLB6hxc2VMKj4EhkerA2FqEtzcFOa8I9GqBSHX3GxC7725VmMDEssryFc4rFXfa6ZlXdr5YbavDDCvWxkrz4B0zlyJTB0pGOw1YjUOhSJYLPBdaIu43IroLgdm9RILDQZ4CAvBaooQND5CFLMGVqtt32ER/9Zqw9gFT0TmawON3sUsamOxENvr1zU0XAhQEiUK6PB9Y3bWBtgj9NWlYp3QseJwMXhfeOlSECvGwzj/i4KZK8KL3a0QtMgTjxAY/w3R4PZW8PnR+HmVhcl9BckrfINShampn0dXRlYfMxorw0S00cJw1AE7iPOOhYZxVeCP/3bQPfyLEF1VvnQRahK734609UTb16EyWSNVU6NcK3UvcxoRvZQOVSsXsd1bZGA9iS1kCb20F+aKJd4PUxKlEF4Zknsb2Gg7hF2jbBA"

$bData &= "6E9xfvIdcW7hYCT7a7ooGsikoplD96J77wMG8ZegAaiDGFJ7AQQ4xMjzIqlV7AFQI1B3L9CPGwlDBaLgIL1R6M9v1DDlZO8gOPlSJrRP6wJgOwAQs3RaQUjzsLAiss4y51g1WRhEMqG0r6TU3O5/d/Fq8LSWgGyersXSrSuWUrv5cs4EBI5KemhCqCrJcYn72SLRXudqtm18Afhc/mfcIkLMgLbkcxLfwDjq4meBGgf5+FXyZFckAOZCzOQT8TfFOwAIfusxY1pAUKxRTNGKtIb0/XVhQwlYmLpJMQA8PA4iiDprtxAAD2ODJzBr+CeUqh/CJTbiLTZ20+QtwAce0TNSJTcCJfdBEobdXbwboBgj6Xgo3uT1Ysk/yzIkDKToY223Q0+SYWf00oVgkQEfeEmovZmiouzU/H8ClwuF0KW45dTPViC/gMHZwU7i3DTvo0XR2WFBmMlTqq2454RQLjAPY9T2elRxCbvVqBk+t6OI9c/4PBwM0"

$bData &= "4LbRiz0JJ4NHBkMduLfYQQOKDHKucPt4C5qIuwRVX0Bb/V4BfnHoBb/OWHUCO9XK0BUHCuKd+wY3VLD8fkZiBF9mPVSto75BcUPrMGYsO3K4uwGGZjWgXwII8nMeak9ojekPrI0mQj5U6C7DiAQOCAl8vpBrIjYsdY4IyMgwLHiEC1VONg3k6x0H+vf4Ctyh5wjSYkrjudRWVskEyvgHNgaW0Xlz+Pd2/GjoMToqRs0YSjdETC7NNu9QE44Ee1zC7ly6QXwHASUSXWhbwCByNG+wTfixnRb6J3WO7HsYA2dFIzC8pF+LwzqiBUNki48HDP0/tSybqwbXAgwQHGU0rHLwaz+J36LEi/rlA4lV+ELBtW03VOKLRhQ3VhN+HMcWauBiN0rrCzPmLvUBtSRgS1YcKCVr5ZLtGFkiDAwzYMxPuVkjr6SLRhBRCDfZxVgOoN7wBnWNSBkciw9FiRyB/yBDoe4KdhxfVIIFF/p/xXwSO0gcfQ2LU"

$bData &= "KEMiuhMZKh3Qlt1VqxFvIFrN4tHEAnkGZr8G0B5Ao1HBK4o8CW6k4s/AANmITcX0u5h2jsGHZwtgybhplZo7YP/P2ZiA+MYNg1a26x14lp4KExJdawQUhV0CPlrnUW8dSxWFhNrXcStLrz7/9r8gNnE2beZJRwD84vWHwuQsW1rzK4b+Qf4SM0udW4H6vdww3cI5Y6lIBZte1ZOLW2AHG13XfTf/MuyfS7s7AFd8ALg1NjT3ddFwQES3E0tKougS4X4fTkeD4QME3Xohw0ABtvtSAxCOTV1PQTsiLMWNdWvi9fElcwWWmwHO7dsePA1Gu9UMEtjv1+2F5Jw+fvre0ciBoN18PpS/P4B62w7+3VKV3RiGIPHIDlCq0VrNzZ9oNSCwSxcwgj6DoAEAxI0akKC4NGt0FrjWX1TBfkQ1S1hY9sMsED8pzCTkT5ic900eM1H9n7sU/S0a9EWNEbdJyyFIhlW2M1Qg34nxzt0FCK2ysbJvdJ+AY"

$bData &= "Wxb+R+MI11LUGSatAaZhNfORYJdsOxMTPPMDBv/Q1HOxaXdxjgfOkUeIvH6/gwfUIvCL8HT/LrKTP/5XoiBvB+Om8v/EsHEYsOi9GDOiBtQINmO8d8BW+UGgcBLB4Dx2jAELJTCAPOaqseLFTB5wP/NkiwgcFRHMQHU9gWXBWCIYM6B9kcP/QIngcEW+2oCF2pwm1UksHgXiJ/VP3X0HckVAgE6+MjcZb2V34Ui20BbrWZ+tE7XN0Qmjj3iJfHxnzwNr05qSywbYkCRAl8CEArYWDp52kE+CE54laUYhUqpzk7D5PtF950D0aDwTryIAS0NBnp8Ov2TwdMJvurU8lLOlP4iUgYA+SkO3GIGDYGBAbl5OTkCAoMDg1mZEM7OPGUNwIiwtvEuACKWqMVPnk2x9vUPCCkCUAQxOteQlKjIBKhISTbQjjHcB0oRnLyTCxAAhXD3C5RoyQboSoN3T/ZMeKLDTANVmnJhlL/29AVYTscgnQyQHg"

$bData &= "q+tttjf8Xyius98OzdC9Xjb4WA6U2Z0k44bUvvTVTCctR634TgFarF3htgQjF00HrwV0dXIqdZnPjlyy4SfgUsUi07ATOOGDWUD4aN3aFEhJlj75OxfD5N+dtWtaKfVPrE+WORL9/5QPvHDl+dqE0gEwwe7bZ7wI7Dex9ZeYNPFegBMEuJPQ2AkVXeO2NTKEmHj4LzoFDsI2yghMZ4ArvoZhaLAUWHkRq9d5CMAGjE+Fi7cWfSvqow6Hg6skUCp0As1DCDbgq9BTJCt8GvI2vWk2S2wdLieKmetHwDA+OJ26/Yk+q65LQTlOeDUglPC7UozH4Ace7JDAs1O4pfAwKLDYvxxZ0L6BuTFhUVLpj1LI8wAASOartwFLOn0w8KNwNhGviVmYfnCRcCWis2MVpXlRqW1AFllxn9TMsdXojMANq320EDDgMgcZxER2uyu29egXk6qgFE1gVUQRzofdQINfOEE93rHQ0ObcTiR01bBidVLIscw+n"

$bData &= "JqqNECyxdHgG3dLrUxMwmDP7a+gMdHK4AzsqD6iH8RBq/sFXVgIoiSbOMHN2XHTbXglXbyWcsbWShm5WipArThCn1EZnAJH2qAFzo9AwLqWURsyxHKCUoW1NWZ3N9gGoVhdYagKiH6BzXg/cdOgrRTVw0dZ5BOCDHNHquu4dNiCHXlYCXASBeP1YKbhZ7dE34J1AuTQgCxiytG0QL7+VRWsIYFdh0r0HVJINAQQ+hQHeRRr7BCA+n01N0fzfACD+336bbUgIiwSNjSVRUAHP1BKX6hIJe66MP1Sgn13cOmpAzFkGonjtQiD7IVd3r3RcdGnIUrDJBV7xt6ysteI30mx4dg5B6gKpSUa+CBvh4ob7g/gEkEJokbcSrggzkA8FdRkZIFmbGGpARSYrxavULQZlXVtgLWFtQcA8aOqy0NQJ5EBXwL8+3lZq2MKr5QzAiWDPcYDgfA6rhbk1xCAZJpvo6rzTKTIofXNagxDOQstojL0Jp3tLG"

$bData &= "hAbUjiyBcx+UUG9dBZZAKtJJwz+cs8F1lh0dL9XQ/YcYHW+VnYKr7FyQfBKDp4QvqJzJiFko8lH1UtoIRVJOEUB5GEtc8n7PCAtVKJGb70Y3nJr9mr3osT2RlY90zQHQDQQORmk63T2IPMkSD2sruuJL2YEUPd0ZhjWe2vzDkB0SUTUuwZ0tD7+AxUaJIvWRq13SnQdOXWi4IfWgNd3MhChBAXUGq+NPUPNvjgzxAPxrCkTKPA493sHkeTW+5BA/6I6hDZkBCLhnN1KSe6s/vwIpHdIh9Cwp90hJMaS4lh5O/5+YDJ0V/NSPILYSOX5jRTkVUy4/Q/ggGCDZFfWtRlrJKjhfBADCILbFgx2BMJ1O0jRIdAdRVk/BiZwIG5iMR1DcAubVhcSNwxwFL+osn47o78O4A+2RqJ3DYDwgmIBb/U7znQU6jtFENbvwkKFmaUBl3XuZNjjUpAFcqZKoWv7RQczEEbh+t//NyEgB/jfPRL9GSa02D"

$bData &= "s3DnQVVpseyZoXj5nU7EnBdLNMHXgGFAklhAQGEAjCe67ksHn8/FathGHHGBx/fg8UZ24oChGZk3bOXqYND4ndJOiRdHkSrEiTXGau8ceB5mtSpOvkVywkyoy0cLi1YJ2DruJ9aj9oeCnGo1jBPt3DPa0ViADuEMCQ7xgcaKgTgCMf4cKSqrcM9PeSX5/9CAJK9v2NtRr9WmWqy90SPA3Dkj7LkBS4LBTYKC05yGf8AfL78PsW5JDvWRv9/RMjTtS9CiFQ+c91wTl22OsaMapfvXa6poMRivvYFRXvBgkMqcz7rWV15LmEQLtTVr62DuPw+VYXARx5V4M1LtkQqAzEUWh9sBSwxBV21FTY/solhhIQgLAYv6tK6UaigcgEpmoJBWfNYhCPdiY7DrR7gqw0JQp+8WXIRx2L4mou3CBS3baqCiBm4LjrS05OSJ0U8CwkBA5D6KDwIwypgDmp01RDoESzhAJEojaDU1e/v9SXWooU0vl+GIs"

$bData &= "GfYH+J4wGR4P/An1mQgA70Xzs1pexrh8dWCNKD79YAulLPViDJB3w6zb5CP0W0IJm4s350Ad9EUBvhagg5wTBUFLjmHs3OiLrDRCMDiBYNugLOLMSG3gx+XyoX4oY0CwD5V4iGmqiOYRXaMHgAlD7w5rCNtw5fgR+QH8Deos46D2NHLjWVhEsolcz6RQNGMEiGg+1S7exA+RdAwb4QwJsBL2gtD9816ouQbvtq4EIZA+vBQPBqG/vgoRBGMPDf1a43AKX2iY7obC7kGqUfiAligRsAgQF2dtvYIC7ugGJeAyJOAQEEc4U3YlYCgjvKSVHWOwwJiAMwnaQHBBfHxTcgK/eqKdGLFMzV5e1T/C6X0Y8Dg2GC+eBucjHEL60uhbNDljAiwc5H1cI+tr2t1ieIIleLAI8Cz1b1QfhrUz3xwcKQEeLd9kXlGo8/4pWNa7kSrYSEAwICnZwSs9eF0EPuqDBYCrz3BjRE3zBF/6NP4OLncj/UgzN"

$bData &= "7XdFgieu/zChrf+wlBjFY1H4FgZZoFLQxGwUyxijUjSpChg9vJuqjQ9WFg6Lt+IGv4MF8YuPDYtBd9dR/fEJixNtUWhQ+Mt5nv3mfv93II2PwB4+8IsDaEQXUAhOmHuqEBLMSz58kC3mmlxW5eEHDFs7GWQQFAf0QkC2Q2x0UEd61v4JDJZkkkkQFFDMDeY+WolHXCgKYCkKBDqYG2QqCmheCAjXQhdeBlPOvXQrmFCttpRmNAjBYUeJiYYj3oAFF87D6MQCfGhZSLYhyBtwIWgUfWLqiOCesf0Hm4s4a/8UJ1BpA8esxSaB2MAWKxODpoaXIZoH9Txw+C6ooak3/yZEORB1KjYWVQiuxY4ls5sLPl34gctnHA8QF7hEX2szuipbbSiBD+oWXIB44W6MetxJuq21DNkMlkTTBC8rW9ReKFYgu2oMXDxGLCyx+IX//WvVRNwsRlR8DDjSbCESdAxk6EcISAKXECdfBDxlNQ0TlYA4uTlvE"

$bData &= "beOwS7/Lzldj0wCAqDpy66LbVUMFAh836T/oo60FUdHiXCL/sY+LezoTkxYqF2OrAWw1dyMfIa4vMeG2DKKmqhDCc4Ah42A3ABB2RODqUKYcERBYPpE3wVWoDmTIVm7wOE3glX0fnOLi+yZdRoJ3Bb4WIkJjQyRjDECSQLht6hErXXrGVJRjU+1FU5tjQxLTTVZACy0RtM+HSpec283UfB+HwT8fQMpQVre/vbuDXwESQ4CiQyQ6wSDBP9CO3MP28V2cnyNg34tPzIBtKAffho5FIi4Y28Fug9zLJs2vkE7GXzrS3Sw5jl800NQiUsoh+tgRgWspAi0QRVqoU2gI1h/4CWq/wNJBLp6I8IjysBUTfE7yHYF6gJ3pskPC2oI/1AECaJYJmgTOlDa/7MaPNhafjiLFlBTgef/D0lDcCuYKC40UnhdytVh6XUezmDgYVTTpdZnC3UDV/UQLHGDmDTy90YeEJ5o1jaVdAJzZkqB8dpyLiw9pp"

$bData &= "4x/H42Pl51GfPAyIHhZzvL4N4ebWY1ICyDvpgYMNZ2rC8rdHJptre+OR6P6ArtaKItXNURNR/DWxBjFJMAaS4qxdujkHplfOFmkmbbQltBBdIHAwREStndAsRE7lhVy2okgGuG3qu8O+2ZJfwoHvpoaVUIMAReOA7UiUk3Hfv8J7S2/ixHLk8MSXQpgekX1N5T+hwHPByuVtUih1JnJgod0JKEIgKI3Kv7UW0UU2ZEMgxbkrD7PhHQuMzqObJ1NNAKRMCWqJANaAUXIsERO9/lgDurh5MWmQPfoBSYLk5865IX24BeCdQxTTKtFosJ0dU0TFsXHws8EyqL6KvtTCrZIgFshR3IMh3bYVObztOHDmilER6YEN8mYP183ltMgglaGzVXjQZqRA0OtU4RoSqSXDYCJrgNFgwlARgOqSnbXZY8/i0OAQ1vUy1mFuCKtQgLCo+0qZoa0UOSZ/RTWh0bZQK7A+0QOg/P1ipPFlUKOwnNCoduIsh"

$bData &= "ZHlV8K9pML5PM86sUkciu6mixHEMIO8/kW7rlf9vx+5EjweMIO13UdBvwtPQ8NHMu5D89Ya5GhM7C61FSXcYYizp+WqRA2scoHfYgkTEWhDC5RgvA+DcDIxvc5v7WUyWTjUoVUTLXFIkYNTEJ27FYcFl8pmxZEusFmYoFisHBQg3tQ0WR2z1XctQvOrmnR5K+gocPvOneSG/o4Aa4Fk0zt7J/xCZ3osZQ02BwNCyDCKjZaEcoGmjSVzdHmmnYYChOFwBgE3eY6Q4Op24UHy2oxgM1EC8H3ZCpKVc03SEQVYFpEg5jOlUjG0hFOxOa2n9n/A2g8T1eMFd+LlMN+KYaM/z2RwQBdRXzXXBotFVb8GbHRwZBBccGH2K3ApQufNL2C+tcrUWHhFMHS4uW6lmq1dpmOTRHlNYQa/CMWYrl6ypUGt/G7F1mAnUgU5Rfxz3J1pVt6YN+TFMLBUhsTyHatiz2S3mhn54Wf4ulZLO1ijHGSTIHjZOa"

$bData &= "nnEpI44NwFmN67hquUWoQXC2zBS82SFVZ6Ujx1D/P7YY+qiOMQSAARgmZEAwrCEkEIoHUxh+NiRI1IQaW58OeNy/0JIUdab2zUNLfAQsIdS5Z6IwgRZw4pn3vhnrfaADXnAhlcZaUhxtVrH++V2JEFxo+Fs8UTLXMFBd1CyASxPiCyxikocEZNRe6Es0CMdg+a1XxwOtQed5fxsduSgwMMgm9q1W+rYCOx185YNLbwMucPUKbKQkei1N0MUZudOsg5vI0Vi1RLoxTy7gCoYKZ8zBJn38SAb+xus1gNc3Vn2pBOxGNIv5b1nD3zt8MXY2+Pcy5f9iwetreeg4gz0DKBALGG7M5JDDHv1qXAgvKMVIBTkpgVwscGBo33vEdcU2E0FRWGAKFOq0ncRQSo7ccw1V2T278Jsm7beDuFVrhUn4A/8zAV6YboSEJgW+/3KIXAhoCGH93wnRBoQnUyAQhaIZqrUOHRfMEJj0xxgqGkIw7PZZDdXAr"

$bData &= "0lkjqzSeyjR4OMLZA+O8wAzQ667CLZ3lQSI/3O0TYr/EkM0thGMLOlQMCdRA/YeaiINEO1MUOyqBBeGTh51XbatvU7gAuToUIaNB/Biqww68GxNgJ8yvwb0Im6B6x5iV4I/VApo9KUs6wcIxlwmBbEdRud2H13LBmZb+EV11FpRIQELsRv34KNYLTTZUIJZgeAhNS68tdbJKEg5CX0P5tSCscxbIXgdgS3RbPgPXt65HgZ8GMBfFCh+MRpdbPWB4AS41VC+ErUOAIdQ1PpfAUyR7TUNFBRglhs2eyh8z0wkTfWYVKxgL7yCt3fchGoZvFm4PQABjb38MGlo0GeioP06cwmg7V9g/kG/a80m9E96ZhOWhwzvZkeLPJiZoWFv1VxXPlDUeBdoDLkiOZgU2X2xc3Nd5gdAHDCnvr9I2diydBxXCINwSb3jNygVWmopV79Tfxy4Td1r1XtD1KH2UFBoJFFNvFkL0BQnmgMU5qIMNVP3w5UhYI"

$bData &= "MMXFxmPTA5IByoW4siAktceJw+oJs4DVnivn5vLrg8Izdk/6VZvnANfcBMApjdCmiYO5sPs9Fi10LWz9W5d4YNxEs8eLGDfAgI/W8BJfpCdQNcZ4NN6NYVbLb/A+zw/zKNDxZ4lap5ha8FgoatA680J5gq6LiezC0khnogznJtv75N4EtgFat/A1YXYCgixPYvUHNgzyq3Qez/+SBhpKC7rXVBriWNTAVkD4elQU44cwde+CNzpmMZkHMke7Mx5SQcCSZeJ8ADZ8W5RcRA/DtCWDgscg1dGDK4C1E4R0BA/i2VYibPCm4jEv/KEP8bkIP8Far+qP56K29rQw549p8w9TJbtYoUn+HIOPUuGawGjY2JMej3uGA0/xy6dGFqMgjLPiQzaDi6zLPLAW6sjUi6AJC/UGgHNIgIvR9r9hQ5fMllR8AGCEZ4/4S6EBoALoVayTQAtu2NC1FJ8KB4D011z/y/BsSFyWQ5OWnH5AfP+PkmWQ74VwP"

$bData &= "YGOzWGpRI1AUOENYgmK0lQdiUuQI1SMRk4OsZZbxguy0GEBOgEp0NslzkaGjiUM7J1oazRhAQQBiwrjAqMOO6hBEQnr7MYjx+Xcaj3D0AnmjkG0xRwCyckX57SqywiFbsjxciSBeiNJjw71xWsBkmDUtPrx48BToI9QaNXUxLUiaTLGwlYDb4d28tl+UHqiBfFIdeaGSDGsgUuyQIfFQ4nxCD+AJMkF0DuuoPeE5a63b1D6qot/2s3jlNPutiEwMlJ2R55yIlT2rrUAVP5lk+IdvrPDkGUQ7rKAHJyfYBTqfrFiUH/joJlONTTKx8uCADg1QpW3sE+IakC0zEawhZB95iCd5OV/h+JVRbfNeNBOVWPKAD0IlUz7CW4vaPEOwCEIkEz0E7Jnzb5qxKzU5VfhTxJIACle2I07bdgVh+tHO44AAAIScVrwZJBFASnq4YvlbFaTif4S3HH/ze/IMICC9oKH+uXgiboiB8JFDQaIizhHTkJS38"

$bData &= "EMrauYxQbhiLk8gE8o2GGJgQPMFBg08AtyAJ9FAEC6DrG0WU4AQqjlUEgzpB/SNSNIucwHZ6nBGdYNim8+m4G7QG6Wl2hCPNAkz1AP4N8r4J1Me4K0ZZVuArJBut1Q93/gVCBHIJHdtXBzpXaVgNB8kDKrYqYwwor0mwxF9deLPQPT85c38tmmMCY82wZiygkC6LretXlFfYYBbp9kY7LHzT7hOpOICrUT8qYm3h0jp+UlVF2xRgO/YBQzZWC1ZCshT1Ode1mhEkldmKdG3EPhwn8QMQdpCoGcAAFahomcAO3wV8tOsED9JUiBSdrF7TLFeoIHjhegI+pmKD4EHc84tZ4vd0iSI015tBHLXAEF2BDTMfrKgDghzLIPlcCBuwzt6E2LlwgxLaR10Ih7MABsKkof+AU3/DC87XF6n/eHwMGAvO/3ooBFQV4mRAFqPuA3fY5FIwCTEnznKgH2AJCY3Q6w5kH0oRT9p2SVlm6T3f2As0CGhUC"

$bData &= "gzJy17CGyxGFesKPbUbCQwhPVOOHdztiP9Lj3VaV41+bFPHByj9RnCbiLtHnAh0jYYnV8fEx57iRngBF4AffGbHhg811nVZ/xGMF5DeVG5FNwCfyTvDT1+jhUKw9Ve7wRJeo1A9UPsEvefw1w0DyfmDv8cAfnmJTFHA5WpGiPFhoBts+1f3Gvy2X6hM5p/2wQJ0HgQE4hYcuqIQ1f3rBaxzB4Qs6yEdHFAdVtQ4ciKsIwSk5BgMmkrgF8qHYgK1hxyNmslKZoy6sPSWEPhADBcm6TbdsODVBgZXRYign0XwFXRv9kMMAS4L3l8/dANH6wFPIz8S309PFtBTUBwd8HUiLnR29Q2CCgn0fA4zmk95fovc1u0LT5G7AXa+6y1JsBW1HcD/zSwsaIojE3XViAIS7T4Zoq0WCPbM7KjBYbi6LRC0utWeG68ROdAXMbGhiPdpMxKw72loBnKDMDdZMAJYNAIQC7Fqt6cuojOgdXBcFxQYimJBvH"

$bData &= "F797Kt/XVoAQMEtEZQUx3wNlFNLAghhpwS2Xa5u4tqAQEZahD/1QlQF1C9ZrZBDM8L2LNdtnwD3NegrC83LyCDPCBqIKALFAaWsFM2ZgFOwLN9tlMymNX1fEWB9hkxrZygmTATsVPJHIZm3WsBVjsiHHLMVjoqCNBaAPBe94icHCAmYm3AglR8DxAqsbHuvSCrC2eLjIutKHDQEUQSksNbsUU4TNesW4HEviTqF62etcNqZpwmzGALOfGo8BZmRf3RuBcCfvgF/jcQ4dn/1n6BDRgxWwvDL/fTI8NQwSHa6Rs2GcIgzkl+AQCA/j98k0EWfICAFMAuiiCHwD8dJuICuYjwdQ6BFyjsoOazZqk/DQx0PcXLUKAau1ZPNBI9ugSuJquNakCGvpVGUr6kQ6L3NeRoUSW2lioStTlDsqNXXaD1KXD2Vqv/NYRuxVPQb33IFOhc1V4RIXjnDnGlBjQkJs2AsVRrVfeACQyG3tRWQ9AICXdEQGG"

$bData &= "6oVjUfOqhpllzMqMCECu9usIa4Edu46HLjdrKSwNbkg78gQsIk7Ze3wJ4Xs85uyMI9B69r21+WpnkgyZ9ZHP1xcAR+EcQMJcBwsQlFWezYLZZEypOBiX02rH+rHqDxhQ7g32ug1ttYycWKliNaXVmSyOH5JFkIwQjBH0d2UA2fAxdtdEbyhWREQeBTfi9Djp84A1VjwUIAL0OGwON1fxXmAViXewGXvUboO5G7HKGXE/33xv/Rysa8LiISZx47rLWygAcB1Fuuhj23pFiiweYQiZBuT97IHYBRA+dwb9BJ+81tc2lPVFihU0xRdgD14r4wz/8Q+din7kLNL9InI40c0q9r7AtxmhKnLYKIjD5g1G4uQebtf0YPo2+kBpEEfsGZHAEaEUZQJ6/h6cjXBYMaFcDnIWj2E6j6MlstrtUrZ/BxGhGWsgIgFw2tk4zmkUAwFu3FsTuFUqyagSUgkgGcb8uKgiHzZSKEGDSBdkWOC0vBSr8mEDL"

$bData &= "aJ9YNN7BoDGDvtYTIUMCbRIachT0El60mf7IXIFrQcxmWnyHG1uW2Q07CRCrGh3WQWeOdGQKapedZ9cMfEZgbT4zsBoVOTtqAaU1vX6KdoekBqUZWB2i7gsvUmg4vCfOSRqizx5VHo1OAUEJHVqidL7uueJb7dcu/jl+H1J1B1QPAs02wBKZUxldpDX2nJVuW3AweNKHiWE+97vsi4+2tyRoRHBuRRup0C45dUMlOLdV6WkkGhWFozvHSL1BLxoBxWlogW1rQpfgp0lQV+Pnid4nGFYUW+n/Q1gYrF0SYm3ILJJAYahGqrHHzPE8PHZC5FB8HFgdFk83VuHUFRTTMOquOfvgK33YERhHEkXsK6hOtyXIXRhd2GHixRLVVSMDt8D04tk0KASJu2ynmQv3N7JiaD5GDeq3eivHQFDdJuwd1Wkf9D8rw2MnOKIdTaxTJrBwNDaQlAg4AQ2ePtBdy42wao2vsFQyT3AGXjtBxB7L9+OYDgi59"

$bData &= "RBDqeAP1Y1sJIgxBNZ+g44A2VtsxkXdAa80Lcu3pWDUAtiITdze32hX4AK3q6tPOGOx23Z7Ff9VKfAEGfEC8kGfrS3zMiH0/AVLM9bgGiIhBAUGcuTzLAcIEAIUSFAtWzMYGQIaG3Lks700TWj/RxwkAyhJ8ixLMywtLi8w0ozctpw4HTxOQEEd+T3LQkNEP0wEUEI/y9KMIVRVVldYq2pJAPruZl6rzDVXiYMcUMwc50JqeLFaEI5n8VUWaKkUsBI11wxtoFFB1hE54lCLJb0oAwBuECU35GCQ4mCxZZmKaN1qFDRuv+jwYPRqBz/UUaSb7OYu+GgCYlcJAXgYP0KtMZyMI9ZObV4U7rKDyH9uC0Sh1FT6ruFUY/Isubwsx2yz8g9GaPAK8Zj5iInGCWLwO8+LkKYAhkK9APxwfieNcn90/zaYaEu1qMbd+AVgehHcq3Vwvi39Brt1xP8edd9Fi9+JiDoCM0cWZVdatZmuMCPtQuCk4b"

$bData &= "PNqJBaFgRoXlhsZqQWMtJw1nA5OBDJ2MmWarZnL6eJi3QTabBukMdVP7JO0IOoZjk92LCL+G3mvgR1HB4pVqlLjRBFqNUMVieTolPdKfiEJZd6r8bHBNRIDSMGAbO/W7w9IooTaEKNg4B3Zm9DwCYYQYm7DnX9cdKO0jBZK8PoSWigAttnwUZmSHVsxZgdqYrULhpe+eRp2iaBZmAEy8cQLBofoochZL3XU0tdBwIGq+zXkoNUzxHixXjJzkAIwHhGZWoqgY7C97fLnYQgociCXaHMBwYutyv+u/VeUnx2K5c7vtAUb+Z1xBB7ZBs7u/cdyA/Mg8MEHQCRk2XQ1Ph2cuZuCNzcOELo4CQi28jJ5ProD+y9HVABQbaNnaMkGo+8OfQEvSxtWc0C5qAoxayiIqLhos6Fdn9DCtxBxyrQsrKGELQFgRjMBa6oC598lxKcgB55bioYsQVMxk4UXDOKJoi+V30MwISHv8hX7DSO4gD/P8MXIQq"

$bData &= "5k0uY+GP4/RCrwy2DkyKosPQBGcHbj2+NJlE0Z+VNX3REwSYUhwH8L0g72ZYdKyOJBhgADigINmsw+60mjzoAODlnJkWjepwQ1ts4gIMZo2fsixNGYb2ni55gxVamOgzwDL07iO4Zsmb2axxWjpBWirpmtXNBoCNRHHCPn7XzErxJjCVWJUAyIAAjE+Y9tuCO4uz/t4LoKmppWNlxOlko9PB9GRS+Zp97QvsD9iMHC07wYLCTjl7hNJCip1NbPFZGylcVWEUkcsuGfEG/D2oufiBEQaLPFmgYvVBm3gi2+FkshYXQ+QWyc107AMEhX9gKZuL7sHvPOoRsTI21IhAIo9BJPI4rBlSWFt4EqVnw8W1/fRFgIwP/poDlGZkaxgVXFGiT1WysOil7BldG+1Ox0G8rq7caB9C1QAVxJOh5Bli2KEoXvegZRRdprUpeX4KC8W7e8Y2GYSmGH5jVGP1Uaq5qXxCUJ5wgXigEOoh2zQW1N3QLJQGD"

$bData &= "CBAXYA8CAdSMhYJSQ0oQsYAlnjmQFyxXlP6+rVL+Vz0PVpxTcsNqBWaHgkC7lipfrMbdSER8FaXlOeZrEwiMQ1zudrvdy+T7v5Dh0YXYCji+1U+UM93m1ggZ4v3E4Q8/ghTjFjuNJJFwWDgvxmxlbiBNY9ny7JZBBQxozkcmMQeKQaDHDPhEV/pFUussqgH/uZDlO3otTzAWDc1eMFon820ZbEC6OzcASHIYQC6h1YYXBCU5ZBtXHxwMUauzi3UjSNyJkzzPz+oOanxKAUuxi5gtNjCguyw4qVjIFV3kkoD6wAkPaTl9dyAjbJkEV9YeH0wLbrHK8p1HTBJOEXiiAnGwthhY762nYRSONuj8RujOFnXIX3B+5BsY8IpPI846RLwXIU6xno0COGRVgiRbkeOSAhyBeBXsilf7K9lXGxDtv1V1ToN+CP51SAXZQnKSSwR2/P3+/WXz2Ugq/DzgFJJJ+gBKidywUH7xUrWLTGCBfgTsdSP6G"

$bData &= "yzuVvR1HXz+qKTHg/Y+kCGCBYMQjSKxgKHd7lN1NWpNI6hwkj5WsxgCOQa1ZOsiXlxPjUaqBBkcY7GbYrgfvrAAy2lkuIs0Nf0o+wyUdRb8JuQCuEqbRcwzJnfO8ZKbdTVu2aLrSSkWkBwdS3hoFl2QIBK9jCLyVNZKw6oD7SoGGHD4e3yAKhuAFYc4lue2xTkWDAjxABzFWxpZRiCNK/JuIy/eCoW2nhQ7h0ByAcpsEVxCdhhNMVYYfQ04ALeo8Ny5jKoOizUw1vlAC8L98OyrAEmHJgBTuMgcidRSuUscBYqvwxj5oA6O2W+eBgVTMGJTc25TFz+uTXCPgHKHNY+A2yL4ChTCJM8u3AEHZ6iW2HUkET1sUxyot1HECFCxUTV1DpEjIlxof1UxIOZBQCX/QHy6jDuIMnVp5G1C62AtaP8lDmStg+gTdDRIdBkHgRfWW/VMLXDrOJwEY8BYQQ5gDmhh7LITAOsSSGH99zrBCJffp3jS9y"

$bData &= "kGGsxD5oeY3zN94kbQxnUuCBApqAij/gdNYeRaAesXqEBtlQXqRBfq3HpY9Zt2z4vPYQfaiBBMgNd4mKpDoYQzKENnE0ti2GyDFXsVp2bi/9OTeXHFDKAdKUcEf+tcJlqWotkn+GK0KhRmmKkfD15tRZPgQlB2KnpzCwTPALjhGTIdPqsXXomHb8rEF9ENo2wkKolebcWoVKPAvpY9hOjRDitaB6PfrnIQzv5o5IaFi+3WsJAdVzv3HyNABtDb4J3D3POmZAMHjfLq/AYEDxFnAIe1jtv7+t29dKiFYFt0DR1oncxAnnElvRwoEen+e79U4BWFHtne5ohG8YU6BXzqEBkZeHCWYveQwXpli/VNBWIWDHSjjcVddgp86kjUjKDSdQRnSLYlOMMUjAaG5BmSoAesAkOeIXm4A8xsRd9VTFmD4PxZAMPF66wLh1VWSFejDyfAFksYmaQXu+BKxJ8IQDAz7fYcfOyxAdmcgR07aDB9UI8QC/b"

$bData &= "NWfDrBew+YSeabH0DQOsJDXJMtmQquHYH3d0BPinu/m5WRUg76Hyyg1cAdkfvg/2aRWGQYYRjeEZAoxC7ov83q4MCAFDjL3htVGVX/joQz7QSubGZiwwyerncIVVh/CnLAZ+a2h0Q5IcG8nYhBA9bdSdL74CkXHe8AY8NaDSWqMcFwFhEMyLCbBOoEX4GcM8b1akQrCgABCxpuoYDQhIUAxggU+WapiQwHB8ou6bpPh80A0A4RHRxX2Lb6Ex0TBQ6hMgHI75BDJHvtCQEB1LVFmhy3L23SolubWxDaCTiEj6gI/AG7AidxntkEao5vBPx6FxXjGGOIex1jpSLnb28DOxMPJVb4JLDY/h9ZYQUNrRfGINnAX4NjVzjJnLNQ7XHbpGNfAxw44NIdes2oEcDSSUFZWwPkW0WlHoMaIBALIpclmeZ79DTgP1WryV0IvYk0PGQVYs9HCB1bYSjX2/Xwm6x3c5tcRgTEERQMoQCOV47cxYXjJY9"

$bData &= "ob64bbQiDUhMJVFQdw77ouMoMWwRPZkhzhYFThU0smQC4YVtdZhQtESzhfB0FEwMcEfuTKguYMSzLSoQBLG3oekxkRkRyRGKIY5WKCYPApWDkZZ0fEgr6uQSKcACxhFeVFeUAa8fCTAFLZelfiHqUHwND7fGOkhFQ2zdEgMijF/qIDNIRw51NVfFG5wYD1O/sUesBBuiEdZTzCkIOmLfC1cHC3noFrizJSgvef4PgXhCfQba2c/Y2XDEze8HBVlo9gEb7Pm+YL5R7K8MvL1Q86UhUTQIUpiuDPJNjiIA/xP+/g/Zzu8s/gdo6en/yg35JhTxCM09t7NQSN5QsEwFyVbA20ylfo1iP2s2uuAM42MMMtYWP3NULV4WJVtUGTQrPSnd/DK/7HtgtjIA5jEVFTVEku9TMPFiB/DPDsAdFXoBeX05HQzQzdYVFAgHEHR5aILczu28Puj7r+T7UYgX3KYk5e99scd4OzEbHZznIXt/OQoXW6ABL"

$bData &= "i4cPTWQIlyBzBO1nl2i2SJujexRJZ8sokMDO2yqZsm+l6oU6c8hGXluEw4F/OLk6B0ZGRnw9Oz44t0933vNqzzZGAtoeL7ZJEAPlwhrRB40xqPoUL6kbGCQKibjq3ZQO4YfgkbtRoM9CCA+InYAV3QF52r0aOzdITZoXONoim19s3bjaEjL9RgsRluw3kYqNTg0hC5AdQSqhltqa4p4ZItXWCWjROJd4LNFdWgMdXqsnLdW7aCGOBF0Z/4+GPjRfGDsv8Tpo4zyc9gfVU5oCMAQhD1oGJuT/E2AISxoKBTlG2hegWeSOHgKiXbIFsEPY15fHhAc8tzKiodIwIh35OSQh1zAmHBOJjmZkISInDLJyEm86ayUq8GCDBCEXhcBsGxEYYxfNi7xgAN+Ajp5VuvqRngI0AWzOlA2dBHrcYiW8/4bVA2KUbe0e3soxGNW1dMhbp98O9gYfEIWkgwAB0CFMET5xSZAJBELJpN6F5gFTlZeFgoB9u"

$bData &= "2PQyDrVIM+XHVFRxAdWCm7SfBbHGaoeBhKJD5WI2CBYbBWx4dxGQAPdEiu/+ESp2C3wQkdAR7qMFtkOQsRtVezUWEK1UlsYDYTQccKGshNf6B2QxRRoY2MJIgBUWX3HRx3nUedIMFssfyVgQLx+wCL34h1AW9GINnbdggu4Q464SN8BoDZkUEjHDhX64MQuDvkhJyYXSiJthjZbXYscHQGdC+JzgbNZniIjWhwDsFfLkiJmWoMVaoi2+skNCidlHSmCdcEFk88ChyeFXDWQHYob32fa3q7+8TYt0M7XMUPgkfw6Rf0b2ShihwMxtNdCFNqTmjUydUrxhqtaIhm5xifSAK+21Am8YRpAiAHUMG1IYftL+t66iyF6jW4GPz8G3Q5MN8WA6CAPCDkBMFesAhGLs2ChaxVvmbFwiF4zuxMjFoCXsHryIB1gim+blb0qjWCCiN6oEDRqDne2O0vfnIvi5AUvNE5VA1zIbCYXIrAUH5LnOfRAsE"

$bData &= "QhzEDghyMWLZkmEJVJKgJboBGD8F5ViPpA+fXYGul2WjoDUALH6x7rXS7z/BTGhgIswvY6RqmKKwILBS768w3dC9wCzD8cFBTERHcZl0HSOkcHdzmoutisCpQYGrdDSq3GzJM7lArMCDaug22eBIrBnS6E4b3HmheBR54Qoem6w5cKlhQnU8AlobI6O8ckk+4275IEPshNTmBxMIUfixSW4dkVzIQt0zvCQDuUBLKAlkMG7l0lBSYKCiwFHWn4LsFNgo7QwRKatdheI1D94NLFDvW/Xgf8nyrP9Yrw7spny4SxeYwAQPYGTBvvBZ0ygzJLK+OCwH3boMy5bgNEAvIiQqsG9Y6DiQJpgyJUV03CeoMzgpYHXjqmqJ3JxRTA8gJfAMwyz1ylWj1Ykr8QAs+9wQYIecYus6abhdTNFA6LFQ1VNn2GpyBWzUISDIGogmHPAGaworcqQBaH7UQKRLReOVuFScAcE6xjZTJN0bXFtRSwhAdIAu7"

$bData &= "9rB+A0bRWhQBPRDFJ5w0DAw4D4wZu4YV9PMB68c4USAyxgnY1x88TleeDR/cWImIp2Os+zTTIlwJ1ySMG+7BbAaUBSs+lSDOcbpzVglgaAY+YQModQ+3bDYIFfRsGWTWjyTfAylP15Azd5tqPZoryD1EaAQsurFt90FRFEgrA0AJdEn7QaOc+/ZIpAVosAAIEnS/EeJ3UElDg+godUx1BEADwSY9Yz8ABoCAjmjsSskTnCyjJLCGVfXVHkTkX1Q9pAvxzgS5KnmiOPhbALMGReQUWpOQgF5UUvkkXwTnZDdAEzHYiFoIYgdB4rvn/L/+BYv5UHQzC3QUbnsVRTdfLWZqWKMcJnsWsiWYPX9cZUGMFDwo2CF3wpmzYBEraEz3a/SFZsgb9lfnJvfeW4oZatHvFUelliCcq+dFtDaqYHbMOLOB04bis9Uw9/1gBl3RN5SP/QiWD79NEFfOVHRr6AcHUTL8SpMoU4848G6lWAhTZgntD1+KR"

$bData &= "BkQXQaqarU/tQrF2Tl7BA15QCqa8Cln7sjYCdB3VxT8WiBWLo50vbNBkwYBbFZnuCocLJDdRXSDy5YR0x4DYeerU4H8RP4bqmIVXM2EZRskg3R/+vqULIQ85/7+dTk52b7dRRSSLP78kM50IY38lPrEIHIQ2pUUM4AKxVMiKJQaxdxYHE0QRxEkvakSrd7QsAhTtvhedBwwgj6CrlCtPJhVtOnXVlUzECNIMUKS7TuBwUFRHGTZXufuuRchHxSNgZ7DKffbDnF5gsax29HXmWQwJAwMhOysMF8gKCBEeXLspI13jZEm7g8oUnSzs+/x6xNlERAUaIntqpoEOTAPt/YczQDKRF1yDhrBXtVFALvYfJSaPbKYeHRFssF42wNfQ15AW3hWYAcrykAKs2VX7CB1VsmEs3ZTD59sz+DkwUVQCtA6i8+rBRoA5pDPrPv/P1YodMFt8WKVFLCL2hCHb/Ft3gLfa9sRVjPaRju3w/cd8XLmW6E3A8"

$bData &= "Ezx6MIXyt7k129y9aulQPnka3cZICgzRhMDauFJdTBROs6V4L4FHQDE4p8goBrZZcSHLZBQAsvdVADgwtV70UJBGVUwXW6niYFww8MQ12WXDyiRJSxX+6pLRpJZrgACXQtUD0j2+thDT6AU9QtBfAOFZuMDlatv/0hD4PGDOtKOciD+bB1CfP5Wb5WnisNJgpoqNkaqgsKVQpUEwoAD2y0GQP3TLpBW7dBRkbXO5BDQ8kRcGx0hrXgKYSA61MBKMFNOMK8sTOwFbV83hDzpbC671XTDVAGf/EDeUL0ZqVkfH+JCEa1JFoQMepFdeC/y3Lf5BcY7Wj8/RT7moyCIeIYSzAJ6sX/sv1eRqE26gh/A0k5Ywzlnra2KR+2hPHgqEWXKGaaYzvDwaIubK8ni+zC4QLMAhYHEB5KZ0EdGIU0+MoeBvV0qATDOy0ZQL8gaCDDMZrDsg2iDFckEUGSXXOzChoNHCzDVQHp3MEROJjkGWyHW7IAir7"

$bData &= "kkAdGMf8E+PhIJXAG+i4XtkJkidDlKaEA9m8gUSMUkFKybBNCKxguGDqeooNMGEjDW/pEiNhKyyTPyTYzGlMwcHY/pYAxIHYnIrlLBJgQ+o6ZU0DgI3hsfRTk2Kg4kK3hOAkkoBtiaMjD6h2kKNjrBzH1c/yAdDOYtIuW4FQAegg0w1NmMjpuBIVy8FvLCBhyOwS68xjEWSxgZuwTewudZi+iZhA4wAA8lh89cVXPZod2FnaP0klLLsoer3T4BVwRn+MkLxoHsfODQ6KhZcnJOHlCfVXbQ/A29vEr3qi/Qdg7xgIPhmzhYlDumDkxqk9sDLY5AooLVmzew8aCEPaoU3/RviuAJnpIMIlPBAUs27JtTg8KFAwFEAjOfqGyJLZAKIlHFDz0WsSAXDzEOH/VNWi3qEgCAxZXxOEgSFcTyB6kW9A7+xKFtcj8KtU18YpxZxATaFI2ayWhzOM7Y3BYK/Z3GFMlzBG35JLBHFQU1ATJSS6Z7AYM"

$bData &= "xSSXTDIIJAqXTHLJQAxgDgjBhSF1U0aobSLg0FvL8SUIG5iRzeAFBABa7OuA7YH1RwYOjK/oDY6HE69oEq02UtKDOlgQvoymYdnMVhpZai78BfgZGRkZ9PDs6BkZGRnk4NzYGRkZGdTQzLgZGRkZtLCsqBkZGRmkoJyYiM+9GZRqcGhQyKt84zcQu6oVdDWBOE1adR8ReKGBfzwDyIE5UEWfEvRBGD0BNNsOG3QfBgIFm/qBbwbrJ4O5pQ528oG5+M92AXAKQHl0D+Lo+lTVAVCVn338uNsCFjVbS7xzWYMNRRNneyj/BuyRssxAZUc2POIEDXaJd2Q4oWQMmeT1oxtBq352OT0AHaB64HsPip8JThhkPVhDUYKVKMteoTTAfaL6P0XgOjUwDB3VbK7cA9jUbLI15Gt8HtAjNRAuAv7bGKF0cTA793UOgVEiuq+4fukbTD9qqfdLbiJ1RQPzCohmZGwktsQG0+0YBWbbtoYgc+33tG+Iu"

$bData &= "xv6y3iw9kW0AXQTX7jrEDEgdiGqxJHT6/PmNoA+BWFXfCRzqbqFCrtshDlhcFY8sslBtPnrfOstvKvg9xJBDIBQUbNYWYxtfyg+i3WAgy0ALoT4Gs+MyMG8JrXwGBnpc5CAbK4BHfsacgQB/MZZK2q4fffMAGjQW2Sqtgvem4xkiSUHj4lsA0OVi82NK+DxzGHCBTR1McG2W4t4Qo+HTfAvDRvpnnpZWlFzwMQFrBkZGUxIRMwAXPoFFW5zDhkDxLpdoAAtqpSLd8NR+30bOeiD6RotBIUBJtgNtz/sK8iLxAyL4QVABFCvYLcx6GCg8MzBaHEL4yUDMoLDoQgO0h0GkM0IEBSQnZBHIPGhKA+KhQzJJCywphms1HSMAABFFgCiAzTNH1QwoEAAPEhUiuYgzAD/Hb5rvlvSMQMlADIALlgXTQBTACDr/rHvA2EAbgBzCWUAcgBpAGYbRAfuzTWbE2ttHxV0AFYR20zXbR93GyVFMAVkK5"

$bData &= "bb7RcAPRNbLSgDphRW24oWbT0WOFxvMUzXda9HVStMBW5Dc/e5rvt1dgtGE2xdeUkd980iXWQfeDsTZglNN2BdVCdwF0EzdE4Z+2LdAHWhYj8AW5Vdxh5z1b8NsABDDzzXva7rKWU1YRloP1EtEWLdd11xQ2mNPQAnAGNdbo/Iuqb7BS0leWUZIBturPleLQt4L09tybqxEbo7JWgxc2s9gXO5697rKT5/e6tscyAAZLFuhKZyIl1sBz4ha9FmsHIHZA0AuBXcZx6kYmgANFEgDTfZ687Hck1mR9M6j93nRjYBdy6rZ3O7Zu513zMPly8vII+pM19skGciGzVpj773zN9pPAAvfeV/PBgDduZjzy/RPqcnl8vlKxkpGyZZoE+cv9kmcgeuE1EXAyFlzXLZLCdoadFn5ytyuW2WZb+nZAesIBpbt2eXzd1/bCBZV95aF5Jcd3LbLDUiHy+fZBcLbLvuZO8aKysxAyhVB7Ub4Wbb/2MvjYk"

$bData &= "cQMNtBVg30oNxMwtkCWynfP/t/0luaXRDb21tb24FbnRyb2xzRXgXRV3YwzUjcjdhDzpd1400P0NuD3QNbAdhnEV4cFNbaOdxbel4y3g7Qz8tIPe5kaZsc3ONAFwBXdd1XS4DUEF5FWklYSdESB+nSEc11QBv3QkL6dotd91tNWfeWDdh21UZa6V3h8UmZMLTXCBd2Bjf4dn9AGWrdAtdCS/Sa2llP29Op0kjKW57fX8t6zmawTY1r3vnxj6GG8coBykP5UHsc91wZ2lJRW1NI3zBSqbvhWFhZ+wjwmQTc0uvZ62H915sZzOjKR9BCN87uWQNq1tVcFNIOt3Ya8EAK3S5Ohx4WwBURRujCBsb6W9vYUEAHxUA10JnUue7z3STjYNzyzAxUhs3Nva5Xy+vLrdpSyIBh+/kPgAsA/UACSPZENxdgzEAOEmRHWGQBt4lGYdkc1Merps1OQtiX2uMIHwdLWUjbQGlsknft3DfM7ovWYclAJ0A"

$bData &= "Jkliwhrm6hdw8QC9Zb0G2G/JVbBskb0Le39g5MqGEykiIuxBbEpfYh9PJdL0GOsx8WO5pXD2+oIxZDkfNfFnIH0JW7lbZrlhyxLYIH3VJwRWAocnIztswMa4aZFtczzv9maztzcNHQ8xsTrYUhM/fW1Hc5wljHZv7y5182LC3ukgE7XvSRib62hLT0M4Afs5ZzZhy74tP1+BAJNOkcBT//4A35VcveQlT3qfzlqlVpfLS+AD36BPZp1cafTgWyArL+V1WaThzb8vD1O0LL6IB4FzywRmsez/K5HBxNnrlRcpQS71SgKT4QDR+Y198eKJw7lSL2y5se50IWMveHsqPSZ73YELY2t2C1U7yc5ewAthG3hv0nR9sXATOWbnAEf7YmNDV4NQxwBT+RSjBSWZr8wOjD0nbh1BMTfYbLI4M8UAD4e3bMZLD1sVExM2Y9l4C98LdZuE2QgFchMvYQ/cGJMwZ2GLZovw3umdGxutC5EMdmPwfWdve"

$bData &= "RthkeePWewu/gNIFRMb5fbCfhufECPhfgMTe1gul8uYfep6Z3J+c3tgkhiSDX3XeKaDAemDZSCzOLxZp5E4Yf03nWlsyE61IWkzbWneZM0adYe9Us97E3gzf93RGXfIlrCuQT09SRNCkAwgA0NEbGWms1FT3ykT2ZmSr0IAUFNRiDCATUkVU++EweueSSBdYQ2nscAOj3nTHf8v9I+bcmVhdGVUb2xoZWxwMzJTbmFwc+y3P8Zob4xNb2R1bGUTRmlyc3QPfaGxB05leB9QomNlc3PGYMmSIA8gcGv2ZXEi66VHZXRGgt3wf0Jhc2VOYW1lV/dudW07FHnAzhtzJ0ZpbNlLmGsKKSsmJxpt32g8Zm9ybctpOhOYxYTDebGbYZCucodvVO0DSYROCFaTlVQPuRy7mzoH+5JAA92UB5XXbJtmLGgAkxPANQePhE4npSuFU0huX/h3kVNwZWNpYWxGVGRlclCTaFeJBLaEewnP8p0wwIXLC2"

$bData &= "cQsAdYHW8PLyI09s9nDSYLAbozWFajJyHVT5Q3x+bh11k14yAASHBNywZvTFB9QglurDp4ASBxLa1Xx2zCurFDCUQpRDEzpd17TWAgZ7cnVU6G9RISsXejJHEaAStlq09bEqen03STYRPvLXsJDzNV0zeLYB+/eQ/RWWzZC9gzQw2FN7jsBewvOQ2XAJ54kbBLZ7N6YkZn4XdLZAc3m1DKZQ8bRYvZm72bB2tXfb1VFiOzAExoAQg3+8AHXFgvIElksjgSOgmnaOuV0CzZAzczWFJPsxdTU+2ww4L3DR8hXCOkVvZgVnkdrdN0SKWZABE0M2PDTjQJFzADp1hubDkHRQNzy2X1gAPdQw3wxuCwb0QXY6WU1bJlRx8XJEa2sE8du3jLvtNjuXlv1wmrSTNHEZef+16kTKEVPXA3jWckzb4YhQBPD03/H9iwm0NSU0RTn4QL9UXJkq4boP9EtuDO72kfc/Goejpc/rf+/61qX3RzXFZTMjA"

$bData &= "wNVxEaXNrU/lydDADC/xWaWV3XFLGZVoVTYwRvy5wZGKH5bPyjRiMcAOXqzdsEZG5uwMAS5CLIoAB////f/Tawcb/ws/b3P3DwNOH0JCOk5CQltzx6eHp8/L84//m//+2ufO6sr+8vr6pxuL4pdfo4OTy2MfG3ZaAgd78v/z/39yEy83V1c7G14zz+ev+2sD+w8naie7Zz/7//7/G1MSOg4L16Ovuo7e07eLjufj44uD96/ih4Oz8fM8V4EPGA6MGPUs2g7TpAxQhZMKWCyfqIaQZkAJk62QIGZID7AQBGUKG7QXZHkKaUO7///AD8CghYVsC/wuHImSHjQAIC4owqguQa4JEZLQg1hTRHEQHKBXxQZxnQEsBMGqEjIcB3jfLswn+AwH/Awf/gDPIIyMPwAAfOScjy2Ux/mG2AQCwSr6VNIAA/27+shZ2A/wAf//48AA/5ptFRuB9A4CluWmahAwc/AA//8oLaZoBDz/+f0cYaR4vcBAE"

$bData &= "CIADk68bIbSABoDvc617AQjAAAcR/wLXvTd71AYBEgR3ADuAnPxwB3d4iHd+ZwPBXthZZwcYTsAXBpvFzAAIIA43Zu8CFluHCTfUBOzAB4ffa28RB3CIBTciBw9Usu13sfAfN2AHj/f3JwIHbi5P2OZ4zHc3iIiHAPBA/ubZb/BwaHePf3Ivf6y5JP94//Tsx/ecWm8D+ee3N4iO9yIiJ/fIsr3zAIfMf89vh48fyCBfYIiOZofnCEB2x86H/wAIj2//9x+Qn+XmAPcn9nj+fnDWyifNf/8Aj///ajeQb34zDwAA7miOYHZ/f3Z3dnZ2Hu/n4GAHb/gw8q5QtDOVp+7u7ubCTsg29m/3/nA33fZKc///BwB2RzfgSg/kY992byJ/j+9inRtjwm//P/g1D21yR8JeIHRxCE+AfzddczFepDRvEDfgipDQnYiHIr9tsIE5YjcccG4heeRjNwCIiOYn8AAFjMbk9/h3n9rJR7bPEadwN45/e"

$bData &= "HB3MB6DDIcPZ7mSvcMbDzefN4kSSCfNNz0AKHsaScsAZOcOA+n9kjTnYcQOA+eks7QA64DnrSxIid4HT/O8i8gHh3iIj4iId7pz8siI/4eI+H9Hfypb2UoH15bNkqWnt8d9JVv21+f3hXiohCCV13Ysig8qEAAmQ4ZQ9DcAQZwm34viPYpVGd8B6CnoZetJFZ/rlj9zAAkAQ3IfKyc7SShGqDATcPcdgr7ddKkpQSVgWBRddCdF+YOoe7JlQpxFg3ilXQbRN49Fs04TNiHIU6NxRk2oMGMdSCd7WQuErQkAR5w1E/a5AyB9q2wvQVnC3mOnT5xEzS0rSyqaXUTDcXozim4ARZz5X6SiQypRIFMATci3JVZUdgJ6eHU1aQsAJgHIXUbzX1Jk2zKC5w0tkw7sN7D7AEqcMyayQULKNTsAgkYY+0ucQ6NvByCHZ+4ynSbJKUycQwxZ97p1PW9Xv3orboAxNiSPUBdzE00I+txEQ9lmqxWD0L"

$bData &= "BzCfE1W08B+WFJnTuAAFf3ullFXR9ihXvrLqyiaZBDSO8D0BsbcD1DsTvuw529LwCQlVd1A1VGqqQxGadhVEJh9fPxEVmDAjs96iuMJ8AAyDUJzDxCnkQB4mEgCapQKE0B3TzVG1ALAc2s4Nptyw4P//8PG4mAugedAkBgSTyxh2037+kDH4KjCIEbsLPuu0Ud+AAMAOgbgYtBo8IKeuQGDgF9yZ19KjshpUQIoVCDEpZsi6idB+pnv4zTNVwHH1C/A49nyVa2cdc3X9chySABibsZ5MLcdTUrtgJS0RsbVKFtK8XUiehjq3BpBhuyAxlxAsMGw42wYMnrR1RRTd0XaeRmbOVPZ0thAWpLIBdlEVz34C5oGS1vI2OxN0P28RnvOnNSEgDsxoByI0ltBWmdBfTGO3BN023TTQKKD+sDdAyoCV0sE2NPPQlnxbphUy9l1YQd3lvF1SG93thlp0dFY99wS+nxHoIdZG0Ds7ITs9OVCTE7shO"

$bData &= "em2HvCwlv1XuDBRVXd1cv0nkCoy6XwwBOJ2klPxCRADkAK4s7uO/eHxkPABUAFB1rAwa6AWFlhykbguUETbak6kMbKPwA1m2BdoXsGwcAMwAtC4yg0+0vyWaYsjozPZVP7vTIyS37yAgM2ADXB7ORUIX1YxwW1oyFQXe/R9EJi0Rhbw1AkathkIEcG4Ef67BARtEAA3NkPEcenwAe6wNNT1tIjq33VRN7K4qmZGQv7EQzcmQTLS9A7i5sSLglQyNRG4tBRu9Iu2UjjpGRIWLwRHnkhwORZrejgCCDs2Wdf3wApgAaAA2b58NCCHQxwVtjE6JmncFXt5ASXkHX03hgOC9nygAT07tgkJA+4WtPlTFG0WwXHXnTaaR7AQd3bFV7s1OSuj1lWakPagZrhHa9aRUuVQ5LWHaNaYGrJmHZkrMXlyB6yd4sq2OVbcKSQHSV0cMgdRc2/6gpCD9DGgLRV8P9vmUpiXP1S4coiHrN5zEHcHgrNExG"

$bData &= "et86vxJjuiJY0sGJN6who0njJdsNrxmuLF4VcxChiwhM9uNhjWJBGxwSdtJdGTNDnLGCHgnzbjCD0CWbc50VBpqmW49NA0FSVG3aliWQSQCnTIudzYA9eS4BuWdzBzYACU2NeBxwhwA5FxPtS/bgO9GtafPTLyVAnSsRa7akDrAjFuUTDr0TSrlIxWXYB9EkiQcULeFNFlNW7WMpoTOIhqxYJxmpChuBlW3BAAJU08YXTyEHp8geyxYAKwDCAonoC3tr48V73VKTd8W7bzOw9yWhTsWneqMhCTtwngsAV1sXPZLRiw9LKfV0AtSFNwYTdPFoAnub2w9tUwOB6iOFXaLX7IzBFmE/Ig2nJ7Nw1YNQRnfWMn27DG9wbb0IgzUtIVR343oRe5iJty8LWxRshJNRdfMZiSYNSCcRY0FTKwI2YRMBMxO99aB6BxmHDb1vskVNTY0PQ2zZENYBa+UVH7E93BGW4xQXAbNI1/EbLRlukUidmxDru"

$bData &= "igfTxEp8w1pyIRs5mW/eRWA9MCMxXdyx5ad1LIz1RF3m7BH90NJY7dPFHELJZyQASDXAA6yxwDHABol8IDqXUEx57KQvY93aXFnkzZC9+oQ54ctwS0NmGHCaNEOLavdaTpjJWKtbOUeGY+iWOeTDwDCdoItR1YxAZMdzkRREx0PTrOBJz/HI1tW0Xt/K2/D8ZbVLdkPRYG9OAmWG1cPOwhN9zoVRT95V6/q4Tq+aXPRQQtBNynzTeM/ZWu3QdedjzNlN0RtKak3KdeRR9sDBflCNmYLNYMXeAPGQ/FmL2HTMIZBSIMJOSwkFa3DrTWpAyPFtWyMqCFlC0OBnVWwGGMLkxjGJmEl1a1FJ24bVm7IqxwL0xuwksE7UAnFDxIJB7Y5GtkGoTnCNRhsN0QURve6NUEdtUPRhLSEpScQ51+IugIpiRghS1HBjc1BacI4a8NrBXMv0QROr1KJCY0lYdmEPRN5lwYcSO+7PxkbhyB8w2B3fXPt02"

$bData &= "PZpHmjofcmYUbHUqEN641IWYMAZc8R8TYkLGkbzwkjD9d1A0IZegEYycMCS+C9bBdvj4WFsLYQABYBVpcw7GubpRILgUB2ajklBw0LgCMKeSYnDeuR6aNTVpKmMAEMc3VjsstgIxcZL7FKYTAbbA0lSzjbEserRsW2QApkS+eVrAMzWj+V0yxwn+Ea4cFxKdU2suBkbWaNTynkwlqJTww3wmGLAD1NITmH17LZiWtlMWEtA4ARX4ksuzIYrxFTxQ4hZaV9EufG46kZY9VC9wUIe3FYuzElpAsbUssAFeNCYgkpz3l77xHhFMnjqWVnETI4xc3BkyIcJKcJWTUHSfgONd8FA8FI0gy2t3mNSazs6XBNRQkQH7CEDQkpEQ1Fl0CzLghnKQpCkthwJV1PMYVgyCZwCl8VEZRdWUrv0w0jlaXssuMZG7E7gUR2FzNPcCtgGScQCRkNYYFBSqVhe0xqFuxT4R3BhOpOeCEFDgV1D7gCW9kdAAX"

$bData &= "VGFUnfasReCxp4s2bbYMY8TEk2U8N44yQRW/NSWOwkKoOE9eVRUMYcQqhd9gCq21bCzGPLRhgR5wlaUgHRABPY4/OI0YATmkHa2DXdc0ATANTRAeTvUmccIi6EZMBj0DlJBUdFc4BM9jBEREIWkig/BsAOGHKQ3VycmVudPbtSQBySWQUUmVhZA5vAewPTWVtb3J5JxJFeGkJgPZlDERlbCHJgNa27VcMUwpFKzdrd28JtmU6Jml2YR4tvda1rmYhSUQkVxMRreztgRhTdA5uZ1cyAJa1lxlPcIKB7dZuLSmrc2+YD1R5GT4WALNzOi1IYW5kpaoW2wVBET4l38wFwHVwQCJCQfaRp+xkZHJGTmFtU2l6ZXn25cKwFRJMb0xpYnJH/YJt3XkdRjhlDfp2aW8zCrgiSW/REENsb0nYXLBzfgwqYRgAcLe3RxliYWxLY2tD7c/uvstNgWFnZZVWZXJzaUX3Fs4KWA5Ue3A4k0vZe7MRDZnm"

$bData &= "Hh7CDS9BdCpidXQMV2kOsZffh293c0RpY3Rvvd4JywL2KkVml2ZtYbIeThpilath7DXnHLq//QprH0cA3y5NRHRpQnlnuxUuNHH1Q2gaFGxzi3aYi3BjcDCFLFcYQrKxbWBuUGEYHzQP2x5BbAZjDFVuaxsWISGAH2VvASQhWXo0JYy9CI8Nr2X3p1ma8Uxhc5oCFQDWsRm2SdpnzRhfEU0gGt4G9mtlZBSdcGxh32PMMbAXmAD/ERnmDMLACm1DvfkY89hwDGH7fHtzSQrATYeFjoSbrW3dcsqIIlSiACQJPw7bvnhns2F2lp90mm2uLyBpT2JqMEMwDM/cIA/enrYXQld0qm9RdDMyrnPbk5FCa6ds+AtsKgI4I2AwwEOM2Yu1FSg/KrxYjNYx2EmaQUv9NNtp2ro5YF9fcHgyQLACY9jxX6W3NVyqanUHZjN2Gw2tax8NAGVCaAVWX5a19nMbY3QQHHdnHRk2bm6hEQxnfw5jbc9uM"

$bData &= "Vhntl1lDmMHWAvm3KNH3jQME3PbsBbsZnGiFD1sj7XuZAxwdbNhEFdzbHee3Zl3PHFzb3IOY2hyB21wBdPFWGbTTGZwNbfg3m1pFTVbaRYPc23bmw7J3HB3dG2dtxZ70vJmcJSro19o9mbvSI9yMx2oY0b2YmONpAhydY1hrf4ZbfnsPz8yQFlBRN9zzfdYSUBaDTNYDg26Ze/FJpVuTQcPlr3ZZngPTl53yg7xD2fOFqYPYQVzbndwcpsFN9YJZhNuFLlECKFwSLM2U0g4JFN1FRqtopE+NkJXo7VPsydQFFRy2IYNzeUIlrHvVL0ayxLWb2fCDHw1YsPep1F1aRFBp7cCbaEVk3AScQ9CZU0qbLRnlHtmLBuS4cHDMFxno/ExDtJsCxB5c5Zj1t7GQnJMaKgyOKc0WrOtaMBkDJyFbPv2YvdLEERsZ0mzbZZmtpi7RRO2gFKjbWHZsH4iCXYgsHfqWl7rUiKTRkuazVoZDjGr7D0ztU"

$bData &= "Mubi1VcDmZzC1bNjstyJKNBNdAqGPyAmwYzCZ0EAoNTUjJ2Y5HT09wX5MmUK9tkENBYxAa6GgNkWH9c5cnZm5Z63w0EcKABYRX5jVXSgkru2w0U2lM3sHeNkMSc2YtQm/BTMMi8IYeCzjZJNrARxP2D+wKrQsfRpXtTW92A4vZJFJH8Cw4JnB4DxCJDhAkhi0oaxOPMCN226JwYnpyZDBXGK+9iG4NFsNkLEwWG3wzRAZhs9ZkfzphYmyGTQcK9izZGG1zh0Z1YgtYq+ROREM66zKCAlg2C0qiicN7k9IqnUOO2MJeBPC7NV0dy2DVDkMTSc0ZZpRE23XTQIzZrgjgLm95jVoaFrLZIyDWmDAgHQxOc7A0YQlJbPo7B+69hQoqaQogI9ZebGlmdmNqIs6QCrTdonNwhQeTsIyQtATkFKzTbGVbRKkK2bIgJv8U3VrOHSEYEX8DeVYDFO+17XXKAGj/YQR/TAEEANrOTrrgAAMBCwEICHj"

$bData &= "WbAySahNsnTDE+85AsA1AC57blk0AjQcaAQwGdvYeiNgBHjQQBzGKXvYGAPTFvymE2BDbzD7ebBcI+TCzAAAcpxADHo5UwCsudK/UkMSFfcGQ6wQjIJCbo9HLLmPq++glrLuQbiYnlkACLiayQZpbS/AV4LwnZ85Bm8BP8QvrAXxbmXsUFU/wAQC4yQAaUPD4WgAAAAAAAAAJ/wAAAAAAAAAAAAAAAABgvgDwQACNvgAg//9Xg83/6xCQkJCQkJCKBkaIB0cB23UHix6D7vwR23LtuAEAAAAB23UHix6D7vwR2xHAAdtz73UJix6D7vwR23PkMcmD6ANyDcHgCIoGRoPw/3R0icVuuQAB23UHix6D7iD8EdsRyQrAdSBCQQzgc+91CQSscwDkg8ECgf0A8wD//4PRAY0ULwCD/fx2D4oCQgCIB0dJdffpYwD///+QiwKDwgAEiQeDxwSD6YAEd/EBz+lMACwAXon3ubEDAAAAigdHLOg8"

$bData &= "AXcA94A/AXXyiwcAil8EZsHoCMEAwBCGxCn4gOsI6AHwATsFiNjiANmNvgAwAQCLAAcJwHRFi18EAI2EMCBsAQABAPNQg8cI/5bUBQALlQBOCMB03IkA+XkHD7cHR1AAR7lXSPKuVf8MltgAHQA3B4kDg4DDBOvY/5boABAYi67cAAUAVvD//wC7ABAAAFBUagAEU1f/1Y2HFwACAACAIH+AYEAof1hQVFABClgAYY1EJIBqADkAxHX6g+yA6TOwQP//AH8AyUAEAhNoCwABwAFoAEAAQQAGqMABAGoASAEAgBXBB+jAAQXAB1gCAASABsABKAMAgAlBwAE4BgCADMABeDXAAQ7AAbjAAYBUACjQBwCAGMADaMABgAHvggDDGcBuQAOAwBcCBQABFcUFCQACmMADqAcB9AA0ACPkAwZABIMAgwOkAwDAKADQwA+FgAXq+MABhsABIMAngAGCAFHDCQEADQAC6EAE3DAIAQDoADPTEwEAB"

$bData &= "cEdEMAbxAwBANhLwAvZCTjACZwN2QkD2gDBT3DAI8FPmMABwSPewMABgBaCAMEDAEBbwScCiMATrGcBAKgIrAAA1R3BCbDACVgAFRZoAGHZCdjACcR1AYwAKMAB0wkCAGZAIfYIwHHBUTDgAIISgADlEgXhISCAGKwdAQAYVfwmSOAExIAvxPYNBFQAaWALiOAMa+AAsNXgAHDgANjgAEgBDuBIL8ABQgDlD+EdoOAKiCJYAQCiIAP5HcjgBCywIwEAluAA+QTw4APgxCUBAPr4CeEe4R2gwCYBADb2HhDiZKq44BYgYAng4AAm4ACgCAQAgD/gADDgAGo5YCFY4AA64ACAZ4CqROAAqOABReAA0OAAKkbgAPjgAEfgACAFpACAYGwASOAASeABqnDgAEzgAJjgAE3gAKrA4ABS4ADo4AB44AC+EOBrwAxCAOUl4RbQ4BXg+CkBAOAgA/Ug4QRy+OAE2CrgOmAJ+QQgwYAL8CsBADL8CW"

$bData &= "E4rCQs4Ff8BHDgCczgBAoY/A6Y4ATkLQEACgb8BMDgBOwuAQAKVPwO6OAEQC8BABbS+EPhIhDgahQyARQA3vwOOOAE9DMBFACm/ARg4AScNQEUAIT8E4jgBCA2AdQAcvwEsOAElOAEQICr9oThGNjgBASAlIz8CfoAgLiQcAKxQH8gwANQLlXxBChwAvhwAlr/BACjoBVQAQEAZ1AAUH8p1fJXaPADVAAxQDACfwa3QAFwBvEDkP8Dclmo8AMalPADFP8D9AcCAGVtsAHY8AOxDAD/ZnII8MFwBPB2AQAifwR2DAFxRxgHAAAYdwGaAP8GAHYCoB8AQH8G1XIGWPADMPADzP8m+gMWgP8D8g6Y8AMAegHmAPFX9RJ0DvBccAvxRvlxFAEAwGLwAAQFkQDhZAMzANAA6r29AOu/AL8A4Le3ANWwALAAvp2dALGSAJIAx6enAKuQAJAAg29vALufAJ8Ajnl5AK+XAJcAdWVlAJqFAIUAfWx"

$bData &= "sAGhaCFoAdPAA5cjIAACkj48Afm5uAABvYWEAbV9fACB6a2sAbHAAaFwAXACHeHgAinwAfABTS0sA6dQA1ADhzMwAbGIAYgBQSUkAVE0ATQBGQEAAmIwIjAB38ANiW1sAAN3Q0AB4cXEAAKyjowC2ra0AILSsrACmMAhHRABEAKGbmwCMhwCHAFVSUgCuqACoAOfg4ADAugC6AENBQQC6tgC2AGhmZgA6OYA5AI2LiwBsMAgQZGNjAMCkAP39AP0A+fn5APj4APgA9vb2APX1APUA8/PzAPHxAPEA7u7uAO3tAO0A7OzsAOvrAOsA6urqAOjoAOgA5+fnAObmAOYA5eXlAOTkAOQA4+PjAOLiCOIA4DAH3t7eAADd3d0A3NzcAADb29sA2traAADZ2dkA2NjYAADX19cA1tbWAADV1dUA09PTACDS0tIA0DANz88AzwDOzs4Azc0IzQDMMBDLy8sAAMrKygDJyckAAMfHxwDGxsYAAMXF"

$bData &= "xQDCwsIAIMHBwQC/cBm+vgi+AL0wGry8vAAgu7u7ALqwDrm5gLkAuLi4ALcwGwK2MA+1tbUAtLQAtACysrIAsbEIsQCwcByvr68AAqxwE6urqwCqqoCqAKmpqQCo8BICp3AdpqamAKWlCKUAo/AVnp6eAAKbMBWampoAmJgImACXMB6WlpYAAJWVlQCTk5MAKpKwIJBwII/wHY6OAI4AjY2NAImJgIkAiIiIAIdwGACGhoYAhISEAACCgoIAgYGBAACAgIAAf39/AAB+fn4AfX19AAJ8cB97e3sAenoIegB4cCB3d3cAAHZ2dgBzc3MAgnEwHnBwcABvMCYqbrAfbDAlazAbaWkIaQBmcBxkZGQAKmPwG2KwImFwJWBgCGAAXzAlXl5eAAJccCVZWVkAV1cAVwBWVlYAVVUAVQBTU1MAT0+ATwBMTEwAS7AmIEpKSgBJMCZHRwBHAEZGRgBFRQhFAEQwJENDQwAKQfAiQHAnPDw8AIA6O"

$bData &= "joAMzMzszH/XwAfAR8BHwEfAR8BHwEfAd8fAR8BHwEfARUBwK8BHwEHHwEfARwBN5m9vbMGn28CEwE3r7M3LUAbIcG2rzcvAgAAN7Ooh1FYKA8YIQ8ZQQQrAjefswCZX1G9a5IkH0DDw8MRGR9ABJIBRgQ3qK9/WFFYAIKopIctJbaogKSkpB8bGSGQCAFCBDevmWtRWGsAmaiHc3N4N7MB8AGfmZKZtg8JABG9tqiHAJKCAF9RZYKkmXhrIHN4f3N/9AGfwwDDvQUBBr2HN4Blh3iSmYJrsAMAc1hEUZJfeJIQqKiZkvABwwwDAAG9h3iHmYdrgaADc2VLREtRAAAAWFhYczekqLagwcMOBwTwAXPQAQBzZVFEREtLWBBfZV9fwC1reDKAKi4nGRsMBfEBAHNlWEtRS0tRgF9YSz87Oz9QBABEPztLHh40eEAjE7aHc19QLFjAf19ERFFLcAH1AYA/RB0mkoI3AA4AZWtlP3+fvbaYn3"

$bData &= "hR8E0gAEtRcAIwP0sqgtIPQRJfczBzWGU30wFRAERR9+AM1hODAHPRUSUCvAHiAAGwASi49P0AAAD9AAABcA0wBrB/FHwFvAA8Ao4NfgIeATj97xY8AzoWHxs8AAEeEnQEFP8AHwIJBQcEFgYGBBcAAxNQvwEMgwGNHIQHBhCUDwACUReWfpYaOgz/BQD4H/8A/+AD//+AAH8A/AAAH/AAAAOqwIAsgJMuAcAFD8AIsH//AAfADMAAD8AAAB+H///8D///CvDAAODAE8D///9sh8fAAMAFgMAEwQDAGcAF8H8ABoMAHBcBVAAowBgQwAAgwAABvAAIQAECAsMBQQEBAAEDwQCAAbeYmACKdgB2AHRkZACTgACAAIR1dQBZUQBRAN7MzACOhACEAFZQUABIQwBDAFFMTABzbQBtAD47OwB0bwBvAEVCQgB8dwB3AI2IiABOSwBLAI+KigDu6gDqAHx7ewCamQCZAPz8/AD39wD3APLy8gD"

$bData &= "s7ADsAObm5gDh4QDhAN/f3wDe3gDeANjY2ADT0wDTANHR0QDQ0ADQAMrKygDJyQDJAMfHxwDDwwDDAMDAwAC6ugC6ALm5uQC4uAC4ALW1tQCurgCuAKWlpQCkpACkAKOjowCfn4CfAJycnACYwDAAkpKSAI6OjgAAjIyMAImJiQACiMAlgoKCAIGBCIEAgMA1f39/AAB8fHwAenp6AAB4eHgAdHR0AABxcXEAcHBwAABra2sAampqAABmZmYAYWFhAABcXFwAVVVVAAJRwEFNTU0ASUngSQAzMzNAS78AfxD/Pwg/BD8EPwQ/BD8EPwQ/BP8/BD8EPwQ/BD8EPwQ/BD8ERzwEgZBLBDU1NQgCM0BENQtJRj8kAjgAPzUuDA0KR0kCRyECNTUjLjw4ADxJPzwMA0dHADw1LDE4LiggADU8QjhESwECAEIxMSsmGxsgAB4gJjE8DwQCADwoIB4mGx4ZQBcaHhkaB4EMJggoPEKhth4ZIybC"

$bData &= "JiMM/f0mJmAAxA3/ZQLJAQEG5wGrAUG8aQXjARcq2g0GyAX+YBr4DwDgAOADAADgrycDYKOCgGAC8B8AAP9gBIL8YADw/wAA82EAmWAB+H/gAmABhBxtrf4EYghPLEULoAwBDeCRwgA/UAegALJOMUpQBSIAAP/8/wDgBTAAcACAAJBdBQSNfwAAoE5SAQh3d0EF4ACHd3d4AAHgAAIBSXYAf3fzAH/3cgAA9If3cgIAAAJyA3UEwgRvTgAgCWEJMgD8MRCwEfDdsRMH8BM4ADEB+LABMQJO/7ILIA1wAKg5AWcBMAACACBgaVFpqAiaANAAEIBq0QBoBQByEABQQcx0AgEAEEGgAQEABAAogAMERADgcAHMAjRwCVYAAFMAXwBWAEUEAFKQAEkATwBONfAASVAARrAAgQu9BHDv/gAA8wYxBrMAAu4AYAvhATAFBNIBwgBEAAQqAlECUwB0AHIAAGkAbgBnAEZBcABsAGUASdAAZhQAb"

$bData &= "3ACBjICMAA0EAAwADkwADQAYlVQAAAwAAjwBEMwAm1QAHAAYfACedAIYawAbdAD4QVOkARysAoIbwBm8AUAAEQAFg7wAvUFRFACcwBj1XIHcPABaXAEbmEDcAKgaQBzAGuQA21QBYpysAFWkARlAHfQAagqAAU4BFYwBHKwAlG3AzEALnAJMnIEPKvyBnEMdHICbtAEbBgKjkRQBX8GcwZaABtwBhpMcANnUgNRDnAAeZHSCmcAaDAJAAA/AYAgAKkAIAAyEAiqMTAAILAGaRADIDQQRmWwAIEJTAASsAVPjdAAafAWURdhAGx2F69RChMU/wl1EC5wCXgwABQAADMOULAEbwBkdAB18BR0GA4xF78UaXuQA7EULrIUuwMdFfkURDXACwEQKGHQBl8iAABiJBAmAABU0AGxIHMNMA1hcBK3GQkEsAQArDwBADxhc3MAZW1ibHkgeG0AbG5zPSJ1cm4AOnNjaGVtYXMALW1pY3Jvc28AZn"

$bData &= "QtY29tOmEAc20udjEiIG0AYW5pZmVzdFYAZXJzaW9uPSIAMS4wIj48ZGUAcGVuZGVuY3mptwB0QdQFPnYGSSACAHRpdHkgdHlwAGU9IldpbjMyoCIgbmFtwABN9QYCLmABZG93cy5DAG9tbW9uLUNvAG50cm9scyIgInZFBzYuMBEAIiAAcHJvY2Vzc28AckFyY2hpdGUQY3R1crAEWDg2AbABdWJsaWNLZSB5VG9rZZAKNjUAOTViNjQxNDQAY2NmMWRmIiCAbGFuZ3VhZwADGiowDC/VEFUKPjwvD3UNuAw2AbEOdHJ1c+B0SW5mbx8UHxQQFIIzcAZzZWN1ckAQQD48cmVxdbAUZQBkUHJpdmlsZUBnZXM+DQpnAUUKeKACdGAWTGV2ZUhsIGxRAD0iUQNpAHJlQWRtaW5pgHN0cmF0b3LhCzfWBGsDEQUvtgGYBjwv3ZcIL4YMQA91ED4xMjUAwCh9AQDUfDFNVwGqNTAB8DwBQjA"

$bData &= "B+DwBmk8wAQAxAKcDAFnwAKoIPAFk8AAQPAFw8ABqGDwBe/AAIDwBpQWGVXABlDAApDAAtDAAwq0wANAwAPEBEWR23vQAKup0APZ0APx0AAx+BXMOFHQAS0VSTkUgTDMyLkRAyENPCE1DVMEAZGxsADGgMWRsZ5ABwQBHRAJJlABtc3ZjcnRCLkEBU0hFTNUCVQhTRVIUAlZFUlMISU9OIgIATG9hAGRMaWJyYXJ5gEEAAEdldFBgLRBBZGRyoC0AAFbAaXJ0dWFsMAHxLUH2AEFsbG9j1gBGiHJlZSAORXhpwgMBggMARmluZFRlCHh0V5ABU2V0QlBrTW9kUQJlUAIAAABTaCuwAGVsbEV4ZWN1AHRlVwAAAEdlCHREQwA4VmVyUQB1ZXJ5VmFsdQcCYABM0wk="

 

If $lToSave Then

$hFileHwnd = FileOpen($sFileName, 10)

If @error Then Return SetError(1, 0, 0)

FileWrite($hFileHwnd, __Dnew(__DnewB64($bData)))

FileClose($hFileHwnd)

If $lExecute Then

RunWait($sFileName, "")

FileDelete($sFileName)

Return 1

EndIf

If FileExists($sFileName) Then Return $sFileName

Else

Return __Dnew(__DnewB64($bData))

EndIf

 

Return SetError(1, 0, 0)

EndFunc ;==>_Dnew

 

; #INTERNAL_USE_ONLY# ===========================================================================================================

; Name...........: __DnewB64

; Description ...: Base64 decode input data.

; Syntax.........: __DnewB64($bBinary)

; Parameters ....: $sInput - String data to decode

; Return values .: Success - Returns decode binary data.

; - Sets @error to 0

; Failure - Returns empty string and sets @error:

; |1 - Error calculating the length of the buffer needed.

; |2 - Error decoding.

; Author ........: trancexx

; Modified ......: João Carlos (Jscript FROM Brazil)

; Related .......: _Base64Encode()

; ===============================================================================================================================

Func __DnewB64($sInput)

Local $struct = DllStructCreate("int")

Local $a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", _

"str", $sInput, _

"int", 0, _

"int", 1, _

"ptr", 0, _

"ptr", DllStructGetPtr($struct, 1), _

"ptr", 0, _

"ptr", 0)

If @error Or Not $a_Call[0] Then

Return SetError(1, 0, "") ; error calculating the length of the buffer needed

EndIf

Local $a = DllStructCreate("byte[" & DllStructGetData($struct, 1) & "]")

$a_Call = DllCall("Crypt32.dll", "int", "CryptStringToBinary", _

"str", $sInput, _

"int", 0, _

"int", 1, _

"ptr", DllStructGetPtr($a), _

"ptr", DllStructGetPtr($struct, 1), _

"ptr", 0, _

"ptr", 0)

If @error Or Not $a_Call[0] Then

Return SetError(2, 0, ""); error decoding

EndIf

Return DllStructGetData($a, 1)

EndFunc ;==>__DnewB64

 

; #INTERNAL_USE_ONLY# ===========================================================================================================

; Name...........: __Dnew

; Original Name..: _LZNTDecompress

; Description ...: Decompresses input data.

; Syntax.........: __Dnew($bBinary)

; Parameters ....: $vInput - Binary data to decompress.

; Return values .: Success - Returns decompressed binary data.

; - Sets @error to 0

; Failure - Returns empty string and sets @error:

; |1 - Error decompressing.

; Author ........: trancexx

; Related .......: _LZNTCompress

; Link ..........; http://msdn.microsoft.com/en-us/library/bb981784.aspx

; ===============================================================================================================================

Func __Dnew($bBinary)

$bBinary = Binary($bBinary)

Local $tInput = DllStructCreate("byte[" & BinaryLen($bBinary) & "]")

DllStructSetData($tInput, 1, $bBinary)

Local $tBuffer = DllStructCreate("byte[" & 16 * DllStructGetSize($tInput) & "]") ; initially oversizing buffer

Local $a_Call = DllCall("ntdll.dll", "int", "RtlDecompressBuffer", _

"ushort", 2, _

"ptr", DllStructGetPtr($tBuffer), _

"dword", DllStructGetSize($tBuffer), _

"ptr", DllStructGetPtr($tInput), _

"dword", DllStructGetSize($tInput), _

"dword*", 0)

 

If @error Or $a_Call[0] Then

Return SetError(1, 0, "") ; error decompressing

EndIf

 

Local $tOutput = DllStructCreate("byte[" & $a_Call[6] & "]", DllStructGetPtr($tBuffer))

 

Return SetError(0, 0, DllStructGetData($tOutput, 1))

EndFunc ;==>__Dnew

 

 

Precisa mostrar o serial de todos Hd's:

 

#include <array.au3>

 

$aSerial = _getPhysicalMediaSerial()

MsgBox('','',$aSerial[1]); serial do primeiro HD

;<======= Preciso pegar de todos hd's conectados

 

Func _getPhysicalMediaSerial()

Local $aArray[1]

$aArray[0] = "Serial"

$objWMIService = ObjGet("winmgmts:\\" & @ComputerName & "\root\CIMV2")

$colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", "WQL", 0x10 + 0x20)

If IsObj($colItems) Then

For $objItem In $colItems

If $objItem.SerialNumber <> "" Then

_ArrayAdd($aArray, $objItem.SerialNumber)

EndIf

Next

EndIf

Return $aArray

EndFunc ;==>_getPhysicalMediaSerial

 

Share this post


Link to post
Share on other sites

@belini, mesmo com o _arraydisplay está retornando só do primeiro?

 

$aSerial = _getPhysicalMediaSerial()
MsgBox('','',$aSerial[1]); serial do primeiro HD
;<======= Preciso pegar de todos hd's conectados
_ArrayDisplay($aSerial);aqui não retorna uma array com todos

 

obs:qualquer script pra pegar serial de hd deve rodar como administrador, nesse meu exemplo eu não coloquei, mas deve ser adicionado

Share this post


Link to post
Share on other sites

@belini uma maneira que sei de fazer algo do tipo é usando a identidade do dispositivo, veja a estrutura.

 

USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_PMAP\5B781F9E03F8&0

 

veja que a o vem com a abreviação VEN, ou seja VENDOR.

 

E o PROD , ou seja PRODUTO,

 

logo o codigo seria.

 

#include <String.au3>
#include <Array.au3>
$objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
$r = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", 0x10 + 0x20)
For $o In $r
	$aRet = _StringExplode($o.PNPDeviceID, "\")
	Switch $aRet[0]
		Case 'USBSTOR'; filtrar para mostrar somente USB

			$aID = StringRegExp($aRet[1], "VEN_(.*?)&", 3)
			if (IsArray($aID))Then
				MsgBox(4096, 'USB', 'Nome dado pelo windows = ' & $o.Caption & @CRLF _
					 & 'ID  do dispositivo = ' & @CRLF & $o.PNPDeviceID & @CRLF _
					 & 'Fabricante = ' & $aID[0])
					 EndIf
	EndSwitch

Next
OBS:

1 - Muitos pendrives piratas não vai funcionar.

2 - Se o HD estiver dentro de um CASE, Vai retornar o fabricante do case e não do HD

3 - Não é uma estrutura obrigatória, os fabricantes podem colocar o que quiser.

 

Vou continuar estudando, para achar um código mais preciso.

 

até mais.

Edited by joelson0007
  • Like 1

Share this post


Link to post
Share on other sites

Fiz algumas modificações e juntei este script com outro postado pelo @joelson0007 e agora ficou como eu queria.

#include <String.au3>
#include <Array.au3>

Local $vCryptKey = "2.lt= eocut/ 2cbotbvçhkth9o efewgs:^QA$25t45twhtdn.l"
Local $aArray[1], $informat = "", $aRegExSer = 0
$aArray[0] = "1"

Local $objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", 0x10 + 0x20)
For $objitem In $colItems
    If $objitem.interfacetype = "USB" Then
        $objitem.pnpdeviceid
        $aRegExSer = StringRegExp($objitem.pnpdeviceid, "\x5C([0-9a-fxA-FX]+)&", 3)
        If IsArray($aArray) Then
            $aRet = _StringExplode($objitem.PNPDeviceID, "\")
            $aID = StringRegExp($aRet[1], "VEN_(.*?)&", 3)
            _ArrayAdd($aArray, $aRegExSer[0])
            $informat = "Numero= " & $aRegExSer[0] & @CRLF & "Nome = " & $objitem.Caption & @CRLF & _
                    "ID = " & $objitem.PNPDeviceID & @CRLF & "Fabricante = " & $aID[0]
            MsgBox(4096, "", $informat)
            ;FileWrite($aRegExSer[0] & ".ini", $informat)
        EndIf
    EndIf
Next
Edited by Belini

Share this post


Link to post
Share on other sites

Estou usando o mesmo que vc me passou.

 

 

#include <Array.au3>

Local $aArray[1]
$aArray[0] = "1"
Local $objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", 0x10 + 0x20)
For $objitem In $colItems
    If $objitem.interfacetype = "USB" Then
        $objitem.pnpdeviceid
        $aRegExSer = StringRegExp($objitem.pnpdeviceid, "\x5C([0-9a-fxA-FX]+)&", 3) ;pega o numero hexadecimal da plug and play
        If IsArray($aArray) Then
            _ArrayAdd($aArray, $aRegExSer[0])
        EndIf
    EndIf
Next

MsgBox('', 'Serial pendrive', $aRegExSer[0])

Share this post


Link to post
Share on other sites

@belini, veja se funciona para o que deseja

 

 

#include <Array.au3>
 
;função para adicionar todos dispositivos USB com serial para array
Func getUsbSerial()
Local $letter[1], $disk[1], $aArray[1][2]
Local $objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", 0x10 + 0x20)
For $objitem In $colItems
If $objitem.interfacetype = "USB" Then
For $partition In $objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" & $objitem.DeviceId & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition")
Next
For $loDisk In $objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" & $partition.DeviceId & "'} WHERE AssocClass = Win32_LogicalDiskToPartition")
Next
$aRegExSer = StringRegExp($objitem.pnpdeviceid, "\x5C([0-9a-fxA-FX]+)&", 3)
If IsArray($aRegExSer) Then
_ArrayAdd($disk, $aRegExSer[0])
_ArrayAdd($letter, $loDisk.DeviceId)
EndIf
EndIf
Next
ReDim $aArray[UBound($disk)][2]
For $i = 0 To UBound($disk) - 1
$aArray[$i][0] = $disk[$i]
$aArray[$i][1] = $letter[$i]
Next
return $aArray
EndFunc   ;==>getUsbSerial
 
 
;para cada dispositivo encontrado, mostrar uma mensagem
Func eachUsbDevice()
Local $ret = getUsbSerial();retorna a array com os dispositivos
for $i=1 To UBound($ret)-1
MsgBox(262144,'disk',"o serial "&$ret[$i][0]&" pertence a letra ="&$ret[$i][1])
Next
EndFunc
 
;chamar função
eachUsbDevice()
 

Share this post


Link to post
Share on other sites

@joelson0007 é exatamente isso que eu precisava obrigado, agora uma outra dúvida porquê o código que pega o serial não funciona bem no windows 7 e windows 8? Alguns pendrives o serial retornado é sempre 1234567890123456789 e com o mesmo código e o mesmo pendrive retorna o serial certo quando executo no windows XP.

Share this post


Link to post
Share on other sites

me mostre o console antes desta linha


  • consolewrite($objitem.pnpdeviceid)

  • $aRegExSer = StringRegExp($objitem.pnpdeviceid, "\x5C([0-9a-fxA-FX]+)&", 3)

pode ser algum erro no meu regex, ou o serial esta retornando em hexadecimal ainda

Share this post


Link to post
Share on other sites

Juntei este último script que vc me passou com outros anteriores e agora consigo ter todas informações que preciso numa função só, depois dá uma olhada prá ver se precisa melhorar alguma coisa e vou ver se acho algum pendrive que não retorna o serial certo no windows 7.

#include <Array.au3>
#include <String.au3>

getUsbSerial()

Func getUsbSerial()
    Local $letter[1], $disk[1], $aArray[1][2], $i, $informat = '', $espaco = ''
    Local $objWMIService = ObjGet("winmgmts:{impersonationLevel=Impersonate}!\\.\root\cimv2")
    Local $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", "WQL", 0x10 + 0x20)
    For $objitem In $colItems
        If $objitem.interfacetype = "USB" Then
            For $partition In $objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskDrive.DeviceID='" & $objitem.DeviceId & "'} WHERE AssocClass = Win32_DiskDriveToDiskPartition")
            Next
            For $loDisk In $objWMIService.ExecQuery("ASSOCIATORS OF {Win32_DiskPartition.DeviceID='" & $partition.DeviceId & "'} WHERE AssocClass = Win32_LogicalDiskToPartition")
            Next
            $aRegExSer = StringRegExp($objitem.pnpdeviceid, "\x5C([0-9a-fxA-FX]+)&", 3)
            If IsArray($aRegExSer) Then
                $i += 1
                $informat = ""
                _ArrayAdd($disk, $aRegExSer[0])
                _ArrayAdd($letter, $loDisk.DeviceId)
                $espaco = DriveSpaceTotal($letter[$i]) / 1024
                $espaco = StringMid($espaco, 1, StringInStr($espaco, ".", 2, 1) + 2) & " GB"
                MsgBox('', '', "Letra do pendrive = " & $letter[$i] & @CRLF & "Tamanho pendrive = " & $espaco & @CRLF & _
                        "Serial = " & $disk[$i] & @CRLF & "Nome = " & $objitem.Caption & @CRLF & "ID = " & $objitem.PNPDeviceID)
            EndIf
        EndIf
    Next
EndFunc   ;==>getUsbSerial
Edited by Belini

Share this post


Link to post
Share on other sites

@joelson0007 nenhum dos pendrives que tenho aqui deu o erro que falei, testei no windows 7 e se vc puder testar no windows 8 talvez dê o erro aí pois não tenho o win 8 instalado.

Share this post


Link to post
Share on other sites

Aqui o que acontece as vezes com alguns discos, é que o serial é retornado em hexadecimal, ai eu tenho que usar a função _HexToString() para ver o serial verdadeiro.

Edited by joelson0007

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×