Advertisement
T3RRYT3RR0R

Conways GOL optimised

Sep 30th, 2021 (edited)
1,048
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 30.50 KB | None | 0 0
  1. @Echo off
  2.  
  3. :#        Y     X   Density Wrap  Extended Periodicity Testing
  4. :# Args [Int] [Int] [l|m|h] [n|w] [e]
  5. :# Arg order mandatory
  6.  
  7. :# A fancified version of My belated answer to:
  8. :# https://codereview.stackexchange.com/questions/156258/conways-game-of-life-in-cmd-batch-file/242839#242839
  9.  
  10. :# thread label structure by Jeb - https://stackoverflow.com/a/68636825/12343998
  11.  Set^ "Params=%*"
  12.  for /F "tokens=3 delims=:" %%L in ("%~0") do goto %%L
  13.  
  14. :# define title to revert to post animation
  15.  Set /A t.run+=1+0
  16.  Set "Parent.title=%~n0 [%t.run%]"
  17.  
  18.  Call :defMacros
  19.  
  20.  If Errorlevel 1 (%= Quit if notified error =%
  21.   Exit /b 0
  22.  )
  23.  
  24.  Cls
  25. %= Display info - do not modify ^ escaping =% Set info=%\E%[!_Yi!;1H%\E%[K!starttime! %\E%[31m !time: =0!%\E%[0m^
  26.  %\E%[E Cells: %\E%[33m!Cells!%\E%[0m Gen:%\E%[32m!Gen!^
  27.  %\E%[E %\E%[7;31mESC%\E%[0m to quit%\E%[0m^
  28.  %\E%[E %\E%[0mhieght!TAB!width!TAB!density!TAB! wrapping%\E%[90m^
  29.  %\E%[E ^^^<Y:%\E%[33m!_Y!%\E%[90m^^^>!TAB!^^^<X:%\E%[33m!_X!%\E%[90m^^^> [H^^^|M^^^|L:%\E%[33m!_D!%\E%[90m] [W^^^|N:%\E%[33m!_W!%\E%[90m]
  30.  
  31.  Setlocal EnableDelayedExpansion & CHCP 65001 > nul
  32.  For /f "delims= " %%T in ('robocopy /L . . /njh /njs' )do set "TAB=%%T"
  33.  
  34.  Set /a "_Y=10,_Yi=12,_X=20,Col=36"
  35.  
  36. %!!% If not "%~2"=="" (
  37.   Set "Args=%~1%~2"
  38.   Echo("!Args!"|%__APPDIR__%findstr.exe /R "^\"[0-9]*\"$" > nul && Set /A "_Y=%~1,_X=%~2,Cells=%~1*%~2" || (
  39.    Echo(Invalid args: %~n0 "%~1" "%~2"
  40.    Pause
  41.    Exit /b 1
  42.   )
  43.   If !Cells! GTR 750 (
  44.    Set "Info=!Info:0J=31m%\E%[E!Screen Dimensions too large. Max 750 cells - IE: 30x25%\E%[0J"
  45.   )
  46.  )
  47.  
  48. :# Define States array '#[n]s' for rule implementation; default is cell death.
  49.  For /l %%n in (0 1 9)Do For %%s in (0 1)Do Set "#%%n%%s=0"
  50. :# Override defaults for #[neighbour]state pairings required to implement rules.
  51. :# 21 = Lives ['2' living neighbours; cell alive '1']
  52. :# 30 / 31 = Repopulates ['3' living neighbours; cell dead '0' or alive '1'.]
  53.  Set /A "#21=1,#30=1,#31=1"
  54.  
  55.  Set "density[M]=110011000100101010101010100010101010110010100010101"
  56.  Set "density[H]=101110101101110101011101101101101010101110101101111"
  57.  Set "density[L]=001001010000100010100101001000001010101101000101000"
  58.  
  59.   Set "_D=M"& Set "density=%Density[M]%"
  60.  %= Custom Density =% If not "%~2"=="" (
  61.   If "%~3" =="" (
  62.    If not !_Y!!_X! EQU 1515 (
  63.     Echo(Select Density [H]igh [M]edium [L]ow
  64.     For /f "Delims=" %%K in ('choice /n /c:HML')Do ( Set "density=!density[%%K]!" & Set "_D=%%K" )
  65.    )
  66.   ) Else if not "!density[%~3]!"=="" ( Set "_D=%~3" & For %%G in (L M H)Do Set "_D=!_D:%%G=%%G!" & Set "density=!density[%~3]!" )
  67.  %= Default Density if no args =%
  68.  )
  69.  
  70.  Set "_W=Off"
  71. %= Screen wrapping option =%
  72.  If not !_Y!!_X! EQU 1515 If /I "%~4"=="w" (Set "wrap=t"& Set "_W=On") else If /I "%~3"=="w" (Set "wrap=t") else If /I not "%~4"=="n" If /I not "%~3"=="n" (
  73.    Echo(Screen Wrapping: [Y]es [N]o
  74.    For /f "Delims=" %%K in ('choice /n /c:YN')Do If %%K==Y Set "wrap=t"
  75.   )Else  Set "wrap="
  76.  
  77.  Echo("%3%4%5"|%__APPDIR__%findstr.exe /lic:"e" > nul && (
  78.   Set "ExtendedPTEST=On"
  79.   Set "Info=!Info:Wrapping=Wrapping  PatternID! %\E%[90m[E:%\E%[33mOn%\E%[90m]"
  80.  ) || (
  81.   Set "Info=!Info:Wrapping=Wrapping  PatternID! %\E%[90m[E:%\E%[33mOff%\E%[90m]"
  82.  )
  83.  
  84.  cls
  85.  %Start.Thread%
  86.  
  87.  If !_Y! GTR 40 Set "_Y=40"
  88.  If !_Y!!_X! EQU 1515 Set "Wrap="
  89.  Set "t}="
  90. %= Define initial array values =% Set /A "cells=0,tl=0"& For /l %%y in (1 1 %_Y%)Do If not !Cells! GEQ 750 (Set "_Y=%%y"
  91.                                                                                      For /l %%x in (1 1 %_X%) Do If not !Cells! GEQ 750 (
  92. %= random index of density var =%  For /f "delims=" %%v in ('Set /a !random! %% 50 + 1')Do (
  93. %= Define n e s w offset array =%   Set /A "n.%%y;%%x=%%y-1","e.%%y;%%x=%%x+1","s.%%y;%%x=%%y+1","w.%%y;%%x=%%x-1","Cells+=1","_Yi=%%y+2","_Ye=%%y+9"
  94. %= Modify offsets if wrapping  =%   If defined wrap (
  95.                                      If %%y EQU 1    Set "n.%%y;%%x=%_Y%"
  96.                                      If %%y EQU %_Y% Set "s.%%y;%%x=1"
  97.                                      If %%x EQU 1    Set "w.%%y;%%x=%_X%"
  98.                                      If %%x EQU %_X% Set "e.%%y;%%x=1"
  99.                                     )
  100.  %!!%
  101.   Set "%%y;%%x[adj]=}!n.%%y;%%x!;%%x + }%%y;!e.%%y;%%x! + }!s.%%y;%%x!;%%x + }%%y;!w.%%y;%%x! + }!n.%%y;%%x!;!e.%%y;%%x!"
  102.   Set "%%y;%%x[adj]=!%%y;%%x[adj]! + }!n.%%y;%%x!;!w.%%y;%%x! + }!s.%%y;%%x!;!e.%%y;%%x! + }!s.%%y;%%x!;!w.%%y;%%x!"
  103.   %= add cell to t} array list   =%  Set "t}=!t}!}%%y;%%xe!density:~%%v,1!,"
  104. %= End definition loops =%)))
  105.  Set /A _Xe=_X+40
  106.  
  107.  %End.Thread%
  108.  ( Powershell.exe -c "remove-item -path '%~nx0' -Stream '*'" ) >nul 2> nul
  109.  CHCP 65001 > nul
  110.  cls & Mode %_Xe%,%_Ye%
  111.  
  112.  If !_Y!!_X! EQU 1515 Call :Galaxy %= Rules testcase =%
  113.  <nul set /p "=%\E%[?25l"
  114.  Set "Delay=10"
  115.  If not "%~1"==""  ECHO("%~f0" %*|Clip
  116.  
  117. %= New screen from t} array =%  Set "screen=%\E%[38;5;20m%\E%[48;5;160m!t}:}=%\E%[!"
  118. %= modified to show cells   =%  Set "screen=!screen:e1,=H▓!"
  119. %= Display screen           =%  Echo(%\E%[2J%\E%[7m!Screen:e0,=H !%\E%[0m%info%
  120. Set "Starttime=%\E%[32m!time: =0!"
  121.  
  122. %=________________________________________________=%
  123. %= Game of life loop        =% For /l %%. in ()Do (
  124. %!!%  Set /A "!t}:e==!Gen+=1"
  125. %= Evaluate } array states  =%  Set "t}="& For /f "tokens=1-2 delims=}=" %%1 in ('Set }')Do (
  126. %= Sum adjacent cell states =%   Set /A "[n]=!%%1[adj]!"
  127. %= Assign !#[n]state! to }t =%   For %%s in ("![n]!%%2")Do Set "t}=!t}!}%%1e!#%%~s!,"
  128. %= End State eval loop      =%  )
  129. %= utilise bg.exe to check  =%  "%TEMP%\Games_By_T3RRY\BG.exe" lastkbd
  130. %= for ESC to and quit      =%  If !Errorlevel!==27 %Cleanup:# Period Pattern=Player Quit%
  131. %= quit if 1 period pattern  =% If "!1}!" == "!t}!" %Cleanup:# Period Pattern=Generation is Stable%
  132. %= quit if 2 period pattern  =% If "!2}!" == "!t}!" %Cleanup:#=2%
  133.                                 If defined ExtendedPTEST (
  134. %= quit if 3 period pattern  =%  If "!3}!" == "!t}!" %Cleanup:#=3%
  135. %= quit if 4 period pattern  =%  If "!4}!" == "!t}!" %Cleanup:#=4%
  136. %= quit if 5 period pattern  =%  If "!5}!" == "!t}!" %Cleanup:#=5%
  137. %= quit if 6 period pattern  =%  If "!6}!" == "!t}!" %Cleanup:#=6%
  138. %= quit if 7 period pattern  =%  If "!7}!" == "!t}!" %Cleanup:#=7%
  139. %= quit if 8 period pattern  =%  If "!8}!" == "!t}!" %Cleanup:#=8%
  140. %= 8} Period pattern         =%  Set "8}=!7}!"
  141. %= 7} Period pattern         =%  Set "7}=!6}!"
  142. %= 6} Period pattern         =%  Set "6}=!5}!"
  143. %= 5} Period pattern         =%  Set "5}=!4}!"
  144. %= 4} Period pattern         =%  Set "4}=!3}!"
  145. %= 3} Period pattern         =%  Set "3}=!2}!"
  146.                                 )
  147. %= 2} Period pattern         =% Set "2}=!1}!"
  148. %= 1} Period pattern         =% Set "1}=!t}!"
  149. %= New screen from t} array =%  Set "screen=%\E%[38;5;20m%\E%[48;5;160m!t}:}=%\E%[!"
  150. %= modified to show cells   =%  Set "screen=!screen:e1,=H▓!"
  151. %= Display screen           =%  Echo(%\E%[2J%\E%[7m!Screen:e0,=H !%\E%[0m%info%
  152. %= quit if all cells dead    =% If "!t}:e1=!" == "!t}!" %Cleanup:# Period Pattern=All cells deceased%
  153. %= End Gol turn loop        =% )
  154.  
  155. ======
  156. EXIT - Unitilized code.
  157.  
  158. ======
  159.  
  160. :Galaxy - change initial pattern to galaxy Oscillator if args = 15 15
  161. :#   456789012
  162. :#................1
  163. :#................2
  164. :#................3
  165. :#...======.==....4
  166. :#...======.==....5
  167. :#..........==....6
  168. :#...==.....==....7
  169. :#...==.....==....8
  170. :#...==.....==....9
  171. :#...==...........10
  172. :#...==.======....11
  173. :#...==.======....12
  174. :#................
  175. :#................
  176. :#................
  177.  
  178.  Set "t}=!t}:e1=e0!"
  179.  Set "t}=!t}:}4;4e0=}4;4e1!"
  180.  Set "t}=!t}:}4;5e0=}4;5e1!"
  181.  Set "t}=!t}:}4;6e0=}4;6e1!"
  182.  Set "t}=!t}:}4;7e0=}4;7e1!"
  183.  Set "t}=!t}:}4;8e0=}4;8e1!"
  184.  Set "t}=!t}:}4;9e0=}4;9e1!"
  185.  Set "t}=!t}:}5;4e0=}5;4e1!"
  186.  Set "t}=!t}:}5;5e0=}5;5e1!"
  187.  Set "t}=!t}:}5;6e0=}5;6e1!"
  188.  Set "t}=!t}:}5;7e0=}5;7e1!"
  189.  Set "t}=!t}:}5;8e0=}5;8e1!"
  190.  Set "t}=!t}:}5;9e0=}5;9e1!"
  191.  
  192.  Set "t}=!t}:}7;4e0=}7;4e1!"
  193.  Set "t}=!t}:}7;5e0=}7;5e1!"
  194.  Set "t}=!t}:}8;4e0=}8;4e1!"
  195.  Set "t}=!t}:}8;5e0=}8;5e1!"
  196.  Set "t}=!t}:}9;4e0=}9;4e1!"
  197.  Set "t}=!t}:}9;5e0=}9;5e1!"
  198.  Set "t}=!t}:}10;4e0=}10;4e1!"
  199.  Set "t}=!t}:}10;5e0=}10;5e1!"
  200.  Set "t}=!t}:}11;4e0=}11;4e1!"
  201.  Set "t}=!t}:}11;5e0=}11;5e1!"
  202.  Set "t}=!t}:}12;4e0=}12;4e1!"
  203.  Set "t}=!t}:}12;5e0=}12;5e1!"
  204.  
  205.  Set "t}=!t}:}4;11e0=}4;11e1!"
  206.  Set "t}=!t}:}4;12e0=}4;12e1!"
  207.  Set "t}=!t}:}5;11e0=}5;11e1!"
  208.  Set "t}=!t}:}5;12e0=}5;12e1!"
  209.  Set "t}=!t}:}6;11e0=}6;11e1!"
  210.  Set "t}=!t}:}6;12e0=}6;12e1!"
  211.  Set "t}=!t}:}7;11e0=}7;11e1!"
  212.  Set "t}=!t}:}7;12e0=}7;12e1!"
  213.  Set "t}=!t}:}8;11e0=}8;11e1!"
  214.  Set "t}=!t}:}8;12e0=}8;12e1!"
  215.  Set "t}=!t}:}9;11e0=}9;11e1!"
  216.  Set "t}=!t}:}9;12e0=}9;12e1!"
  217.  
  218.  Set "t}=!t}:}11;7e0=}11;7e1!"
  219.  Set "t}=!t}:}12;7e0=}12;7e1!"
  220.  Set "t}=!t}:}11;8e0=}11;8e1!"
  221.  Set "t}=!t}:}12;8e0=}12;8e1!"
  222.  Set "t}=!t}:}11;9e0=}11;9e1!"
  223.  Set "t}=!t}:}12;9e0=}12;9e1!"
  224.  Set "t}=!t}:}11;10e0=}11;10e1!"
  225.  Set "t}=!t}:}12;10e0=}12;10e1!"
  226.  Set "t}=!t}:}11;11e0=}11;11e1!"
  227.  Set "t}=!t}:}12;11e0=}12;11e1!"
  228.  Set "t}=!t}:}11;12e0=}11;12e1!"
  229.  Set "t}=!t}:}12;12e0=}12;12e1!"
  230. Exit /b
  231.  
  232. ===========================================================
  233. :AnimThread - Animation; RGB spinner
  234.  
  235. :# frame control via elapsed time by Dave Benham - https://www.dostips.com/forum/viewtopic.php?f=3&t=4741
  236. :# Animation sequence. Symbols will not display correctly with certain fonts
  237. :# Recommended font: Lucida Console
  238. :# Alt 205 ═ 186 ║ 187 ╗ 200 ╚ 188 ╝ 201 ╔
  239. :# ╔═╗╔═╗╔═╗╔═╗
  240. :# ║/║║-║║\║║|
  241. :# ╚═╝╚═╝╚═╝╚═╝
  242. :#
  243. :# Framerate: ~ 25 fps. ('Delay' assigned as 4/100ths of a second.)
  244. :# NOTE - Multiple instances of this thread can not be run in parallel;
  245. :#        as Virtual terminal Cursor save operation will overide information stored by parallel threads
  246.  
  247. :# Title animation sequence BAR
  248. :# ║01021324354657687989║  ║09192837545463728190║
  249. :# ▬░▬░░░░░░░               ▬░░░░░░░░▬
  250. :# ░▬░▬░░░░░░               ░▬░░░░░░▬░
  251. :# ░░▬░▬░░░░░               ░░▬░░░░▬░░
  252. :# ░░░▬░▬░░░░               ░░░▬░░▬░░░
  253. :# ░░░░▬░▬░░░               ░░░░▬▬░░░░
  254. :# ░░░░░▬░▬░░               ░░░▬░░▬░░░
  255. :# ░░░░░░▬░▬░               ░░▬░░░░▬░░
  256. :# ░░░░░░░▬░▬               ░▬░░░░░░▬░
  257. :# ▬░▬░░░░░░░               ▬░░░░░░░░▬
  258.  
  259.  Setlocal EnableDelayedExpansion
  260.  CHCP 65001 > nul
  261.  If "!_Param!"=="MSG" (Set "_Param=")Else (
  262.   Set "_Param=%\E%[E!_Param!%\E%[E"
  263.  )
  264.  If defined Win10 <nul set /p "=%\E%[?25l!_Param!%\E%7"
  265.  Set "title.i=-1"
  266.  Set "T2[L]=0"         %= Rem Spinner Loop count    =%
  267.  Set "T2[chars]= |/-\" %= Rem Spinner characters    =%
  268.  Set "Delay=4"         %= Framerate in Centiseconds =%
  269.  Set "title.s=9 -1 0"
  270.  
  271. If defined Win10 (
  272.  For /l %%. in ()Do (
  273.   %= Check completion status flagged in status stream of this file; =%
  274.   (
  275.    For /F "UsebackQ Delims=" %%G in ("%~f0:Stream")Do (
  276.     if "%%G" == "0" (
  277.      <nul Set /P "=%\E%[?25h%\E%8%\E%[K"                  %= restore cursor    =%
  278.      %restore.CP% > nul                                   %= restore codepage  =%
  279.      If not Defined Esc-thread <nul Set /P "=%\E%[7;32mCompleted." %= notify completion =%
  280.      If Defined Esc-thread <nul Set /P "=%\E%[31mLoading. Please wait^!"
  281.      <nul set /p "=%\E%[0m%\E%[1E%\E%[M%\E%[K" %!!%
  282.      TITLE !Parent.title!
  283.      Exit                                                 %= exit thread       =%
  284.     )
  285.   )) 2> nul
  286.  
  287.   %= Calculate time elapsed =%
  288.   for /f "tokens=1-4 delims=:.," %%a in ("!time: =0!") do set /a "t2=(((1%%a*60)+1%%b)*60+1%%c)*100+1%%d-36610100, tDiff=t2-t1"
  289.   if !tDiff! lss 0 set /a tDiff+=24*60*60*100
  290.  
  291.   if !tDiff! geq !delay! (
  292.    "%TEMP%\Games_By_T3RRY\BG.exe" lastkbd
  293.    If !Errorlevel!==27 (Set "Esc-thread=true"& %End.thread%)
  294.    Set /A title.i+=1
  295.    If !title.i! GTR 9 Set "title.i=0"
  296.    Set "Bar=║09192837545463728190║" %= Title Anim Crosses Self =%
  297.    For /l %%v in (0 1 9)Do If %%v NEQ !title.i! (Set "Bar=!Bar:%%v=░!")Else Set "Bar=!Bar:%%v=▬!"
  298.    Title Seeding: !Time! !BAR!
  299.    %!!%
  300.    Set /A "T2[L]+=1"        %= Increment index point of spinner string =%
  301.    %= Output Spinner frame. Overwites previous output using saved cursor position =%
  302.    For /f "Delims=" %%v in ("!T2[L]!")Do <nul Set /p "=%\E%8%\E%[38;2;20;20;20;7m%\E%[48;2;150;;150m╔═╗╔═╗╔═╗%\E%[0;38;2;150;;150m%\E%[K%\E%[E║%\E%[38;2;20;20;20;7m%\E%[48;2;255;;m!T2[chars]:~%%v,1!%\E%[0m%\E%[38;2;20;20;20;7m%\E%[48;2;150;;150m║║%\E%[38;2;20;20;20;7m%\E%[48;2;;255;m!T2[chars]:~%%v,1!%\E%[0m%\E%[38;2;20;20;20;7m%\E%[48;2;150;;150m║║%\E%[38;2;20;20;20;7m%\E%[48;2;;100;255m!T2[chars]:~%%v,1!%\E%[0m%\E%[38;2;20;20;20;7m%\E%[48;2;150;;150m║%\E%[0m%\E%[K%\E%[E%\E%[38;2;20;20;20;7m%\E%[48;2;150;;150m╚═╝╚═╝╚═╝%\E%[0m%\E%[K%\E%[1G%\E%[2A%\E%7"
  303.    If !T2[L]! EQU 4 Set "T2[L]=0" %= Reset index point of spinner string =%
  304.    set /a t1=t2
  305.   )
  306.  )
  307. )
  308.  
  309. =======
  310.  EXIT
  311. =======
  312.  
  313. :defMacros
  314. :# OS Requirement tests
  315.  
  316.  If "!!"=="" (
  317.   Echo(Delayed Expansion must not be enabled at this time.
  318.   Pause
  319.   Exit /B 1
  320.  )
  321.  
  322.  Set "Cleanup=( CHCP !active.cp! > nul & <Nul set /p "=!\E![?25h# Period pattern!\E![E" &  Endlocal & cmd /k & EXIT )"
  323.  
  324. :# Verify NTFS drive
  325.  (Echo(verify.NTFS >"%~f0:Status") || (
  326.   Echo(This file must be located on an NTFS drive as it utilises alternate data streams.
  327.   Timeout /t 3
  328.   Exit /B 1
  329.  )
  330.  
  331. :# Windows Version control. Assigns flag true if system is windows 10 build GTR 10586
  332. :# https://en.wikipedia.org/wiki/ANSI_escape_code#DOS,_OS/2,_and_Windows
  333. :# Version 1511 build number = 10.0.10586
  334.  Set "Win10="
  335.  For /f "tokens=3 delims=." %%v in ('Ver')Do if %%v GTR 10586 Set "Win10=True"
  336.  
  337. :# If Win10 true ; Test if virtual terminal codes enabled ; enable if false
  338. :# removes win10 flag definition if version does not support Virtual Terminal sequences
  339. :# https://devblogs.microsoft.com/commandline/understanding-windows-console-host-settings/
  340.  If defined Win10 (
  341.   Reg Query HKCU\Console | %SystemRoot%\System32\findstr.exe /LIC:"VirtualTerminalLevel    REG_DWORD    0x1" > nul || (
  342.     Reg Add HKCU\Console /f /v VirtualTerminalLevel /t REG_DWORD /d 1
  343.   ) > Nul && (
  344.     Echo(CMD restart required
  345.     Pause
  346.     EXIT
  347.   ) || Set "Win10="
  348.  )
  349.  
  350.  If not defined Win10 (%= Quit if no Virtual Terminal Support =%
  351.   Echo(This game requires Virtual terminal sequences, which are not supported by your version of windows or could not be enabled.
  352.   Timeout /t 3
  353.   Exit /b 1
  354.  )
  355.  
  356. =====:# Store codepage to restore on script completion
  357.  For /f "tokens=4 Delims=: " %%1 in ('CHCP')Do Set "active.cp=%%1"
  358.  
  359. =====:# Define Escape character for Virtual terminal sequences
  360.  If Defined Win10 For /f "Delims=" %%e in ('Echo(Prompt $E^|Cmd')Do Set "\E=%%e"
  361.  
  362. ==================:# macros start and stop Thread via t/f flag written to alternate data stream.
  363. :# Start.Thread - Save current Codepage;
  364. :#                Remove status thread from this file if present;
  365. :#                Notify command has started;
  366. :#                Flag status 1 in Stream :!!
  367. :#                Uses the control structure:
  368. :#                 for /F "tokens=3 delims=:" %%L in ("%~0") do goto %%L
  369. :#                 in conjunction with:
  370. :#                 Start /AboveNormal /b "" "%~d0\:TargetLabel:\..%~pnx0"
  371. :#                executes infinite loop in AnimThread1 based on win10 virtual terminal support
  372.  
  373.  Set "Start.Thread=Set "_param=MSG"& (For /F "tokens=2 Delims=:" %%G in ('CHCP')Do Set "restore.CP=CHCP %%G")&((Echo(1)>"%~f0:Stream") & Start /AboveNormal /b "" "%~d0\:AnimThread:\..%~pnx0""
  374.  
  375. :# End.Thread  - Flag status 0 in Stream :!!
  376. :#               Execute a small delay to ensure thread has time to enable cursor display and clear animation.
  377. :#               [Delay of approx. 1/66th of a second]
  378.  
  379.  Set "End.Thread=((Echo(0)>"%~f0:Stream")&For /L %%i in (1 1 1000)Do ((Call ))"
  380.  
  381.  MD "%TEMP%\Games_By_T3RRY" 2> nul
  382.  If not exist "%TEMP%\Games_By_T3RRY\BG.exe" Certutil -decode "%~f0" "%TEMP%\Games_By_T3RRY\BG.exe" > nul
  383.  
  384. Exit /b 0
  385.  
  386. ===============
  387. /* BG.exe V 3.9
  388.   https://github.com/carlos-montiers/consolesoft-mirror/blob/master/bg/README.md
  389.   Copyright (C) 2010-2018 Carlos Montiers Aguilera
  390.  
  391.   This software is provided 'as-is', without any express or implied
  392.   warranty.  In no event will the authors be held liable for any damages
  393.   arising from the use of this software.
  394.  
  395.   Permission is granted to anyone to use this software for any purpose,
  396.   including commercial applications, and to alter it and redistribute it
  397.   freely, subject to the following restrictions:
  398.  
  399.   1. The origin of this software must not be misrepresented; you must not
  400.      claim that you wrote the original software. If you use this software
  401.      in a product, an acknowledgment in the product documentation would be
  402.      appreciated but is not required.
  403.   2. Altered source versions must be plainly marked as such, and must not be
  404.      misrepresented as being the original software.
  405.   3. This notice may not be removed or altered from any source distribution.
  406.  
  407.   Carlos Montiers Aguilera
  408.   cmontiers@gmail.com
  409.  */
  410.  
  411. -----BEGIN CERTIFICATE-----
  412. TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  413. AAAAAAAAAAAAAAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5v
  414. dCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAABQRQAATAEEAG3tp1sAAAAA
  415. AAAAAOAADwMLAQIZABoAAAAIAAAAAgAAcCcAAAAQAAAAAMD/AABAAAAQAAAAAgAA
  416. BAAAAAEAAAAEAAAAAAAAAABgAAAABAAAu00AAAMAAAAAACAAABAAAAAAEAAAEAAA
  417. AAAAABAAAAAAAAAAAAAAAABQAABMBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  418. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  419. AAAAAAAAAAD4UAAAlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAA
  420. IBkAAAAQAAAAGgAAAAQAAAAAAAAAAAAAAAAAACAAUGAucmRhdGEAALgBAAAAMAAA
  421. AAIAAAAeAAAAAAAAAAAAAAAAAABAAGBALmJzcwAAAACMAAAAAEAAAAAAAAAAAAAA
  422. AAAAAAAAAAAAAAAAgABgwC5pZGF0YQAATAQAAABQAAAABgAAACAAAAAAAAAAAAAA
  423. AAAAAEAAMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  424. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  425. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  426. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  427. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  428. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  429. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  430. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  431. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  432. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  433. AAAAAAAAAAAAAAAAAAAAAFWJ5YPsGKFQUUAAg8AgiUQkBA+3RQiJBCToIhgAAMnD
  434. hcAPhBoBAABVieVXVlOJx4PsPA+3GGaF2w+E/AAAADH2x0XQAAAAADHJ6ziNdCYA
  435. Mclmg/tcD5TBdBqhUFFAAIkcJIlN1IPAIIlEJATozhcAAItN1IPHAg+3H2aF2w+E
  436. jAAAAIXJdMgPt8PHRCQEgAAAAIkEJIlF1OiaFwAAhcAPhKoAAACDfdABD45wAQAA
  437. g/5/iXXkD7fGD4+RAQAAixVQUUAAiQQkg8cCMfaNSiCJTCQE6GcXAAChUFFAAIPA
  438. IIlEJASLRdSJBCToUBcAAA+3HzHJx0XQAAAAAGaF23WD6w2QkJCQkJCQkJCQkJCQ
  439. i0XQhcB0JIP+f4l13A+3xg+PygEAAIsVUFFAAIkEJIPCIIlUJAToBRcAAI1l9Fte
  440. X13zw422AAAAAI2/AAAAAItV0IXSdGmD/n+JdeAPt8YPj0oBAACLFVBRQACJBCSN
  441. SiCJTCQE6MUWAAAxyWaD+1wPlMEPhIYAAAChUFFAAIlNzDH2g8AgiUQkBItF1IkE
  442. JOiaFgAAx0XQAAAAAItNzOnA/v//jXQmAI28JwAAAABmg/tuD4R2AQAAD4awAAAA
  443. ZoP7cg+ERgEAAGaD+3QPhXwBAAChUFFAAMcEJAkAAACDwCCJRCQE6EQWAAAxyely
  444. /v//jbYAAAAAjbwnAAAAADH2x0XQAAAAAOlX/v//ZpCDRdABweYEZoP7OQ+GrwAA
  445. AIPLIA+3w4PoVwHGuQEAAADpL/7//412AI28JwAAAACNRdzHRCQIAQAAAIlEJASN
  446. ReSJBCT/FXxRQAAPt0Xcg+wM6Uj+//+J9o28JwAAAABmg/tiD4XWAAAAoVBRQADH
  447. BCQIAAAAg8AgiUQkBOieFQAAMcnpzP3//420JgAAAACNRdzHRCQIAQAAAIlEJASN
  448. ReCJBCT/FXxRQAAPt0Xcg+wM6Y/+//+J9o28JwAAAACLRdSD6DDpT////5CNdCYA
  449. jUXax0QkCAEAAACJRCQEjUXciQQk/xV8UUAAD7dF2oPsDOkP/v//ifaNvCcAAAAA
  450. oVBRQADHBCQNAAAAg8AgiUQkBOgIFQAAMcnpNv3//5ChUFFAAMcEJAoAAACDwCCJ
  451. RCQE6OgUAAAxyekW/f//kKFQUUAAg8AgiUQkBItF1IkEJOjJFAAAMcnp9/z//2aQ
  452. oUhAQACD+AJ+OlWJ5VdWU4PsHIsVREBAAIP4A4tyCHUvx0QkCBIAAgDHRCQEAAAA
  453. AIk0JP8VhFFAAIPsDI1l9FteX13zw412AI28JwAAAADHRCQICgAAAMdEJAQAAAAA
  454. i0IMiQQk6DUUAACFwH7Oiz2EUUAAjVj/kI20JgAAAACD6wHHRCQIEgACAMdEJAQA
  455. AAAAiTQk/9eD7AyD+/914OubjbQmAAAAAI28JwAAAABVuAQAAAC6BgAAALkGAAAA
  456. ieVXVlO+CAAAALsIAAAAvwgAAACB7LwAAABmiYVs////uBAAAABmiYV4////uAgA
  457. AACDPUhAQAADZomFev///7gFAAAAZomVbv///2aJhXz///+4DAAAAGaJjXD///9m
  458. iYV+////uAcAAABmiZ1y////ZolFgLgMAAAAZom1dP///2aJRYK4EAAAAGaJvXb/
  459. //9miUWOuAoAAAC6CAAAALkMAAAAuxAAAAC+DAAAAL8MAAAAZolFkLgSAAAAZolV
  460. hGaJTYZmiV2IZol1imaJfYxmiUWSdAmNZfRbXl9dw5ChREBAAMdEJAgKAAAAx0Qk
  461. BAAAAACLQAiJBCTo4BIAAIP4CYnDd9DHRCQYAAAAAMdEJBQAAAAAx0QkEAMAAADH
  462. RCQMAAAAAMdEJAgDAAAAx0QkBAAAAMDHBCQAMEAA/xX8UEAAg+wcicbHBCQQMEAA
  463. /xUcUUAAg+wEhcCJxw+ElgAAAMdEJAQqMEAAiQQk/xUYUUAAg+wIhcCJhWT///90
  464. bA+3hJ1s////jU2Ux0QkBEIwQADHRZRUAAAAiV2YiY1g////x0WgMAAAAMdFpJAB
  465. AABmiUWcD7eEnW7///9miUWejUWoiQQk6BsSAACLjWD////HRCQEAAAAAIk0JIuV
  466. ZP///4lMJAj/0oPsDIk8JP8VBFFAAIPsBIlcJASJNCToWxIAAIPsCIk0JP8V+FBA
  467. AIPsBOm+/v//jbQmAAAAAFWJ5VZTjXXwg+wwx0QkGAAAAADHRCQUAAAAAMdEJBAD
  468. AAAAx0QkDAAAAADHRCQIAwAAAMdEJAQAAADAxwQkADBAAP8V/FBAAIPsHInDiXQk
  469. BIkEJP8VCFFAAIPsCIM9SEBAAAN0OsdF9AEAAADHRfAZAAAAiXQkBIkcJP8VJFFA
  470. AIPsCIkcJP8V+FBAAIPsBI1l+FteXcOJ9o28JwAAAAChREBAAMdEJAgKAAAAx0Qk
  471. BAAAAACLQAiJBCToABEAAIP4GXQlfxmFwHQlg/gBdaTHRfQBAAAA65uNtCYAAAAA
  472. g/gydAWD+GR1iolF8OvhkMdF9AAAAADpeP///410JgCDPUhAQAADdAfDjbYAAAAA
  473. VYnlg+wYoURAQADHRCQICgAAAMdEJAQAAAAAi0AIiQQk6IoQAACFwH4MiQQk/xU4
  474. UUAAg+wEycOQjbQmAAAAAFWJ5YPsSI1F6IkEJP8VFFFAAA+3RfaD7ATHBCRUMEAA
  475. iUQkIA+3RfSJRCQcD7dF8olEJBgPt0XwiUQkFA+3Re6JRCQQD7dF6olEJAwPt0Xo
  476. iUQkCA+3ReyJRCQE6AcQAADJw422AAAAAI28JwAAAABVieVXVlONfcyNddSD7FzH
  477. RCQYAAAAAMdEJBQAAAAAx0QkEAMAAADHRCQMAAAAAMdEJAgDAAAAx0QkBAAAAMDH
  478. BCSGMEAA/xX8UEAAicONRdCD7ByJHCSJRCQE/xUMUUAAi0XQg+wIiRwkJC4MkIlE
  479. JAShMFFAAIlFxP/Qg+wIkIl8JAzHRCQIAQAAAIl0JASJHCT/FSBRQACD7BBmg33U
  480. AnXdg33cAXXXD7912g+/fdjHBCSUMEAAiXQkBIl8JAjB5hDoMA8AAItF0IkcJAH+
  481. iUQkBP9VxIPsCIkcJP8V+FBAAIPsBIk0JP8VAFFAAJBVieVTg+wEix1MUUAA/9OF
  482. wHQdPeAAAAB0FqNAQEAAg8QEW13DjXQmAI28JwAAAAD/0wUAAQAAo0BAQACDxARb
  483. XcONtCYAAAAAjbwnAAAAAFWJ5VOD7AT/FVRRQACFwHUfxwVAQEAAAAAAAIPEBFtd
  484. w+sNkJCQkJCQkJCQkJCQkIsdTFFAAP/ThcB0FD3gAAAAdA2jQEBAAIPEBFtdw2aQ
  485. /9MFAAEAAOvqjbQmAAAAAIM9SEBAAAR0B8ONtgAAAABVieVXVlOD7FzHRCQYAAAA
  486. AMdEJBQAAAAAx0QkEAMAAADHRCQMAAAAAMdEJAgDAAAAx0QkBAAAAMDHBCQAMEAA
  487. /xX8UEAAicaNRdKD7ByJNCSJRCQE/xUQUUAAoURAQACD7AgPt33gx0QkCAoAAADH
  488. RCQEAAAAAA+3XeJmK33ci0AIZitd3okEJOjCDQAAiUXEoURAQADHRCQICgAAAMdE
  489. JAQAAAAAi0AMiQQk6J8NAACLVcQxyWaFwA9IwYk0JGaF0g9I0WY5xw9P+GY50w9P
  490. 2g+3/8HjEAn7iVwkBP8VKFFAAIPsCIk0JP8V+FBAAIPsBI1l9FteX13DjbYAAAAA
  491. VYnlU4PsJMdEJBgAAAAAx0QkFAAAAADHRCQQAwAAAMdEJAwAAAAAx0QkCAMAAADH
  492. RCQEAAAAwMcEJAAwQAD/FfxQQACD7ByDPUhAQAADicO4BwAAAHQpiRwkiUQkBP8V
  493. NFFAAIPsCIkcJP8V+FBAAItd/IPsBMnDkI20JgAAAAChREBAAMdEJAgQAAAAx0Qk
  494. BAAAAACLQAiJBCTosAwAAA+3wOuyjXQmAI28JwAAAAChSEBAAIP4BX8G88ONdCYA
  495. VYPoAYnlV1ZTg+x8iUWkx0QkGAAAAADHRCQUAAAAAMdEJBADAAAAx0QkDAAAAADH
  496. RCQIAwAAAMdEJAQAAADAxwQkADBAAP8V/FBAAInDjUXSg+wciRwkiUQkBP8VEFFA
  497. AKFEQEAAg+wIx0QkCAoAAADHRCQEAAAAAItACIkEJOgMDAAAicahREBAAMdEJAgK
  498. AAAAx0QkBAAAAACLQAyJBCTo6gsAAGajIEBAAGajPEBAAA+3ReCJHSxAQABmK0Xc
  499. Zok1IkBAAMdFqBQAAADHRawEAAAAZqMwQEAAD7dF4mYrRd5mozJAQAC4AQAAAGaj
  500. NEBAALgBAAAAZqM2QEAAMcBmozhAQAAxwGajOkBAAKE8UUAAiUWgifaNvCcAAAAA
  501. i32soURAQADHRCQIEAAAAMdEJAQAAAAAiwS4iQQk6E0LAACJ+WajKkBAAKFEQEAA
  502. g8ECiU2si02oizQIhfYPhEkBAAAPtx5mhdsPhD0BAAAx/8dFtAAAAAAx0utSjXYA
  503. MdJmg/tcD5TCdDVmhdsPhAwCAABmg/sKD4XCAQAAD7cFPEBAAGaDBSJAQAABZqMg
  504. QEAAjbYAAAAAjbwnAAAAAIPGAg+3HmaF2w+EoQAAAIXSdK0Pt9PHRCQEgAAAAIkU
  505. JIlVsOi/CgAAhcAPhN8AAACDfbQBi1WwD44iAgAAg/9/iX3MifoPj0QDAABmhdIP
  506. hLsCAABmg/oKD4UxAgAAD7cFPEBAAGaDBSJAQAABZoP7CmajIEBAAA+FrAIAAA+3
  507. BTxAQABmgwUiQEAAAYPGAjH/MdLHRbQAAAAAZqMgQEAAD7ceZoXbD4Vi////jXYA
  508. i0W0hcB0NoP/f4l9xIn4D4+rBQAAZoXAD4RiBQAAZoP4Cg+FuAQAAA+3BTxAQABm
  509. gwUiQEAAAWajIEBAAINFqAiLTaw5TaQPj2P+//+NZfRbXl9dw410JgCNvCcAAAAA
  510. i0W0hcAPhNUAAACD/3+JfciJ+g+PNwQAAGaF0g+EDgMAAGaD+goPhYQCAAAPtwU8
  511. QEAAZoMFIkBAAAFmoyBAQAAx0maD+1wPlMIPhCACAABmhdsPhHcDAABmg/sKD4Xt
  512. AgAAD7cFPEBAAGaDBSJAQAABMf/HRbQAAAAAZqMgQEAA6Wr+//+NdgCNvCcAAAAA
  513. D7cFIEBAAGaFwHgkZjsFMEBAAH8bD7cNIkBAAGaFyXgPZjsNMkBAAA+OwgUAAGaQ
  514. g8ABZqMgQEAA6SL+//9mkGaDBSBAQAAB6RP+//+NdgBmg/tuD4RWBAAAD4YAAwAA
  515. ZoP7cg+ElgQAAGaD+3QPhSwFAAAPtwUgQEAAZoXAeDBmOwUwQEAAfycPtxUiQEAA
  516. ZoXSeBtmOxUyQEAAD44GBgAAjbQmAAAAAI28JwAAAACDwAEx0majIEBAAOmg/f//
  517. g0W0AcHnBIPqMGaD+zl2CYPLIA+304PqVwHXugEAAADpe/3//410JgCNvCcAAAAA
  518. D7cFIEBAAGaFwHh7ZjsFMEBAAH9yD7cNIkBAAGaFyXhmZjsNMkBAAH9dg8ABg8EB
  519. ZokVKEBAAGajJEBAAKE4QEAAZokNJkBAAMdEJBAgQEAAx0QkBChAQACJRCQMoTRA
  520. QACJRCQIoSxAQACJBCT/FTxRQACD7BSJ9o28JwAAAAAPtwUgQEAAg8ABZoP7Cmaj
  521. IEBAAA+EVP3//2aFwHgxZjkFMEBAAHwoD7cVIkBAAGaF0ngcZjsVMkBAAA+OngQA
  522. AOsNkJCQkJCQkJCQkJCQkIPAATH/MdJmoyBAQADHRbQAAAAA6Yf8//+NtCYAAAAA
  523. Mf/HRbQAAAAA6XL8//9mkI1FwsdEJAgBAAAAiUQkBI1FzIkEJP8VfFFAAA+3VcKD
  524. 7Azplfz//4n2jbwnAAAAAA+3BSBAQABmhcB4e2Y7BTBAQAB/cg+3DSJAQABmhcl4
  525. ZmY7DTJAQAB/XYPAAYPBAWaJFShAQABmoyRAQAChOEBAAGaJDSZAQADHRCQQIEBA
  526. AMdEJAQoQEAAiUQkDKE0QEAAiUQkCKEsQEAAiQQk/xU8UUAAg+wUifaNvCcAAAAA
  527. D7cFIEBAAIPAAWajIEBAAOn8/P//jXQmAI28JwAAAABmhcB4e2Y5BTBAQAB8cg+3
  528. DSJAQABmhcl4ZmY7DTJAQAB/XYPAAYPBAYlVtGajJEBAAKE4QEAAZokdKEBAAGaJ
  529. DSZAQADHRCQQIEBAAMdEJAQoQEAAiUQkDKE0QEAAiUQkCKEsQEAAiQQk/xU8UUAA
  530. D7cFIEBAAItVtIPsFI12AIPAATH/x0W0AAAAAGajIEBAAOkJ+///ifaNvCcAAAAA
  531. ZoP7Yg+FNgIAAA+3BSBAQABmhcAPiDb9//9mOwUwQEAAD48p/f//D7cVIkBAAGaF
  532. 0g+IGf3//2Y7FTJAQAAPjwz9//+5CAAAAGaJDShAQADp/wIAAI10JgCNvCcAAAAA
  533. jUXCx0QkCAEAAACJRCQEjUXIiQQk/xV8UUAAD7dVwoPsDOmi+///ifaNvCcAAAAA
  534. D7cVIEBAAGaF0nh0ZjsVMEBAAH9rD7cNIkBAAGaFyXhfZjsNMkBAAH9WZqMoQEAA
  535. oThAQACDwgGDwQFmiRUkQEAAx0QkECBAQABmiQ0mQEAAx0QkBChAQACJRCQMoTRA
  536. QACJRCQIoSxAQACJBCT/FTxRQAAPtxUgQEAAg+wUZpCDwgGDRagIi02sOU2kZokV
  537. IEBAAA+PNvn//+nO+v//kGaDBSBAQAABg0WoCItNrDlNpA+PGPn//+mw+v//jXYA
  538. D7cFPEBAAGaDBSJAQAABMdJmoyBAQADplPn//410JgCNRcLHRCQIAQAAAIlEJASN
  539. RcSJBCT/FXxRQAAPt0XCg+wM6S76//+J9o28JwAAAAAPtwUgQEAAZoXAD4ig+///
  540. ZjsFMEBAAA+Pk/v//w+3FSJAQABmhdIPiIP7//9mOxUyQEAAD492+///g8ABg8IB
  541. uw0AAABmoyRAQAChOEBAAGaJHShAQABmiRUmQEAAx0QkECBAQADHRCQEKEBAAIlE
  542. JAyhNEBAAIlEJAihLEBAAIkEJP9VoA+3BSBAQACD7BTpG/v//410JgCNvCcAAAAA
  543. ZoP7Cg+EBv///w+3BSBAQABmhcAPiPb6//9mOwUwQEAAD4/p+v//D7cVIkBAAGaF
  544. 0g+I2fr//2Y7FTJAQAAPj8z6//9miR0oQEAA6cQAAACDwAGDwQGJVbBmoyRAQACh
  545. OEBAAGaJHShAQABmiQ0mQEAAx0QkECBAQADHRCQEKEBAAIlEJAyhNEBAAIlEJAih
  546. LEBAAIkEJP8VPFFAAA+3BSBAQACD7BSLVbDp4fn//4PAAYPCAWaJHShAQABmoyRA
  547. QAChOEBAAGaJFSZAQADHRCQQIEBAAMdEJAQoQEAAiUQkDKE0QEAAiUQkCKEsQEAA
  548. iQQk/xU8UUAAD7cFIEBAAIPsFOkY+///uQkAAABmiQ0oQEAAg8ABg8IBx0QkECBA
  549. QABmoyRAQAChOEBAAGaJFSZAQADHRCQEKEBAAIlEJAyhNEBAAIlEJAihLEBAAIkE
  550. JP8VPFFAAA+3BSBAQACD7BTpqvn//412AI28JwAAAABVieVXVlOD7FzHRCQEojBA
  551. AMcEJAAAAADoEwIAAKFQUUAAg8AgiQQk/xVIUUAAx0QkBAAAAgCJBCT/FVhRQACh
  552. SEBAAIP4Aw+EAwEAAH8RjWX0W15fXcOJ9o28JwAAAACD6AHHRCQYAAAAAMdEJBQA
  553. AAAAiUXAx0QkEAMAAAC7DAAAAMdEJAwAAAAAx0QkCAMAAAC/AgAAAMdEJAQAAADA
  554. xwQkADBAAP8V/FBAAInCiUXEjUXSg+wciUQkBIkUJP8VEFFAAIPsCJCNtCYAAAAA
  555. oURAQADHRCQIEAAAAMdEJAQAAAAAiwS4g8cCiQQk6C0BAACLDURAQAAPt8CLNBmJ
  556. RCQEg8MIi0XEiQQk/xU0UUAAifCD7AjoBOn//zl9wH+vD7dF2ot1xIk0JIlEJAT/
  557. FTRRQACD7AiJNCT/FfhQQACD7ASNZfRbXl9dw410JgChREBAAItACOjD6P//6e3+
  558. //+NtCYAAAAAjbwnAAAAAFWJ5VdWU41F5IPsPMdF5AAAAACJRCQQx0QkDAAAAADH
  559. RCQIAEBAAMdEJAREQEAAxwQkSEBAAOjFAAAAhcB4S4M9SEBAAAF+NKFEQEAAizVc
  560. UUAAMduLeASQjbQmAAAAAIsE3UAxQACJPCSJRCQE/9aFwHQjg8MBg/sMdeShQEBA
  561. AIkEJP8VAFFAAMcEJP//////FQBRQAD/FN1EMUAA69z/JYRRQACQkP8ldFFAAJCQ
  562. /yVwUUAAkJD/JWxRQACQkP8laFFAAJCQ/yVkUUAAkJD/JWBRQACQkP8lXFFAAJCQ
  563. /yVYUUAAkJD/JVRRQACQkP8lTFFAAJCQ/yVIUUAAkJD/JURRQACQkP8lfFFAAJCQ
  564. /yU8UUAAkJD/JThRQACQkP8lNFFAAJCQ/yUwUUAAkJD/JSxRQACQkP8lKFFAAJCQ
  565. /yUkUUAAkJD/JSBRQACQkP8lHFFAAJCQ/yUYUUAAkJD/JRRRQACQkP8lEFFAAJCQ
  566. /yUMUUAAkJD/JQhRQACQkP8lBFFAAJCQ/yUAUUAAkJD/JfxQQACQkP8l+FBAAJCQ
  567. /////wAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  568. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  569. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  570. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  571. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  572. QwBPAE4ATwBVAFQAJAAAAEsARQBSAE4ARQBMADMAMgAuAEQATABMAAAAU2V0Q3Vy
  573. cmVudENvbnNvbGVGb250RXgAVABlAHIAbQBpAG4AYQBsAAAAJQBkACAAJQBkACAA
  574. JQBkACAAJQBkACAAJQBkACAAJQBkACAAJQBkACAAJQBkAAoAAABDAE8ATgBJAE4A
  575. JAAAACUAZAAgACUAZAAKAAAAAABQAFIASQBOAFQAAABGAEMAUABSAEkATgBUAAAA
  576. QwBPAEwATwBSAAAATABPAEMAQQBUAEUAAABMAEEAUwBUAEsAQgBEAAAASwBCAEQA
  577. AABNAE8AVQBTAEUAAABEAEEAVABFAFQASQBNAEUAAABTAEwARQBFAFAAAABDAFUA
  578. UgBTAE8AUgAAAEYATwBOAFQAAABQAEwAQQBZAAAAAACkMEAAACZAALAwQACAG0AA
  579. wDBAANAaQADMMEAAwBlAANowQABgGUAA6jBAABAZQADyMEAAIBhAAP4wQACwF0AA
  580. EDFAAGAXQAAcMUAAYBZAACoxQAAwFEAANDFAAIATQABHQ0M6ICh0ZG02NC0xKSA1
  581. LjEuMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  582. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkUAAAAAAAAAAAAADcUwAA
  583. +FAAALBQAAAAAAAAAAAAACBUAABEUQAA6FAAAAAAAAAAAAAAMFQAAHxRAADwUAAA
  584. AAAAAAAAAABAVAAAhFEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjFEAAJpRAACoUQAA
  585. tlEAAMRRAADcUQAA7lEAAAxSAAAcUgAALlIAAD5SAABSUgAAalIAAIZSAACYUgAA
  586. qlIAAMRSAADMUgAAAAAAAOJSAAD0UgAA/lIAAAhTAAAQUwAAGlMAACZTAAAyUwAA
  587. PFMAAEhTAABUUwAAXlMAAGhTAAAAAAAAclMAAAAAAACEUwAAAAAAAIxRAACaUQAA
  588. qFEAALZRAADEUQAA3FEAAO5RAAAMUgAAHFIAAC5SAAA+UgAAUlIAAGpSAACGUgAA
  589. mFIAAKpSAADEUgAAzFIAAAAAAADiUgAA9FIAAP5SAAAIUwAAEFMAABpTAAAmUwAA
  590. MlMAADxTAABIUwAAVFMAAF5TAABoUwAAAAAAAHJTAAAAAAAAhFMAAAAAAABTAENs
  591. b3NlSGFuZGxlAJIAQ3JlYXRlRmlsZVcAGgFFeGl0UHJvY2VzcwBkAUZyZWVMaWJy
  592. YXJ5AKQBR2V0Q29uc29sZUN1cnNvckluZm8AALABR2V0Q29uc29sZU1vZGUAALYB
  593. R2V0Q29uc29sZVNjcmVlbkJ1ZmZlckluZm8AAAQCR2V0TG9jYWxUaW1lAABFAkdl
  594. dFByb2NBZGRyZXNzAAAsA0xvYWRMaWJyYXJ5VwAApQNSZWFkQ29uc29sZUlucHV0
  595. VwDzA1NldENvbnNvbGVDdXJzb3JJbmZvAAD1A1NldENvbnNvbGVDdXJzb3JQb3Np
  596. dGlvbgAA9wNTZXRDb25zb2xlRm9udAAAAQRTZXRDb25zb2xlTW9kZQAACgRTZXRD
  597. b25zb2xlVGV4dEF0dHJpYnV0ZQB0BFNsZWVwAOwEV3JpdGVDb25zb2xlT3V0cHV0
  598. VwB3AF9fd2dldG1haW5hcmdzAAAFAV9maWxlbm8AOwFfZ2V0Y2gAAGEBX2lvYgAA
  599. xAFfa2JoaXQAALUCX3NldG1vZGUAAI0DX3djc2ljbXAAAEsEZnB1dHdjAAB1BGlz
  600. d2N0eXBlAACqBHNldGxvY2FsZQD0BHdjc2NweQAABwV3Y3N0b2wAAA4Fd3ByaW50
  601. ZgDIAU9lbVRvQ2hhckJ1ZmZXAAAJAFBsYXlTb3VuZFcAAAAAAFAAAABQAAAAUAAA
  602. AFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAAAFAAAABQAAAAUAAA
  603. AFAAAABQAAAAUAAAS0VSTkVMMzIuZGxsAAAAABRQAAAUUAAAFFAAABRQAAAUUAAA
  604. FFAAABRQAAAUUAAAFFAAABRQAAAUUAAAFFAAABRQAABtc3ZjcnQuZGxsAAAoUAAA
  605. VVNFUjMyLmRsbAAAPFAAAFdJTk1NLkRMTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  606. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  607. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  608. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  609. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  610. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  611. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  612. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  613. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
  614. AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
  615. -----END CERTIFICATE-----
  616.    
  617.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement