-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathGAMMApage
More file actions
executable file
·1421 lines (1272 loc) · 151 KB
/
GAMMApage
File metadata and controls
executable file
·1421 lines (1272 loc) · 151 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
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
#!/usr/bin/env python
##############################################################################
# c2005-2009 by Paul Sherman
# <psherma1@rochester.rr.com> http://www.pcbypaul.com
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
##############################################################################
## importing with system requirement checks #################################
import sys, os, time, commands, string, shutil, re
import pygtk
import gobject
if gobject.pygtk_version < (2,5,96):
print >>sys.stderr, "pyGTK version 2.6 or greater is required for this application"
raise SystemExit
import gtk
try:
import pango
except:
print >> sys.stderr, "Cannot load Pango"
raise SystemExit
############### now for our icons and font_description ########################
font_desc = pango.FontDescription()
cmd_font = pango.FontDescription("Monospaced 10")
squares_xpm = [
"531 125 10 1",
" c #000100",
". c #111310",
"+ c #0200BA",
"@ c #1600FF",
"# c #B90000",
"$ c #FF0000",
"% c #00BA00",
"& c #979996",
"* c #999999",
"= c #0CFF00",
"&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&................... ................................................................................................................................... ...................................... ....................................... ....................",
"&................... **********************************************************************************************.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#########################################$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+++++++++++++++++++++++++++++++++++++++++@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * ......................................... *..................................... ######################################### ...................................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ....................................... +++++++++++++++++++++++++++++++++++++++++ ....................",
"&................... * ......................................... *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$#$$$$$$$$$$$$$$$$$$$$$$$$$$......................................===========================%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%=%==========================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@+@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... * *..................................... ...................................... ....................................... ....................",
"&................... * *.....................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&................... **********************************************************************************************................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&.......................................................................................................................................................$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$......................................==============================================================================================.......................................@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................",
"&.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................."]
gamma22_xpm = [
"180 90 208 2",
" c None",
". c #7E7E7E",
"+ c #8C8C8C",
"@ c #989898",
"# c #979797",
"$ c #959595",
"% c #949494",
"& c #929292",
"* c #909090",
"= c #8F8F8F",
"- c #8D8D8D",
"; c #8B8B8B",
"> c #898989",
", c #888888",
"' c #868686",
") c #848484",
"! c #828282",
"~ c #808080",
"{ c #7D7D7D",
"] c #7B7B7B",
"^ c #797979",
"/ c #777777",
"( c #757575",
"_ c #737373",
": c #717171",
"< c #6F6F6F",
"[ c #6C6C6C",
"} c #6A6A6A",
"| c #686868",
"1 c #666666",
"2 c #646464",
"3 c #616161",
"4 c #5F5F5F",
"5 c #5D5D5D",
"6 c #5B5B5B",
"7 c #585858",
"8 c #565656",
"9 c #535353",
"0 c #515151",
"a c #4F4F4F",
"b c #4C4C4C",
"c c #494949",
"d c #474747",
"e c #444444",
"f c #414141",
"g c #404040",
"h c #434343",
"i c #464646",
"j c #484848",
"k c #4B4B4B",
"l c #4D4D4D",
"m c #505050",
"n c #525252",
"o c #555555",
"p c #575757",
"q c #595959",
"r c #5C5C5C",
"s c #5E5E5E",
"t c #606060",
"u c #636363",
"v c #656565",
"w c #676767",
"x c #696969",
"y c #6B6B6B",
"z c #6D6D6D",
"A c #707070",
"B c #727272",
"C c #747474",
"D c #767676",
"E c #787878",
"F c #7A7A7A",
"G c #7C7C7C",
"H c #7F7F7F",
"I c #818181",
"J c #838383",
"K c #858585",
"L c #878787",
"M c #8A8A8A",
"N c #8E8E8E",
"O c #919191",
"P c #939393",
"Q c #969696",
"R c #999999",
"S c #9B9B9B",
"T c #9C9C9C",
"U c #9D9D9D",
"V c #9F9F9F",
"W c #A0A0A0",
"X c #A2A2A2",
"Y c #A3A3A3",
"Z c #A4A4A4",
"` c #A6A6A6",
" . c #A7A7A7",
".. c #A8A8A8",
"+. c #A9A9A9",
"@. c #AAAAAA",
"#. c #ACACAC",
"$. c #ADADAD",
"%. c #AEAEAE",
"&. c #AFAFAF",
"*. c #B0B0B0",
"=. c #B1B1B1",
"-. c #B2B2B2",
";. c #B3B3B3",
">. c #B4B4B4",
",. c #B5B5B5",
"'. c #B6B6B6",
"). c #B7B7B7",
"!. c #B8B8B8",
"~. c #B9B9B9",
"{. c #BABABA",
"]. c #BBBBBB",
"^. c #BCBCBC",
"/. c #BDBDBD",
"(. c #BEBEBE",
"_. c #ABABAB",
":. c #A5A5A5",
"<. c #A1A1A1",
"[. c #9E9E9E",
"}. c #C0C0C0",
"|. c #C3C3C3",
"1. c #C5C5C5",
"2. c #C8C8C8",
"3. c #CBCBCB",
"4. c #CDCDCD",
"5. c #D0D0D0",
"6. c #D2D2D2",
"7. c #D5D5D5",
"8. c #D7D7D7",
"9. c #D9D9D9",
"0. c #DCDCDC",
"a. c #DEDEDE",
"b. c #E0E0E0",
"c. c #E2E2E2",
"d. c #E4E4E4",
"e. c #E6E6E6",
"f. c #E8E8E8",
"g. c #E9E9E9",
"h. c #EBEBEB",
"i. c #EDEDED",
"j. c #EEEEEE",
"k. c #F0F0F0",
"l. c #F1F1F1",
"m. c #F3F3F3",
"n. c #F4F4F4",
"o. c #F5F5F5",
"p. c #F6F6F6",
"q. c #F7F7F7",
"r. c #F8F8F8",
"s. c #F9F9F9",
"t. c #FAFAFA",
"u. c #FBFBFB",
"v. c #FCFCFC",
"w. c #FDFDFD",
"x. c #FEFEFE",
"y. c #FFFFFF",
"z. c #F2F2F2",
"A. c #EFEFEF",
"B. c #ECECEC",
"C. c #EAEAEA",
"D. c #E7E7E7",
"E. c #E5E5E5",
"F. c #E3E3E3",
"G. c #E1E1E1",
"H. c #DFDFDF",
"I. c #DDDDDD",
"J. c #DBDBDB",
"K. c #D8D8D8",
"L. c #D6D6D6",
"M. c #D4D4D4",
"N. c #D1D1D1",
"O. c #CFCFCF",
"P. c #CCCCCC",
"Q. c #CACACA",
"R. c #C7C7C7",
"S. c #C4C4C4",
"T. c #C1C1C1",
"U. c #6E6E6E",
"V. c #626262",
"W. c #3F3F3F",
"X. c #3A3A3A",
"Y. c #353535",
"Z. c #313131",
"`. c #2C2C2C",
" + c #272727",
".+ c #222222",
"++ c #1D1D1D",
"@+ c #181818",
"#+ c #131313",
"$+ c #0E0E0E",
"%+ c #080808",
"&+ c #020202",
"*+ c #050505",
"=+ c #0B0B0B",
"-+ c #101010",
";+ c #151515",
">+ c #1B1B1B",
",+ c #202020",
"'+ c #252525",
")+ c #292929",
"!+ c #2E2E2E",
"~+ c #333333",
"{+ c #383838",
"]+ c #3C3C3C",
"^+ c #454545",
"/+ c #4A4A4A",
"(+ c #4E4E4E",
"_+ c #9A9A9A",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",
". + @ # $ % & * = - ; > , ' ) ! ~ . { ] ^ / ( _ : < [ } | 1 2 3 4 5 6 7 8 9 0 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G . H I J K L , M + N = O P % Q # R S T U V W X Y Z ` ...+.@.#.$.%.&.*.=.-.;.;.>.,.'.'.).!.!.~.{.{.].].].^.^./././././.(.(.(.(.(.(.(./././././.^.^.^.].].{.{.~.~.!.!.).'.,.,.>.;.-.=.*.&.%.$.#._.@.+. .` :.Z X <.W [.- . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". U }.|.1.2.3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.u.t.t.s.r.q.p.n.m.z.k.A.i.B.C.g.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.(.^.~.'.-.&.#.+.` X V S @ % O - > ' ! . F D B U.} 1 V.5 q o 0 b j h W.X.Y.Z.`. +.+++@+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+f ^+/+(+9 p 6 t 2 | [ A C E G ~ ) L ; = P Q _+U <.Z ._.%.=.>._+. ",
". _+>.=.%._. .Z <.U _+Q P = ; L ) ~ G E C A [ | 2 t 6 p 9 (+/+^+f ]+{+~+!+)+'+,+>+;+-+=+*+&+%+$+#+@+++.+ +`.Z.Y.X.W.h j b 0 o q 5 V.1 } U.B D F . ! ' > - O % @ S V X ` +.#.&.-.'.~.^.(.T.S.R.Q.P.O.N.M.L.K.J.I.H.G.F.E.D.g.C.B.i.A.k.z.m.n.p.q.r.s.t.t.u.v.w.w.x.x.x.y.y.y.y.y.y.y.x.x.x.w.w.v.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.0.9.8.7.6.5.4.3.2.1.|.}.U . ",
". - [.W <.X Z :.` .+.@._.#.$.%.&.*.=.-.;.>.,.,.'.).!.!.~.~.{.{.].].^.^.^./././././.(.(.(.(.(.(.(./././././.^.^.].].].{.{.~.!.!.).'.'.,.>.;.;.-.=.*.&.%.$.#.@.+... .` Z Y X W V U T S R # Q % P O = N + M , L K J I H . G F E D C B A z y x w v u t s r q p o n m l k j i h g f e d c b a 0 9 8 7 6 5 4 3 2 1 | } [ < : _ ( / ^ ] { . ~ ! ) ' , > ; - = * & % $ # @ + . ",
". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . "]
ruler_xpm = [
"488 19 3 1",
" c #999999",
". c #7C0535",
"+ c #000000",
" ",
" . .... ",
" +++ ++ ... . . ++ +++ ",
" + + + . . . + + + ",
" + + + + . . . +++++ ++++ ++ +++++ ++++ ++++ +++ ++++ + + + + ",
" + + + . . . + + + + + + + + + + + + + + ",
" + + + + . . . . ++++ +++ + + ++++ +++++ + +++ +++++ + + + ",
" +++ + +++ . .. .... + + + + + + + + + + + +++ +++ ",
" + + +++++ + + + + + + + ",
" ++++++ ++++ + ++++ ++++ + +++ ++++ ",
" + ++ + ",
" + ++ + ",
" + ++ + + + + + + + + + ",
" + ++ + + + + + + + + + ",
" + ++ + + + + + + + + + ",
" + ++ + + + + + + + + + ",
" + ++ + + + + + + + + + ",
" + ++ + + + + + + + + + ",
" +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ "]
wp_xpm = [
"90 60 3 1",
" c None",
". c #FFFFFF",
"+ c #FAFAFA",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++"]
bp_xpm = [
"90 60 3 1",
" c None",
". c #121212",
"+ c #000000",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++",
".............................................+++++++++++++++++++++++++++++++++++++++++++++"]
class ShowGamma:
def info(self, message):
box = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, message)
box.set_position(gtk.WIN_POS_CENTER)
box.set_title('Information')
box.run()
box.destroy()
def alert(self, message):
box = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, message)
box.set_position(gtk.WIN_POS_CENTER)
box.set_title('Error')
box.run()
box.destroy()
def delete_event(self, widget, event, data=None):
gtk.main_quit()
def val1_changed(self, adjuster):
self.lbl_red.set_text('%0.2f' % adjuster.get_value())
if self.tog_sync.get_active():
self.lbl_grn.set_text('%0.2f' % adjuster.get_value())
self.lbl_blu.set_text('%0.2f' % adjuster.get_value())
self.set_gamma()
def val2_changed(self, adjuster):
self.lbl_grn.set_text('%0.2f' % adjuster.get_value())
self.set_gamma()
def val3_changed(self, adjuster):
self.lbl_blu.set_text('%0.2f' % adjuster.get_value())
self.set_gamma()
def sync_tog(self, tog):
if self.tog_sync.get_active():
self.grn_scroll.set_adjustment(self.adj1)
self.blu_scroll.set_adjustment(self.adj1)
self.lbl_grn.set_text('%0.2f' % self.adj1.get_value())
self.lbl_blu.set_text('%0.2f' % self.adj1.get_value())
else:
self.adj2.set_all(self.adj1.get_value(), 0.1, 10.0, 0.01, 0.2)
self.adj3.set_all(self.adj1.get_value(), 0.1, 10.0, 0.01, 0.2)
self.grn_scroll.set_adjustment(self.adj2)
self.blu_scroll.set_adjustment(self.adj3)
self.set_gamma()
def set_gamma(self):
red = float(self.lbl_red.get_text())
grn = float(self.lbl_grn.get_text())
blu = float(self.lbl_blu.get_text())
cmd = '%s -rgamma %1.2f -ggamma %1.2f -bgamma %1.2f 2> /dev/null' % (self.GAMMA_CMD, red, grn, blu)
os.system(cmd)
self.txtCommand.set_text(cmd)
def cancel_all(self, btn):
self.window.hide()
self.adj1.set_all(self.g_init[0], 0.1, 10.0, 0.01, 0.2)
self.adj2.set_all(self.g_init[1], 0.1, 10.0, 0.01, 0.2)
self.adj3.set_all(self.g_init[2], 0.1, 10.0, 0.01, 0.2)
gtk.main_quit()
def exit_only(self, btn):
gtk.main_quit()
def isGlogon(self, btn):
ret = commands.getoutput('grep ":initdefault:" /etc/inittab')
if re.search("id:3:initdefault:", ret):
return False
if re.search("id:4:initdefault:", ret):
if os.path.exists("/etc/slackware-version"):
return True
if re.search("id:5:initdefault:", ret):
return True
else:
self.info("Logon type cannot be determined,\ntherefore GAMMApage does not know\nwhere to save the gamma-adjusting \ncommand to be run on X-startup.\n\nThe \"Save\" button will be disabled.\nIn its place, the \"Exit\" button will close the program but keep your gamma adjustments until your X-session ends.\n\nSee the \"HELP\" pages for further instructions.")
self.save_btn.disconnect(self.saveid)
self.save_btn.set_label("Exit")
self.save_btn.connect("clicked", self.exit_only)
self.saveable = False
return False
def toggle_init(self, data=None):
if self.tog_init.get_active():
if not os.path.basename(os.getenv("SHELL")) == "bash":
self.saveable = False
self.info("GAMMApage uses bash shell scripts to adjust gamma on system startup. Since you appear to NOT be using a bash shell... \n\nThe \"Save\" button cannot be enabled.\nIn its place, the \"Exit\" button will close the program but keep your gamma adjustments until your X-session ends.\n\nSee the \"HELP\" pages for further instructions.")
return False
else:
self.glogon = self.isGlogon(self.save_btn)
self.start_file = self.get_start_file()
self.info("The \"Save\" button will now be enabled.\n\nFor information about how GAMMApage altrers the USER init script, click the HELP button on the lower left of the application window.")
self.save_btn.disconnect(self.saveid)
self.save_btn.set_label("Save and Exit")
self.saveid = self.save_btn.connect("clicked", self.attempt_save)
#self.tooltips.set_tip(self.save_btn, "Close GAMMApage")
self.saveable = True
return True
else:
self.save_btn.disconnect(self.saveid)
self.save_btn.set_label("Exit")
self.saveid = self.save_btn.connect("clicked", self.exit_only)
self.saveable = False
def get_init_gamma(self):
f = commands.getoutput('%s 2>&1' % self.GAMMA_CMD)
prts = string.split(f, ",")
red_prt = float(string.split(prts[0], " ")[-1])
grn_prt = float(string.split(prts[1], " ")[-1])
blu_prt = float(string.split(prts[2], " ")[-1])
sync = True
if not (red_prt == grn_prt == blu_prt):
sync = False
init_gamma = red_prt, grn_prt, blu_prt, sync
return init_gamma
def get_start_file(self):
if self.glogon:
try1 = os.path.join(self.home_dir,".bash_profile")
try2 = os.path.join(self.home_dir,".bash_login")
try3 = os.path.join(self.home_dir,".profile")
if os.path.exists(try1):
return try1
elif os.path.exists(try1):
return try2
elif os.path.exists(try1):
return try3
else:
self.generated_start_file = True
return try1
else:
tryx = os.path.join(self.home_dir,".xinitrc")
if not os.path.exists(tryx):
if not os.path.exists("/etc/X11/xinit/xinitrc"):
self.info("You seem to be using a console logon, but neither your ~/.xinitrc or /etc/X11/xinit/xinitrc can be found.\n\nThe \"Save\" button will be disabled.\nIn its place, the \"Exit\" button will close the program but keep your gamma adjustments until your X-session ends.\n\nSee the \"HELP\" pages for further instructions.")
self.save_btn.disconnect(self.saveid)
self.save_btn.set_label("Exit")
self.save_btn.connect("clicked", self.exit_only)
self.tooltips.set_tip(self.save_btn, "Close GAMMApage")
self.saveable = False
return None
self.generated_start_file = True
return tryx
def reset_sliders(self, btn):
self.adj1.set_all(self.g_init[0], 0.1, 10.0, 0.01, 0.2)
self.adj2.set_all(self.g_init[1], 0.1, 10.0, 0.01, 0.2)
self.adj3.set_all(self.g_init[2], 0.1, 10.0, 0.01, 0.2)
self.tog_sync.set_active(True)
def attempt_save(self, btn):
if self.write_gammapage():
if self.save_me():
gtk.main_quit()
else:
pass
else:
pass
def write_gammapage(self):
try:
rc = os.path.join(self.home_dir, ".gammapagerc")
if os.path.exists(rc):
os.system('rm -f %s' % rc)
red = self.lbl_red.get_text()
grn = self.lbl_grn.get_text()
blu = self.lbl_blu.get_text()
cmd = '%s -rgamma %s -ggamma %s -bgamma %s 2> /dev/null # called from %s' % (self.GAMMA_CMD, red, grn, blu, self.start_file)
f = open(rc, 'w')
f.write(cmd)
f.close()
os.chmod(rc, 0700)
return True
except:
self.alert("Could not write thr gammapagerc file")
return False
def save_me(self):
if self.generated_start_file:
if self.start_file == os.path.join(self.home_dir,".bash_profile"):
try:
f = open(self.start_file, 'w')
f.write('# .bash_profile generated by gammapage\n')
ftmp.write('if [ -x $HOME/.gammapagerc ]; then\n')
ftmp.write(' $HOME/.gammapagerc #monitor calibration\n')
ftmp.write('fi # end gammapage\n')
rc_written = True
os.chmod(f, 0644)
self.info("\nSettings have been saved")
return True
except:
self.alert('Could not write %s' % self.start_file)
return False
else:
try:
xPath = os.path.realpath("/etc/X11/xinit/xinitrc")
f_in = open(xPath, 'r')
f_out = open(self.start_file, 'w')
rc_written = False
for line in f_in:
if not line[0] == "#":
if not rc_written:
f_out.write('# local .xinitrc generated by gammapage\n')
f_out.write('if [ -x $HOME/.gammapagerc ]; then\n')
f_out.write(' $HOME/.gammapagerc #monitor calibration\n')
f_out.write('fi # end gammapage\n')
rc_written = True
f_out.write(line)
f_in.close()
f_out.close()
os.chmod(self.start_file, 0755)
os.system('echo "[Desktop Entry]\nName=GAMMApage\nType=Application\nExec=$HOME/.xinitrc\nHidden=false" > ~/.config/autostart/gammapage.desktop')
self.info("\nSettings have been saved")
return True
except:
self.alert('Could not write %s' % self.start_file)
return False
else:
try:
tmp = os.path.join(self.home_dir,"gamma_temp")
bak_str = self.start_file + ".bak"
shutil.copyfile(self.start_file, bak_str)
f = open(self.start_file, 'r')
ftmp = open(tmp, 'w')
rc_written = False
for line in f:
if re.search("gammapage", line):
if re.search("generated by gammapage", line):
ftmp.write(line)
else:
if not line[0] == "#":
if not rc_written:
ftmp.write('if [ -x $HOME/.gammapagerc ]; then\n')
ftmp.write(' $HOME/.gammapagerc #monitor calibration\n')
ftmp.write('fi # end gammapage\n')
rc_written = True
ftmp.write(line)
else:
ftmp.write(line)
ftmp.close()
f.close()
os.system('mv -f %s %s' % (tmp, self.start_file))
if self.start_file == os.path.join(self.home_dir,".xinitrc"):
os.chmod(self.start_file, 0755)
os.system('echo "[Desktop Entry]\nName=GAMMApage\nType=Application\nExec=$HOME/.xinitrc\nHidden=false" > ~/.config/autostart/gammapage.desktop')
self.info("\nSettings have been saved")
return True
except:
if not os.path.exists(self.start_file):
if os.path.exists(bak_str):
os.system('mv -f %s %s' % (bak_str, self.start_file))
if self.start_file == os.path.join(self.home_dir,".xinitrc"):
os.chmod(self.start_file, 0755)
self.alert('An error occured. Could not write to:\n %s' % self.start_file)
return False
def restore_all(self, btn):
rc = os.path.join(self.home_dir, ".gammapagerc")
g_string = "generated by gammapage"
self.adj1.set_all(1.0, 0.1, 10.0, 0.01, 0.2)
self.adj2.set_all(1.0, 0.1, 10.0, 0.01, 0.2)
self.adj3.set_all(1.0, 0.1, 10.0, 0.01, 0.2)
self.tog_sync.set_active(True)
# delete calling file if "generated by gammapage" -- after asking user
# or simply delete the calling lines if file was already there
if os.path.exists(rc):
os.system('rm -f %s' % rc)
os.system('rm -f ~/.config/autostart/gammapage.desktop')
self.start_file = self.get_start_file()
if not os.path.exists(self.start_file):
return
if commands.getoutput('grep "%s" %s' % (g_string, self.start_file)):
dlg = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, 'The file: %s \n\nwas originally created by GAMMApage, so instead of removing the lines specific to this application, you may want to delete it entirely. \n\n Do you want to delete that file?' % self.start_file )
dlg.set_position(gtk.WIN_POS_MOUSE)
response = dlg.run()
if response == gtk.RESPONSE_YES:
dlg.destroy()
os.system('rm -f %s' % self.start_file)
self.info("\nAll settings have been removed")
else:
dlg.destroy()
self.info('gammapagerc has been removed but the lines to call that file remain in:\n\n %s' % self.start_file)
else:
try:
tmp = os.path.join(self.home_dir,"gamma_temp")
bak_str = self.start_file + ".bak"
shutil.copyfile(self.start_file, bak_str)
f = open(self.start_file, 'r')
ftmp = open(tmp, 'w')
rc_written = False
for line in f:
if re.search("gammapage", line):
pass
else:
ftmp.write(line)
ftmp.close()
f.close()
os.system('mv -f %s %s' % (tmp, self.start_file))
if self.start_file == os.path.join(self.home_dir,".xinitrc"):
os.chmod(self.start_file, 0755)
self.info("\nAll settings have been removed")
except:
if not os.path.exists(self.start_file):
if os.path.exists(bak_str):
os.system('mv -f %s %s' % (bak_str, self.start_file))
if self.start_file == os.path.join(self.home_dir,".xinitrc"):
os.chmod(self.start_file, 0755)
self.info('An write error occurred. gammapagerc has been removed but the lines to call that file remain in:\n\n %s' % self.start_file)
def cmd_copy(self, none):
self.clippy.set_text(self.txtCommand.get_text())
def checkfor(self, xprog):
ls=os.environ['PATH']
isflag = False
for d in ls.split(':'):
try:
if xprog in os.listdir(d):
return True
except:
pass
return False
def __init__(self):
self.window = None
self.home_dir = os.path.expanduser("~")
self.generated_start_file = False
self.saveable = False
self.clippy = gtk.Clipboard(display=gtk.gdk.display_get_default(), selection="CLIPBOARD")
#self.clippy.set_can_store(None)
self.GAMMA_CMD = ""
if self.checkfor("xgamma"):
self.GAMMA_CMD = "xgamma"