This repository was archived by the owner on Oct 31, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html.bak
More file actions
886 lines (847 loc) · 98.1 KB
/
index.html.bak
File metadata and controls
886 lines (847 loc) · 98.1 KB
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
<!DOCTYPE html>
<html style="font-family:arial;">
<head>
<title>Gvbvdxx Chat</title>
<link rel="favicon" href="">
</head>
<body style="background-color:#42423a; cursor:defalut;">
<style>
.inputText1 {
resize:none; font-size:20px; width:30%; height:5%; border:none; background-color:#e0e0e0; color:#696969;
}
.sep1 {
border-top: 3px dashed #6b6b60;
height:20px;
margin-top:20px;
}
.roundborder {
border-radius:10px;
}
.profile {
background-color:#7e806e;
border-radius:32px;
border-style:solid;
border-color:#474747;
border-width:1px;
}
#screenCaptureDiv {
position:fixed;
top:0;
right:0;
image-rendering:pixelated;
background: grey;
border-style: solid;
border-width: #868e96;
border-color: #4c6ef5;
}
.fullscreenView {
width:100%;
height:100%;
}
.defaultView {
width:400px;
height:290px;
}
</style>
<center>
<h2>Chat By Gvbvdxx</h2>
<div id="screenCaptureDiv" style='width:400px;height:240px;' hidden><button style="height:20px;"
onclick="
if (document.getElementById('screenCaptureDiv').getAttribute('style') == 'width:100%;height:100%;') {
document.getElementById('screenCaptureDiv').setAttribute('style','width:400px;height:290px;');
} else {
document.getElementById('screenCaptureDiv').setAttribute('style','width:100%;height:100%;');
}
"
class="roundborder">view fullscreen</button><img id="videoRecord" style="width:100%;height:90%;" width=400 height=300></div>
<div id="usernameSetup">
<input type="text" id="username" oninput="typeSound();" class="roundborder inputText1" value="">
<br>
<h3 id="connectingState"></h3>
<div class="sep1"></div>
<h3>Profile</h3>
<h4>Picture</h4>
<input type="file" id="pfpSelect" onclick="clickSound();" accept="image/*" onchange="setPFP(this);">
<img style="image-rendering:pixelated;" class="profile" id="profilePreview" src="data:image/png;base64,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" width=32 height=32>
<h4>Color</h4>
<b id="profilecolorexample" style="color:black;">Example</b><br>
<input type="color" id="profilecolor" oninput="document.getElementById('profilecolorexample').style.color = this.value;">
<div class="sep1"></div>
<h3>Server info</h3>
<label for="Server">Room Name:</label>
<input type="text" class="roundborder inputText1" id="Server" value="Global Room" oninput="window.server = this.value;typeSound();">
<div class="sep1"></div>
<button id="join" style="display:none;" onclick="
if (document.getElementById('username').value.length > 3) {
if (document.getElementById('username').value.indexOf(' ') > -1) {
window.alert('usernames cannot have spaces');
} else {
document.getElementById('usernameSetup').style.display = 'none';
document.getElementById('chat').style.display = 'block';
start();
}
} else {
window.alert('username must be more than 3 characters.');
};">Join!</button>
</div>
<div id="chat" style="display:none;">
<div id="messages" class="roundborder" style="resize:none; font-size:20px; width:100%; height:calc(100vh - 200px); border:none; background-color:#e0e0e0; color:#696969; overflow:auto;" disabled><p id="messagesP" style="float:left; text-align:left;"></p></div>
<br>
<br>
<input type="text" oninput="typeSound();" id="typedMessage" class="roundborder" style="resize:none; font-size:20px; width:30%; height:5%; border:none; background-color:#e0e0e0; color:#696969;" value="Message Goes Here">
<button id="Send" class="roundborder">Send</button>
<button id="Clear" onclick="messages.children[0].innerHTML = '';clickSound();" class="roundborder">Clear Chat</button>
<br>
<br>
<button id="uploadImage" class="roundborder" onclick="
document.getElementById('imgUploader').click();
clickSound();
">image</button>
<input type="file" accept="image/*" onchange="uploadeIMGFile(this);" hidden id="imgUploader">
<button id="uploadAudio" class="roundborder" onclick="
document.getElementById('uploadAudioFile').click();
clickSound();
">audio</button>
<input type="file" accept="audio/*" onchange="uploadeAudioFile(this);" hidden id="uploadAudioFile">
<button id="uploadVideo" class="roundborder" onclick="
document.getElementById('uploadVideoFile').click();
clickSound();
">video</button>
<input type="file" accept="video/*" onchange="uploadeVideoFile(this);" hidden id="uploadVideoFile">
<button id="DUFile" class="roundborder" onclick="
document.getElementById('DUFileUpload').click();
clickSound();
">any file</button>
<input type="file" onchange="DUFileUpload(this);" hidden id="DUFileUpload">
<button id="Emojis" class="roundborder" onclick='
document.getElementById("emojiSelect").style.display = "block";
document.getElementById("chat").style.display = "none";
clickSound();
loadEmojis();
'>emojis</button>
<button class="roundborder" style="background-color:#5e5e5e;" onclick="
if (window.notifyEnabled == true) {
window.notifyEnabled = false;
this.style.backgroundColor = '#5e5e5e';
} else {
window.notifyEnabled = true;
this.style.backgroundColor = '#e0e0e0';
}">notify me</button>
<button class="roundborder" id="shareScreen" onclick="startCap();">share screen</button>
<br>
</div>
<div id="emojiSelect" style="display:none;">
<button onclick='
document.getElementById("emojiSelect").style.display = "none";
document.getElementById("chat").style.display = "block";
clickSound();
'class="roundborder">Back</button>
<hr>
<div style="width:100%;height:calc(100vh - 120px);overflow:auto;" id="emojiContainer"></div>
<div
hidden
style="
background-color:#15e64d;
border-color:#23a646;
border-style:solid;
border-width:2px;
color:#e6ffec;
position:absolute;
top:0;
left:50%;
margin-left:-400px;
width:800px;
height:200px;
"
id="EmojiAddNotice"
>
<h1>Emoji Added!</h1>
<p>The emoji code is put in your chat message.<br>Click back to go back to the chat.</p><br>
<button onclick="document.getElementById('EmojiAddNotice').hidden = true;clickSound();" class="roundborder">Ok</button>
</div>
</div>
</center>
</body>
</html>
<style>
button {
border:0;
background-color:#e0e0e0;
font-size:20px;
color:#696969;
}
button:hover {
background-color:#f2f2f2;
color:#696969;
cursor:pointer;
}
</style>
<script>
if (!(window.errors)) {window.errors={};}
</script>
<script src="data:text/plain;charset=utf-8;base64,d2luZG93LmVycm9yc1siU2NyYXRjaFRlYW0iXSA9IGNsYXNzIHsNCgljb25zdHJ1Y3RvciAoKSB7DQoJCXRoaXMuZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7DQoJCXRoaXMuZGl2LmlubmVySFRNTCA9IGA8Y2VudGVyPg0KPGltZyBzdHlsZT0iaW1hZ2UtcmVuZGVyaW5nOnBpeGVsYXRlZDsiIHNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxodWdIYkFQY0FBQUFBQUFBRUNnMEFEQXdNREFvSEFCc1RBQlFRQndBSkZRQUxHeFFBRWhrQUZ4d0FHaFFORkJRVUZCd2NIQVlSQUNFQUhqRVpEQTBuQUE0MEZUY21BQzBpQ1FBT0lnQVFKZ1VXS1FJVU9nRVNOQlFjSnlRQUlTMEFLU2tBSmpZRUxEVUFNVGtBTkJrbU9CWW1LU1FrSkN3c0xEWTJOanM3T3lzdE1FVXVCRXMxQTFVNkJuRTVIRUlBUFZjWkwwd3ZKbk1zTWtFZkV4ZEhBQnRWQ2g5Z0FDUnZBRjFGRFd0TEFXUktEM1pVQkhsY0YydE5DMjlZSkg5aklnVVhVREE3U2dnYmFBa2VlRXNBUlVZQVFGTUJURndBVkZjQVVXTUJXM01mUjMwalJHc0FZbTBKWlhRQmEza0JiM0laYTM0QWRIRXJhenRFVVQ5RFNVTkRRMHRMUzFSVVZGdGJXMFJOV1dOalkyeHNiSFIwZEh4OGZISjJlMmRzYzE5bGJZdzRONGcrTElsY0I0eE1IWXhURkl4aUFKUnRFcGh5R1l0b0ZJeEVLSUZTTDQxdEpKMTZKcDk4S3BwMklJOTFPYUYrTG9rYlc0d3FTb3NxU1l3aFZZMDRUSXNXWm9FQ2RZWUJlNHdIZUl3T2JwRXhmcEpNVENxQUFDK09BREdXQkRhbEFEeTJBRWphQUVUT0FFM3JBVlQvQUUvd0FLT0JNNmVIUFArckdmbW9PcW1LUWF5T1NLK1JUYktXVmJhYlhhU1BYcmllWXJ5amFyMm5kTUdxZGNXd2Z3c2hoZzBsbkF3amxBOG1waEFvcmhFcHR4SXN3eFF1MGhVdzNSWXk2aFl4NGhrMi94ZzA5SXdBZ1l3TGdwSWRncDRvbFk0c2hwQklpb1NFaEl5TWpJZUlpcFNVbEp1Ym02aW9xTGUzdDd5c2g4YXdnTXEzaXMrOWxNMjNsc3FocGRMQm10ck1yTmJIcE4zUnROL1R1TnpQc2VMWXYrRFZ1OGFBd04yejJjckt5dGpZMk5IUjBlVGF3K2ZleXUzbTErM20xdmYwN2ZiejdQLy8vL24zOHZMdTQrelk1UUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUNIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaC93dEpiV0ZuWlUxaFoybGphdzFuWVcxdFlUMHdMalExTkRVMUFDSDVCQWtCQU13QUlmNGdRM0psWVhSbFpDQjNhWFJvSUdWNloybG1MbU52YlNCSFNVWWdiV0ZyWlhJQUxBQUFBQUM2QWRzQUFBai9BSmtKSEVpd29NR0RDQk1xWE1pd29jT0hFQ05LbkVpeG9zV0xHRE5xM01peG84ZVBCZ0dBSEVteXBNbVRLRk9xWE1seUpJQ1hMV1BLbkVtenBzMmJPQisrM0ptenA4K2ZNeThJdlFDMHFGRm1PNU1lWGNxMGFjU2hRcDFLalptVTU5U3JXSmNLUlRRMHE5ZUtTa05XdGZxMXJGbVdReEZ4alpvVjZsbXhZOGNpalV2MnJkMjdITk9xN1hvVkt0RzNkQU1MRG91M3NPR0pXOVh1WmR2VUwyT3NnNnNHaUV6M3NPWExDeE1yWHZ0WHE5N0hVaWtmUUlEQUFsUUxDQTVNcGl3U3MydlhlamR6N3Z6VHIyTFFTMWtmY013YndlcklyNE1mamkzYmJXM2lhNXV5Qm5EQTlJVU1RQ3BaeXJSSms2VktRRElNUlVCWnVQZTdtbVV2LzhaTjAvWm12a1lEOCtGVEZZSFFESmM4Z1pwUG43NG5TejZFL2c3OHZiL1o4T0xOaGhOVUFhTDNrMkIvRUVMSUh6dnRka0Y4OVVVWUlSQVhXUERTQVB6NXAyRmZBQlpvWUV6bWlmZGhUb01wcUNCN0FRZ0ZoSVFzMnBmZkFSZFd0dUdNalhYb0lYa3BFUmpnZUFkR0JvaUpoTlN3bXdhZnRHaWtKUmR3QjhBQURjUkY0NU5IMmJpamNTdUZPQ1Z0TnkwSGdDQkFZbkRCaWthMm1JbFFPekhwSkpSbzlpVGxqcHhWaWR5VkpHb0p3QU9EbU9nbEptRzJ1SWwrT3pXQW9WeHBCbHJlbW15aXg5dWhXRHFrSTV2bkpVcVZuRHZKWU9jRm11VEpvaVprbGltam9KeWlSV2loaUlaNmFHWnZNb3JqU3BCVzlTTWhJMXhnaWFVU1l2K1NLWENkMW9yU3A2WTZscXVvQmkzS2FIR09xa1FYQVJMSVVJTU1rZEdnNEFRWEJBRnJoSmRjZ01GeXRsWkxFcTYvWnZ1cnFLVnVlK3BKY1VuUVI1MG1Cc0tlWUlVUU1zTUZQanhiSDRVd3NtYnR2QjExcSsyOTl5S0tMN0RCbWtSWGdrQUNlUzVkZ1JEaWgxQ2J1QXVLSjN6U2RZSURWZEVyTVViMjdtdXh0OWhlMlM5Si93YnNNUTJCRlR5SVVNNjZLK3NGZ1dHeENoWVJUK3d5WWhkWWpNek1BYzVzTXpLSzBielp6VGhmbk8yM0lBWFdoOGNlTTBoWERYVXltNEY4ejFLbzVGZ21yQ0sxQ1MyL2JEVkRGY3ZHODlaY2Q5MjF6OTZ5RkRMUkFROFNXWW9QUHJ2bkJSdlFwWVhVcTJ6eEoweFgxNDJRcjR6YW5NamVYZS8vemZmTWZ0L3NkK0E5ZysyaDJIRkpTbmJBbExtblFTZXdCaUV0Q2k4MVVJVVdWbEFSTmR5clRGRzEzYURqelNiZ2crczllQ0trbjQ1NjZZRHJiTGlJR3djZDd1S01ueTFVSlpaeUl0UVZUVkxCK2U5U2EvRTU2RmVMUGpveXF5UFB1dktvSSsvODZvSHovZmZyaDZNYTF3TzBBOG1hZXhkd2txZmtGMlJ4QWlyQWwxL0M4TVJMYkh6ZXp5dmZ1dlROSjkvOCs4a1hUdjF0UUg4VTJLcTBHMjM3bDJIcWhGQ2lzSVh5R2RBSzZFdWZ0ZGJIdnZqSnozUU9oRjc3NHVlNisvSEllb25MSGlHUXBSdWg0S2xGbFJBS0Z3eG93RlEwcVM0S1hHRFdkcFE2NXNIdmRQUmpudnVhWjhGR3hVNS9nUUVZMlFhMnZlZEFUa0tlME00UC8waElRczhSSm9XMll1Q3Y2QWZERjVidWhUTzBXUTB2aU1HNERJMW9QR1FOMmtvV29SQmVvQXRFTE44V1RwQkFKS1pwaFEyVW9QeWd4enJDVVhCNlU4eWY3QUpEZ3orUWl4QjhrRUNxQU5DcUMyUWlRcGk2UUJUQ3lEbFVXSUVFWnpJanB6NlRzWjI1VUhYTGF5RWtDVGZGNUxSa2o1UnhBQWxJNEFCTlVrRUVGOUNBOStiamlmeUlnSHhoVElVVnFDWVlSUXFLa1doMDVOYm01N1ZhMHJLU2xrUWNKZ1B6c0xFRXdFcytDTVY4d09lRk1HTGhCSE1iakN2UkJFc2wxcXlXUE1zWk5LV0lTem5pY0pkeG1jTDU0dEpIWjQxSmtDUVUzd21wdFV3YXdkSm1zY1JsenRTSnYwZGhzeXBUV0FVaTQwS0NLd2pGRXRvUmdTcUFwLytGS1VCc01BUFFKS0RLNlo5em9yT1I3RXhvbXk3NVRnZWM0SEp3TStKWWZQY0RxQlJUYXFqQUFoWCtPUmdIbE1BRUlKMG5DZ2thbk5nTWhXZnBWQ2lvRUxwUVhjckpvUkF0SHlwTU1JQUJjSEtURHQwQ0trQXB5Q3hvYnB5RGFRQUpRRXBVa0NhVHBQMHg2TTFTcWxKK09aTmY3b3dNVE45R1NMaHRnYU1YMG9JVVprVVpteGIxcTFodERWSkxtcGlUY28ybFRaM05CWkR4MUhaR2RTeFRQU0JPSGRBQVA5VlVOUHNKVEVBLyt0V3ZEblNzc0luWmVMckdWSlZDQmFVWnMrWTFkMUtDbUpJUUN5SjlaMkFhd05lK2ZoV29ZZ1VzWnBSNlZzR21GV05yN1d5K2J1aVNxbGdoakZuWXBtVGp3cVNoV3RheWthV2JaamZyV2FIL1FCT3Q2andzWWJFMW9wUlV4WGNHMUFJclYxc21UVmIydFVVOUFVaFZlOFRaR29hem5mWHNaMkZuMjFvbVZyRWRxY3JtZnJjRmlXS3lwalZ0Z0NhSmVnTGxJaGU1bUpXdGM1OWIyOURlVnJyVHhaOTdyY3RiN0daM0p5VDRIU3Fva015azJMUUVBRDd1ZVFkTTRLS0dWYjNyeFF0MGR4dGZmazF6WnJIc0xiaktsQXE0VlNHOStDMndnVFdzNGRpT05NRnYwVXgxcDFuWSs1bjF3ZW0wNzBhcVVrQXJIRGpER2k2QkEvN2sycSthbDhORzNSU0k3YkpncitIMmRTZCtNRnZodXl1RzdtUUtIdDZKQThoTDRQNENRTUE0TGlxR003dmpFTGQzdnU5dGNKQ0ZqRkFKY3l5VG5ReXptTWZjU1JJNGVVbFFqdktMcVZ6bHM0Z1kvOHRzOWZHUEw3WmxMaE81eUZVa2JtUnFXbU1tbjNmS2JWWndXVWM4NURvWCtyT0dSdkdkOGV4YlBVTXF6Wll0d1pUWkhPaXZ2SG0ramhGdFV4Tk5ZclNxR0NPT2Z2U0FTVERwU2dzYWYwdk45TmJtUEZvNEMvblFGdlB5SEVQTm1qNkh0Sk9UUm5EZE1NbmU5cWJhTDlGVktLY1Z2V2hHbzRUV1dnSXZwSGE5Mmw2aitxREFYaldyZCtYcVYvOVkxcVZGZHFoZlJtdjJOZ3F4dXBVMk93OUw2RmNQR1d6WW5yVzJteTJ4WFRMSnVHRWRqblRMWGVocW56dTN2REUzaE9mODZZeXNXOC8wb2d3SnFLQ0ZMYVNDRmExd3hTK0F3WENHbytLdnAzNjJ2cWQ5bzNyVE84dUdTL2RpLzczTGVRbW1BUVJ2eGNJYlR2S1Nad0hpRWY5ZmpMNzNYV3lmblRUZjFwNTJ2eS9DY2NsYWl5NGx3RUlyU3M3emtydkN1N29HVDNpR3ZkdVd4N3E2TUxlejBYOUcybzNYbkxXYjNHZ1owUlFYQjJUQkZUM1Blc05OT1BYL21JZmxLNyszaVVlYzlFNHZuZWxOdisvVEIwNkZMRlFoS2ZtVkdtWnRSWmVSYTczbndVQmcxeTBkYnNTdXZNVFVCVGZSVTIxQldjOThJVThIUUJYZzl2QXlTUzBWZS8rT2JBT3o4N3Z6dkJYRC9YQkxOSzZvWVEvKzE0V3ZjOS9mZTNadGtjY3Y2bWIzWEhhaU1yaFZSV3BiUUxsd1pLUmRpVnJCOGlUL0Jjc2lyeElxVldUMFJWZDY2Qy8rZDRyTGR5QzhnVXhTcU1CODVpZXorVHEyekI1djMvZ240NTdocWZDd1QxQlBrYzlEMjk0c2x5Ly9iMHhQL0lrRC9rYk1TSDVXQUE2WTFVNkI0YjlJaXQyejNvcTN5LzRtM0llSTkzOTljVzZGU21OaEYyeVZwSDVmNFdoWHNWb1laZ0lrcDFxb29IWDFsMGhHa1g5WVUzNW01MzhXK0NhcUZvQ3dWa09PWVJmWWxHU2dsbmlwWWxNbjBIYW9sSGtBMEFCWTEzQW45eEpWMEhPc1lILzNkeHdTZUJEN0oyZUhvbFlYZUNQQUozd2NXSU5tZ1UxVVlBVzVKb0xJdG1SRHFBVVZKa1pWa1FVbDF3cGwwbkMvd0FvdUZuMU9NU29GY1lPS0puZ1hLRjNTMW9NNHVGYkRCNFFGaUYvTmQ0Wm9tSWJNSnpWVVlJVGF0bVJUWUFWWmdFcFZ0UXJNZFFJOE56ZFlVQVZKMWx3Y3dpMGFhRzVkQ0lhQ3AzVHVCV1NMd25sTWtSUUZWSWNHLzlTSGJuZ2hUQ0plbUdWY0p6QUZWWUFGYytpSXdWVVZKWmlKVmpBRlp3YUJWb1lvZ1JoelhZaUtuQlp0MUVSbnZxS0l1ZkVTRHNDSkpOUjhVMkFDSmJCSnVyaUxteFJnSUZWZWMvTlFWVkFGVm1BRldLQ0pXWkFGV2xCd09vVUtxSkFLU3dnOExjaDZ0TWlKa0NndmdVV0lwOGlGL21kK0Z2ZzErMklsVkZRV1NYRUMxWGlPaEpRVUJSZU42TGdLcUlCVndOV094clJIMzBHQjJ4aGQzUmgyZ0ZoTCtMSStzSmdlTzNGYThqaVFHQlVYUW1VQ0pTaUhCdWVJZDBpUWhMUm1NNWlOOXlpSStYaUtyRGhOclZacy8xZ1VqT2lRQXptTlhlVlJtTGlKd09OZEpNQ09IZ2s4ZWhkMFQyS1BFL21GcHZpU1lVZCtHTk4rTDRHU0tmL0ppU3VKU1VKVkFwL29YNDJZa3daMFZLOEVmaklKa3hkNWxQbzJmRFlKQUVLSmpsbVFPU2VRaTBVb0o2MzNsT1VqZzVSbVRrYXBsRnpvbFJySWxHZWhaRmpwa0ttQUNscXdoN2RJYXBBU2oyV3BYMzdZa2wwSmxuVDVrbU9YZGtmQldHLzVsbWlwbGxNNVpkdTFsNy9qWFVWWmw0WnBtSGRwaytZb21JeHBWU0RwQURqSm1MR25lUnFpaFlkNW1hOUdQWWNYSnkvaGxvMHBtQkkxaTU4SlBHUkVtVW5sa3BocGNXV0htU3NWTm1NWmtLUEptTlVIQUFJWm0zQWpQS1paajBpWG12dzNpS3lwTWFMekliNjNpRHVSQlI2NUJjT1lCVUZwbTZGcG04RERYR2VralY0WmswaHBtVE1KbklNNG5IbTVFMVNGamx1d1N1bEZXU2YvWUFWMHVKZVQrUksxNlp4U3Mzc3M2UjJIa3BvWnFJcHpHWWprbDUxVGtSVGw2WWlwd0lmTDRWQlhpWlhOcVo2L2cxV1drWjJvT1pIeFdYeldLV1FaaDVmYmVaTzB1RjlWU1JjT2tKNHBlWjYwS2FDL3M1TUZhcUNZS1owVWVhQXJoMjZieVpsTzZZamROWXBQdHBZcUNnQU84SjhPV1pvdU9wQm9xVk9SeVlrRUttOVlTQkFMNm8zenFZcGVTYUozNFhoMXFKVncxM2JBa3dwYmdBWCtGQmN3S284WWFxR0V0QVZVOEpkd1JRWEx5WWxheVV3L0dvQWc2cVU5NmpVdVY2S2MyUUIxS0tQbG1LVWtSS1dZOWFUb0dLQjFLRDYxaHFXMHlIVzVTVlpkcXFCMSthWG1OcVo0UVpaaHRBV1lOUUJUb0thRXBFcEowUUEzeW9sMi82cDRkWGhJcVZJQ1ZyQ293Tk9HZDBwV2RCbW1TbmVVcnVpZ3NRZ0FjVWRDUmdvQVZKQ2Z0SmdGNHhSUEF5bURva2xJUUZjVlFqVmplalVGcGxvK2picVZ1cG1ubTNxWm1ocE40VWltUGJFVGdRazhSam9BLzZrRlZUQUZ5cFdMdkRpUytjbWVBR0NvT0xvVGkwZElLQWlxVnFCVDBuZ0NHRWFvMHNvNVd3b2xJb3FLOERtdUdQbXJudnFwaTFrK093bXF0MWtDTFRvVzQ4TTVJdVdadExpU2locEdxTUJjQUdBQ3hrbEk0bk5tSi9DdGNuZXByOUdydjhhYmhXYVgvUWlzd2ZvU3FnbzgwSnFoYkxoSERWQ2JyQ3FQcW1XdjNJVlZEdENkSklTV2NKTUtXTUN2UytLbUVSV1hCV1d1T0tpd0MzdVA2SG9ZTzhHeFdwQk0vLys2Q3RjcUo5V0tDbnFJanJpNUpMWEtPY3gxa210cUJiM2txSnhUaGI5RlFqK0xxNmVKb0xvS3RSUFpzT21xSEJDYnBGaFZtMmlLU2Ewbm8rdEtpNVlLQUY5YlBtSDdaR0pVQlNhUWdPeVlDdnlsWFNTVWVWd2F0ZURtc3ZzMnRhMG1mVmY3TzJVYmoyWDdFaVhRZHNrWXVJSmJwVTcyTnROb3B1Y29VaWdyTlNBWnNhdkF0dkFhR1Exd3M3QzN0U1ZnUU5BYW5YSUxiWFQ3c3ZSNXQzZ3J0dHcxTjl1Rm9TOHh0a1RVdHcxQVBuTkRzSjI0RTR1YWZZQUtOemtyR1BacXBGSXFOWkdsdVJxSXNHQzZ1YTFZazVleEUyTTdYQU1RbEVCSHVWVzF0VkV6WExrYlJtRjd1VVhVa1JZV3FmblpyaUJidlFaN3NBdnF1MkI2aXFEL083d3ZFWmpRV3EzdW1FeU82NGdvU0l4NlNZc2k5YnlQT3pmbXV3b2dPUllrTUFWWTBLNFhBcU5aTURlcm02VGpWSlM2NnIzZis3bkNpeG5DU3EvNHhUbGxPd0JCbTBwaHhaNERFS0ZKc2FncktiMlBONmgvcTd4YmtHVHBLemNKWEtrcXV5RmFhRllHeXJMU1pzREdKcjVtR3p4SmNiTWdQTFB0T0xGcytSSVBYRDZIUzBRYnl6a29tTDRsU1UvTFdiWnFpcUdMTks0bi9JMHhGNVpvTjN0K0N6Y3JHWmhvNnNEeUNIVGpwTHhoSklQRHlqbVF4NTF3MDdlaFNrUllnR0cxMmFnK2pMTWpUTUpHL0o1RjU1djBwY1Fyak1BdkVhb3lPcjlBVmNhTXVtWWMrN2JVS3FwOUFqZjFLOFZWbFFvNTI1MHlpTGkvazdsRmpNTDMvN2lQZm5lZEsxVzFYakc3SE5XZHB1dTZWVFd4N1Z1SDQ1UzlDcHkzUEZzVmkydEFvOXFxcXpESjVjTlJ0Y0tuZTBxZFErYkl3TmtmZmZ5NFJPckNJVXlRSnJza25KZ1VSRlRGVXNPdmVSeEdXaEJXRVJ1MlpWeTJxYXpLaC9tZUxBdGFJMEdBTmFITHEvQ3pYNHloaGp5UW1BeWhkVGczaTRxZnE5QzNHSnk0VGJpZXRjdzVSSnhFeUp6TXEzbXUyTm5NaUdJVEZSek5zeXZMNyt5UXQzekRBN29UUVR1YlVvT20vOXVPVFp1Q0ZmYXpwQ3kwWnl5WGFkRzU5TldsMUFiSkRURjZHK2tSSFhtZUExMFZuSXlPMTF6Umo0alByenVqZHBnVW9WeWtuaWpQTDJGQXhxeENCNDNRMjBodEprRjhEODBSNnVpT3NRdzNXRFcvQS85cHNoL053enNocmV3cHZaR0YwYlRJcjZjMVRyWGF0T3FUbENqZHArdWNoV1Q0Rk9YbnNCVGgwVEI5SWIrRHBsazh3Mk1CdjZUSnhWbDVaQVdiMHc1cHVnNHNVbGJjMVU2YnlBU01tT3RzbnhKaGowNDlFWHU4eFNPZHRJbWFrL3hxeDJRTG0xdWR0MVZCcVRxcFhlTWtyV2o2TXVsODFMNUtYVWU4MUFuQjFtMGRFVEs4Q3RCc1ZTeVdralRzaU5OWTFmU3JsM0FkMXg1WnV5ZWExKzFwMHVkOG1OaVpnL1dKWFM2NTJCQ3h3S3ZRdXI5VHh6a1pXWUI4cURFTmw3SVkxWldUazZsd1poTXN5Z1VOMmtiTm02TXRqa2ZYZElQWDB2NjJFNzI4eDV5enRXTnQwVXRiaHlJbHJZNzN6ODN0M0hCRlFoeWFQcUVDM0U0MWZqLy9TRnFmaDlvTzhkSllyRjlBUmJRZUNkdjJuTExvYVVBY1JUNlI5YzB4T2hieXpUbUlqRVNpRXFUZHJTdmpsajlib1dneWtSU0xKOUFxQ1UrUy9keUV4SjZvT3pWY1BMR1dUSXVZWmRtWHZiMVdnOFNaYVVQY2tsYnBKcUxpM1JBaFBEZW15dHdwcWQ1VmRaNzUrc041QzFRTExvLzFXODJIM05zcGROZ24zR0F0ZFRjLzJ1RU1RYVNxSmFXb2NONHAyYTYvL0RzaVJkT01XeWJrWTZUclRZdEFaOGNsRFdJeTd0MDBmbnlKemVFTVRYTmNITDNzaXVBRVNlS0V0SkpmM01sSSszeFBHVnRqTGFPbVp1UDZFdVZMak9ZeEYrREVHemN2WEQ0aTdwQkFIc2c5UzZ5QTZsMjduWlAvN09MSi9kbHRkbjVxN21YN1o5d2hDTFJtLzN5Nk11WGo2ZTFmU1M1UjlSMi8xRGliTFp5VGZZdTZBWHptU3EzbW10a3YvNjEwYnQ2WksyUGtXYjU4SGxubmhOUzBGUzJqY1dlNVQ4bXZNQXJqQ1Nib25DNWhuMDVzTTlFbkZjWlJkcnkxUHUyK2psNVZxclhnSUJrMXB0dXZRZ25XMFVqVW1vNTh4aGZsT0dLdU9KN2plNnlWYnRyalNSSHA1NGpxWWJTVGJvcW12b1BKRW82T1JycGRoTm5zQWtIcnRZNGJKVnpsVmw3YnFZQlZ0Y3J0QThubFlhUmFYeTdUSFluSks5Nk9LQ2lRcUl6dTZmN3MwSjRvTjJqb3gvMFNLZ09TZnM3Z0wwMlE5QjVPQW83RC9pVTErdHZ2NS9qSitEbWJBai93cGNmcHVkSXJNUk9pTkpIdFV1TmREUi9EVGV5UVdCWGJSQ1JSeDN2WHF2K3R2M2E5N1ZVaHFiSSs2d1RmcVo0R0d1YWFTNkZPc1dSZTRCTVA4Vm9lc3VPMDRwRUZtYXN3cWpWZmpWdWJvd0t2N3EwcGZ2eDlkRHc2WXM4RWJzL2NKNmcwVWNDRGdyL3VpQzJmNU41dVFMQmFRS01hNUhVS2FCMmZmanUvMzZOU1dJWmlXMHYwYSs3ODVuK3U5MWFWVE5wTzJTYkw5bkNqV2t4L3l2NWxuSDFMcWltWitJQmVaVzNGTlJuWmdWbmZxYzUrTDZtR0UwbFJtKzFhb2VCYUZVUmVoNmp3cW42YjVFM2I3MXQ3QWxxUStKOWZqVnJnOWxPdlJQeElvclJCOTMrUlRqUXo3YW50OVg1c3YxZVplVEZQaXhkbWtLdFAwbEJOL0o1NHJjTmZoOWZjK0k2L1BnL1dvTFAvOGNkbis0Vm1vbC9id2ZTdE1pcVA3SUQvN3pBUC9qdXExYytsWGhVSGh0WFEyMHB2TDl5SWNPR1VYL25ERGZjeWcvQVFqZGVQMTdZM242eWVYMVdoVHhja0FCQllWZzBrV05DZ1FTMERBQ3c4Y2JBZ0ZoSUxKVTZjS05EaHhZR3BURkNreU16alI1QWhSWTRrV2RMa1NaUXBWYTVrMlpMWmhRdUlZTVpFVkJNUk1wdzVkZTdFYWRQblQ2QTFaMzZjR2RTb3paa3dqeDZGNmRKcHk0a050aGhFUlVVaFI0b0RVR0VjYU1VQjFnWlZ1STRkV0dXaWxiRllTbUNsYUpIc1FDMWZLY3BkK05UdVhieDU5VHBWV3RRbVQ4QThseTV0U3BUbTRKOUpEeU1XV25qdjQ0a09IRmE5eWhhQUNZeFoxbUk5TWZYdDJJMFMzV1lPYlRuTFp5eHNUMHg4M05yMWE5Z2xsY284SE5oMi8wN0dRWWQ2OUp1YjltemZ0R1ByblVqaVl0VUdsZ0dncFRxRkxZblJuekZ1U2I1d3dHbXlXcXhNTVVGM0luYXVWTEJXcmp2Yy9IbjBLLzM2dmQwK3VFL0h2WE1uZmI4N3ZVdUtVN2hpT1VGZVlvT3RDUEpxUENxa2t5NDFpUWJRd3NDQklxSm93WXMwd3NxNzh1Nno4TUx6ZXB1dFBmZmUrODJ3K29EenpURU1WNktJT1l4U3dXSUtDaHRhUll2U0tETEJNd2JmTXVzL0NBMTBNTUVjQzRxTEl3YzI2NmhFSW92TVM4U1pPT3pRdy9oRVJFdyt4dXd6RWlXS3FMQ3lDaXl4dEdKTEs3RHdVc2lGVm1UTEFTdFNNVE9WR3Q4U1R5SUgwRFF3bFIydG8zRWdCR1YwamkyUEFKaHlUejVsVzR5Mm01UU16TVBHTHVETnljR2dUUCtVeEQ1TFV1N1JxQ0JWYmdCS0IyamcwZ1ljME5RQkVqcnR0QVJRU3pCaDFPNG1LbUVLVksyOE1rc3V1L1RTaXVyK28zSE4vR2lGdEZGY3A0UXlTVUVIWmJMSjRCUmxpdEZjUjVMMFdHU1RWWGJaUndHVWtGbXNpcFgyUGtWaDZ0WFhYdzM3a3pCRWh6VjBXa2VoRlhkY2NwWFZ0RnlPd0ZYM3RXNTV2UlkzUWo5OHFWdWpoTldOMkhVL1FuZGZmdnYxVjg5OEE3YkxYbmZmamJjeEVPZmJ0bDU4QlhicVVWei8zZGRoaWxXeXQ3RjNlenBZdUVNWEJ1cGkrQnF1R0NyTFJnNEp6M0Fuc3BSVEVoendEMkNUVFZZTTVJSUYzZmkzbVJmMU9ER1JZMVlKWXArWlNkY2tpancxdXVVaGc1NTJacWJwRGRuZ201dmVHZWNuZTFiLytxUmpmV2FOYUpXUE5qcnBxL3VVT3VjUkwrajE1c1pDcnBZK2JxME9PK1dzUjRhWmF6YTk5cFM4dDhWV0RPMUNsZVFiVUo3SHJ0cnR2STJGdHZDczdMNGI3TUl4WlB2dnZtMkRIUERBbVI3ODI4WkpGamRzaWhwUXZOTllLOHpjUXBBUFZneGJ2a3VmdXZMUkgyWXI5RnRqNXNqenp5bHMvVUtuTng2cVptUW0veTMxcEc3SGIzWlBIWUFkYUlxSi96ek91WVVmcnZSNGR5L1k5NzFORDk1NXphMWorZWlYa2MrWG93RnFIeHI3NTNPUHZrbHJlNS9jOGhDdko5L0V1UlR2WHRMdk9WTDhlTkhmYnczNjlrUGkvMWVhL0k5cCtzc2VBR2huTndxUm9BSHprMGo5d0xJOUVqQXdmd1RFeS84VVJxTEgvUzJEWStNZ0JiTVgvNzdsWmNWNzZuclVBTTVGUHc4ZXlYekJrbElHZ2Vja0RzNHNoYTZUeVBJaUdEZUJMVXNCQWxET0RBZTJ3Z3RpYmw1QUxKdXdwT2MrSHo2bGFPTERZY0NVQlFKUlJORU9UVGdDRVlZUWdnNHNnSWZOUzJKS0xNZ3dScmt3YWpRalhCZC9WcHpQSlN0NXhjSGZRb1FRUlRqR01Zb3RZSndaL1VURXlvVVJqMUVTNDhmS2FFZTZMUVNDbm1wanlSeldOZEJSUkFCSGtLTWNtUUFCbEFIeWprQnNta2krZUxraW9pU0dVcUlna0l4V1NJNFFvSUdIVEZBaUp3S0JKalF5am5Gd3d3c01LY2xKYmxJeEpMbWt0L1lvTDIzSmNwWXBuSkFDSlJVQkpOUkJGQ3dZcFJPamNzT0pRRkdWVWNRREdzand6QjR3YjJ1d3BLVXVUMUxMZS85aEUyY3hiSnNQbFVXQUdNQUFEbmlJSXpFbkNLNjUrT2VOeXhURkhNTHdUSGlTZ1FjR2VDVTFxNGxFVGQ0U2pLdTdYQjkxNXMxSEZTQUZNSmhESHBZSmcySTZFQ3VMWktjbzlnQUxXTEFobnZEa2dTZ2phYy9INk5PUDJ2UWR3Z0JLa1Fxc0FBeHlNR2hEUllIUWM2SVRLeHl3QXp2ck1BdGg3QUladzVob1BHMXdVWXlxa0o4NjQyaEhPZG5KaFJnQURYSVFwa25qaU5LVVNnc3JJV2dvSFd5QkUxN2dSQmc1d1VWTlZ6QytuS3B3akUzcEtmV0V5TXVGeE1Hb2pVUXFGMGs0a1FYY1labDVRRU1zZGhJSlN1akVERFVOUXdycW1GV1hjQlNKWFlYY0gxc25FUmlNVlk1Sm1LWXhKOElCVmJxVERMYXdSUzV3SW90R2xFSC9FY21BeFNKcUNzOGNVQ0NoZU9XTFJuRm1TYzk2dFlzU2lZQmc0WWdId201V29RdjVRQnp4OEFWNHlrSVpVbjNETVF6UkNHUXdBcDZTa0doTjZXbFd6cXBIb3ovdFdFY0o1ZGZSU1lRQVJXMWtLWHpSaTE3b0lRNWZHQU1aYmxEWUhGTEVCVkdFUTNYaHVRYVpKcU1Nd29nRUdkdzZWekk0QWllWDFTeHdnK3ZGNFlxTXIyZ2pydjRta2dSVmttSW5zWURuZFZWcldNREM5cktOWUFONnlaQUxYVEFpRXBPWXFqSXVxNEwvdmplZk8vWGpOVU9yUWVRMmJpSXZpT0lkNmhBSE5JeEJwbkZGeGlTTVlZdG4ramVwNjZJSUFYSncyVU1nUXhiUFpBTWtsREdNbmRDMHBpcVdjR2VQKzlXUnpOZDZRQ2JnUkZUd0JURk1WQmFBLzBreGR0Y29rUXBjVmhISXlFVXRpb0dNWkNBREZvcmdNazVnY2Rrd1JMakhKb2t2ZkNsczNQcStieUlycUdrYllyeVRxcEpoQjA1KzhrSlVjTmxiSUtNWXRZREVsQjN4VERNZ3d4Z0dubWdCeER6bUlPc3p6U0FSTWdDVE9CRWJUQlFXeU5pRkljcGdCak9zWWNwZnpnR2Q2d3lBRzlSMHlvcDRwaVNROFFaNEl1TVdsMzFtZTkyTDZFVC8yR0x6M1dPR0VTZVJTTWV6RnNZZ05Sa29ZUXhaVEZuTG5UNTBkaGRTQUZiRDB4YkdpQ2VCa3czaEZjUGFmMmNPbVhCRFN6WStQbG9pT0lqbkduQXlpWWthd3JISWVJU25LellSQ2lTYkRNclloYm9ueW1OcG05blIxcWEyMU1xbTdZVndPNTY3eUxNd0RFR0dNdFJDSjY4dzkvK25jMzFaWktEWTNmRXNlTHdUMWo5NjgzU1dGclIxM2lhaTc0a3VJc3VUUm9Za3ltQ0lTZWlnNGFSY0NBSGVpZkFadTN1b3pqUjB0QjAreEhuVFc1ZENwRGlSN2J0dFZxc1hHY0xRTFR4Rlh1dzZWK0RGOFZ5eWxuczcwVENnSVE0bHBVTUtXdjdxbHgvcXh6WW5zeXdUZmVhS3YyMGlPNmpwR3BaTURFWE10aEUrdjZ2Sk9GSUFGUXdkRnJqQVNYbmhPWVl2eklHY2NUd0YzcUplZFdvanBlSXluUEM5UHdvQUhVamFHTWpnTHhuQWk0eEd4R0lYYmlpNzJiRWkwS0hEVXd4ZllHNGpUUkVqcUVjOXZsbHZpUUE1ZjdXSjZHQU9JdDdGVTNQeDczZytGU2VTYUx6ajJTTFFHeXpkcUthd1F1dnZqczFGdTRhSXVSY2VSZEwvSUlvNzBBTExYKzcyVkI5N0J0dkx6VElNSFNzcFVwRjh6ZWRkNzFUWFBZVjVmenVLN0NHS3BWZ0dNdG93MGFjYVF4ZC9WZ1AwWFM4UkJTakJ0S080MGNoZnJzM3JhNVdQMUhjZVJlZ0F4MUwwSWc0bmZ5WXVKbUhnOG5NLzVUdWxWREl0VWRnaW9Mczl6L3E4V2RzcEJnd2FsYWs4WmhLd3kxS0QwRW11aWVpQWxqSkFVVWdBQVl3KzZTdVU5SUNlQjlTYUdwcTdSb0tESktzcE5mQ096Sm1JQkNBQ0RvUWpEa2pBdXlzdVdVTVAxU2xCMldFVEoyZ29PZUMvWjFLRE9IbEJBQkNBSVpqQk9BSUJHN3hCK0tPL2pDSVlIancvaWRqQXRRS0RlRklETU5Fd0pGUkNPYUtqekx2QmpnbkIrTk9MNmlrVUtNUWVqbGdBb3hxOS95R01FY1JKQUMrTUl5UHdRSmNUUTcyYXdnbXJKRHZpaUJZWUt6a2dBelZZalNaMG9pVDBRanNBdzBKOHYydlR3d2JFSnpQaUNQVXpxandvcXpETUxpWlFRaVhvQUt3U3czc2FNaytFallrUUFOT3F3MFZVS1FXWVFTTlFnR2dKUmJ3N256UjBSZmloQ0dWcXFEdFF4RHMwcGxvMHFpZkFSZk56d2dWMFJFL0VpZ1V3QXBOaUFrNzhRQlpiQ0JrMHFrM3NJVm4wRTFpTXhyM0FpaGF3d21VNmdnVlFSZ2RTcTRZaUFsYkVLV3FjTmpJVVJqSGtDQStZeElZU0FnUzhSRklpeFdYcXhYYmt4bERjdkhITUN6L2t4UkQ0UlpJVGdBWHdBQkJvQVNJb2dtZHN4WHZNcDVnN1NCcVNpQTV3eGhxa3g5VkNJWVdFTDRpYnlPR1pDTU1GR0FXVElnSTdQRVVBaXgyTHBNaE1Dc2tDQWdBR0lBVmI5RVhzQTBtU2xMZjVhOGtDY2dBOWFDaGs1RWVZOUNFU0xNT2JGSnFKZ0lLR0tvSnc5TWlkOUNBeU1zZFFwSWdmWENaMnRNbWh4RWw2Z2NTbURLU2tsS01uMkVlSWpNb1VjaUdveEVxNFdZSkdVb0tIRkVxdUpNcXhHY3RaQklCbWhDT09aRXF6ZEVxK2Ewc3FrWWhhdk1WT2hFdk8wa200aE1Fb3FrbTJ0RXUvbERDS0VBV2c3TXUvTEV6T29vaWx2RXJEWE15Y0dpSEdmRXlIRTBmSW5FeHBxMHZLdkV6WENBZ0FJZjhMU1cxaFoyVk5ZV2RwWTJzTloyRnRiV0U5TUM0ME5UUTFOUUFoK1FRSkFRRE1BQ3dBQUFBQXVnSFhBSWNBQUFBQUJBb01EQXdLQlFRU0NnWWJFd0FYRXdnQUNSVUFDeHNVQUJJZkFCMFVGQlFjSEJ3ZEd4WUdFUUFxSGdFakdBTXZHeGNOSndBT05CVXZJUUE1SndNQURpSUFFQ1lGRmlrQ0ZEb0JFalFVSENja0FDSXBBQ1l0QUNveEFDNDFBREU2QURZK0FEa3lGakFaSmpnV0ppa2tKQ1FzTEN3cUtDTTJOalk3T3pzckxUQktIaHhJTXdCVk93ZEpOdzFDQUR4VEZqRjZLemgxTlNoc09oY1hSd0FiVlFvZllBQWtid0JkUVFCb1NRVjBVUUI2V2hGYlVqMEZGMUF3TzBvSUcyZ0pIbmhLQVVWSkFFTlNBRXhiQUZSYkJGVlpHRlJpQUZ0c0JseDFIVWh4SlV4ckFHTnBEV0YwQUdwOEFYSnZGV2g4TDNZN1JGRS9RMGxEUTBOTFMwdFVWRlJiVzF0RVRWbGpZMk5zYkd4MGRIUjhmSHh5ZG50cmJuRnZhbHVLT0RlTVB5NkZYQVNNVGhxTVZSR01ZZ0NIWWd5UmFRcUlaaGFWYmhPWmN4eVhjUmlNUWlxTVJ5U0tiQ09jZUNhT2NDdWhmaTJpZnpDSkhGdUtLa3FNTVVDTUkxT0xGV2VMQkh5SEJuYUtGWEdNSUdLZ2VsWXFnQUF2amdBeW1BQXdsUWcycFFBOHRnQkkyZ0JFemdCTzdBRk01d0JVL3dCUDhBQ2tnemIvcXhuNXFEcXFpa0t0ajBtdWtFdXpsMWU0bm1HOG8ybkRyWHJCcW5URnNIOExJWVlOSlp3TUk1UVBKcVlRS0s0UktiY1NMTU1VTHRJVk1OMFdNdW9XTWVJWk52OFlOUFNNQUlHTkNvS0tHSUdZS28rcFFLR1JXSXlFaElTTGk0dUpoWXFVbEpTVWxKU2JtNXU4cjVHb3FLaTN0N2ZHc0lETXVZN0t0NHJRdjVmUHZaVEdnTC9Ud3B6Wnk2cld5S1hkMGJUZjA3amN4cnppMkwvaDFyM2l2OS9LeXNyWTJOalIwZEhtM2NqdDV0Yng2OS9wNHMvMjh1di8vLy8vLy8vNTkvTHo3K1VBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSS93Q1pDUnhJc0tEQmd3Z1RLbHpJc0tIRGh4QWpTcHhJc2FMRml4Z2pYdGlZc2FQSGp5QkRpaHhKc3FUSmt5aE5ibHg1SWFYTGx6Qmp5cHhKczZiTmhSc1ZzYnpKczZmUG4wQ0RDcjJZVStmS29RMlBJcjBKWUtuVHAxQTFYbEJFZFdmVWdTdzVYbjBKb092V3IyQ1hycVJhVlduVXJGckRsdXpLVnEzYnR6U0xraldhVml4THVuQkZzdDJidDYvZmtYTG5Xa1Y2dDJ6THZ4MzN0a1hNdVBIRXdIUHhDczBxK0xCamhYd05LczU4dWJObmdtTWpWN2JzczNEbHp3TTNxMjY2ZWpIcTE0eERpeVpyOWlabDBYVWJ0OTZ0ZU1CbTJNRDlRcDR0MmFacDNLVDc4bFljWVBucTRORGREaWRlTytadDZzbmZPaitBQUlFRmxoWVFIUDlvN3J4cDlQTm5wMlBQbnZMNDdPcGh5eDlBU3g4QitlWG84OXVkU3Z3OS9KTHVyZWRXZVFBYzhOMEZHUUJSaVNXWmJLS0pKWlVBa2NGS0NEaW4zNFZCcWRjZlhZZlI1MkZ1RGdVb0lGaXQ5ZEdIWWdoc2xNRWxub0RpNG9zdmVtS0pEeHMxNTF0ckdPYllrNFliZnVqamh6akp0aUZ0SURxMTJ4K0hIQklJVy9OZHdDS01VRUlKeEFVV2RDVUFqanBtT1pPUVEwYm1ZWDgvVm5kZGwyVjl4VnVTU1o0WXdFWkFST2xtakRRZVlPVnpXdGI1RXBkazVra21rQ0oyV2VSUXpnbUM1aUU0ektmQkoyOG1hc2tGRlFJZ3dBSTNjbWJucEFEeXArZWxtSDZJS1pGUUVRZ0FJWU5pY0VHYmliNlp5VVpzUGFvYXBhd0NadW1tc083L2llZWxmL3JrYVZjT0dJS21xSmlVK3VZbU5YWTF3QUpYL3RicXNSbk5HdXV5eklMSlhrKzM3bFhEcmhkbzRxdWJtcUNhS3AzSWRrdVJzb29nSTI1LzRwWTdicGZtbnRzc2NzOHlGZTFlZ2g1U3dnV1dYQnNsSnRyaTUrMitEODJhN3JuL0JpeHd1QUtydXk2UjdkSzAyZ0FTMUlCRERjdmRrT1FFRndSaEw1U1hYSUFCZ2Z4Mm5KQ0lCUmU4eU1naC96dnlJdVllUEJwUXFrbmdoNjVvRG5MaWJvZ2NZc01GUGx3TTQ1UnlsdWZ4ejZENUsrN0pKSmRMOU5CRUozMnkwVXFqYlBEQnRjcTBXaUNEVmozemFvTWNBc2hHbStnTWlpZkJycVlDQTRvQi9YT2ZTSlBzTkRKTnI5MjIya2NqL2ZTNlVjTTBkZFY0MzlCYTFvVnMvMVNKMS9oZTBGb1dxMlJSdHRuOGdtczAyMmtYelRUY1RMTWROK1J6TjF0M1NxMzVnVGZlUzY2R1F5R0hVSnhCaXhkUDJlaG1LYXlpZWdxSEkzNXNuMVF0RHJmYWtxTk11KzFMdTQyNzVPV3F6S203cW1XOSthQ0ZMTGZtQlgvYkMrd0ZHNnkyaGVxcmNGR3NWNjYzQ252c1E5ZStOdU5PNTg3OTBaQlQ3dnZ2TnEwMjdmQlZPNWVpQnAzWUc0VEdLM1MxZ0JWYlhGRkY2dEN2UWtYcjFkZDVQZmE4NDkzdGNOYzk3YzNPY1FFY1gzRnFzaG9Kb0M5OXh2UGJ0VGl4RVN4QXFncXN5SjhHVjdFRi92VlBSOGR4ajl3R0dMN0lHYkIyMzB2ZytQNFRrOVU0NElHREtrK0tMc0FKWDczdkFscFFBU28yeUVNVWVQQ0QrZ25obVA5R2FEc0JDaEI4U2tQaDdoeTN3c3VocERYeGVtRG5JamlxVW5WaUkxTGdBZyszZUlVZkF2RThwbUdKdUdRak45a1ZNWUJKTkNIanNyYzBaRFF4WVM1cHpma2VDREg1YktSWGI2ckVScnF3eFMybVlnR1MraUlZWlNQR2NvV21jWk5ybTduZWxqUVROaEZhcmFFYStxNG1Rd1MxTDBxZW1OQVArdGpIL1FWU2tNRWg1RXIrVlpUSFBhNk5iUXhaN3RMb1JpLzlEem0yeXR6d0tGbWU0MWtzU25xOGdCYzR5VU11cU1DTG9FU05LRGNTc0xHVTdKaklMQmk3ZUlTZFdMYm1Cb0VBWFpvazhDNEF6T3NDbVlCU3RpNGdCVjdtRHhWWE1NR3FnaGxLdVJTeW1EbEpac0RJb3M1MGpXWk1zbkptTlhmREFCT1lnQUgxckFJSkxxRC9nUnE2eUJNMElnRXFNc2pKVkZ5QmRic2hKM0RNT2NxQ2tiR1ZBSVRvc3R6cFNtSWk0NVduZ2VROFd6TzJ6UVJBVkQ0SWhZdHVTTGcrc2lJTEtwZ2VieFFxVElaZTRKak1WT0F5MHdVdWRzbHpvNHFod2dsV2MwMkxuWXFiZmN3aElEM0Ywcys0RkprMWxlazcwZm1xSGprUmN6amREQlZXSVU3Vm1BQUxHN0hFaEVpZ2lnMXVnUXBrNDQwQTZtbXNvalltTkExRmFsT1Y2aCtMb2pOUExKUmFWQm1nQXZvUjFKT2JxY0lxZnNDU1hhb09GVm1vUWxoM013QUdvQ0FGaUsycWE4eUtHSWEyTTZreVRhdkFJR3NZamQ2S3JuYmxJU3BTSUFBQjNOT2VkT1VDS3ZiSlRTM2NiNmpMV1lBSkVNdGF4S3FVc2JFcGltUmhHbFBmLzUwelpMV3RMUENXZzlrdEVOU2JyT0RDWUsyMGhTbmt5em1lYmExeWgyc2UyQXJIVW01VloyN3BObHVIcnRWWmNJVHFhbnI3Mi95Rjg1NE1XQUN4T2h1cDFvd0h1UXc0Z1hMWFc5N21PaGN1YUkxdU1pbHJ1ZXBhbDFaUFhZdGlUcERaUG1aQnNWRmQyQUlPdTk3MW9wWjY3ODJMWTlzNXh1bkc2cmEwelZSMlQ3S1pLL0JTQ3pzTjhHb2V0ZG9DRnhqQUNFNndkR1FyWCtsZTE3WWxwdTJKUjhUQXZlaDFpMXRBcUlhRk5WWVRxTmZET0Q1QmU5MHI0ckRFOTZVMFZTdGI2Y0xnQnErWXhUTlJEUDQweUFXOFJtc0FVTzVzWnhkUVR4eGJXYmtIWG15UHdiSmdRMEtZbEE3V2szMkZMT0VKbTJRdkp0QWdLcXFnMHIxNEZ2OEZKNGp6bGVkTTUrV09jOHMrN3ZKRnMxSXkrdUlYeUVYZU02emlxbDFIcFVKMXJMQkNsdGt5Z0E3WE9RVU1lRFNkUWF4bFBGOUZsT2FpVDUrUFBPZ1VtN2pUWmlhSllyUjRCZVl5MnRGelBnRURpb1ZxU1JlNHpaVzJORlNPNm1VK1c1ZlRaUTUwcG5HTjVCYnVoUXFVWmt1a0h3MXJBcnZhd055UzlWWm9iZVF2MTVyWGNQVzBpYUZ0VTRVNUI1L1l6cmEyc1cwQ1dEdnF4c2RtcmFsRHJPejBRRGU2YUxrMXRmM2sxakhqTnN3WlRmS015ek9BenJhYXpvc21kN2xuemV4bTN4ckY3WGIydTVsRjZEUFBPMXJHYnEwSzFudUNmT3Q3MzA0WkpvUDlMQ3RBcDN2YTlXM3h3UWswQUhDemR1R3NOWUhEZVF4eGZvOW0ydXYvbHRXdWJhM1dsRmRicmhzblVLdFBBRjVJSmJSNjg0UXZaS1JOVTRwSGUrVUNCN1BMWCs3cm1KZEh5anRlNmM5bVBPSkRHbG5GUTJjMzBOM2Q4Nmk3Y3JkR24zZkhZcDVuKzFJZG93OEc5SjZEWG5XVlJTMi9GY242eHZjMXozcFQyUVFvWUM1SzBCNmtyNmNZbmdxVUw5bDdEdkNEWklYQ2FtYzZzcHhqZ2lwc2dRdXBhTVVyWUFHTVlEamU4YWdvcTBvS25oU2VQM3ZxUXlhU3JtdjlTS3lnNVltQkQvRGdXN01BdzcraThZOVB2ZXExSVBtVERPWXhscDg2V29ia296OXYzdWZzWmdaOXVCTDZxQjVyTlNmSXdpdFVUM3pWdzhMSkQ1ODg1UTFDOWNscXVuZnZEQk92bS8vdnZIOGU1cjF2aldjTEwzZFdxWVlCV29CRi8vSEgvL2cvQXJNOWY2KzgySXU4L3BRWlJ2cVEzWE9nY2MvdTF4ZTk5NFd2Z2hhc2dHYm9aZG43bXpFQXFFZCt4U2NNWFhSK2QzSjlDRUY5bTlkczhDYzB0VFp4OUxjZTlpZHZ2V2NGMEJONXFhSTZxWUNBMFlGZ3JURjhCRWg4cnlCanNSWVh1OGQ4N2RlQTZ2YUFsdkp1SytoOHhHUjJkMEYzSThGMUFxRVlKYVU2aXFFNlhOQjZ3VUVuU29aWFZ6Q0NxUWNNaHVPQk5TRjlMSWh5RHpoZnNUZDJZbGRmb3ZRWmlsRUZXSWlGS3BXRnlkWVoxVlNFR2dnQUtHQ0VqcGNLbE1adlB0S0VVUGVFVUNodExBZDltd0pQTm1nbWdxY2NHa1lGamdjTWV6R0E0L2NLL0FlRWFMaDNhaWlGVFBoWThLZE1aWFpkYzdnVkIwY2lBZitXYnltUWVqN1VGYWhBZm41NFoxMDNpRzFZaU95WGhpWHpaeWUyaUZlQlU4R0dFZGszVDU2bEF2cTNRNnRnZ2dDd0FPTDNlS3pYRlZaUWZLM3doNEM0YkRHb2lVejFJeXg0Y2NsVWNVY21pbEdCVTFWd0JTTjNpbGxYV0Nsd2pGdHdhTDJrR0ZxZ2VxK1FLbzhIREsxUWFsMm9GbEhJaXc0SWpONm9UaFZIZTZFV0gyeVJmMW1ZanVxNGpxcFRCY3E0akpGR0JWZWdCYXpvVGFvemlWMmhBc1EzUFZsZ0JjSDJTWmtZam1zb2lBSzVUbEJUam83WUZWcGtqMzMwais5SVk0OUNaUWRXV0RhbUFsUmdCVmxBand6WlJ4MjBGNnFJa1ZkQUJkNkdpUXEyaXdWWmRkMTRrdjl5a0o0aGJCdkpTVmxJQlNtQUF2WlVrelpwVDNEL2RtTXFrRkpzVVZkV1lBVlhjQVZaa0pGYW9BVmJjSGlpaFFxb2tBcXAwRjNRb3dYbHRZTXZ5WkFPNlRPeHBaSllpWlVzZVJrZU9aVmV5WkI3Y1hqUStKVVpPRnd2UnBiZWxJVFIwaGtwbVpWdXlXRFU1WVZzWVdGb1daZmZGSUNxbFFLcU9JK0l0NUVabG85MmFZL2pScEpzYVpKdmVaaEZSb1Z5cVpDQkdaaXplSFNHZFpFYXVVRk9aZ0pqMlpoY0JKRFEwWlpZeVlsdjZWVERTSXhHd2hhWGlabGVlWUJ0cDFvbjhKRnV0cENtdVVXczhGcEJaSmhaNllKdnFKTFlGU0FnVW9FSk9RQ3ZpWlphWUQ4cVFIUEpHQzFTK1pzYmhJc2t0NW0zV1p2UEozVGdXSkNnYVp1OFNZY0F3QURJaVptcGdBcGIwSTh5S1hMUmNwYlovN2xCcUJBcDZQRWhiL21jbThpWmNDbU1EMmlIWWppZThya0szT21kS29BQ0RyZGs4NmxCVG5aVzFJbVl6V21JREtocnk3SjhBd0tZKzVtZzBNTUZqM21kcGFtZ1AzaUNUUWQvdWtlYmd4aWc4emVnaVJsMkxja1c0cW1nKzRsWDJBbWlHL1JMRXNxTlFLS0Nia21RRW1paGdRWnFIZG9WZEVtaTh4bUdBRENqTktvNkhabDhzS0dodXNhaW5laWk3U2xoVnNnV1dvQ1pYUENUV3VDYU9TcWlPYnBCZjdtY0N5V2tHVXFsVlJxT2NTaWFUeEdXZGNrRkI3Vm9BNllDVjFDUDh4bWhNdnFrR3FTV1V0cWo3Tm1HSzlxbWlFaWtSVXFKWDVrSy9rZ2dkSFdjditta2FLcEJ3eldiQXVtakRTaW9uMWhtcUxFWEQ4cExhMWFjcmYvQkFEaHFtbVo2bzMycVFhaTVwcTlCcUpzR3AxYzZpSVo2cUd6eGtrMDJraDMzblNQWkZReWdwM1pwb3RkcGw5d3BXb242a24rYUg1cmFpd0E2cXhRVmJRaDVvSTZ5a2NxSlp2cTNRYW5BQlZrQVZxcUJxbVFacVkvcVRWeFFCZmRwYzN2QkFGWEFwQytwbkxOcHBUQ0ltQTJtaVg4R0cyeXhBQXlwcW95bUF0TGFSOHVhWmNicWxYektrRG1VZEp0UmVPUEtTK1ozb2kxbHJVeUZyVS9YaE52S3JhYXFyRmttQUZUd3J2QjZCWkd5QUsvNmt2RUtBQmhvaitIMExpZHdCUVc3UWU0b3IvUGFoTFo2ZXhVclVlU1lxOXJSRlduR1NiMEtBRlZBcGw2cEJhZzFWWGFKaXd6Z2xGdUVmSHN4TFBkVXF2NHFzbjUwWU5YNml4Zi8rNlAwdXBJVkJ4MXNvWi9KcVJnQ2NLNHZxYVlBdTVHRGxiQ2N4QXF1Q0FBbWNBV2l0VUZDcFJyK1dyVFFRNjAxYTdIMnVtdjRpcXM4aTZBOFZLbE0rNXFLOWFGVGlab0VxNmo0MkJVcGNLVGVsRU93TmdEaXlrdW9oU0dZT25aWkc0RU5LSXdmMkJVbXUwRnFLcW12aWJKMWlZOWt5MlREeFFEUDQwMzFtQXBaa0xaV0lyVDllU0dZV3JjWE9xdDZ1N2NneTBOYm9GSnMrNXFvd0k5a3VhTUNJTE1hRktXV3lVbGJZQVVwQUVoVVFLYmFlSVVjcVpuTWFhMEI5NTgybTdNWVM0SG93Ulo5Q3oycE1GekppcG1xcWdKa0diRUFRTHd3dVJjbndFT3BZRm9ta0hTdDY3dHNwbVI5WklJNUFxU0VTSjJlNktZRW1yRWE2eGU4L3d1eExxWlozMlZQMFRxeTNVcVdpaVcwRGRxN3EzQUZIZVVjMGV1RDRCcWZQS1NtSUtTaDI0dVNMcGlwM1R1ZCt0R1RURFk5UHZ1K1VZcG13V3RTMDBPMU1NWm9CV3VHTHBrL3h1c3A4N3NLdlpyQUFKYS9OeHVrNkNsMEwrcTlGeUxBK1NOakFzQ2tYTEMwN1NxMEdpUmpDWnk4WGJHOG5iUVhURHJCMFRLL1lKdTRHbVMxR295N21yaTloRnAvT2RLeithT21TTHNLVmNDdXFuRUNPTXhKcUFuREw2bFlMWndLMDFQRU5BeTBKNkIvVklERUpxc0YwN01BTW51dy9rTzVnYnEveUFUQ1FheTIrYU5ZSGN0Qmp1c2NBNEJCOExxQkwybWpCWXVhS0pBL0gzdWRZaXF0cVpERnEwRlEwaVBFNGl1eHM3dkJsUnVkaFVxQjMvL3JHR3poeERzS0FHeWJ4OWRwQlVWcEJXM01zWjI3UmFoRnVrR1Z2bjFFdU5CVHhTcndzS3ZReHp2V3VSTThybHhnbm5hQ29YZnJiK0tZbTNYQ0ZuZThDcXlBbXZqenQ2YXFwekVtTmtYN2w1bnNUYmhZd0w3THBlKzdHY2lidEJ6b3h4N3F1eVhMUTlZN0thNzh5a082VEl1OG1HdXNxZ2xMYVZSUXgrUEdBQUJydklWYnZXeFJ4RG5zeWEyb0dNbk1xLzFYdGVnOHhMSjd2ZGhMemJkcXpaUVN3YXN3V00venQrRG5UYWt3dllvQnp2ZmJ5QytKV2t1c1FZclZ0d2UyenJ6MFc1RUtBTC9GQ3ZyTVE0UDFPb2hNejNGcXp3RDRpaHdveDJuYnpSdnBTNXN4b2t3bXgyRDVxWDJFV216N3lCQTlsUVIxWUpsc3ZPN2Jqdkgvdk1QR2hORVpIWDBLbUNXTXBxUG55RUdLd2NtY2xBVlpGcnlJdXBIVEk5Ujd3WW9UWE10ZmFZTGlxWmJFSEtuNzRpRTQ3WDRWSlgxYWN0UTdpcDBUVE16MmlBb0FSdEw1TTFoQ3ZVR0RCYkEyQ2owQVpzN1QyczQrdmE4OVZOT3RySjVaMjFaOXN0TUJ6QlphWktiWUNXQXQ3TThxcGFjeWR0Q2NwRmpCREQxZDNkRXlqSllQL1ZzZEtDeGJOTUZBb3ltSGFjMFlsWDU3M1JYUEU0WUxFS2tEY05iQ1BMNGFaTHdxUE1KenVVVnFDY05xNnExMUNkUDVzOG1hUzljV1RjWnFpTm16SjJZR3VwZ0FRRGhoS0FESzZjUmsyYUFGVElRYnFjMWJoSXNtQzY0TTdaVlFuY1pHcXNtRTdDMXNHTXNJRXlaR2thVzd6Y2kwV01xTS81YTJiajJWa1MzWCthT3E0OHhEeHR2Y3FxUGNxbk5ncDgxTHlybkdxNEJhQUF1dXdhUzkrRDBjRTFpZHJxS2xHZEhNck5BYURHeVBxT1diR21UZUcvbVlaSjAvanduREtrWEt5cW9ZdjdVWEtydmV0TjAvK2YwbDVFaHcyLzB0S1dodFlic0swMU5lRlQ2VmFWdWFNaGJlZm5UVTVCbkJCeWJhQkw0WGJQdmJmYVREbHFiaFlVZUYxOHdRa3RYaElOSFRxL0NYNVFYaDNtU0MwdnFYZ2IxQmlMMUZOeUlBcWpOY2h1M2NwSzNnZlZTcHlqYUI2NkhqL1MxMElBNEF6NE9MNVFYalJTN2pHb1NQN3cwOWVLWGlaazFWWkc2WEpraVhUZXhmRjY1UVdPNHNCK25mUVJPRGVENFJlNEdCT3hybWdRbXV4N25rR3luVlcxVFk2Zi9NRm1kKzJHMmUzcDA4M2VRRWRuOTI1enVlNTdjRzRxa1RtNm94NE43a1pFVWM0R3doNWd2YXJZbUtWMU1GcmlvT3E0MDkzK1VzNTVBT1NuaDM1NVRlRVhZSDRrNitDcGNjNVZQcFpPSko1Vk9wV09IOW1LUEw2NEdwVWp2MHlBVkwyZFN0MTFJaDZXVkdnNVhlZkhzdUVWeGF4VjRlNkgwdXdlRmJ0ai9OUThDdW5EUHQwaEt1UHdUZFI2cTY3Q25hN0hReFpIVytNaFZCZlQ2ZUdBTDgwRjJSMkZLdTZNNk03K0lOdWo5cnFwV3EzblBzWnJhTVdvR05qOTNpSHBxdGZvYVJlZTJPTU85dW9mRXU3NDZ5UTB1YjVQWUlZRGdzdUYrSlY4THR1OVBqWkIzdmxZK01uV281QUE4N3Q3VXR5d3EvOEdRQ2g3b05iLzdoNFM3L091MFJNYjY2bk9wR3Urb1NuZHBmK2NoUnJxckRKZDlmMmFCM3JGaGdEVDJzekNwSnhkOENnZkNjTmpDZ1NGMjVxcitWYmhHa25zK3dhNWNQYnVIay9aWDRxTjROK3F4Mldhbk51QmVCL2NnV2ZibCtoeWNhY2t4Um4zRlNZWWdhaDdBV25GTjJDZXBza1VHQmZLWm9XYW1vV3I5V1lwZGZIU2xIcnpxUnEvVFU5aDhpb2g3QitQWWNDaEUrU3ZNMTc1SUhlN3lzS3ZDcm9LcEM3L1hkcmtFNzN4dXArcXpkeXNBVmJUME9KaVlhZ2lmdGxJZ0ZtbCtDS3ZtVDN4V0U0MlNGYjQrUlN2SnRYcGNOR3V5cVFlVGtyQnBKYnFNcEQ0cXhYaG1SVWMyNEN2Tzd6WjZ3RHhGN2NjZHFXdnZlOU1nbzhMc2lISmg0VmNMb3ZSbWkvNzVGd1FidzNqWG5zdXB5dWIzaDdMU2h6NjdkSWNLWkVmOFJaay8wZGhuOXFxcjlqWWtLcUFYd0lNYnBLVDNTTUI3TnBqOTA2K1owSDV6KytMWCt0RnYxcHRpdGFycjUzRTdMcEkyWmZyOUYwbGlYc1BiZUtELzhtWmZkQlBPL0w1K2w2cGVobGhXbEMrNlYxZzRBSVIrWWY4a0FpUnFsaXc2c20vSGUrSHZ3TVAvc2VaditMMTk1T0h0VDc3enhVdXY3TC9uSTZ2M21hR21qdmYydDRsK3RtVWNrQlBPL3VKcWw2bGVsTi9YT1h3bjRrRHllRTZ5bm5vNldqK3phZ3YzcWRBdnp1WmEzdUtyK2RZZXpMTE1adDQ2V0I1eTU4b21QWGx6YXY0YVdhdXJVdkdUbGlRUHpMOC9EdVl0ZDZxOFFOYlZwUWFFYWRnbGkwbStYbS85Ny9WenZ0YWZabGZZb1kyY0Q4KzdKdzdqYWFRcUJVVElZRktwUjRneTUwQXFxbkRnYS9XZzV3ZUZPbmtuZk1RMlAyM2xiZnpDNmdINkdUb0NpR0w2L1JTcFY0c2hwZ2pzSS8yU0o2dlpvNHgzVDhPL1U5SEFhYlkrLzltRldkVWdSMUdnNTNod05vbHlBV2dLdzBtSlBsaWI0M3FWdk5nMy9ma0ZETUtzL2p1cGZFTVUvSkQyM0ZLUG0yR0pQb21vcUFNOFRxYTc5bFFCbTc1UXEvcFRpN0hoZEVEOWNmekNhNXhPNGNrdWhHTHB1ajlUdmxTWE9rTXE1QU0rSStWOTVZQU9POHRYajdPKzBnRzJKcXpCYW9jV3ZKMFkybWdBQlFPQ1dWUVVOSGtTWVVJdEFnU2U0UEVRVkVWVXFpcWxZc1VxWVVhUEdLZ3dCTUVqbEVRRC94bzBiV1Ezd21LcmtLaXNlbWIyRUdWUG1USm8xYmQ3RW1WUG5UcDR3TC96OHFVam9VS0pGRlFIOWVmTW5NcVpOblQ0MUdsVm9VS2xWanlMRmVzSHFWcUpNZ2ZZRUc3YW1TQzByUzE0Um1WYXR3QUZ0QmJ3VnNFRHVBZ1oxR1pqQWl4Y0ZpaE1uVXZ4TndjRGpDWlFNVlpwTkdKTGhBQzRTSjFhOHVLb3dBTEdWTFYvR2JCbnIxcXc1Z1Q0RnpaUXJVYXFqaDJZRmF0bzBzcStaWGQ4VW1RV3h4cFpyYmQvR25Yc3RsOWtJdWVoZSsxcjRjT0pnVVIvSHV2TnphTkdxcDJwMWZqVjE5Tkdza3hZdkx2Sks3NFJVZ0g4SHIzWXlRNExjQzI0Snp4RDdldmJ0bVNGUGJueHBhT3JUVmR1blBycTFlOWNpclpnL1NJWDBCaVJRLzZRQjRKTExMcjM2K2t1RjhjRGpMMElKTVR2dXN1V2N5dThxNS9ETHNDcWtKc3hNcENvQU5DZ0ZsMEMwcVVBVkJVS3hSUmRCdkJDWkRqbjBzTFFPYTd6dXhiQkV5cXRISDMvMDhVUWRZVnJ4dGlHUFJESkNwSnJMa01hb25MeVJ0UDJTMUtuSTRKSzAwa2dxdCtTU1FodG5oUEk1NktKOGNzb3VZY3RTcEMzVHZQSk1OOStzQ1NreXN5cnpTekxGekJIT3NkaFVUMDgwSWZRejBDN2xqQkkrNU83RU0wOUJZK0pUeUVVWkZXbXV1ZFI2dE5JWENiMFJ2ME14YmJJelN5RnQ4MVBNMGxyZ3h3VW9GVFZWOWpqTmo5WFR2dHhzd3dwVmZRazNXaXRMU3dBZ1RUaFZ6VnQvemN6VjZJVGxpbGhEelZRMU4yQjd5blZYdkhydGMvOVphWHNpOXI0d2l6MTJWbW1WblRZbnRaekZTd0JIdXlVM3ptdjFzN1BWWThzRjFUWjJVelFRWEJQRWpmWmRlNnMxN2R4aFA3UzNYWGY3bFVrdFhjRWREK0IzOFVWM1RFUVRCZmc3ZzRsc0ZseGZINTRXWWM1aVhUalJDOTRONytHMUJMakwyWWtwQnRaaXF3N04rRlYrWllxdjBvNE50bTJBa0UwZG1XUmFUY1p4NDVkd1ZqZGJaT0hNdFZRVEdGaUEzbkhadlUzbUhvbEcxZWFiOVQwWldaN3I4MW5STjlPYXVVZG82eTFYSktNOUtyWG9mNTFPRmVxb3JkNTVhcXBwWEJsb3NKMzltako3UmFwclFMTExUbGRXdEdOU08rV2YxL1JvQUhuVDR0aWpnUmw0a051N0t6VWJSK1g2UnZSdktpT1ZkMnNXdS9Zb1pBYmlYa3ovQkJDYVhqelF4cVdTM056UkY5NTc4cmZCNVJ4emhrQzIzS01PaWhDbDlqeUVTS0RtME0rRVhFcWR3OEk0NVJyOVhIMVh3VURmZHJHMUVvREJpZHFmZng2SkRvN2VuY3JlVmZieTlFeC92L3AxY0dQbkdsamNQRUFDZXZPaGR3S0d3cW9mVlB1aVNxZjJlbG1KZnoxQklCTVAvOWZsaDhqamZQL05KOExsMkljaytVbUhPTUVUM2xYb0p6QzZESTF6dXJ0VldqNlFoUDlWRUE5TitFREJCamdrOTcwdmRkbnI0TVc0NXlhMlBPQTdjU0hjdEVUU3Z3cWFEdzkyWUVNWjNIQTg2bTFRU1huVG0zdm9sREg0SFlraE1RQ0REa3lZbTdqRXJWc2lnVUVMYS9mQ0dKYkJpVEpzUUFwdEtLRUNHdkNHQ0FTVG5qeHloOXJSZ1FZVS95RFFFUmVEaC8rOWtBKzVZSW91R3ZIRU1xQWhkbE1FWHRWUVU2Z2VGbWVPWUJvaGx6ekNBdlBOWVFaZ1RJOEtQYUlFRjhKUURzVmdpaVI2Z1l4ZXNMR05CcEFpSEpVaXgrUFE4WU02eEtLMThxZzZoc3pCZjNlUUFTQWRKa2lCUUlDTUwyekRFMlV4REdVNFJSZXhZQVFiMFVDQVNFcVNaWGZFRmc3elZVZitoUENTT2hKSkJGcVlCeGxVQUZETEVna2RVdWxJWEJSREYweFp4aU1pd1pSanpPS0pzNnlsTGQ5VHhVNzlrb3E2UEJzSlJVSklKWXBDQ1N3WUpUSVowZ0pIT3ZFUlRibUZHbTVSaGwwMDVSRlBOQU10SVdoRGJ1SnhrNWRTMkw3RTZSRVhzTENjb3BnRE9oVW5Qb1lVb0oxT3ZFVXhIQkdKWStDaURPK1V4Zjg4MldpR0FtU1RuK0JNb08vKzZhSU84aEpGSXFtQUU4UEF4WU9LNGc1TGtHTCtrc1dRSFR3MEVwRklReUxVVUlZekxNT2lEK1hvUHRrWHdqdTE3VWdsOVdhTFJQSUFSN0tCcFFlVndSRGxWamlCc05PUnNVQkdMTmg0QzJTODRZbXgzR2hIWlRyVWdJWTBaMXhDNmtpQjZaRUNpT0doVGkyRktVeFJRVHNZYzZ6SkE0QkRIVG5OV1BTMXIxbE5oQk94U2d4SGlrR3NVNTBpVVMzWnZyTHVVcTB2TWhBUEh1ckVZVERsRi8vTGd3dHFLRWFCMUpTTmNXQU9VeENKakdJOFZKKzJWQ3dlZWRmWWhKMHBMVHBvNXh0Z2lkVmVjQlVaL3B2Qlpqa0xBS3V5RVpaT1RBUXlKUEdHaVQ0VEdmZHM1L29rbWRxZXJaYTF1ZXhTV2x6LzBFNUtFQU1adU1DcVUzamh5ZWZSUVlNd0U0aGVKNHNMWlp6QmlXcG9wUzRlS29hN2hvNjVlbnNzUUo4YlRqMml0SjJNU0dRajBrQ0xwamdDR1d0b2d5ZnZBQUhka3Nzam5yMnZjSi9vWDJQc3RKMDdhTy9pM3V2WStBSzB1ZlgxeUFQb01JWjJCbmNTWlVpREl5UkJUV1NBdFEwS0ZhREgxam5aV3h4akRVK0VCRExXK0ZBZFJGakM4L1diU1ZzRVVxUG9tRDlxS2NBZVJFR0hSbWlWamJ2d2hSTnBJUXRIdExLclR0UnNnUTNza1pRNk1yaldaS09ESDVvREc5OXR3bWVyc0k1NDdMdm9Sb3FsZVJqR01od1o0emc0RVJmR2NNUXdJdUhFR2t2WmRRSWhBR3lkMkF1c3RubXk3V3hCbDcwOFpuLzZpZERTQ2ZPRVJESUMvejFBenluRXlFVmZsUkVKQitOWHZXVVF3M2R0cGhaMk1zSzZ4LzB6b0FWTnRrd1dOYWxISGJPUEpTU1NKWmd2cTdYQVJTK0trUXluT0hNV3lDQnNHUWc4NmltTEJBSTdlSU1zZXZIaFVMUFJyb2hGYlQreEp5aW9xWHJWSGhHQytXemgxU2VlSVE3VHBJVXVqTkhLWTVUaDJDbSttMXFtVyt4MlNsV2JmS3RrTjArZHBHc1p0Y3dDSWNMNXd0QmhVSmNoeHNxSU1xL3ZMQklLZ0tFTy93WjR3QVBPNGNPZWV5YVU5Tm1uWE5XeTdzSDdmSE5vWnhvVTdFUlp1RUtvRkZ1ZUVBeGFUaWZxRTlrRzl3bkNVYU9xZFdFSk9MUTdIeG1xN1loSklDTVgrSHpRN3RUQ0FaUzNWQlNqdUlLbVFhNFRUNVVMT1p6VVRjMmhCd1luU3YrOEtjcmdzNjR2RGw2QkpNQURRaWlmelo5WGl0cm9lK2NrVzNlRXdoTjE4OTNoaVk5QVkxTjY4WUtsTnl3QklTaUM4NlIrdmxOVUhkeFhoenRrd2NOMTgzSDRpV3J3cThYTFhyZ0JxSDN0L2p0RlIrd2NkOEpqUjJBak9BSVU4b0NIUERpQkNVVWdBaFArUjRlSHVzR2pLZ1lBM2Y5dVBsWFE4TzJGQnoxNzBoSUZVb3hpODNsbzV4bFFzSGVrQ1VRRW0vOGZLVm9YZXRxM1J5UlFnUDN6bXZqRUhsd2V2QWw0UXU3UFZ3VGsxZDc0L1lHMjhHdG5Celord2ZjTkUwaTBsUSs5SWJEKytOZmZpVWNTUUVibDQwSGxaZUNEQ2F6ZmF3Vk0zM3dlR0R6MjFmOG5nUmpCL0tJZ09od0ViM1c4RW1IanVjZkRFNWlRdTgrdjMvK1ZWZktJOG51L09VQUQ5QmkvM1JJSUVOQzhGdEsvSWhBQ0dQZ0FEa2lBbVB1L0NnUUxqd2krOXhPRkNIaStmckdOQkJpQ0RCU0ZCaVFDQ0pSQS9EbEFDN1JBaHVDQUZ1eUFGK3dBRDVCQkQvaUFHZ1NCR3dTQkVOREJFQkNCSG9TQkgvekI2a3MvcXBxNUNRd2pGVVRDN0d1VVVKRTVOa25DSndUQUpSeENqRnNSS0xSQ2I1SEMvcnZDTGVUQ0x2VENMM3lKZ0FBQU93PT0iPg0KPGgxPldlIGFyZSBzb3JyeSwgU2NyYXRjaCB0ZWFtIGlzIGJlaGluZCB1cyA8OiggPC9oMT4NCjxwPmFuIHNlcnZlciBhY2NvdXJlZCwgc2NyYXRjaCB0ZWFtLCBSRVBPUlRFRCBPVVIgU0VWRVIgT0ggTk8hLCBvciB3ZSBhcmUganVzdCB3b3JraW5nIG9uIGl0Li4uPGJyPg0KPC9wPg0KCQk8L2NlbnRlcj5gOw0KCQl0aGlzLmRpdi5zZXRBdHRyaWJ1dGUoInN0eWxlIiwicG9zaXRpb246Zml4ZWQ7dG9wOjUwJTtsZWZ0OjUwJTt3aWR0aDo4MDBweDtoZWlnaHQ6NDAwcHg7ei1pbmRleDoxMDA7bWFyZ2luLWxlZnQ6LTQwMHB4O21hcmdpbi10b3A6LTIwMHB4O2ZvbnQtZmFtaWx5OmFyaWFsOyIpOw0KCX0NCn07"></script>
<script src="data:text/plain;charset=utf-8;base64,LyoqDQpndmJ2ZHh4J3MgY2hhdCBmaWx0ZXIgZG9lcyBub3QgYWxsb3cgYW55IGJhZCB3b3JkcyBzYWlkIA0KKi8NCi8qY2hhdFNlcnZlci5mYWtlTWVzc2FnZSh7DQogICAgY29sb3I6ImdyZWVuIiwNCiAgICBtZXNzYWdlOiJndmJ2ZHh4J3MgYmV0dGVyIGNoYXQgZmlsdGVyIGhhcyBiZWVuIGxvYWRlZC4iDQp9KTsqLw0KLypGb3Igc2FmZSByZWFzb25zIHRvIG1ha2Ugc3VyZSB0aGUgYmFkIHdvcmRzIGFyZSBjb252ZXJ0ZWQgc28gdGhleSBhcmUgbm90IHJlYWRhYmxlIGJ5IGh1bWFucyBleWUqLw0KdmFyIGJhZFdvcmRzRW5jb2RlZCA9IFsNCgkiWm5WamF3PT0iLA0KCSJZWE56IiwNCgkiWVhOemFHOXNaUT09IiwNCgkiY0c5eWJnPT0iLA0KCSJjMmhwZEE9PSIsDQoJIlpHbGphdz09IiwNCgkiYUdWamF3PT0iLA0KCSJkM1JtIiwNCgkiZEdWemRHSmhaSGR2Y21RPSINCl07DQpmdW5jdGlvbiBmaWx0ZXJTdHJpbmcoc3RyaW5nKSB7DQoJdmFyIGkgPSAwOw0KCXZhciBiYWR3b3Jkc0RlY29kZWQgPSBbXTsNCgl3aGlsZSAoaSA8IGJhZFdvcmRzRW5jb2RlZC5sZW5ndGgpIHsNCgkJYmFkd29yZHNEZWNvZGVkLnB1c2goYXRvYihiYWRXb3Jkc0VuY29kZWRbaV0pKTsNCgkJaSArPSAxOw0KCX0NCgl2YXIgYmFkV29yZHNMb2NhdGVkID0gZmFsc2U7DQoJaSA9IDA7DQoJdmFyIHRleHRTcGxpdGVkID0gc3RyaW5nLnNwbGl0KCcgJyk7DQoJd2hpbGUgKGkgPCB0ZXh0U3BsaXRlZC5sZW5ndGgpIHsNCgkJaWYgKCEoYmFkd29yZHNEZWNvZGVkLmluZGV4T2YodGV4dFNwbGl0ZWRbaV0pKSA9PSAtMSkgew0KCQkJaWYgKCEoYmFkV29yZHNMb2NhdGVkKSkgew0KCQkJCWJhZFdvcmRzTG9jYXRlZCA9IHRydWU7DQoJCQl9DQoJCX0NCgkJaSArPSAxOw0KCX0NCgliYWRXb3Jkc0xvY2F0ZWQgPSBmYWxzZTsNCglyZXR1cm4gKGJhZFdvcmRzTG9jYXRlZCk7DQp9"></script>
<script>
(function () {
/*
To Keep The Chat Safe.
*/
//USED FROM GOOGLE WITHOUT PERMISON
var badWordsEncoded = (
//put encoded bad words here as an string
"YWhvbGUN,YW51cw0=,YXNoMGxlDQ==,YXNoMGxlcw0=,YXNob2xlcw0=,YXNzDQ==,QXNzIE1vbmtleQ0=,QXNzZmFjZQ0=,YXNzaDBsZQ0=,YXNzaDBsZXoN,YXNzaG9sZQ0=,YXNzaG9sZXMN,YXNzaG9seg0=,YXNzd2lwZQ0=,YXp6aG9sZQ0=,YmFzc3RlcmRzDQ==,YmFzdGFyZA0=,YmFzdGFyZHMN,YmFzdGFyZHoN,YmFzdGVyZHMN,YmFzdGVyZHoN,QmlhdGNoDQ==,Yml0Y2gN,Yml0Y2hlcw0=,QmxvdyBKb2IN,Ym9mZmluZw0=,YnV0dGhvbGUN,YnV0dHdpcGUN,YzBjaw0=,YzBja3MN,YzBrDQ==,Q2FycGV0IE11bmNoZXIN,Y2F3aw0=,Y2F3a3MN,Q2xpdA0=,Y250cw0=,Y250eg0=,Y29jaw0=,Y29ja2hlYWQN,Y29jay1oZWFkDQ==,Y29ja3MN,Q29ja1N1Y2tlcg0=,Y29jay1zdWNrZXIN,Y3JhcA0=,Y3VtDQ==,Y3VudA0=,Y3VudHMN,Y3VudHoN,ZGljaw0=,ZGlsZDAN,ZGlsZDBzDQ==,ZGlsZG8N,ZGlsZG9zDQ==,ZGlsbGQwDQ==,ZGlsbGQwcw0=,ZG9taW5hdHJpY2tzDQ==,ZG9taW5hdHJpY3MN,ZG9taW5hdHJpeA0=,ZHlrZQ0=,ZW5lbWEN,ZiB1IGMgaw0=,ZiB1IGMgayBlIHIN,ZmFnDQ==,ZmFnMXQN,ZmFnZXQN,ZmFnZzF0DQ==,ZmFnZ2l0DQ==,ZmFnZ290DQ==,ZmFnaXQN,ZmFncw0=,ZmFneg0=,ZmFpZw0=,ZmFpZ3MN,ZmFydA0=,ZmxpcHBpbmcgdGhlIGJpcmQN,ZnVjaw0=,ZnVja2VyDQ==,ZnVja2luDQ==,ZnVja2luZw0=,ZnVja3MN,RnVkZ2UgUGFja2VyDQ==,ZnVrDQ==,RnVrYWgN,RnVrZW4N,ZnVrZXIN,RnVraW4N,RnVraw0=,RnVra2FoDQ==,RnVra2VuDQ==,RnVra2VyDQ==,RnVra2luDQ==,ZzAwaw0=,Z2F5DQ==,Z2F5Ym95DQ==,Z2F5Z2lybA0=,Z2F5cw0=,Z2F5eg0=,R29kLWRhbW5lZA0=,aDAwcg0=,aDBhcg0=,aDByZQ0=,aGVsbHMN,aG9hcg0=,aG9vcg0=,aG9vcmUN,amFja29mZg0=,amFwDQ==,amFwcw0=,amVyay1vZmYN,amlzaW0N,amlzcw0=,aml6bQ0=,aml6eg0=,a25vYg0=,a25vYnMN,a25vYnoN,a3VudA0=,a3VudHMN,a3VudHoN,TGVzYmlhbg0=,TGV6emlhbg0=,TGlwc2hpdHMN,TGlwc2hpdHoN,bWFzb2NoaXN0DQ==,bWFzb2tpc3QN,bWFzc3RlcmJhaXQN,bWFzc3RyYmFpdA0=,bWFzc3RyYmF0ZQ0=,bWFzdGVyYmFpdGVyDQ==,bWFzdGVyYmF0ZQ0=,bWFzdGVyYmF0ZXMN,TW90aGEgRnVja2VyDQ==,TW90aGEgRnVrZXIN,TW90aGEgRnVra2FoDQ==,TW90aGEgRnVra2VyDQ==,TW90aGVyIEZ1Y2tlcg0=,TW90aGVyIEZ1a2FoDQ==,TW90aGVyIEZ1a2VyDQ==,TW90aGVyIEZ1a2thaA0=,TW90aGVyIEZ1a2tlcg0=,bW90aGVyLWZ1Y2tlcg0=,TXV0aGEgRnVja2VyDQ==,TXV0aGEgRnVrYWgN,TXV0aGEgRnVrZXIN,TXV0aGEgRnVra2FoDQ==,TXV0aGEgRnVra2VyDQ==,bjFncg0=,bmFzdHQN,bmlnZ2VyOw0=,bmlndXI7DQ==,bmlpZ2VyOw0=,bmlpZ3I7DQ==,b3JhZmlzDQ==,b3JnYXNpbTsN,b3JnYXNtDQ==,b3JnYXN1bQ0=,b3JpZmFjZQ0=,b3JpZmljZQ0=,b3JpZmlzcw0=,cGFja2kN,cGFja2llDQ==,cGFja3kN,cGFraQ0=,cGFraWUN,cGFreQ0=,cGVja2VyDQ==,cGVlZW51cw0=,cGVlZW51c3NzDQ==,cGVlbnVzDQ==,cGVpbnVzDQ==,cGVuMXMN,cGVuYXMN,cGVuaXMN,cGVuaXMtYnJlYXRoDQ==,cGVudXMN,cGVudXVzDQ==,UGh1Yw0=,UGh1Y2sN,UGh1aw0=,UGh1a2VyDQ==,UGh1a2tlcg0=,cG9sYWMN,cG9sYWNrDQ==,cG9sYWsN,UG9vbmFuaQ0=,cHIxYw0=,cHIxY2sN,cHIxaw0=,cHVzc2UN,cHVzc2VlDQ==,cHVzc3kN,cHV1a2UN,cHV1a2VyDQ==,cXVlZXIN,cXVlZXJzDQ==,cXVlZXJ6DQ==,cXdlZXJzDQ==,cXdlZXJ6DQ==,cXdlaXIN,cmVja3R1bQ0=,cmVjdHVtDQ==,cmV0YXJkDQ==,c2FkaXN0DQ==,c2NhbmsN,c2NobG9uZw0=,c2NyZXdpbmcN,c2VtZW4N,c2V4DQ==,c2V4eQ0=,U2ghdA0=,c2gxdA0=,c2gxdGVyDQ==,c2gxdHMN,c2gxdHRlcg0=,c2gxdHoN,c2hpdA0=,c2hpdHMN,c2hpdHRlcg0=,U2hpdHR5DQ==,U2hpdHkN,c2hpdHoN,U2h5dA0=,U2h5dGUN,U2h5dHR5DQ==,U2h5dHkN,c2thbmNrDQ==,c2thbmsN,c2thbmtlZQ0=,c2thbmtleQ0=,c2thbmtzDQ==,U2thbmt5DQ==,c2x1dA0=,c2x1dHMN,U2x1dHR5DQ==,c2x1dHoN,c29uLW9mLWEtYml0Y2gN,dGl0DQ==,dHVyZA0=,dmExamluYQ0=,dmFnMW5hDQ==,dmFnaWluYQ0=,dmFnaW5hDQ==,dmFqMW5hDQ==,dmFqaW5hDQ==,dnVsbHZhDQ==,dnVsdmEN,dzBwDQ==,d2gwMHIN,d2gwcmUN,d2hvcmUN,eHJhdGVkDQ==,eHh4DQ==,YiErY2gN,Yml0Y2gN,Ymxvd2pvYg0=,Y2xpdA0=,YXJzY2hsb2NoDQ==,ZnVjaw0=,c2hpdA0=,YXNzDQ==,YXNzaG9sZQ0=,YiF0Y2gN,YjE3Y2gN,YjF0Y2gN,YmFzdGFyZA0=,YmkrY2gN,Ym9pb2xhcw0=,YnVjZXRhDQ==,YzBjaw0=,Y2F3aw0=,Y2hpbmsN,Y2lwYQ0=,Y2xpdHMN,Y29jaw0=,Y3VtDQ==,Y3VudA0=,ZGlsZG8N,ZGlyc2EN,ZWpha3VsYXRlDQ==,ZmF0YXNzDQ==,ZmN1aw0=,ZnVrDQ==,ZnV4MHIN,aG9lcg0=,aG9yZQ0=,amlzbQ0=,a2F3aw0=,bDNpdGNoDQ==,bDNpK2NoDQ==,bGVzYmlhbg0=,bWFzdHVyYmF0ZQ0=,bWFzdGVyYmF0Kg0=,bWFzdGVyYmF0Mw0=,bW90aGVyZnVja2VyDQ==,cy5vLmIuDQ==,bW9mbw0=,bmF6aQ0=,bmlnZ2EN,bmlnZ2VyDQ==,bnV0c2Fjaw0=,cGh1Y2sN,cGltcGlzDQ==,cHVzc2UN,cHVzc3kN,c2Nyb3R1bQ0=,c2ghdA0=,c2hlbWFsZQ0=,c2hpKw0=,c2ghKw0=,c2x1dA0=,c211dA0=,dGVldHMN,dGl0cw0=,Ym9vYnMN,YjAwYnMN,dGVleg0=,dGVzdGljYWwN,dGVzdGljbGUN,dGl0dA0=,dzAwc2UN,amFja29mZg0=,d2Fuaw0=,d2hvYXIN,d2hvcmUN,KmRhbW4N,KmR5a2UN,KmZ1Y2sqDQ==,KnNoaXQqDQ==,QCQkDQ==,YW1jaWsN,YW5kc2tvdGEN,YXJzZSoN,YXNzcmFtbWVyDQ==,YXlpcg0=,Ymk3Y2gN,Yml0Y2gqDQ==,Ym9sbG9jayoN,YnJlYXN0cw0=,YnV0dC1waXJhdGUN,Y2Ficm9uDQ==,Y2F6em8N,Y2hyYWEN,Y2h1ag0=,Q29jayoN,Y3VudCoN,ZDRtbg0=,ZGF5Z28N,ZGVnbw0=,ZGljayoN,ZGlrZSoN,ZHVwYQ0=,ZHppd2thDQ==,ZWphY2t1bGF0ZQ0=,RWtyZW0qDQ==,RWt0bw0=,ZW5jdWxlcg0=,ZmFlbg0=,ZmFnKg0=,ZmFuY3Vsbw0=,ZmFubnkN,ZmVjZXMN,ZmVnDQ==,RmVsY2hlcg0=,Zmlja2VuDQ==,Zml0dCoN,Rmxpa2tlcg0=,Zm9yZXNraW4N,Rm90emUN,RnUoKg0=,ZnVrKg0=,ZnV0a3JldHpuDQ==,Z2F5DQ==,Z29vaw0=,Z3VpZW5hDQ==,aDByDQ==,aDR4MHIN,aGVsbA0=,aGVsdmV0ZQ0=,aG9lcioN,aG9ua2V5DQ==,SHVldm9uDQ==,aHVpDQ==,aW5qdW4N,aml6eg0=,a2Fua2VyKg0=,a2lrZQ0=,a2xvb3R6YWsN,a3JhdXQN,a251bGxlDQ==,a3VrDQ==,a3Vrc3VnZXIN,S3VyYWMN,a3Vyd2EN,a3VzaSoN,a3lycGEqDQ==,bGVzYm8N,bWFtaG9vbg0=,bWFzdHVyYmF0Kg0=,bWVyZCoN,bWlidW4N,bW9ua2xlaWdoDQ==,bW91bGlld29wDQ==,bXVpZQ0=,bXVsa2t1DQ==,bXVzY2hpDQ==,bmF6aXMN,bmVwZXNhdXJpbw0=,bmlnZ2VyKg0=,b3Jvc3B1DQ==,cGFza2EqDQ==,cGVyc2UN,cGlja2EN,cGllcmRvbCoN,cGlsbHUqDQ==,cGltbWVsDQ==,cGlzcyoN,cGl6ZGEN,cG9vbnRzZWUN,cG9vcA0=,cG9ybg0=,cDBybg0=,cHIwbg0=,cHJldGVlbg0=,cHVsYQ0=,cHVsZQ0=,cHV0YQ0=,cHV0bw0=,cWFoYmVoDQ==,cXVlZWYqDQ==,cmF1dGVuYmVyZw0=,c2NoYWZmZXIN,c2NoZWlzcyoN,c2NobGFtcGUN,c2NobXVjaw0=,c2NyZXcN,c2ghdCoN,c2hhcm11dGEN,c2hhcm11dGUN,c2hpcGFsDQ==,c2hpeg0=,c2tyaWJ6DQ==,c2t1cnd5c3luDQ==,c3BoZW5jdGVyDQ==,c3BpYw0=,c3BpZXJkYWxhag0=,c3Bsb29nZQ0=,c3VrYQ0=,YjAwYioN,dGVzdGljbGUqDQ==,dGl0dCoN,dHdhdA0=,dml0dHUN,d2FuayoN,d2V0YmFjayoN,d2ljaHNlcg0=,d29wKg0=,eWVkDQ==,emFib3VyYWg="
).replaceAll("\r","").replaceAll("\n","").replaceAll("\t","").split(",");
var checkBadWords = function (txt) {
var text = txt.split(" ").join("").toLowerCase(); //lowercase the word so like HeY becomes hey! To make It easier For Filtering List
for (var i in badWordsEncoded) {
if (text == atob(badWordsEncoded[i]).replaceAll("\r","").replaceAll("\n","").replaceAll("\t","")) { //many pepole get confused with this function
return true; //there is a bad word!
}
}
return false; //this word is safe.
}
window.filterBadWords = function (text,censorthing) {
//spaces are used as and seporator for words for us to read, just like this comment.
var words = text.split(" ");
if (censorthing) {
var censorcharacter = censorthing;
} else {
var censorcharacter = "#";
}
var fixedtext = [];
for (var i in words) {
if (checkBadWords(words[i])) {
var wordcencored = "";
for (var unusedi in words[i]) {
wordcencored += censorcharacter;
}
fixedtext.push(wordcencored);
} else {
fixedtext.push(words[i]);
}
}
return fixedtext.join(" ");
};
})()
</script>
<script>
//emojis
var emojiserver = "https://jasonglenevans.github.io/GvbvdxxChatEmojis/";
var sections = {
"I_EGG.ICO":"Sonic",
"ARVSM_IDLE.svg":"Aibo Recognition VS Melney",
"DE_AIBO_1.png":"Aibo ERS210 Emonicon Pack by SpaceDog500",
"SC_1.png":"Scratch Accounts",
"CATTO_BOI.gif":"Other"
}
var emojis = [
"I_EGG.ICO",
"sonic-tails.gif",
"I_EGG2.ICO",
"I_KNACK.ICO",
"I_KNACS2.ICO",
"I_MILES.ICO",
"I_MILES2.ICO",
"I_SONIC.ICO",
"I_SONIC2.ICO",
"SONIC_SCREAM.png",
"SONIC_BLUE_SPHERE.png",
"SONIC_RUN.gif",
"SONIC_DAB.png",
"ARVSM_IDLE.svg",
"ARVSM_XD.png",
"ARVSM_DIE.png",
"DE_AIBO_1.png",
"DE_AIBO_2.png",
"DE_AIBO_3.png",
"DE_AIBO_4.png",
"DE_AIBO_5.png",
"DE_AIBO_6.png",
"SC_1.png",
"SC_2.png",
"SC_3.png",
"SC_4.png",
"SC_5.png",
"SC_6.png",
"LUISSTUFF.png",
"SCRATCH_WIN_XP.svg",
"MSG_1.gif",
"MSG_2.png",
"MSG_3.png",
"MSG_4.png",
"MSG_5.png",
"MSG_6.png",
"MSG_7.png",
"MSG_8.png",
"MSG_9.png",
"CATTO_BOI.gif",
"CHEESEPUFFS.jpg",
"PLUSH.png"
];
function loadEmojis() {
document.getElementById("emojiContainer").innerHTML = "";
var i = 0;
while (i < emojis.length) {
var img = document.createElement("img");
if (sections[emojis[i]]) {
var header = document.createElement("h1");
header.innerHTML = sections[emojis[i]];
document.getElementById('emojiContainer').appendChild(header);
}
img.onclick = function () {
document.getElementById('typedMessage').value += "<img src='"+this.src+"' width=32 height=32 style='image-rendering:pixelated;'draggable='false'></img>";
document.getElementById('EmojiAddNotice').hidden = false;
clickSound();
};
img.onmouseenter = function () {
this.style.filter = "brightness(200%)";
this.style.cursor = "pointer";
};
img.onmouseout = function () {
this.style.filter = "brightness(100%)";
this.style.cursor = "";
};
try {
img.title = header.innerHTML + ":" + emojis[i];
}catch(e){}
img.src = emojiserver+emojis[i];
img.setAttribute("style",'image-rendering:pixelated;');
img.setAttribute("width",'64');
img.setAttribute("height",'64');
document.getElementById('emojiContainer').appendChild(img);
i += 1;
}
}
</script>
<script>
document.getElementById('connectingState').innerHTML = "Connecting...";
//var ws_uri = "wss://clouddata.turbowarp.org/p4-@655289115.sb3";
var ws_uri = "wss://puzzling-stump-seal.glitch.me";/*Connect to an ws server*/
var serverID = "";
var websocket = null;
function connect() {
var onmessage = null;
if (websocket) {
if (websocket.onmessage) {
onmessage = websocket.onmessage;
}
}
websocket = new WebSocket(ws_uri);
websocket.onclose = function(event) {
window.location.reload();
};
websocket.onmessage = onmessage;
}
connect()
function randomData() {
var ip = Math.round(Math.random()*1000) + "." + Math.round(Math.random()*1000) + "." + Math.round(Math.random()*1000) + "." + Math.round(Math.random()*1000);
return ip;
}
var info = new URLSearchParams(window.location.search);
window.server = "Global Room";
(async () => {
let permission = await Notification.requestPermission();
/*Gets called when message sent*/
window.notifyMessage = function (message,user) {
console.log("notify sent.");
var notifycation = new Notification('New message! - gvbvdxx chat', {
body: 'New message! Gvbvdxx Chat: ' + 'username: ' + user + " message: " + message
});
};
})();
var clickSound = function (){
click.currentTime=0;
click.play();
};
var typeSound = function () {
type.currentTime=0;
type.play();
};
window.notifyEnabled = false;
if (localStorage.getItem("fakeIp") === null) {
var fakeIp = randomData();
localStorage.setItem("fakeIp",fakeIp);
window.currentIP = fakeIp;
console.log("fake ip made");
} else {
window.currentIP = localStorage.getItem("fakeIp");
}
if (info.get("room")) {
document.getElementById("Server").value = info.get("room");
window.server = info.get("room");
}
/*fetch("https://api.ipify.org?format=json").then((data) => {
data.json().then((data) => {
window.currentIP = (data.ip);
});
});
*/
websocket.onerror = function(event) {
document.getElementById('connectingState').innerHTML = "Connection to chat failed.";
document.getElementById('connectingState').style.color = "red";
document.getElementById('usernameSetup').hidden = true;
var serverError = new window.errors["ScratchTeam"]();
document.body.appendChild(serverError.div);
};
var profilePicture = "data:image/png;base64,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";
function setPFP(t) {
var read = new FileReader();
read.onload = () => {
profilePicture = read.result;
document.getElementById("profilePreview").src = read.result;
};
if (t.files[0]) {
read.readAsDataURL(t.files[0]);
}
}
function downloadAndUploadSend(dataURL,name) {
event.preventDefault();
document.getElementById('typedMessage').click();
var message = "<a download='"+name+"' href='"+dataURL+"'>"+name+"</a>";
if (message.toString().length) {
var username = document.getElementById('username').value;
var data = {
username: username,
profile:profilePicture,
message: message,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
websocket.send(JSON.stringify(data));
document.getElementById('typedMessage').value = "";
}
}
function sendImg (dataURL) {
event.preventDefault();
document.getElementById('typedMessage').click();
var message = "<img src='"+dataURL+"'></img>";
if (message.toString().length) {
var username = document.getElementById('username').value;
var data = {
username: username,
profile:profilePicture,
message: message,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
websocket.send(JSON.stringify(data));
document.getElementById('typedMessage').value = "";
}
}
function sendDU (dataURL) {
event.preventDefault();
document.getElementById('typedMessage').click();
var message = "<img src='"+dataURL+"'></img>";
if (message.toString().length) {
var username = document.getElementById('username').value;
var data = {
username: username,
profile:profilePicture,
message: message,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
websocket.send(JSON.stringify(data));
document.getElementById('typedMessage').value = "";
}
}
function sendVideo (dataURL) {
event.preventDefault();
document.getElementById('typedMessage').click();
var message = "<video src='"+dataURL+"' controls></video>";
if (message.toString().length) {
var username = document.getElementById('username').value;
var data = {
username: username,
profile:profilePicture,
message: message,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
websocket.send(JSON.stringify(data));
document.getElementById('typedMessage').value = "";
}
}
function sendAudio(dataURL) {
event.preventDefault();
document.getElementById('typedMessage').click();
var message = "<audio src='"+dataURL+"' controls></audio>";
if (message.toString().length) {
var username = document.getElementById('username').value;
var data = {
username: username,
message: message,
profile:profilePicture,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
websocket.send(JSON.stringify(data));
document.getElementById('typedMessage').value = "";
}
}
function uploadeIMGFile(fileselect) {
var reader = new FileReader();
reader.onload = function () {
sendImg(reader.result);
}
if (fileselect.files[0]) {
reader.readAsDataURL(fileselect.files[0]);
fileselect.value = "";
}
}
function DUFileUpload(fileselect) {
var reader = new FileReader();
var name = fileselect.files[0].name;
reader.onload = function () {
downloadAndUploadSend(reader.result,name);
}
if (fileselect.files[0]) {
reader.readAsDataURL(fileselect.files[0]);
fileselect.value = "";
}
}
function uploadeAudioFile(fileselect) {
var reader = new FileReader();
reader.onload = function () {
sendAudio(reader.result);
}
if (fileselect.files[0]) {
reader.readAsDataURL(fileselect.files[0]);
fileselect.value = "";
}
}
function uploadeVideoFile(fileselect) {
var reader = new FileReader();
reader.onload = function () {
sendVideo(reader.result);
}
if (fileselect.files[0]) {
reader.readAsDataURL(fileselect.files[0]);
fileselect.value = "";
}
}
websocket.onopen = function(event) {
document.getElementById('connectingState').innerHTML = "Connected to chat!";
document.getElementById('connectingState').style.color = "green";
document.getElementById('join').style.display = "block";
};
websocket.onclose = function(event) {
};
document.getElementById('typedMessage').onkeydown = function (event) {
if (event.key == "Enter") {
document.getElementById("Send").click();
}
}
var notify = document.createElement("audio");
notify.src = "notify.wav";
var click = document.createElement("audio");
click.src = "click.wav";
var type = document.createElement("audio");
type.src = "type.wav";
window.serverProfilePicture = "data:image/png;base64,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Gfzk8/jP5yAaQefxn85PP4z+cgGkHn8Z/OTz+M/nIBpB5/Gfzk8/jP5yAaQefxn85PP4z+cgGkHn8Z/OTz+M/nIBpB5/Gfzk8/jP5yAaQefxn85PP4z+cgGkHn8Z/OTz+M/nIBpB5/Gfzk8/jP5yAaQefxn85PP4z+cgGkHn8Z/OTz+M/nIBpB5/Gfzk8/jP5yAaQefxn85PP4z+cgGkHn8Z/M4j4AP0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB//2Q==";
function start() {
websocket.onclose = function () {
window.location.reload();
};
var username = document.getElementById('username').value;
var data = {
username: username,
message: " has joined the chat",
profile:window.serverProfilePicture,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
websocket.send(JSON.stringify(data));
window.addEventListener('beforeunload', function (e) {
websocket.send(JSON.stringify({
username: username,
message: " has left the chat",
profile:profilePicture,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
}));
});
document.getElementById('Send').onclick = function (event) {
event.preventDefault();
document.getElementById('typedMessage').click();
var message = document.getElementById('typedMessage').value//.replaceAll("<","<").replaceAll(">",">");
if (message.toString().length > 0) {
var username = document.getElementById('username').value;
var lisen = window.chat.listeners.onsend;
var i = 0;
while (i < lisen.length) {
try {
var result = lisen[i](message)
}catch(e){console.error(e);}
i += 1;
}
try{
navigator.vibrate(200);
}catch(e){}
var data = {
username: username,
message: message,
profile:profilePicture,
ip:window.currentIP,
room:server,
color:document.getElementById('profilecolor').value
};
data.message = filterBadWords(data.message);
websocket.send(JSON.stringify(data));
document.getElementById('typedMessage').value = "";
}
}
var framestime = 0;
function updateDiv() {
framestime += 1;
}
setInterval(() => {
if (framestime == 0) {
document.getElementById("screenCaptureDiv").hidden = true;
}
framestime = 0;
},1000)
var screenShareTI = false;
websocket.onmessage = function(event) {
var data = JSON.parse(event.data);
if (data.room == server) {
if (data.command == "stopShare") {
if (screenShareTI) {
console.log("ignored stopped sharing");
screenShareTI = false;
} else {
console.log("stopped sharing");
window.stopScreenShare();
}
} else {
if (data.command == "ban") {
if (data.ip == window.currentIP) {
localStorage.setItem("banded","yes");
websocket.close();
}
console.log("ban extucuted:" + "ban ip:"+data.ip + " current ip:" + data.ip);
} else {
if (data.command == "updateCapture") {
document.getElementById("videoRecord").src = data.src;
document.getElementById("screenCaptureDiv").hidden = false;
updateDiv();
} else {
if (data.command == "plugin") {
console.log("server plugin added");
var script = document.createElement("script");
script.src = data.data;
document.body.appendChild(script);
} else {
if (true) {
var div = document.createElement("div");
div.innerHTML += ("<b style='color:"+data.color+";'>" + "<img src='" + data.profile + "' class='profile' style='image-rendering:pixelated;' width=32 height=32>" + data.username + '</b>: ' + data.message);
messages.children[0].appendChild(div);
messages.scrollTo(0,messages.scrollHeight);
notify.volume = 0.5;
notify.currentTime=0;
notify.play();
try {
if (window.notifyEnabled == true) {
notifyMessage(data.message,data.username);
}
}catch(e){}
if (window.onmessage) {
window.onmessage({message:data.message,username:data.username});
}
}
}
}
}
}
}
websocket.onclose = function(event) {
connect();
};
};
if (window.onjoin) {
window.onjoin();
}
};
function sendFakeMessage(data) {
messages.children[0].innerHTML += ("<br><b style='color:"+data.color+";'>" + "<img src='" + data.profile + "' class='profile' style='image-rendering:pixelated;' width=32 height=32>" + data.username + '</b>: ' + data.message);
messages.scrollTo(0,messages.scrollHeight);
notify.volume = 0.5;
notify.currentTime=0;
notify.play();
try {
if (window.notifyEnabled == true) {
notifyMessage(data.message,data.username);
}
}catch(e){}
};
if (localStorage.getItem("banded") == "yes") {
document.getElementById("usernameSetup").hidden = true;
window.alert("You have been banded!");
}
window.chat = {
server:class {
constructor () {
this.getWebsocket = function () {
return websocket;
};
this.leaveChat = function (options) {
window.location.reload();
};
this.fakeMessage = function (options) {
if (true) {
var username = document.getElementById('username').value;
var pluginextra = "";
if (options.name) {
pluginextra += " - " + options.name;
}
var data = {
username: "[server"+pluginextra+"]",
message: options.message,
profile:window.serverProfilePicture,
ip:"server.0.0.0.0",
room:server,
color:options.color
};
sendFakeMessage(data);
}
};
this.sendMessage = function (options) {
if (true) {
var username = document.getElementById('username').value;
var pluginextra = "";
if (options.name) {
pluginextra += " - " + options.name;
}
var data = {
username: "[server"+pluginextra+"]",
message: options.message,
profile:window.serverProfilePicture,
ip:"server.0.0.0.0",
room:server,
color:options.color
};
websocket.send(JSON.stringify(data));
}
};
this.sendMessageUser = function (options) {
var username = document.getElementById('username').value;
var data = {
username: username,
message: options.message,
profile:profilePicture,
ip:window.currentIP,
room:server,
color:options.color
};
websocket.send(JSON.stringify(data));
};
this.banUser = function (options) {
localStorage.setItem("banded","yes");
window.location.reload();
};
this.elements = {
typedOutMessage:document.getElementById("text")
};
this.clearChat = function () {
messages.children[0].innerHTML = '';
};
this.addEventListener = function (eventName,funct) {
try {
window.chat.listeners["on"+eventName].push(funct);
}catch(e){}
};
}
},
audio:class {
constructor () {
this.notifySound = function () {notify.currentTime=0;notify.play();};
this.clickSound = function () {click.currentTime=0;click.play()};
this.typeSound = function () {type.currentTime=0;type.play()};
}
},
listeners: {onmessage:[],onsend:[]}
}
////////////////////////////////////
var video = document.createElement("video");
var cvs = document.createElement("canvas");
video.volume = 0; //mute it so we dont hear it
//cvs.width = 400;
//cvs.height = 300;
//devide by 1.4 to lower the image data.
cvs.width = 640/1.4;
cvs.height = 480/1.4;
async function startCapture(displayMediaOptions) {
let captureStream = null;
try {
captureStream = await navigator.mediaDevices.getDisplayMedia(displayMediaOptions);
} catch(err) {
throw Error(err);
}
return captureStream;
}
var streamTimer = null;
var button = document.getElementById("shareScreen");
var streamForCapture = null;
var previousButtonText = button.innerHTML;
function startCap() {
video.play();
try{
startCapture({
video: {
cursor: "always"
},
audio: {
echoCancellation: true,
noiseSuppression: true,
sampleRate: 44100
}
}).then(function(capture) {
streamForCapture = capture;
screenShareTI = true;
window.mediaRecorder = new MediaRecorder(streamForCapture);
websocket.send(JSON.stringify({
command:"stopShare",
room:server
}));
setTimeout(() => {
video.srcObject=capture;
video.play();
var cxt = cvs.getContext('2d');
streamTimer = setInterval(() => {
try{
cxt.drawImage(video, 0, 0, cvs.width, cvs.height);
//document.getElementById("videoRecord").src = cvs.toDataURL();
}catch(e){console.error(e);}
var chunks = [];
websocket.send(JSON.stringify({
command:"updateCapture",
src:cvs.toDataURL(),
room:server
}));
},170);
button.innerHTML = "stop screen share";
button.onclick = function () {
window.stopScreenShare();
};
},700);
});
}catch(e){}
};
window.stopScreenShare = function stopScreenShare() {
clearInterval(streamTimer);
button.innerHTML = previousButtonText;
button.onclick = function () {
startCap();
};
};
///////////////
document.getElementById("screenCaptureDiv").hidden = true;
</script>
<script src="adminchat.js?n=1"></script>