-
Notifications
You must be signed in to change notification settings - Fork 0
/
chat.bat
5334 lines (5133 loc) · 310 KB
/
chat.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<# : AlwaysOnTop2.bat -- http://stackoverflow.com/a/37912693/1683264
@echo off
::Updates to be done:
:: New Sounds
cls
title CB Chattio by Lucas Elliott with IT COMMAND
if exist dir.txt cd ..
set version=[11.03.0]
set setup=False
setlocal EnableDelayedExpansion
if "%~1"=="notif1" goto Enable1
if "%~1"=="updated" goto cleanupdate
if "%~1"=="updatedf" goto cleanupdatef
if "%~1"=="notif0" goto Dissable0
if "%~1"=="antivirual" goto antiviral
if "%~1"=="Notif" goto notifadmin
if "%~1"=="Admin" (call :c 0e "Loading as admin . . ." & echo %cd%>C:\users\Public\CDC.txt & powershell start -verb runas '%0' am_admin & exit /b)
if "%~1"=="am_admin" set setup=True
if not exist C:\users\Public\chat md C:\users\Public\chat
:topreset
if not exist lc.exe goto nolc
:backlc
if not exist cmdwiz.exe goto nocmd
:backcmdwiz
if not exist tick.wav goto notick
:backtick
if %setup%==True goto setupss
if not exist settings.cmd goto findserver
::Presets
::call :c 08 "Running ITCMDCOS version %version% http://www.itcommand.tech"
set color=07
set 404=Exit
set BoldColor=0e
set mini=False
set LegacyMini=False
set TextColor=0a
set endl=No
set pingr=N
set SystemColor=0b
set MiniClose=No
set spam=YoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYoYo
set alwaysScan=False
set debug=No
call settings.cmd
color %color%
net use| find "CHAT">nul
if %errorlevel%==1 net use \\%him%\CHAT /user:"ITCMD" Guest 2>nul >nul
if %debug%==Yes set >set.txt
if not exist \\%him%\CHAT\ goto offline
if not exist \\%him%\chat\Local.cmd call :404 "Local.cmd"
if not exist \\%him%\chat\Users.log call :404 "Users.Log"
if not exist \\%him%\chat\Notif\Notif.bat call :404 "Notif.bat"
if not exist Notif\ md Notif\
copy "\\%him%\CHAT\Notif\Notif.bat" "Notif\Notif.bat" >nul
copy "settings.cmd" "Notif\settings.cmd" >nul
(echo %~0)> "Notif\dir.txt
:skipnotif
if exist NoNotif goto skipnotif2
echo Dim WinScriptHost >"C:\users\Public\CHAT\Notif.vbs"
echo set WinScriptHost = CreateObject("wscript.shell")>>"C:\users\Public\CHAT\Notif.vbs"
echo WinScriptHost.CurrentDirectory = "%cd%\Notif">>"C:\users\Public\CHAT\Notif.vbs"
(echo WinScriptHost.Run chr(34^) ^& "%cd%\Notif\Notif.bat" ^& chr(34^), 0)>>"C:\users\Public\CHAT\Notif.vbs"
(echo Set WinScriptHost = Nothing)>>"C:\users\Public\CHAT\Notif.vbs"
if defined NotifSupress goto skipnotif2
schtasks /query /TN ITCMD-CHAT-NOTIF2 | find "ITCMD-CHAT-NOTIF2 N/A Ready">nul
if %errorlevel%==0 goto skipnotif2
cls
call :c 0c "Log On Notifications are dissabled. Would you like to enable them now?"
call :c 08 "You can change this later in the Options Menu"
choice /c YN
cls
if %errorlevel%==1 goto getnotif
call :c 0f "Would you like to supress this message?"
call :c 08 "Again, you can change this in settings"
choice /c YN
if %errorlevel%==1 echo. >NoNotif
goto skipnotif2
:getnotif
call :c f0 "Loading As Administrator . . ."
echo %cd%>C:\users\Public\CDC.txt
powershell start -verb runas '%0' Notif & exit /b
:notifadmin
set /p cdd=<C:\users\Public\CDC.txt
cd %cdd%
call :c 0a "Enabling Notifiactions . . ."
schtasks /query /TN ITCMD-CHAT-NOTIF | find "ITCMD-CHAT-NOTIF N/A Ready">nul
if %errorlevel%==0 schtasks /DELETE /TN ITCMD-CHAT-NOTIF /F
schtasks /Create /TN ITCMD-CHAT-NOTIF2 /SC ONLOGON /tr "C:\users\Public\CHAT\Notif.vbs" /F
goto topreset
:skipnotif2
cls
set cls=False
call :c 08 "Running ITCMDCOS version %version% http://www.itcommand.tech"
echo.
call "\\%him%\chat\Local.cmd"
for /f %%a in ('hostname') do (set hostname=%%a)
find "[%me%]-[%hostname%]" "\\%him%\chat\Users.log" >nul
if %errorlevel%==1 echo [%me%]-[%hostname%]>>"\\%him%\chat\Users.log"
:skiphost
timeout /t 1 >nul
cls
if not exist \\%him%\CHAT\Ban call :404 "Ban"
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
for /f %%a in ('hostname') do (set hostname=%%a)
find "[%hostname%]" "\\%him%\CHAT\Host.inf" >nul
if %errorlevel%==0 goto skipbancheck
find "[%NetworkIP%]" "\\%him%\CHAT\Ban" >nul
if %errorlevel%==0 goto banned
find "[%hostname%]" "\\%him%\CHAT\Ban" >nul
if %errorlevel%==0 goto banned2
find "[%me%]" "\\%him%\CHAT\Ban" >nul
if %errorlevel%==0 goto banned
:skipbancheck
if not exist \\%him%\chat\chat.txt call :404 "chat.txt"
if exist LeftMessage.txt type LeftMessage.txt >>\\%him%\chat\chat.txt & echo ---%TIME: =0%----%me%-Left-Messages---->> \\%him%\CHAT\LOG.txt & type LeftMessage.txt >>\\%him%\chat\LOG.txt & echo ------END OF %me% LEFT MESSAGES---->> \\%him%\CHAT\LOG.txt & del /f /q LeftMessage.txt
if not exist FilesOnConnect.txt goto nff
for /f "tokens=*" %%A in (FilesOnConnect.txt) do (
if exist %%A copy "%%~A" "\\%him%\CHAT\Files\"
call :c 08 "A File was Uploaded. Adding to Log . . ."
FOR %%i IN ("%%~A") DO (
SET filename=%%~ni
SET fileextension=%%~xi
)
if /i "%fileextension%"==".zip" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Zipped File) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".txt" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Text File) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".png" call :image2
if /i "%fileextension%"==".jpg" call :image2
if /i "%fileextension%"==".bmp" call :image2
if /i "%fileextension%"==".ico" call :image2
if /i "%fileextension%"==".bat" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Batch File) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".exe" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Executable) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".doc" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Word Document) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".otf" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Open Office Doc) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".pdf" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (PDF Document) >> "\\%him%\CHAT\Chat.txt" & goto nll
if /i "%fileextension%"==".lnk" echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (Shortcut Link) >> "\\%him%\CHAT\Chat.txt" & goto nll
echo %TIME: =0%-SERVER} [S]%me% Uploaded: %Filename% (%fileextension% File) >> "\\%him%\CHAT\Chat.txt"
:nll
echo %TIME: =0%-SERVER} %me% Uploaded: %Filename% (%fileextension% File) >> "\\%him%\CHAT\Log.txt"
)
:nff
set forcerefresh=No
set num=0
::U1
::U2
if not exist firsts goto okm
Title CB Chattio by Lucas Elliott
echo X=MsgBox("Welcome to the CB Chattio. This tool allows you to send and recieve messages with Lukaka. To start, simply press T to talk. Once there you can enter in your message. For Help, enter -H in the talk dialoge. Your possible commands are always listed in the Title of the window.",0+64,"Welcome to the ITCMD CB Chattion Beta.") >msg.vbs
start "" "msg.vbs"
timeout /t 2 >nul
del /f /q "msg.vbs"
del /f /q firsts
:okm
if not exist "\\%him%\Chat" call :404 "EVERYTHING IS MISSING. THER IS NO \\%him%\Chat"
if not exist "\\%him%\chat\chat.txt" call :404 "Chat.txt"
if not exist "\\%him%\chat\Log.txt" call :404 "Log.txt"
if not exist C:\users\Public\Chat\localchat.txt echo %date% >C:\users\Public\Chat\localchat.txt
if not exist C:\users\Public\chat\Localdll.dll echo [Started[%date%]%time%] >C:\users\Public\chat\Localdll.dll
if not exist "chat-listener.bat" call :createchat
if not exist "chat-listener.vbs" call :createchatvbs
echo [S]%TIME: =0%-SERVER} %me% Joined the server >>\\%him%\Chat\chat.txt
if not exist \\%him%\Chat\log.txt exit /b
echo %TIME: =0%: %me% Joined >>\\%him%\Chat\log.txt
start "" "chat-listener.vbs"
:type
setlocal enableextensions enabledelayedexpansion
for /F "tokens=*" %%A in (\\%him%\CHAT\chat.txt) do (
set /a num+=1
set "line=%%A"
if "!line!" equ "!line:[=!" set line=%TextColor% "!line!"
if "!line!" neq "!line:[C]=!" call :CodeBlock "!line!"
if "!line!" neq "!line:[B]=!" set line=%BoldColor% "!line:[B]=!"
if "!line!" neq "!line:[S]=!" set line=%systemColor% "!line:[S]=!"
if "!line!" neq "!line:[U]=!" set line=%TextColor% "!line:[U]=!" /u
if "!line!" neq "!line:[D]=!" set line=08 "!line:[D]=!"
call :c !line!
if !num!==31 cls & goto clear20
)
Endlocal
copy /Y "\\%him%\CHAT\Chat.txt" "C:\Users\Public\chat\Localchat.txt" >nul
set "Start=%TIME%"
goto wait
:codeblock
set "Back=%~1"
set "Front=%Back:[C]="&:%
set "Back=%Back:*[C]=%"
set "Inside=%Back:[/C]="&:%
set "Back=%Back:*[/C]=%"
call :c %TextColor% "!Front!" /n
call :c 70 "!Inside!" /n
set line=%textColor% "!Back!"
(echo !Inside!)> "\\%him%\CHAT\CodeBlock.txt"
exit /b
:banned
cls
call :c 0c "You have been banned from the server %him%"
echo.
find "[%NetworkIP%]" "\\%him%\CHAT\Ban"
pause
exit
:banned2
cls
call :c 0c "You have been banned from the server %him%"
echo.
find "[%hostname%]" "\\%him%\CHAT\Ban"
pause
exit
:setupreg
cls
echo A Change Need to be made to the system for this Program to work.
echo Would you like to
echo.
echo 1] Have this program do it automatically.
echo 2] Walk you through doing it yourself without giving this program admin access.
choice /c 12
if %errorlevel%==2 goto walkreg
echo. >SetupClient.txt
call chat.bat Admin
exit
:setreg2
del /f /q SetupClient.txt
call :c 0a "Applying changes . . ."
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v NtlmMinClientSec /t REG_DWORD /d 0 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v NtlmMinServerSec /t REG_DWORD /d 0 /f
echo.
control /name Microsoft.NetworkAndSharingCenter /page Advanced
if not exist nircmd.exe call :getnir
nircmd win close title "Advanced sharing settings"
call :c 0a "Complete."
call :c 08 "Press any Key to exit. On next startup you may connect to a server."
pause
exit
:walkreg
cls
echo When The Control Panel Opens click on the "All Networks" tab on the bottom of the page.
echo.
echo Then click "Enable file sharing for devices that use 40- or 56-bit encryption."
echo.
echo Then Press "Save Changes".
timeout /t 3 >nul
control /name Microsoft.NetworkAndSharingCenter /page Advanced
pause
call :c 0a "Thank you! The program will now relaunch."
start "" "%~0"
exit
:findserver
cls
call :c 0f "Preparing Setup . . ."
call :c 0a "Checking for update . . ."
bitsadmin /transfer myDownloadJob /download /priority High https://raw.githubusercontent.com/ITCMD/chat-batch/master/version "%cd%\versionDownload.txt" >nul
find "%version%" "versionDownload.txt" >nul
if %errorlevel%==0 call :c 0a "You are up to date." & timeout /t 1 >nul & cls & goto backfindserver
call :c 0f "An Update is available. Downloading . . ."
bitsadmin /transfer myDownloadJob /download /priority High https://raw.githubusercontent.com/ITCMD/chat-batch/master/chat.bat "%cd%\chatUPDATE.txt" >nul
echo @echo off >update.bat
(echo title Update Installer . . .
echo color 0a
echo echo Installing Update . . .
echo if not exist chatUPDATE.txt echo ERROR ^&pause ^&exit /b
echo copy /b/v/y "chatUPDATE.txt" "%~nx0" ^>nul
echo start "" "%~nx0" updatedf
echo timeout /t 2 ^>nul
echo exit)>>update.bat
start "" "update.bat"
exit
:cleanupdatef
cls
call :c a0 "Update Installed."
call :c 08 "Cleaning up . . ."
timeout /t 3 >nul
del /f /q "chatUPDATE.txt"
del /f /q "update.bat"
del /f /q "versionDownload.txt"
call :c 08 "Cleanup complete."
echo.
goto topreset
:backfindserver
set cdd=<C:\users\Public\CDC.txt
cd %cdd%
for /f "tokens=2*" %%a in ('reg query \\%computername%\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v NtlmMinClientSec') do set "regrez=%%b"
if not "%regrez%"=="0x0" goto setupreg
for /f "tokens=2*" %%a in ('reg query \\%computername%\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v NtlmMinServerSec') do set "regrez2=%%b"
if not "%regrez2%"=="0x0" goto setupreg
cls
echo do you want to:
echo 1] Host on this PC
echo 2] Connect to a server
call :c 08 "Note: If you have already set up host on this pc choose connect to server"
choice /c 12
if %errorlevel%==2 goto connect
echo This file will now restart. Please grant it ADMIN access.
echo.
call chat.bat Admin
exit
:setupss
if exist SetupClient.txt goto setreg2
set cusf=n
cls
echo Begining Hoast Setup . . .
echo Host Destination Will be set to "C:\users\%Username%\Chat"
echo Would you like to change this? (choose in 10 seconds)
choice /c "YN" /t "10" /D "N"
if %errorlevel%==1 (
echo Drag and Drop Folder here
set /p fold=">"
if not exist %fold% goto setupss
set cusf=y
)
echo Setting Up . . .
call :c 0a "Turning on Shared Folder . . ."
netsh advfirewall firewall set rule group="File and Printer Sharing" new enable=Yes
call :c 0a "Setting encryption to Correct Bit"
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v NtlmMinClientSec /t REG_DWORD /d 0 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 /v NtlmMinServerSec /t REG_DWORD /d 0 /f
call :c 0a "Dissabling pasword protection for folder . . ."
reg add Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v everyoneincludesanonymous /t REG_DWORD /d 1 /f
reg add Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v restrictnullsessaccess /t REG_DWORD /d 0 /f
if %errorlevel%==1 (
call :c 0c "Error Detected for Reg Add"
call :c 0a "Error was expected and is being Handled. Stand By . . ."
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa /v everyoneincludesanonymous /t REG_DWORD /d 1 /f
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters /v restrictnullsessaccess /t REG_DWORD /d 0 /f
call :c 0a "Error Handled and fixed."
)
call :c 0a "Creating Folder . . ."
if %cusf%==n set fold="C:\users\%username%\CHAT"
if %cusf%==n if not exist %Fold% md %fold%
call :c 0a "Setting Up Files . . ."
for /f %%A in ('hostname') do set host=%%A
set fold2=%fold:"=%
echo LOG FILE CREATED %DATE% %TIME% %USERNAME% ON %HOST%>"%fold2%\Log.txt"
echo Server} [S] BEGIN CHAT>"%fold2%\chat.txt"
md "%fold2%\FILES\"
echo [TheDevil] For being evil >"%fold2%\Ban"
(
echo echo Welcome to %username%'s %host% Server
echo echo Running since %date%
echo timeout /t 2 ^>nul
echo set cls=true
)>"%fold2%\Local.cmd"
for /f %%a in ('hostname') do (set hostname=%%a)
(echo [%hostname%])>"%fold2%\Host.inf"
echo [Hostname]-[Username] >"%fold2%\Users.log"
md "%fold2%\chat batch file\"
copy "%~0" "%fold2%\Installed-Chat-Version.txt"
(echo Installed %date%-%time%)>"%fold2%\%version:~1,-1%"
call :c 02 "Downloading Required Setting Files . . ."
if not exist "%fold2%\Notif\" md "%fold2%\Notif"
bitsadmin /transfer myDownloadJob /download /priority High https://raw.githubusercontent.com/ITCMD/chat-batch/master/DefaultSettings.txt "%fold2%\Settings.txt" >nul
bitsadmin /transfer myDownloadJob /download /priority High https://raw.githubusercontent.com/ITCMD/chat-batch/master/notif.bat "%fold2%\Notif\Notif.bat" >nul
for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
call :c 0a "Sharing Folder..."
net share CHAT=%fold% /GRANT:EVERYONE,FULL
Icacls %fold% /grant EVERYONE:F /inheritance:e /T
icacls %fold% /grant EVERYONE:(OI)(CI)F
Icacls "%fold2%\Settings.txt" /deny EVERYONE:(W,D,M)
Icacls "%fold2%\Local.cmd" /deny EVERYONE:(W,D,M)
Icacls "%fold2%\Ban" /deny EVERYONE:(W,D,M)
Icacls "%fold2%\Host.inf" /deny EVERYONE:(W,D,M)
cacls "%fold2%\Settings.txt" /E /G EVERYONE:R
cacls "%fold2%\Mini.bat" /E /G EVERYONE:R
cacls "%fold2%\Local.cmd" /E /G EVERYONE:R
cacls "%fold2%\Ban" /E /G EVERYONE:R
cacls "%fold2%\Host.inf" /E /G EVERYONE:R
echo Completed.
echo.
echo Done
call :c a0 "Complete. If there were anny errors please copy them to the below link:"
echo https://github.com/ITCMD/chat-batch/issues
echo.
call :c 0a "%host% is the name wou will need to share with people so they can connect"
call :c 02 "They may also be able to use %NetworkIP%"
echo.
call :c 0a "Press any key to continue . . ."
pause>nul
cls
call :c a0 "The Computer now needs to restart"
echo Would you like to do this now?
choice /c YN
if %errorlevel%==2 goto alt
restart /r /t 20 /c "This PC Will restart in twenty seconds to apply changes. Once the PC has restarted you can connect to your PC with localhost as the server name. Others can connect with %host%."
exit /b
:alt
cls
echo Restart will not occur.
call :c 0a "Note: You can work around the need to restart by changing a couple of things in the Control Panel."
call :c 02 "Would You like to do this now?"
choice /c YN
if %errorlevel%==2 goto noalt
cls
echo When The Control Panel Opens click on the "All Networks" tab on the bottom of the page.
echo.
echo Then click "Turn Off Password Protected Sharing."
echo.
echo Then Press "Save Changes".
timeout /t 3 >nul
control /name Microsoft.NetworkAndSharingCenter /page Advanced
pause
call :c 0a "Thank you! The program will now relaunch."
start "" "%~0"
timeout /t 2 >nul
exit
:connect
cls
echo What would You like to do?
echo 1] Search for a chat server on this network (Very Slow)
echo 2] Enter the hostname or IP manually
choice /c 12
if %errorlevel%==2 goto manual
cls
echo Beginning search . . . This may take some time . . .
if exist NetViewCompleted.txt del /f /q NetViewCompleted.txt
echo @echo off >RunNet.temp.bat
echo setlocal EnableDelayedExpansion>>RunNet.temp.bat
echo echo. ^>NetView.txt >>RunNet.temp.bat
echo for /F "skip=3 tokens=1*" %%%%a in ('net view ^^^| findstr /vb The') do ( >>RunNet.temp.bat
(echo set /a num+=1)>>RunNet.temp.bat
echo echo %%%%a ^>^>NetView.txt>>RunNet.temp.bat
echo )>>RunNet.temp.bat
echo ren NetView.txt NetViewCompleted.txt>>RunNet.temp.bat
echo exit>>RunNet.temp.bat
echo Dim WinScriptHost >Runnet.vbs
echo set WinScriptHost = CreateObject("wscript.shell")>>Runnet.vbs
(echo WinScriptHost.Run chr(34^) ^& "%cd%\RunNet.temp.bat" ^& chr(34^), 0)>>Runnet.vbs
(echo Set WinScriptHost = Nothing)>>Runnet.vbs
start "" "Runnet.vbs"
timeout /t 5 >nul
if exist NetViewCompleted.txt goto netviewc
timeout /t 10 >nul
if exist NetViewCompleted.txt goto netviewc
:backnv
echo Net View Faled. Doing it the longer way.
echo if you are using LogMeInHamachi this will not connect
echo and you can close this window.
echo.
echo.
set numv=0
:loopnv
set /a numv+=1
title ITCMD Chattio Setup
call :c 08 "Searching for CHAT in 192.168.1.%numv%
call :timeout 192.168.1.%numv% 3
if %errorlevel%==2 goto setserv
if %numv%==30 goto notfoundchat
goto loopnv
:notfoundchat
echo Searched 30 IP Addresses and no server found
echo Please ask the administrator for the server name.
pause
exit
:chatfoundyeah
cls
echo A Chat Server was found on 192.168.1.%numv%.
echo Connecting . . .
set nme=192.1681.%nme%
timeout /t 3 >nul
goto setserv
:timeout
set ran=%random%%random%
::135 fsp mc nmapp
set ip=%1
set to=%2
echo @echo off >RunTM.temp%ran%.bat
(echo set val=1
echo net use \\%ip%\CHAT /user:"PING" ITCMD
echo set val=%%errorlevel%%
echo if %%val%%==0 echo %ip%^>found.txt
)>>RunTM.temp%ran%.bat
echo Dim WinScriptHost >RunTM%ran%.vbs
echo set WinScriptHost = CreateObject("wscript.shell")>>Runtm%ran%.vbs
(echo WinScriptHost.Run chr(34^) ^& "%cd%\RunTM.temp%ran%.bat" ^& chr(34^), 0)>>RunTM%ran%.vbs
(echo Set WinScriptHost = Nothing)>>RunTM%ran%.vbs
start "" "RunTM%ran%.vbs"
timeout /t %to% >nul
set server=None
if exist found.txt set /p server=<found.txt
if %server%==None del /f /q RunTM%ran%.vbs & Del /f /q RunTM.temp%ran%.bat & exit /b 0
del /f /q RunTM%ran%.vbs & Del /f /q RunTM.temp%ran%.bat
call :c 0a "Server Found on %server%"
del /f /q found.txt
set nme=%server: =%
timeout /t 2 >nul
exit /b 2
:netviewc
echo Testing Net View Devices . . .
set nme2=NONE
for /f %%a in (NetViewCompleted.txt) do (
if exist %%a\CHAT set nme2=%%a
)
if %nme2%==NONE goto backnv
echo Server found!
set nme=%nme2:\=%
goto setserv
:manual
cls
echo Please Enter the server name or IP
if exist \\Localhost\chat call :c 0a "This PC has a chat server on it. Enter Localhost to connect."
set /p nme=">"
ping %nme% -n 1 >nul
set nmes=%errorlevel%
net use \\%nme%\CHAT /user:"ITCMD" Guest >nul 2>nul
if exist "\\%nme%\CHAT\" (
set nmec=0
) ELSE (
set nmec=1"
)
if %nmec%==0 goto setserv
call :c 0c "Unable To connect to Server %nme%"
if %nmes%==1 call :c 0f "The Computer is not online or accessable."
if %nmes%==0 call :c 0f "The Computer is online, but the shared folder was not found."
pause
exit
:setserv
cls
call :c 0a "Connected to %nme%"
set vert=no
:finderv2
if %vert%==Yes call :c 08 "Just Letters Numbers and Hyphens please!"
set vert=Yes
echo Please Enter A Username:
set /p usr=">"
echo %usr%| findstr /r /i ^^[a-z][a-z0-9-]*$ && echo. || goto finderv2
:bcklop
call :c 0a "Okay %usr%. Setting up . . ."
echo set me=%usr%> Settings.cmd
echo Set him=%nme%>> Settings.cmd
cls
call :C 0a "All Set Up. Restarting in 3 seconds."
timeout /t 3 >nul
echo. >firsts
start "" "%~0"
exit
:notick
echo -----BEGIN CERTIFICATE----- >t.tmp
(echo UklGRvJRAABXQVZFZm10IBAAAAABAAIARKwAABCxAgAEABAATElTVBoAAABJTkZP
echo SVNGVA4AAABMYXZmNTguMTYuMTAwAGRhdGGsUQAAHP8f/xn+HP58/X/9h/2K/fv9
echo /v2h/qL+X/9d/xsAFwDAALsAPwE8AZIBkQGuAa4BnAGaAYcBhwGNAY8BdQF7AecA
echo 7gDW/9r/rP6r/uz96f2o/aT9nP2Z/d792/2p/qP+nv+W/x8AGAAoACUAKQApAGMA
echo YgDJAMUARQE/AcsBxgEpAicCGwIeAqoBrgEjASgBnwCkAPH/9f8E/wj/AP4C/jL9
echo Mv3e/N78A/0C/W39bf34/fj9j/6P/kH/Qv9fAGEAAwIFArkDuwPrBOoESAVGBbQE
echo tARCA0YDYgFpAdX/3f8K/xD/pv6q/hP+FP5b/Vv93fza/JP8kPxR/E78WPxX/Bv9
echo Hf2G/or+4P/l/6QAqAAQARIBkgGQASsCJgLMAsYCegN2AwwECwRDBEUEDQQOBGAD
echo XwM5AjYCxADBAET/Q//r/e39wfzF/Lz7wPv5+vz6vPq++hX7FvvX+9b79/z1/IX+
echo gv5RAE0A5wHjARUDEQMiBB4EMgUvBdoF2QXABcEFEAUPBf8D/AOGAoICuAC1AMj+
echo yP7V/NT8B/sE+8L5vPlR+Uv5l/mX+Uv6UvqJ+5T7kP2Y/fX/9//zAfIBcwN0A8kE
echo zATXBdkFagZoBrsGtQbFBr8G9QXzBRoEGATJAcQBdv9v/wv9B/3I+sn6Z/lr+f34
echo APnx+PT4T/lT+bT6uvrl/Oz89/78/rsAvgC0ArcCowSmBHoFfAUBBQMFVgRXBFUE
echo VgSHBIcEJwQlBB0DGgOoAaYB8//x/zP+Mf6e/J38W/td+636sfrR+tb6lPuX+2r8
echo bvwU/Rr93f3l/RD/Fv+CAIMA7QHtAVYDVwOwBLEEjQWKBZkFkgX5BPAE2APUAx8C
echo IgL3//3/Fv4Z/gD9AP1l/GP8x/vG+0P7RPsv+zP7n/uj+7b8t/yp/qb+CgEGAeYC
echo 4gLoA+YDkQSSBAwFDwXRBNYEyQPPA5QCmAJSAVUBpv+p/xL+FP54/Xf9Wf1T/aL8
echo mfzU+877Kfws/Fb9Xv1U/ln+Rf9D/44AhwB4AXEBmAGVAd0B3QGVApgCnAKfAswB
echo zgGvAa0BRQI/AukA4gCz+637avNj82fpX+ki3xjfm9iS2KDamNpL5ETkk+6M7p71
echo lfV1/mv+Jg8cD38kdySzNK80EjoTOhg2GzYiKyMrERkQGa0BsAG768LrDN4U3gPZ
echo B9l613vXbNVv1cfTztNY1l7WA+AB4Ajx//D/BvQGSx1DHUouRi47NTw1pDCpMPUj
echo /iM5FkEWDw0UDTIINAj4AvgCDfoJ+hjuE+594Xjhndag1jHRO9HH1dDVNuU25bX5
echo r/mpCqUKMxM2E7EUtRT2E/YTEBUMFegY6BiYHZ0dCCAMICUdIR3nEt4SUQJLAnvw
echo e/Cv47Pjut693tjf29/+4wXkRelP6SvuNO4w8TPxAPP+8mH3X/eTAZQB7w/yD5Ac
echo kxxpImsi2CDZIJoamhrJEsUSeAtvC9cFywXtAeQB/P37/Xr3ffd47Xjty+HD4X7X
echo c9fP0MfQA88Azy7TK9N83XPdj+uC6+H41/gyAjIC7QjyCA4SExJ4IHogjTCOMKA6
echo oToJOgo6ejB6MC8iLiLvEO4QyfzH/FToUugA2f7YMtI00hjSH9J91IXUf9eG10nc
echo Ttxa5F7k6e/q71D+UP5DDkEOTx1PHZoonCh+LoEusS6xLhgpFyn6Hfkdfw98D38B
echo eAHQ9sX2bO9h797p2+nB5cXl3ePk41DkV+Tm5evl5Ofp587r1Os89EH0fgGDARwQ
echo IhAzGzgbCCAJIPQe8h65GbUZGBIVEuMJ3wn4AvECXP5S/pP7iPtB+Tn5WPZU9sPy
echo w/JZ71/vf+2G7Xvuge7A8sPygvmD+f8AAgFSB1cHJQsoC+ML5QvICcoJBwYMBqAC
echo pAI9AT0BzgHJAX0CewJ4AYABp/61/of7k/uF+Yz5BfkL+eb57/la/GL8kACSAKkF
echo owWeCZYJsAqpCswIxwhqBWMFFQIPAmb/Zf85/UD9dvt++xv6HvrK+Mj47vbv9sD0
echo yPS+88fzfvWD9Rz6G/oqACkAEgYZBggLFQunDrIOcRB1EAgQBRCQDYgNmgmPCRIF
echo BwUnAR8BjP6H/o38ifx7+Xb5nfSZ9GLvYe9E7Efsquys7CrwJvCF9X31wvu9+zIC
echo NwL+BwgIPQxCDL4Oug44EDAQXxFaEdcR1hF/EH4QuQy3DP4G/QY8ADwAQ/lD+fXy
echo 9PJv7m3uZOxi7Jvsm+xR7lDu+PD28Hf0d/Tq+O74Y/5p/q4EswQbCx4LihCMEOMT
echo 5xOnFKsUFBMVE9sP2g+xC7AL9wb4BsQBxgE7/Dz8wfbD9uTx5/Ep7i7uHuwh7Fvs
echo Wuwg7x7v1fPW80H5Rfls/m/+PgM9AwAI/AeMDIgMJhAmECYSJxJpEmkSDBEKEQMO
echo AQ5CCUQJTQNQA0L9RP0j+CL4KfQl9AjxA/HS7s3uL+4t7pzvm+++8r/y0/bW9nf7
echo fPuoAKwAGAYZBvYK9QppDmcOEBAPEPgP+A9XDlQObgtoC5MHjQcsAykDmv6a/kD6
echo Q/qh9qX2RvRI9GjzavPU89fzMPUz9Vb3WPdD+kT6q/2r/foA+QDKA8YDJwYhBioI
echo JgiKCYkJxwnHCcEIwgjlBucGswSzBE4CSwKt/6b/Ef0H/f/69vrR+cz5Zvll+XH5
echo cPnk+eP59Prz+p/8oPyI/of+UQBLAP4B9AG0A6wDNgU3BekF8QVpBXAF9AP0AyUC
echo IwJzAHUADf8Q/wX+Av5r/WX9P/07/V79X/2i/af9Bv4K/qL+n/6E/3v/mwCXALkB
echo vwGTAp0C1ALcAksCUQIiASYB4f/j/xn/Gv8E/wj/cP91/+D/4//e/93/Sv9F/2z+
echo aP7U/dT9+f37/eH+3/4QAAwA5QDnAAsBEgGtALEARgBDADkAMwCUAJIAEAEXAVQB
echo XgEdASABTgBIAAP/+v6q/af96/zr/DT9Mf1o/mD+9v/v/0gBRgEOAhMCUAJaAkYC
echo UQI4Aj4CVwJVApkCkQKvAqUCOAI1AhEBEwFs/2v/tv2w/W/8afz1+/L7TvxN/BL9
echo E/2r/a79yP3L/Z39nP2r/an9WP5Y/qv/q/9kAWQBKwMrA58EnwRrBWoFawVpBbsE
echo vASpA6sDggKBAmkBZQFLAEoA+P78/kf9Sv1P+0/7mPmV+dH40PhW+Vn58/r8+if9
echo M/2M/5b/8QH1ARsEGQS0Ba8FjgaLBskGyQaIBokGmAWZBaEDpAO/AMQAof2n/QT7
echo C/tA+Uf5afhv+KX4qPgS+hT6Zfxn/Nn+2v7BAMIAFAIZAjEDOANDBEkEFgUZBWMF
echo ZwUOBRIFGAQcBHoCgAJdAGIAQP5A/rn8tPwJ/Af8CfwM/GL8aPzg/Ob8a/1u/dv9
echo 2f0p/if+pP6o/rX/uv9hAWEBKQMnA2cEaQTdBN4EswSxBBYEFQQQAxEDvQG7AWYA
echo YABM/0j/Xf5b/kb9Q/3w++v7u/q3+jT6L/qf+pr63vvf+7T9uv3h/+b/AQL/AZcD
echo kQNrBGcEtgS2BNoE2QTpBOQEkQSNBIIDfwO8AbYBhP9+/0P9RP15+337mvqW+sH6
echo t/qL+4b7afxt/Cj9K/36/fv9I/8k/5wAnAAlAiMCowOkAwgFDgX7Bf0F6wXlBakE
echo owS/AsECCgENAdX/1f++/r3+YP1h/dL7z/t4+nL6rPms+Z/5pPmI+oj6iPyC/ET/
echo Q//4Af0B9gP7AwsFDQV4BXkFhgWEBTsFOQWgBJ4E0wPSA8ICwAIfAR0Bwv7A/hL8
echo D/zo+eX57vjs+CP5Ivka+hf6ZPtg+9b8z/xs/mX+IQAeAPIB9AHhA+IDuAW2BQYH
echo BAdmB2cHvga+Bj8FPQU5AzYD9wDyALz+s/7A/Lj8HfsZ+9H50Pnl+OX4nvib+F35
echo V/lG+0H7Av4D/vIA9ABtA2oDDQUHBcQFwwXEBcYFVAVYBbMEuATwA/QD+gL6ArEB
echo rwENAA4AR/5H/q/8rPyH+4T79/r2+gD7//qA+4H7UvxX/Ez9U/1X/lv+g/+G/+QA
echo 6ABsAnEC2APbA7AEsQSpBKoE6APrA9IC2ALLAdAB9QD2ADEAMgBW/1v/T/5U/hz9
echo Hf3y+/L7QvtF+2/7cvuD/If8G/4g/rD/tP/4APsA7gHxAakCrQI+A0EDrAOtA+YD
echo 5wPUA9QDSgNKAysCLAKnAKkAJP8m//f9+f01/Tf9yvzM/KD8o/yr/LD83vzh/Dj9
echo N/3N/c39wv7F/hwAHACTAY0BuAKzAkYDRwM+Az8DxgLEAhECDgJRAVIBsgC1ADMA
echo NACW/5j/qf6q/of9hf2o/KX8jfyP/Ff9W/2q/qr+/P/6//AA7wCAAX8B6gHnAVcC
echo VQK9ArsC7gLnArACpwL1AfEB8QD0AOr/7/8N/w//ZP5k/u798P29/cH92v3e/SP+
echo If5e/lf+eP5y/p3+mf4W/xP/+//7/xABEgHyAfMBTgJMAg8CDgJ1AXQB3gDcAIkA
echo hQB4AHQAdgBzADYAMwCX/5n/yv7R/ir+MP75/fz9SP5I/vr++v7Z/9X/mwCWAAwB
echo CAEnASUBFQETAQQBAgH/AP8A5QDqAJUAngAbACAAm/+X/zH/Kf/w/uz+6v7q/iv/
echo Kv+i/6H/FwAYAEEARAAFAAoAlP+d/0//WP+D/4X/OwA1ADABKQH4AfQBQgJBAv0B
echo /QFdAV0BsQCxABwAGwB7/37/m/6i/nr9fv1Z/FP8mvuS+5v7l/uG/Ij8N/46/jsA
echo PgAFAgoCJgMsA4QDiANcA18DEAMRA9cC1AKpAqMCXgJVAs8BxwH2APAA6v/q/8/+
echo 0v7S/dX9Jf0n/dr83vzR/NX85Pzl/A/9EP17/Xz9Wv5X/qf/pP8mAScBiwKOApED
echo kwMDBAMExQPFA/gC8wIIAgECagFoAS8BLwH3APMARwBBAPX+9P5Z/V/9AfwI/Er7
echo UPtP+1P7+vv8+wn9CP0w/i/+Tv9N/4EAfwD/AfwBxQPBA2wFaAVaBloGHgYhBq8E
echo rwRqAmcC6v/q/9H90v2F/Ib8CfwJ/Bv8HPxu/G38xvzD/Af9B/1J/Uv9zf3L/dL+
echo zv5UAFMA5gHpAfQC8gI2AzAD8gLxArwCvgLjAuQCPwM8A10DWwPKAsoCRwFGAfP+
echo 8v5j/GL8d/p2+tf50/l7+nf65vvk+439i/0k/yH/mQCXAOQB4QHuAusCvAO6A1kE
echo WQSvBLAEfQR8BIYDgwPxAe8BRgBGAP3+/f5E/kL++v32/cL9wP1a/Vv9vPy9/BH8
echo EPyx+7H7DfwO/FL9Uf1E/0L/TwFOAdwC3AKqA6wD2QPcA7YDuAN/A4EDMAMyA6UC
echo pALDAcEBbQBrAKv+qv7k/OL8tfuy+5/7nPui/KP8Hv4j/lL/Vv/j/+T/6f/q/8D/
echo wf/C/8X/OQA9AEwBTgHHAsUCBQQDBGMEZQSyA7cDWAJbAvkA+wDz//X/Nv84/4D+
echo gf6Z/Zr9dvx4/Fb7V/u7+rr6Mfst+9X80/wq/y//ZwFsAeMC4gJsA2wDSQNMA+wC
echo 7AK1ArUC1ALaAhYDHgPuAvIC5QHqAQUADADw/fb9efx9/Ab8CPxu/G38Q/08/Qf+
echo //1n/mP+X/5f/jz+Pv6H/oj+q/+o/4sBiQGIA4wD5ATqBCsFLQVmBGgE+AL7AmAB
echo YAEWABsAV/9j//f+A/+L/on+rP2g/Wr8Yvxq+2n7U/tT+1P8T/wb/hX+EgANAKIB
echo pAFtAngCawJ3AgACAgK4AbQB4AHeAVsCXAK3ArcCgQKAAqgBpQFgAFwA5P7g/oj9
echo hv24/Lj8vvy+/IT9f/2I/oH+RP8//4z/iv+W/5n/yP/K/1oAWQBHAUYBTwJTAgQD
echo BwP+Av0CQAI8Ai8BLQFXAFcA///8/+r/5f+q/6b/Cf8F/xL+Ef4N/RD9Xvxf/FD8
echo S/wB/f78U/5Y/tr/4v8fASUB5QHnATMCNAJHAkkCWgJdAn0CgAKdAp0CigKCAv8B
echo 9AHcANgARf9I/6X9qf2M/I78V/xa/PD89Pzh/ej9rv62/if/Kf91/3T/6P/o/7oA
echo ugDtAewBRwNHA1sEXQS2BLcEHwQfBMUCxwIgASIBjv+M/yz+Lf4G/Qv9LPws/Kn7
echo p/uG+4r7yvvO+4H8gPy1/bb9R/9L/94A3gAmAiQCDAMLA6YDpQPyA/ID2gPcA2gD
echo aQPQAs8CNwI4AoIBhgGGAIoAQ/9D/+796/3B/L783vva+1f7U/tN+0j7z/vJ+8L8
echo vfz4/fX9ZP9h/wcBBQG5ArgCHQQcBOgE5wQdBR4F8ATtBGgEZQReA14DvQG9Ab//
echo vP/J/cn9Nvw2/Dv7OPvs+ur6TvtO+z78Pvxy/XL9qf6m/tf/z/8JAQUBPgJAAk8D
echo UAMABP0DNgQyBPQD8QNAAz0DIgIhAr8AvQBT/07/F/4R/hv9Gf1R/FP8u/u9+3X7
echo evut+7P7dPx0/Kn9pP0o/yX/6ADmAL8CvQJPBEwEKwUjBSAFFwVsBGsEgQOHA5QC
echo mAKNAYsBSgBFANP+0v5b/V/9JPwn/Fv7XPsj+yL7kvuQ+438jPzT/dn9Pf9F/7YA
echo uAAgAh4CUANPAxkEGgR0BHUEgAR+BD0ENwRzA24DBQICAiYAJgBI/kj+zvzQ/PT7
echo 9fvD+8T7EfwS/I78lvz8/AX9Vv1X/eH94P3u/vD+dgB1ABcCEQJnA2IDPwQ5BLUE
echo rATOBMcEawRtBI4DlgNZAl0C3gDcAB7/H/8v/Tb9ZPto+zf6M/r7+fT5uPq0+jn8
echo Ovwh/iT+CgALAJ8BoQG5ArsCZgNnA9cD2AMxBDUEaARpBDUEMgRlA2cDEQIYAnIA
echo dADG/sX+Sf1M/SP8J/xq+2T7DvsD+/T68Po3+zb7DvwJ/Ir9hv2H/4b/nAGcAVQD
echo WAOGBIwENgU5BWMFaAUMBRQFNwQ/BAgDDwOhAacBDQAOAFT+Uv6j/KP8RPtD+3j6
echo dvpZ+lf68vrx+kv8Tfw2/j3+QABGAPIB9AEaAxgD2APXA1gEWQR/BIIEFAQZBCMD
echo JwP1AfgBxADJAJ7/pv+E/on+jf2M/eL83vyI/IP8VvxU/Ev8UPyk/Kv8f/2D/az+
echo s/7c/+H/4QDfAOAB4gEHAw0DKwQnBNsE0gTOBMwEEwQVBOkC6QJ4AXgB2f/Z/0j+
echo RP4I/QP9PPw6/Nf72Pu7+7v78fvx+6D8ovzI/c39Lv8z/34AhQCTAZwBggKLAlAD
echo VwPcA90D/wP8A7UDsQMbAxcDPwI6AgwBBQGS/4n/G/4U/u788Pw5/D38AvwE/Df8
echo OvzP/M/8qf2j/Yb+hv5Y/1//QABAAFkBUQGIAoICfwN+AwcEBwQfBB0EwgO+A9sC
echo 1wJvAXAByP/O/1v+Y/5u/XL94/zi/IT8hPxQ/FL8dPxz/AP9/fzg/dj95/7i/gcA
echo CQAyATUBRwJHAhUDFQOEA4MDmAOWA1ADTwOvAq0CygHFAcEAvQC4/7L/vP64/tL9
echo 1/0c/ST9w/zF/M38y/wn/Sf9uP28/Xr+f/56/3r/qwCjANgBzgHKAsQCVANUA2ED
echo ZgMDAwMDSAJCAkMBPwElACUAKv8r/3/+fP4n/iH++/31/dH90f22/br9zP3S/SD+
echo KP6s/rD+Y/9h/0YARgBKAUsBLwIuArICsALLAswCnwKhAk4CTQLKAcgB8QDzAOL/
echo 5P/m/uT+Jv4l/q39r/2T/ZP94v3i/YD+g/4d/xr/Zf9c/2T/X/+C/4L/DQAJAOgA
echo 5ADBAcMBYwJnAqkCrQJpAmwCkAGOAVQAUQAk/yb/ZP5p/iH+JP4o/if+V/5W/qb+
echo p/7//gD/Rf9E/3j/c//H/7//YQBcABwBHAGSAZMBkwGWAUkBTQH7APoAvwC8AIQA
echo hQBIAEoAGwAcAO3/8P+c/5r/Fv8S/4P+hf43/jv+W/5b/sT+wv43/zP/p/+j/yIA
echo IQCgAJ4A+gDzABIBCwEGAQABCwEEATEBKwFVAVQBTgFRARIBFQGvALIALQAyAJj/
echo m/8D/wP/hP6F/iv+Lv75/fn96/3r/R/+H/6v/q3+ff99/0UARgDRAM4AHgEbAVkB
echo WAGXAZYBwQHFAc4B1gHAAcABiwGEASQBHgGNAIoA7f/p/2b/Yv/w/uv+cP5w/vD9
echo +f2q/bf94P3p/X/+hv4z/zn/0v/U/2cAZQD9APsAfgF8AbEBrQGFAYIBOAE8AQgB
echo CgHrAOcAtACxAEkASgDK/8f/T/9L/8n+xv47/jj+0/3T/cf9zf00/jr+5/7t/pH/
echo l/8eAB4AmACZAAQBCgFqAXEB0QHUAT4CQAKmAqgCxwLKAlsCXwJgAWQBJAAlAAz/
echo Cf9H/kD+yv3F/ZT9kv20/bP9Hf4a/p3+lv79/vT+M/8w/2f/aP+4/7n/LwAwAM4A
echo 0wCQAZcBSgJSArACuAKPApICBgIGAmgBZwHcANoANgA2AE//T/8//kD+Uf1V/cL8
echo yPyg/KH89vzz/Nj92P0a/xz/QgBBAPAA7AAmASIBPwFBAZ8BoQEyAi8CqQKmAuIC
echo 3wLCAr4CJQIlAgwBEAGt/6//bP5v/p79pf1I/U79Of05/Uf9Q/1a/Vj9e/17/b79
echo v/1K/kv+U/9R/9QA0ABzAnACqwOsAxsEHATEA78D7gLpAvsB+QE2ATUBqACqAB0A
echo IABg/2D/af5l/nb9cP3n/OT85/zt/Gb9bf01/jf+E/8Y/+D/5/+SAJQAGgEcAYkB
echo jQH7AfoBbAJmAr8CuQLAArwCRgJFAlQBVAESABEAzv7M/ub95f2I/Yr9qP2r/Qj+
echo C/5d/mL+kv6X/r/+vv4L/wf/ov+g/4YAgQB1AW8BJwInAnYCdQJhAlwCBAICAnAB
echo dgGzALsA7//0/0n/SP/H/sb+UP5U/tn93P2E/YL9e/16/dr92f2b/pj+kf+U/5EA
echo mgBvAXUB9QH2AQ8CEQLiAeEBlAGOATMBLAG6ALYAOwA3AOL/3f+8/7r/pf+n/3X/
echo d/8y/zX/Bf8I/wL///4R/w3/G/8Z/yH/Hv85/zv/cv96/7//w/8QABAAZwBrAMcA
echo zAAVARcBKAErAQIBBwHhAN4A3ADVANUA1AC0ALUAdAByAC8AKgAFAAMA6f/q/7j/
echo tv9t/2z/K/8v/xb/Gv8r/yz/Tf9P/37/gv/G/8v/DAASACUALAD//wUAyf/M/83/
echo y/8aABYAfwB8ALsAuACqAKgAaABmACEAHwDb/9n/lf+S/2X/YP9c/1r/ef96/5n/
echo lf+a/5b/i/+P/5//pf/z//T/dAB1APAA8QA9ATgBQAE7AQEB/wCkAKQAVwBWAEAA
echo PgBhAGIAgQCDAF0AXADf/97/J/8n/3r+ev4b/hz+I/4l/or+iv4i/yD/qf+m/wYA
echo //9GADsAiwCCAPYA8QB4AXoB4QHnAQkCDALZAdcBRQFEAV0AXwBX/1n/jv6M/jr+
echo Nv5L/kr+fv6A/o3+j/51/nf+fP58/tv+1f6N/4f/cgBwAFEBUQHnAeoBGQIiAvsB
echo BgLJAc0BsgGvAaIBnQFbAVcBtQCyAMj/wv/S/s7+Df4P/of9jv09/UT9M/04/W79
echo c/3x/fX9rP6s/oz/iv+MAI0AnwGhAaQCpQJtA3ADxwPKA4sDiQOyAq4CagFpAQgA
echo CgDj/uL+IP4b/rH9r/2H/Yn9l/2V/c/9xv0W/hH+Zv5o/tX+2P59/4H/VABbACEB
echo JwG1AbgBEAIWAlQCWQKKAokCjwKKAjoCNQKQAYgBsgCsALj/tf+y/q3+v/24/Qr9
echo B/23/Lj8zfzJ/C39Kv3B/cb9lv6Z/qv/p//ZANkA8QH2Ac8CzwJeA1wDqQOqA7sD
echo uwNxA2wDnwKZAkoBRQGo/6H/Df4H/sr8x/z/+/77uPu4+/H78vuJ/Iz8Zv1o/YL+
echo gf7Q/8//OAE4AY4CjQKVA5UDJAQmBC8ELwSwA68DuQK7AokBjgFwAHEAlv+Q/+P+
echo 4f44/j3+iP2N/d/84fxf/GP8K/ww/GP8Yvwn/ST9d/54/iEAIwDNAcsBHwMcA+ED
echo 4gMTBBcEyAPJAx0DHwNGAk0CZQFrAXwAewBz/3P/RP5H/hv9G/1G/EH8BfwB/G78
echo bfxe/V79j/6N/rj/tv+nAKUASQFLAbkBvAEeAh8ChwKFAtUC1QLbAt8CegJ+Aq0B
echo sgGUAJoAdP93/5D+j/4O/g3+8v3x/Rv+F/5G/kH+Pv49/hD+D/4J/gT+fv53/of/
echo hv/cAOIA9QH6AX4CfwJ+AoICNAI6AtgB3AGGAYkBSAFLARIBEwGgAKAAqf+p/z7+
echo QP7d/OD8Jfwr/GP8afxc/V/9of6g/s3/y/+RAJEA4wDmAPgA/QAVARoBdgF7ARcC
echo GwKxArUCAQMAA9ICygIZAhECCwEJAev/7//z/vz+Pf5K/qj9tv0d/Sn9vfzC/LD8
echo r/wQ/Qz94f3a/QX//P5ZAFEAoQGeAY4CkgL/AggDCAMQA94C4wK2ArYChgKDAhMC
echo EgI0ATYB8f/y/4j+hf5F/UD9WvxV/O376PsS/A78v/y7/NH9zP0K/wf/JgAmAAwB
echo DAHNAcwBeAJ8Ag0DEwNrA2wDcQNuAxADEQNFAkkCFQEVAar/qP9P/k3+Uv1N/dj8
echo z/zJ/MH8+fz0/F39Wf30/fH9sv6x/o//jf+IAIQAmQGSAagCogJwA24DsAOxA2kD
echo agPJAswC9wH+AQQBDAH9/wEA+f74/hj+Fv5g/Vz90vzJ/In8fvym/KH8Ov09/Sv+
echo Lv44/zv/OAA7ABcBGQHCAb4BLQIpAm4CagKoAqAC2gLPAscCwAI/Aj8CVAFWATYA
echo OAAX/x7/G/4k/kb9Tf2v/LT8evx+/Kr8rPwt/S798P3x/eT+5P4AAAAAJgEpASUC
echo JwLfAtsCSgNBA2UDXwM4AzQDwgK/AgwCCwIpAS0BJAArAAj/EP/y/f79FP0h/aT8
echo qfyu/K38G/0X/c/9y/2w/qz+mv+Z/24AcgAZASABowGmASACHwKVApUC7ALxAgoD
echo DQPWAtMCRQJAAlQBUwERABIAtP63/o79k/3f/OT8r/yw/Nj81fw7/Tf91P3Q/Z/+
echo mv6H/4T/bgBtAD4BPQHzAfMBfwKBArgCvAKIAowCCwILAnUBcAHmAN4AWgBTAL7/
echo uf8N/wf/Vf5S/rr9vv1b/WH9T/1P/aP9oP1R/k7+P/86/0IAOwAhARsBvgG5AR0C
echo FwJHAkMCTAJKAjMCMwLuAewBagFoAaYApACj/6H/gf5//of9hv37/Pz8Av0D/YH9
echo gv0//j7+DP8K/9P/1P+EAIgACAEKAVIBUQF5AXgBnAGdAcIBwgHUAdABqAGmATQB
echo NQGVAJgA7v/x/0//U//S/tT+if6H/nz+dv6j/p3+6P7l/jn/Of+Y/5z/AgAKAGsA
echo cwDBAMgA+gD/AA8BEQH8APsAxgDBAIIAewBgAF4AegCBAKYAsQCSAJoAHAAgAHD/
echo cP/T/s3+av5g/jr+NP5S/lL+xv7G/nr/eP8oACkAngChANcA2ADtAO4AAQEBARgB
echo FAEmASABGwEXAeEA4gBsAHAA0P/U/0j/TP8N/w7/F/8X/zr/Pf9Q/1X/S/9O/zT/
echo N/8g/yb/Jv8q/1b/VP+y/6//KQApAJ4AnADvAOsAFAERASIBIgE2ATYBWQFYAW8B
echo bwFMAU0B0gDTAAUABwAW/xv/Uv5Y/u/98/30/fj9Sv5Q/sD+xf4w/zH/k/+S//P/
echo 9f9kAGkA+AD8AJsBmwEcAhoCSgJIAgkCBwJdAVkBbQBpAHX/df+7/rz+cP5u/or+
echo hv7F/sb+3P7h/sr+zv7A/sT+8/73/nT/eP8jACUAzQDNAFEBUQGhAaIBwQHAAccB
echo yAHCAcYBsAGzAX8BfAEJAQIBPAA4AC7/LP8D/v798/zs/E78SvxK/Ef84/zd/OD9
echo 2/3+/gD/GgAhACQBKAETAhMC5QLlAosDjAPcA90DrAOtA+EC4QKZAZYBJQAhAN3+
echo 2v4D/gL+n/2f/Yz9iv2g/Z79wP2//dr92f3+/f79Sv5L/tb+2P6s/6r/tgCvAMMB
echo vQGmAqQCOgM8A2MDZwMcAyEDgQKGAsgBzwEMARUBNgA9ACT/Kf/k/er9t/y8/On7
echo 6vuj+6L76fvr+7v8u/z//f39ef94//MA8wBVAlICiQOIA2MEZQSZBJsE/gP/A8gC
echo zAJwAXUBQwBDAED/Pf9U/lH+j/2N/RX9E/3i/OH83vze/An9CP1+/X79W/5b/pX/
echo k//yAPIANAI2AjIDLwO+A7UDvAO1Az4DPAN7AncCogGbAb4AvADA/8T/sv6z/q/9
echo q/3c/Nf8YPxd/Fb8UvzB/Lz8lP2R/Z7+ov6k/6r/iQCMAE0BTQH+Af8BrAKtAj8D
echo PgN/A34DQQNCA3kCfAJQAVMBEgAXAA//E/9u/mz+G/4V/uX93/20/bH9j/2Q/ZH9
echo lf3Q/dH9Sv5K/vj++v7R/9H/vwC7AJcBlQEqAi8CYAJjAlACSwImAiIC+wH9AcsB
echo zQF5AXUB7wDoADIALgBU/1P/Zv5n/pf9l/0c/R/9Df0S/VT9VP3F/cL9UP5O/gn/
echo Cv8BAAEAGwEbASUCJwLyAvMCXQNcA0kDSQOyArUCxgHHAcwAyQDq/+j/Ff8X/z3+
echo Qf56/Xz9+/z8/On87PxK/VD9AP4D/uv+6P7x/+z/6ADnAKwBrQEuAi4CdQJ1ApMC
echo lQKMAo8CRAJDAqsBpAHQAMUAyf/D/7v+uP7Z/dX9W/1U/Vf9U/2v/bD9Kv4o/pf+
echo kv73/vL+dv90/zQAMwAcARoB/AH5Aa4CqQIMAwgD+gL4AnQCcQKWAZIBmQCXAKf/
echo q//R/tT+Gf4Y/oX9hP0t/S/9KP0p/W39a/3+/f397/7w/ioAKgBcAVwBIQIiAk4C
echo TgIUAhQCxQHIAXgBfwETARwBgQCJANT/3P8x/zf/pv6s/kD+Rv4v/jP+kf6T/jr/
echo Pf/O/9H/EwATACMAIwBHAE0AnwClAAMBAQFLAUQBcAFuAXIBcwE8ATkBrwCuAOH/
echo 5f8i/yP/sv6q/pX+jv6y/rH+8/7z/kj/Rv+a/5z/3P/j/x8AIwB8AHoA7gDqAEcB
echo RwFWAVUBCQEFAXoAegDl/+r/gv+F/1//W/9a/1X/W/9Y/1j/Vf9L/0n/RP9G/2L/
echo Zf+m/6b//v/8/1oAWACpAKYA2QDYAOEA5QDBAMYAjQCRAFsAYAAuADMAAQAAAMf/
echo xP+G/4j/VP9a/zv/Pf87/z3/Xf9j/57/ov/h/97/BAAAAAIABAAGAAoANQA4AIIA
echo hADBAMQA3QDfANcA1gC2ALcAdgB5ABsAHADE/8T/jP+Q/3T/eP9f/17/Ov83/yH/
echo JP9C/0f/mv+Y//3/+f9QAFEAlgCXAMoAyQDQANAAnACeAFMAVQAgACIAEQATABUA
echo EQAFAAIA2v/h/6b/r/9v/2//O/85/yn/LP9Z/1r/x//A/zsANQB+AHwAjQCLAIcA
echo hAB+AHwAeAB0AG4AaABgAFsATgBJACsAIwDu/+n/pP+l/2j/af9E/0L/Nv80/zv/
echo Ov9b/1r/j/+R/8n/zv8DAAUAOAA4AG8AcgCwALIA5ADiAOkA5wC9AMAAewCAAEEA
echo QgAXABQA8//w/8n/yP+Y/5f/bP9o/1X/U/9S/1T/Wv9b/23/bf+W/5b/3f/d/zsA
echo OwCQAJIAxQDKAN8A4QDeAN4AvQDAAIYAigBIAEoAEAAPANb/1/+P/5L/Sf9J/x7/
echo G/8Z/xb/Kf8o/z3/PP9P/03/cP9s/7L/rv8WABIAhgCBAPAA6gBNAUcBiAGEAYQB
echo ggE0ATIBqQClAPz/9v9F/z//qP6n/lX+Vf5c/lv+q/6q/h//If+e/6H/HQAdAJsA
echo mAAPAQ0BYgFkAYMBhwFyAXQBNAE0AcsAzwBJAE0Awf/A/07/Sv8N/wv/Av8G/xv/
echo H/8+/z3/Tv9N/0v/TP9O/07/bv9q/7D/q/8KAAoAZwBqALAAsQDVANQA1QDWAL4A
echo vwCiAKAAgwCAAFwAXAAiACYA1f/Z/4b/iP9E/0f/Hv8g/yD/H/9L/0f/kP+Q/+T/
echo 5v80ADQAYQBiAF4AYABDAEMAPAA4AFYAUAB7AHkAkQCPAIIAgABWAFcALQAvABMA
echo EwAEAAAA9f/x/+P/4P/V/9T/y//N/7n/vf+i/6f/kf+V/4f/iP+C/4D/hP+F/5j/
echo mv/H/8j/BAAHADYAPQBXAFwAaQBnAHQAcgCEAIMAiQCHAHIAcQBEAEcAFAAXAPb/
echo 9v/n/+b/1P/T/7n/t/+g/53/mf+Y/6n/rP/H/8r/5v/p/wAAAQAPAA8AGgAbACwA
echo LgBMAE0AdwB4AJcAmwCPAJUAWwBgAA0ADwDH/8j/pv+n/6j/qf+6/7v/0P/R/9T/
echo 1/+3/7v/gf+D/0r/Sf8u/y3/O/86/2v/Z/+x/67/BAAEAFkAWwCtAKwA9QD0ADAB
echo LgFbAVUBXQFWARoBFgGQAJEA3f/f/y7/Lv+y/rH+iv6J/rr+uP4k/x//nP+W//L/
echo 8v8UABoAGgAfACgAJwBDAD8AZwBmAJoAmQDTANAA/gD7AAQBBwHhAOgAowClAF4A
echo WQAYABIAyf/H/2P/Y//r/uv+f/6E/kf+T/5Z/l/+sv60/jz/Pf/a/9z/cQB1AOkA
echo 8AA6AUMBcAF4AZABlgGLAZEBSgFOAckAygAeACIAef9+//3+Av+z/rf+lf6W/qb+
echo pP7o/uT+Rf9C/5n/lv/S/87/AQD9/0QAQQCjAKAADwEKAWgBYwGTAZABhgGEAT8B
echo PAHHAMIANQAwAKT/of8k/yP/uf63/mj+ZP5F/kP+Xf5e/qz+rP4m/yH/sv+t/zkA
echo OQCvALAABQEEATgBNQFOAUwBSgFHASgBIgHmAOEAjwCOADMAMgDQ/8//av9q/xn/
echo Gf/v/uz+7v7r/hP/E/9M/0v/ff99/6L/pP/E/8X/6v/o/x0AHQBkAGYAuQC2AP0A
echo +QAUARgBAgEJAc8A0ACGAIIANwA2AOv/7P+n/6T/av9l/zj/N/8d/yD/If8i/zn/
echo Nv9g/13/nf+c/+z/7P9EAEIAkACPAL0AvgDPANAA0ADPAMQAwwCtAKsAhACCAE4A
echo TQAOABEAwf/F/2z/b/8o/yr/Bv8H/wn/C/8s/zD/Zf9q/6//sf/7//z/NQA5AF8A
echo YwCGAIYAswCzANwA4ADiAOQAtACzAGUAZwAYAB0A5//o/9H/zf/G/8P/uv+6/6L/
echo ov93/3b/SP9G/zD/Lv8+/zv/bP9p/6v/qv/0//f/RwBIAJUAkgDIAMYA0QDRALIA
echo sgCEAIAAVwBTAC0AKwABAP//zP/K/5L/kf9k/2H/Uf9N/17/W/+I/4b/wv++//b/
echo 8/8UABQAHgAaAB8AFgAhABwAKQArAD8APwBgAFoAhQCCAKoArQDIAMkAzgDMALAA
echo sgBwAHYAGgAcALz/u/9p/2v/OP87/yr/LP8v/zD/NP82/zr/Pf9R/1T/hP+H/9b/
echo 1/86ADoAlwCaANgA2gDoAOgAxgDGAI0AjwBeAF8APwA6ACIAHQADAAQA4v/n/7X/
echo u/93/3r/Nf80/w//Df8n/yr/hv+N/wMACABdAF4AcgByAFAAVAAfACYADQAQADMA
echo NACRAJEA9wD7ACQBLAHyAPwAdAB5AN7/2/9i/17/Fv8Y/wH/Bf8a/xr/Rv9F/1//
echo Yf9h/2L/Xv9b/3r/eP/X/9j/ZwBnAO4A7wA+AUEBRAFEAf4A+wCGAIUADgAPAMX/
echo wf+t/6j/qP+o/5T/l/9h/2L/HP8c/+z+6/7s/ur+Iv8g/4j/if8MAAsAjACIAOYA
echo 4wANAQsBFwESARgBFAEUARQBAAH/AMgAwwBoAGYA/v///5//n/9S/1P/Jv8o/x7/
echo G/8z/yz/Vv9U/3T/ef+O/5H/tv+2//P/9P87AD4AfwCBALEAtADNANAAygDKAJ8A
echo oQBgAGYAKAAtAAEAAQDh/9//uv+4/5D/jP9z/3P/cv93/43/k/+0/7X/0v/Q/+D/
echo 3v/i/9//3v/d/+L/4//1//f/GgAZAEgARABlAGAAXgBbADQAMwD1//T/u/+5/5r/
echo nf+e/6X/yP/L////+v8dABYAGQAXAAYACAD6//z/BgAHACIAIQA2ADQAOwA6ADMA
echo MQAdABwABwALAP//BwAHAAoAHAAZADEALwA3ADYAJwAkAAEA/v/M/8z/mf+b/3//
echo gf+J/4r/q/+p/9H/z//0//L/FAATADcANwBjAGQAkACPAKsApQCcAJQAXwBaABIA
echo DwDP/8z/pf+j/6L/ov/C/8H/7//s/xYAEwAkACMAEgARAPD/7v/b/9j/5f/k/xUA
echo FQBVAFQAfwB+AHUAdwA2ADoA4v/i/5v/mf9v/3T/Z/9u/37/f/+c/5n/rP+u/7P/
echo uP++/77/1v/T/wAA//82ADgAaQBuAIgAjwCGAIkAXQBdAB0AHgDf/+H/u/+7/77/
echo v//e/+L/AgAEAA8ADQD8//r/2//Y/8v/xf/W/9P/8//3/x0AHwBGAEIAUgBOAEEA
echo PgAoACEAEgAIAAoAAgAXABIAJAAjAB4AHQAGAAEA4P/Y/7v/tv+q/6r/rv+w/8T/
echo xv/k/+f//v8AAAwACwAQAA4ACwAJAAUABAAMAA4AJwAsAFIAVwB/AIMAmACbAI0A
echo jgBiAGEAJwAqAO3/9P++/8H/mP+W/3b/dP9Y/1r/T/9R/2X/Yv+T/4//y//N//3/
echo BgAnAC8ASwBLAGgAZgCFAIgAnQCiAJsAnwB3AHgAPQA8AAMAAwDf/+L/0v/V/8//
echo 0P/M/83/v//B/6X/pv+H/4b/bf9v/2v/b/+Q/47/zf/F/woABQBAAEAAZgBlAHIA
echo bgBvAGoAZQBjAGEAYwBqAG4AcgBxAF0AWAAkACIA2P/b/5b/mf92/3b/d/93/4b/
echo iP+X/5n/qP+o/67/sP+u/7P/wv/I//j//v9GAEsAmQCcANAAzwDVANIAsgCyAHgA
echo fAA3ADkABgACAOv/5v/i/+L/2f/b/7L/r/9q/2b/Jv8m/wn/D/8n/yv/ef91/+H/
echo 2f8+ADsAfgB/AJgAlwCZAJcAogCnAMUAzQDtAOwA7wDpALsAugBZAGAA3//m/2j/
echo af8O/wr/3P7b/tr+3f4A/wH/Mv8t/17/Wv+Q/5H/0f/W/x8AIgB5AHkA1QDSABkB
echo FQEwATABHQEfAeUA5ACSAI8APQA9APf/9/+1/6//bv9o/yf/Kv/y/vj+3/7d/uz+
echo 6P4c/x7/d/96/+r/6v9VAFIApQCjANQA0QDjAOIA4QDiANYA1QC/AL0AogCjAHsA
echo fgA/AEAA9P/z/6f/qf9j/2b/Nf80/xv/GP8N/w7/D/8R/y3/LP9h/17/pP+h//T/
echo 8v9NAE8AowCoAPAA8gAoASUBPQE5ATMBMAETAREB1ADQAHAAbQD5//j/hv+B/x//
echo Gv/N/sv+nf6c/pz+mP69/rv+7f7y/ir/MP99/3z/5v/h/1wAXADPANEALgEsAW4B
echo awGFAYkBcQF5ATMBNwHMAMoASwBIAL//v/83/zz/yv7Q/or+jP6B/n3+rf6o/vr+
echo +f5b/1n/yP/D/zAALQCFAIUAyQDJAAAB/wAqASkBRwFDAUoBRAEmASUB3gDgAIAA
echo gAAUABMAnv+g/zT/Nf/m/uP+tP60/qT+qf64/r7+4P7k/hX/Gv9f/2P/v//B/y0A
echo LwChAKQACgEKAVYBVAF6AXoBegF7AV8BXgEpASkB0QDRAFQAUQC4/7j/H/8j/6z+
echo sP5v/m3+Yf5c/nb+c/6m/qT+7v7s/kv/S//G/8X/VwBSAN0A2wBFAUsBjAGTAaoB
echo qwGZAZgBWgFcAfIA9ABtAG0A5P/j/2b/aP8A/wL/s/6z/oH+f/5t/mv+g/6A/sb+
echo xf4w/zH/tf+4/0IARAC6ALkADQEIAUUBPwFqAWgBfQF8AXYBcgFEAUAB4ADhAFUA
echo WAC2/7X/G/8Y/6P+o/5i/mT+Xf5g/or+jv7S/tT+Kv8o/5H/jP8AAP//bgB1ANkA
echo 4wA7AUEBhwGJAagBrgGVAZ4BTwFSAd0A1wBPAEwAw//K/1X/XP8F/wb/0v7Q/rr+
echo uP6x/q7+tv61/tn+2/4j/yT/i/+J/////v9uAG8A1ADTACsBKQFgAWEBawFrAVAB
echo SwEOAQoBswC0AFMAUgDs/+j/ef96/wr/D/+x/rb+f/6E/oH+iP68/sH+Iv8j/5r/
echo m/8NABEAbwBzAMIAwwACAQIBJAEkASgBKQEVARkB7gDvALkAtQBxAGsACAAIAJP/
echo k/8w/yr/6P7i/sT+xP7N/s3+8/7t/iT/Hv9a/1n/nf+a//X/8P9hAGEAzQDRACcB
echo JQFgAVkBaAFkAUEBQQH4APgAmQCVACcAJAC1/7X/Vv9Z/xb/GP/3/vb+7f7s/vT+
echo 9v4U/xf/Sf9G/4f/gf/T/8//KgAnAHwAeADCALwA8gDsAAkBBgEJAQwB7gD1ALoA
echo vwB4AHYAKgAnANv/3f+W/5v/WP9c/yb/Kv8I/w3//P7//gj/B/8x/y3/cv9y/8P/
echo yv8bACMAbwByALIAsQDeAN8A/AD+AA4BDQEGAQUB4wDmAKgArABRAFEA5f/i/3H/
echo bv8O/wr/0f7P/r/+wv7Y/tr+EP8N/07/S/+P/47/2P/Z/ykALACGAIoA5wDpAC4B
echo LQFIAUcBNAE0AfYA+ACmAKcAWABXAA4ADADF/8P/ev94/zL/L//2/vH+yf7G/rj+
echo tf7S/sz+Fv8R/3r/eP/y//D/bABpANAA0gAQARgBMwE4AToBOQEhAR4B7ADpAKAA
echo nwA9AD8A0v/T/3H/bv8r/yj/C/8M/w3/Dv8d/x//Nv86/1T/Vv98/33/u/+8/w0A
echo DQBuAGkA0QDMABgBGAExATIBIwEdAfMA6wCuAKsAZQBnAB8AIgDU/9X/gf9+/yj/
echo JP/U/tb+nP6h/pb+mf7G/sf+H/8j/5P/mP8RABIAhACDAOMA5QArATEBVgFaAV0B
echo XQFEAT8BDAEEAbEArAA7ADwAxf/K/2v/bP8u/yv/BP8B/+v+6v7g/t3+3v7c/vH+
echo 8/4n/yv/g/+D/////f+HAIcA/gD+AFEBTwF0AXUBYwFoAS4BMAHeAN0AeQB6ABIA
echo GQC1/77/Xf9j/wj/Df/C/sb+m/6f/qT+pv7Z/tr+LP8t/47/kf/w//H/SgBIAJYA
echo lgDTANUABAEHASkBKAEuASwBDQEPAckA0AB0AHoAGwAcAMH/wP9r/23/KP8r/wH/
echo A//+/vz+Gv8U/z//N/9q/2j/pP+n/+n/7P83ADYAgwCDAMcAyAADAQIBJwEiARwB
echo FQHrAOUAqACmAF0AXwAUABMAyf/G/3n/ev8x/zT/+P72/s7+x/62/rH+wv7A/vv+
echo +P5S/0//vP+8/y8AMgChAKUACAEOAVQBWQFyAXIBagFoAUUBRAH/AP4AoACdACsA
echo JwCv/63/Tv9Q/xX/Gf/9/v3+/f75/gX/AP8S/xD/Lv8s/1b/Vv+R/5T/6f/r/0cA
echo RgCOAI4AtwC4AMkAygDQAM4A0ADLAMUAvwCrAKgAewB9AEAAQAD6//j/pv+n/1r/
echo W/8r/yr/Hv8c/zH/M/9Z/1v/gf9//6n/pP/S/9H/AAACAD8AQQCOAI0A2wDWAAsB
echo CAEFAQMBxwDEAHAAbQAZABwA0v/W/5//oP93/3f/Vv9X/zz/Pf8m/yj/IP8i/0T/
echo Q/+Z/5b/CgALAHQAeAC6ALoA1QDUANIA1gC9AMIAoACfAIoAhQB5AHUAWgBZACQA
echo JwDZ/97/jP+N/0//Tf8o/yn/Gf8a/yb/JP9H/0f/d/94/67/qP/i/9f/GQAUAF4A
echo YQCvAK4A7wDsAAABAAHcAN0AlgCVAD4AQADs/+//tv+0/6D/nP+h/6H/q/+u/7L/
echo sv+v/7D/rP+w/7H/tP+9/73/xP/I/8//1f/t//D/EwASADIAMABJAEsAXgBjAHcA
echo fQCTAJYAmgCbAHwAfwBBAEUA+P/5/6v/qP9i/2H/Nv83/zn/Of9i/2H/nP+c/9n/
echo 3P8RABcARABJAHAAcQCIAIkAjwCTAJEAlgCRAJMAewB+AD8AQwDr/+//nP+i/2P/
echo av9N/0//Wf9X/3j/ev+q/7H/3f/g//H/7f/u/+v/9f/3/xUAGABMAE4AiACGAK4A
echo pwC0ALAAlgCWAFgAVwAUABAA4//f/8//zf/R/87/yv/H/63/rf+J/4j/bP9o/2P/
echo Xv92/3X/qP+p//H/8/83ADgAYwBhAG8AawBlAGMAWwBZAF4AXABrAGgAeAB1AHcA
echo cwBbAFkAKQAoAOT/4/+V/5T/YP9g/1n/VP9s/2H/hP99/5n/m/+u/7D/yf/G/+v/
echo 6v8WABgAUQBSAJUAkwDAAL0AugC5AIYAigBBAEUACQAGAOX/3//L/83/wf/J/8r/
echo 0P/Y/9b/2f/V/8r/x/+y/7H/ov+j/6n/qv/A/8H/5f/m/xkAGABKAEMAYABcAFwA
echo XwBUAFQAVgBSAF8AXABaAFoAPAA5AAgAAQDJ/8b/kP+R/23/bf9t/2n/jf+J/8T/
echo wv/7//3/HAAiACQAKgAiACQAHgAbAB4AGwAqACgAOwA8AEkASwBIAEkAKAArAPn/
echo /v/c/97/2P/W/+X/5P/2//f//P/7//D/7P/Y/9T/wP++/7j/uf/M/87/+P/6/ywA
echo LABPAE8AVgBVAEMAPgAkABwACwAFAAAA/f8AAAQACQAQABAAEQAFAAMA5//q/8P/
echo yf+z/7f/vv+//9H/0f/k/+T/9P/y//b/9v/v//j/6v/2/+7/9f8MAAoAPAA3AGYA
echo YgB4AHsAbABzAEoAUAAiACQA/f///+L/5//X/93/0//X/87/0P/A/8L/rf+x/6v/
echo r/+7/7z/z//O/+P/6P/z//7//P8DAAYABgAOAA4AFQAXACUAJgA4ADsARwBPAEwA
echo VgBEAEcAMgAuABYAFAD3//r/4//l/9//3P/k/97/9f/u/wcABAALAA0ABgAHAP3/
echo /P/w//D/5P/l/97/2//b/9b/1v/V/9H/0f/R/9H/2//b//H/8v8VABUAPQA7AFUA
echo UgBWAFIAQwBCACIAIgD8//r/3P/Y/8f/w/+//73/xP/G/8//1P/b/9//6f/p//n/
echo 9f8TAA0APAA0AGMAXwB8AHwAhAB/AGsAZAAxADAA8//y/8T/wP+r/6j/p/+o/7H/
echo sf/A/7r/x//C/8b/x//I/8n/1v/Q/+3/6/8OABEALwAsADwANQAuACwAFgATAAUA
echo AAALAAgAKwArAFgAVAB2AHEAdAB0AFAAVQARABUAz//Q/6H/ov+L/4z/h/+G/43/
echo iv+S/5D/lv+V/6H/of/A/8L/9v/2/zwANwB/AH0AqgCvALIAtwCaAJkAaQBmADIA
echo MgAIAAkA7f/t/+H/4f/h/+T/3f/h/8z/z/+3/7T/nf+V/4P/gP9+/4D/mv+a/8//
echo zf8GAAgALwAzAEkASgBPAFMASABOAE8AUABlAGIAcQB0AG8AeABXAF4AJgApAOf/
echo 6f+m/6j/c/9z/1r/Xf9c/2L/fv9+/63/qf/Q/9b/8P/6/xMAFgAtADEASABNAGMA
echo ZQBzAHMAdAB2AF4AXQAzAC8ADAAKAPT/9//z//f/CAAHABkAFwAdABwADgAPAOb/
echo 5/+5/7f/mv+Y/5H/k/+m/6f/y//M/+v/8P8GAAoAFwAXABsAGQAhABwAKgAoADMA
echo NAA5ADYAKwAoAAgACADi/+H/xv/I/8D/xf/T/9T/7f/u/wIABwAPAA8ADQAIAAQA
echo AwAEAAYAFgAYADIANABNAFAAWwBgAFQAVgA3ADIACwAIAN3/4f+9/7//sP+w/7T/
echo tv+9/8H/vf+//7f/s/+x/6z/tP+z/9T/0P8TAAwAVQBXAIcAiACeAJQAiACAAFYA
echo VQAmACYABgAFAPb/9f/o/+f/zP/P/67/tP+X/5r/hf+K/4z/j/+t/6r/1//U/wIA
echo AgAmACcAPQA8AEoARwBRAE8AWABXAGQAYABoAGMAXABbAEMARAAfABoA8v/n/8H/
echo vP+e/6D/jf+O/3//gP94/3f/hP99/5z/l/+9/7//8v/w/zAAKgBoAGYAlQCXAK4A
echo sgCvALUAngCgAHsAeABGAEgAEQAXAOH/6P+3/7r/k/+P/3L/a/9W/1f/UP9W/2X/
echo Zv+K/4L/tv+t/97/3f///wQAJgAoAFEATQB0AG8AjwCMAKIApACoALAAogCsAI8A
echo kgBpAGUAMgAuAPD/7/+s/67/df95/1X/Wf9J/0r/R/9E/0v/SP9g/1//jv+P/9T/
echo 1P8pACUAfAB3ALcAuQDUANoAzwDRAK4ArgCAAIIAUABPACQAIQD3//j/w//E/5D/
echo jv9m/2f/Tf9P/03/TP9p/2z/nP+k/9j/2v8GAAMAHgAdACkAKAAyADEASABGAG0A
echo aQCTAJMArQCwAKsAqgB/AHsANAAuAN7/1v+X/5P/dv90/3f/c/+E/4T/kf+U/5z/
echo m/+m/6X/tv+7/93/4P8hABsAaQBlAJwAowCtALUAmACXAGkAZAA0AC8ABQAFAOf/
echo 7v/e/+H/2f/V/8P/wf+c/5z/cf9v/1r/V/9l/2T/mP+Z/+z/7P9DAEIAhgCKAK0A
echo sgCvALAAjgCOAF8AYwA6AD4AHwAfAP7/AgDT/9//qP+z/3//gP9b/1n/Tf9O/2L/
echo Zv+Y/6H/4P/n/yMAIQBSAE0AagBqAHoAfQCLAJAAlwCaAJMAkQCCAH4AYABfAC8A
echo MAD1//X/uv+6/4r/j/9q/3H/Vf9V/0//R/9V/1D/Z/9s/4//lv/H/8b/BQAAAEMA
echo QwB5AH4AnwCkALQAswCxAKoAoACbAIUAhgBbAGAAKgAtAPj/+P/H/8b/p/+k/5T/
echo lP+I/4r/iv+F/4z/iP+K/5D/lv+c/67/s//W/9v/DwAOAEEAPABgAF8AdAB1AH0A
echo ggCBAIgAgACEAHMAdABcAFgAMwAtAPP/8v+u/6//dP9w/1H/Tf9Q/0//a/9q/5P/
echo kP/B/7v/6f/n/wsADAAsACoASgBIAGkAaQCJAIUAmgCZAJcAmwCEAIUAYQBdADIA
echo LgABAP//2P/b/7r/vP+j/5z/hv9//1v/Wv83/zP/MP8r/1H/T/+g/5v/BwACAGkA
echo aACzALIA1QDUAM8AzgC1AK4AjwCIAGYAZQBJAEYALQApAAgACwDh/+T/tP+z/4D/
echo fP9N/0n/Jv8n/yT/I/9H/0H/eP94/7f/u//5//v/LwAyAGIAYgCXAJEAyQDDAPgA
echo 8wAPAQ4B+wD8ALwAvABUAFgA2//g/3j/df8z/y3/C/8L/wb/B/8Z/xr/N/87/2T/
echo bP+l/63/+v/9/1UAVgChAKIA1gDTAOoA6ADbAOAAtwC/AIsAkABbAFYAJgAfAOz/
echo 7f+y/7T/eP95/0H/RP8X/xj/Bv8D/w7/EP82/zj/f/+A/9v/3v83ADsAjQCOAMwA
echo zADwAPMABAEHAQABAgHfAOEArQCrAGQAXgADAAMApv+q/2H/Yf87/zn/Of81/0n/
echo Rv9g/2H/fP95/5X/j/+w/67/2P/X/wcABgA3ADkAZwBnAIwAiwCjAKQArgCvAKoA
echo qgCVAJUAaABpACoALADm/+v/ov+r/2z/cf9H/0b/M/8z/zv/Pf9h/2P/l/+b/9X/
echo 1/8NAA8AOQA/AGMAZwCNAI4AtQCyANMAzADYANMAuAC5AHgAegAlACsA2P/c/57/
echo mv95/3f/aP9p/2P/Yv9h/2H/Zf9k/2z/bf+B/4j/sP+0//f/8v9FAEEAhgCFAK0A
echo rAC3ALUApACiAH0AfwBTAFQALAAoAAwABADp/+f/wf/H/6H/pf+L/4r/fv+A/4T/
echo hf+b/5j/uf+7/+T/5/8KAA0AJAAqAD4APgBNAEkAUQBTAFkAWwBfAFwAWgBXAE0A
echo SQA0ADEAFQAUAPX/8//S/9H/tf+1/6X/oP+d/5T/oP+c/7H/sf/N/8z/7f/p/wUA
echo AwAYABgAKgAsADsAPgBOAEwAVgBSAEYASQAsADIADwAUAPL/9f/l/+X/5P/n/+b/
echo 7f/k/+r/1f/Z/8H/wf+2/7T/tP+2/8T/xP/g/+D/+////xMAFgAmACcANwA1AEYA
echo QABMAEoAUABSAFQAVwBUAFYATwBMADwAOgAXABwA7f/u/8H/vv+b/53/kv+S/6D/
echo nv+v/6//uP+4/7n/uv+7/7b/yf++/+P/4v8SABcAUABMAHsAeACMAIkAhAB9AGYA
echo YQBBADwAHAAbAPr/AwDl/+r/2P/T/8b/xf+z/7P/of+e/5T/k/+U/5b/pf+m/8X/
echo x//w//L/HAAdAD8AQABaAFgAcABoAH8AegCHAIkAigCLAH4AfwBcAF4AIQAhANb/
echo 0/+R/4z/Yf9a/0T/RP9H/0n/Zv9i/4j/if+s/7L/2v/c/w8ADgBMAEgAhACCAKkA
echo rAC4ALgAqACqAIEAhgBWAFYAKQAnAP///P/a/9f/tf+1/5H/j/9x/2v/Vv9U/0z/
echo Sf9Z/1P/fP96/7r/uf8LAAkAYwBjALAArgDdANoA5QDjAMsAzACVAJ4AVgBcABsA
echo FgDh/9r/qf+m/3v/fv9h/2j/XP9f/2r/Z/+H/4X/rf+t/9f/1v8AAP//IwAjAEUA
echo RQBjAGIAcwB1AHgAfgBzAHcAXABdADoAOwAVABUA7f/t/8v/zv+x/7b/nv+i/5n/
echo lf+V/5D/l/+W/6z/qv/O/8v/9//4/ykAKgBUAFcAcwB4AIIAhAB9AH0AbgBuAFgA
echo VgA4ADcAFwAWAPL/7//G/8P/of+d/4X/gv93/3P/gP96/5b/k/+z/7P/1v/X//P/
echo +f8QABcALwA0AEkATgBhAGcAdAB6AHwAfgB5AHYAawBpAFUAVAA6ADgAGAAXAO//
echo 6f++/7X/h/+G/13/YP9N/03/W/9b/4X/h/+//8H/9//6/yYAKwBHAFAAWgBgAGUA
echo ZQBjAGgAWQBhAEgASwAtAC8AEAAQAPj/9f/r/+j/6v/m/+v/5v/n/+X/1//a/7r/
echo w/+f/6j/lP+Y/6D/of/K/8v/CAALAEsAUwCGAJAApgCtAKUApwCKAIcAWgBVACQA
echo HgD0/+7/yf/H/6b/pf+L/4z/dP96/2r/cf9v/3X/hP+I/6f/qP/P/8//9//6/yEA
echo JgBIAFAAbAB1AI8AkQCmAKAAqwCeAJgAjABvAGkAOAA2APn/+/+4/73/gf+F/1z/
echo X/9P/1L/Yf9i/5D/j//N/8v/CAAIADMANQBLAE0AUgBVAFAAVQBPAFIAUQBSAFEA
echo UQBHAEYALwAuAA4ACgDp/+H/wv+8/6T/ov+R/5P/iv+P/5L/lP+l/6b/xP/E/+j/
echo 6f8OABMAMwA6AFMAWABrAGwAeAB1AHcAcgBpAGQATgBLACsAKgAGAAYA5P/k/8n/
echo yv+1/7n/qv+u/6X/qP+o/6f/sP+s/73/uv/Q/9D/6P/r/wMABwAgACEAOQA2AEsA
echo RgBVAFEAVQBVAE0AUAA/AEIALgAvABwAGQAIAAQA9P/w/93/3P/G/8j/s/+2/6j/
echo q/+p/6z/t/+4/8z/y//h/9//8f/v//r/+/8CAAkAEgAeAC4AOwBSAFsAbwBzAHkA
echo eQBoAGcAQgBCABUAFgDw//H/2//a/9T/0v/T/8//zP/J/73/vP+r/6v/oP+f/6X/
echo of+9/7f/4f/b/wgABgArACsARABEAFIAUABVAFEATgBKAEAAPwAsAC0AFQAXAAAA
echo AADt/+7/4P/i/9v/3f/a/9v/3P/b/93/2//d/9v/3//d/+X/4//w/+//AAABABIA
echo FQAjACgAMQA0ADsAOQA/ADoAPgA5ADcANQApACsAFgAZAPv//v/b/97/vP++/6X/
echo pv+c/53/n/+k/67/tP/B/8f/1f/Y/+n/6v/+/wEAGAAeADYAPQBUAFgAaQBnAGsA
echo ZQBaAFUAPwA+ACUAJwATABYABgALAPr/AwDo//P/0P/Z/7f/uf+k/6D/nv+Z/6j/
echo qP/C/8j/4v/r/wAACAASABsAGwAjACEAKAArADAAOwA+AE0ATwBWAFsAUgBXAD0A
echo PgAaABQA8f/n/83/w/+0/6//qf+p/6n/q/+t/7D/tP+2/7//vv/Q/87/6v/o/wsA
echo DQAvADQATwBVAGQAaABqAG0AYABkAEwAUwAzADsAGgAhAAQABgDv/+7/2f/X/8L/
echo wP+q/6b/l/+P/4v/hP+P/43/p/+s/9L/2P8IAAkAOwA0AF4AVABxAGgAegBzAH8A
echo eACAAHcAdQBuAFgAVAAmACUA5//k/6f/oP9y/2r/VP9O/1H/UP9o/2r/kv+S/8X/
echo w//6//j/LQAtAFoAXAB9AIAAkACUAJIAlgCEAIUAaABiAEAANQARAAQA3//W/7P/
echo rv+T/5D/gP98/3v/dv+B/4D/lv+Y/7r/v//t//L/KAAsAGAAYwCHAIgAlwCTAIsA
echo ggBqAF8APwA2ABUAEQD1//X/3//f/87/zf+8/73/q/+u/6L/pv+m/6j/uP+2/9D/
echo 0P/q/+3/AQAHABUAGAAnACIANAAsAD4ANwBFAEMARwBKAEMARwA2ADoAIAAjAAQA
echo BgDp/+r/1P/T/8b/xP+//77/vf+9/77/vf/B/7//yP/F/9X/0//q/+v/CAAKACoA
echo KwBMAEoAZQBgAHEAaABsAGIAWABPADoANAAXABUA8f/1/8//1f+0/7j/o/+j/57/
echo m/+m/6L/uf+4/9j/2f/8//3/HgAdADYAMQA/ADcANwAwACQAIgAQABEAAAADAPr/
echo +P/6//P//v/1/wQA/f8KAAcAEAAQABQAEwATABIACwANAP7/BADu//j/3//q/9P/
echo 2//L/9H/y//P/9T/1v/n/+X/AQD6/xsAEQAvACcAOgA3ADwAPwA3AD4ALgA1ACIA
echo JQAQABAA+P/3/9v/2v+//8H/rv+w/7D/r//C/77/3f/a//n/+v8RABUAIwAqADMA
echo NgBAAD8ASQBFAEoASABCAEMALwAxABQAEwD3//H/2//U/8b/wf+6/7j/t/+2/7r/
echo uP/B/7z/y//F/9r/1v/v/+7/CAAKACAAJAAyADYAOgA7ADkANgA1AC8ANAAuADYA
echo NAA5ADwANwA6ACgAKQAKAAcA4//g/7//v/+p/7D/q/+0/7//yP/Z/9//7//y//z/